{"version":3,"file":"static/js/index.06a7d766.js","sources":["webpack://@jotforminc/landing-page-app/../../libs/translation/src/hof.js","webpack://@jotforminc/landing-page-app/../../../../src/icons/general/xmark.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/media/triangle-circle-filled.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/general/minus.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/general/plus.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/arrows/angle-down.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/brand/youtube-filled.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/finance/tag-percent-filled.svg","webpack://@jotforminc/landing-page-app/../../../../src/icons/general/magnifying-glass.svg","webpack://@jotforminc/landing-page-app/../../libs/router-bridge/src/jfrouter.js","webpack://@jotforminc/landing-page-app/../../libs/router-bridge/src/init.js","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/request-cache/constants.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/request-cache/utils.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/request-cache/index.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/utils/argumentParser.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/utils/constructInterceptorConfig.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/index.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/index.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/utils.ts","webpack://@jotforminc/landing-page-app/../../libs/constants/src/platforms/index.js","webpack://@jotforminc/landing-page-app/../../libs/feature-flag/src/components/FeatureFlag/FeatureFlag.js","webpack://@jotforminc/landing-page-app/../../libs/utils/src/platform/platform.js","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/platform/salesforceInterceptors.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/defaultInterceptors/defaultInterceptors.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/utils/setInterceptors.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/engines/utils.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/engines/constants.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/engines/AxiosEngine.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/utils.ts","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/api.js","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/index.ts","webpack://@jotforminc/landing-page-app/../../libs/request-layer/src/layer/interceptors/customInterceptors/index.ts","webpack://@jotforminc/landing-page-app/../../libs/translation/src/domHelper.js","webpack://@jotforminc/landing-page-app/../../libs/translation/src/Translation.js","webpack://@jotforminc/landing-page-app/../../libs/translation/src/constants/index.js","webpack://@jotforminc/landing-page-app/../../libs/translation/src/utils.js","webpack://@jotforminc/landing-page-app/../../libs/translation/src/index.js","webpack://@jotforminc/landing-page-app/../../libs/translation/src/global.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/utils/style-utils.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScButton.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScModal.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Modal/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/_Commons/Portal.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/YoutubeVideo/YoutubeEmbedVideoModal.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/CustomActionModal/ImportFormModal.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Link.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Image.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Video.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/_Commons/Title.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/BrowserBar.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/FormTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/PdfTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/AppTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/TableTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/ApprovalTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/TemplateCards/ReportTemplate.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Template.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScRow.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScCol.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/_Commons/Description.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Multitext.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/FaqAnswer.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/ScrollDown.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/_Commons/YoutubeIcon.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/YoutubeEmbed.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScCard.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Card.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/Content.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SubelementRenderer/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Text/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Spacer.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScContainer.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScIframe.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Iframe/index.js","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/tokens/colors/primary.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/tokens/colors/secondary.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Button/button.cva.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Button/button.types.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Indicator/indicator.cva.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Indicator/Indicator.tsx","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Indicator/indicator.types.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Button/ButtonContent.tsx","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Loader/loader.cva.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Loader/loader.types.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Loader/Loader.tsx","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/constants/common.values.ts","webpack://@jotforminc/landing-page-app/../../libs/magnet/src/components/Button/Button.tsx","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScTrioButtons.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Hero/TrioButtons.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/constants.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/utils/common-landing.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScHero.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Hero/Hero.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Divider.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScSeoGroup.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SEOGroup.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/_Commons/Badge.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScImageText.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/ImageText/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScHighlighted.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Highlighted/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/MultipleText.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/YoutubeVideo/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScRelatedCards.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/RelatedCards/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScFaqSection.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/FaqQuestions/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScHeaderSection.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/HeaderSection/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScTemplates.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Templates/Templates.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Testimonials/TestimonialElement.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScTestimonial.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Testimonials/Testimonials.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScBlogArticle.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/BlogRelatedArticles/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/SectionBlockRenderer.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/ScMultipleContent.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/MultipleContent/MultipleContent.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Breadcrumb.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Rating/Star.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Rating/ScRating.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Rating/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/utils/index.js","webpack://@jotforminc/landing-page-app/../../libs/page-builder-components/src/components/Styles/GlobalStyles.js","webpack://@jotforminc/landing-page-app/./src/ErrorBoundry.js","webpack://@jotforminc/landing-page-app/./src/index.js"],"sourcesContent":["import axios from 'axios';\nimport isNil from 'lodash/isNil';\n\nimport { encodeUsedTranslations, unlocalizeOriginHref } from './utils';\nimport { partialTranslations, DEFAULT_LANGUAGE } from './constants';\n\nexport const prepareT = translation => function t(str, params = {}) {\n if (!str) {\n return str;\n }\n if (typeof str !== 'string') {\n return str;\n }\n\n if ((global?.window?.location?.href || '')?.includes('rawTranslationTextMode=true')) {\n return str;\n }\n\n let translated = str;\n try {\n if (typeof translation.translate === 'function') {\n translated = translation.translate(str, params);\n } else if (typeof translation.t === 'function') {\n translated = translation.t(str, params);\n }\n if (typeof global?.window?.useTranslationScreenshots !== 'undefined') {\n return str;\n }\n if (translation.currentLocale !== DEFAULT_LANGUAGE && str !== translated && translation.controlMode) {\n return '1';\n }\n } catch (e) {\n console.error('Error on common/translate falling back with original str', e);\n }\n\n const resp = (params.branding21) ? translated.replace(/JotForm/g, 'Jotform') : translated;\n\n return resp;\n};\n\nexport const preapreTtime = translation => function ttime(str, options = {}) {\n const { hour = 'numeric', minute = 'numeric' } = options;\n const formatOptions = { hour, minute };\n let [hourVal, minuteVal] = str.replace('/am|pm/', '').split(':').map(i1 => parseInt(i1, 10)); //eslint-disable-line\n\n if (str.indexOf('pm') > 0) {\n hourVal = hourVal !== 12 ? hourVal + 12 : hourVal;\n } else if (str.indexOf('am') > 0) {\n hourVal = hourVal === 12 ? 0 : hourVal;\n }\n\n const tempDate = new Date();\n tempDate.setHours(hourVal, minuteVal);\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(tempDate.getTime())) {\n return str;\n }\n return tempDate.toLocaleTimeString(translation.currentLocale, formatOptions);\n};\n\nexport const prepareTDate = translation => function tdate(str, options = {}) {\n try {\n const ttime = preapreTtime(translation);\n if (options.timeOnly) {\n return ttime(str, options);\n }\n const dateObj = new Date(str);\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(dateObj.getTime())) {\n return str;\n }\n // Add undesired fields with null values to options object. Ex:{weekday : null}\n const formatOptions = {\n weekday: 'short', year: 'numeric', month: 'short', day: 'numeric'\n };\n if (options && typeof options === 'object') {\n Object.keys(options).forEach(optionName => {\n if (options[optionName] == null) {\n delete formatOptions[optionName];\n } else {\n formatOptions[optionName] = options[optionName];\n }\n });\n }\n return dateObj.toLocaleDateString(translation.currentLocale, formatOptions);\n } catch (err) {\n return str;\n }\n};\n\n// Example usage:\n/*\n translationRenderer('This is an [1[example]] string [2[for]] translation')({\n renderer1: (str) => {str}; // str is \"example\"\n fallback: (str) => {str};\n })\n - Since there is no render function given for second match, fallback function will be used as renderer.\n - Renderer functions can only have 1 parameter, which is sanitized version of delimeter.\n */\nexport const prepareTranslationRenderer = t => function translationRenderer(str, params = {}) {\n if ((global?.window?.location?.href || '')?.includes('rawTranslationTextMode=true')) {\n return () => str;\n }\n const translatedString = t(str, params);\n const getRendererIndex = delimiterStr => {\n const matches = delimiterStr.match(/\\[(\\d+)\\[/);\n if (matches && matches[1]) {\n return matches[1];\n }\n throw new Error(`Delimeter string (${delimiterStr}) format is inappropriate! Correct format is [RENDERER_NUMBER[TEXT]]`);\n };\n\n return renderFunctions => {\n try {\n const matchTemplate = /\\[\\d+\\[.*?\\]{2}/g;\n const replaceTemplate = /\\[(\\d+)\\[|\\]{2}/g;\n const matches = (translatedString && translatedString.match) ? translatedString.match(matchTemplate) : null;\n if (matches && matches.length > 0) {\n const renderers = renderFunctions || {};\n // Set a fallback renderer if it is not given in renderFunctions\n if (typeof renderers.fallback !== 'function') {\n renderers.fallback = i1 => i1;\n }\n // Create an array which includes all render functions\n const matchedStrings = matches.map(matchItem => {\n const currentKey = `renderer${getRendererIndex(matchItem)}`;\n const sanitizedValue = matchItem.replace(replaceTemplate, '');\n if (typeof renderers[currentKey] === 'function') {\n return renderers[currentKey](sanitizedValue);\n }\n return renderers.fallback(sanitizedValue);\n });\n\n return translatedString.split(matchTemplate).map((normStr, index) => (\n typeof matchedStrings[index] !== 'undefined'\n ? [normStr, matchedStrings[index]]\n : [normStr]\n ));\n }\n } catch (err) {\n console.error(err); // eslint-disable-line\n }\n return translatedString;\n };\n};\n\nexport const prepareControlModeChange = translation => function controlModeChange(controlMode) {\n return new Promise((resolve, reject) => {\n try {\n // eslint-disable-next-line no-param-reassign\n translation.controlMode = controlMode;\n resolve({ loaded: true, controlMode });\n } catch (err) {\n reject(new Error(err));\n }\n });\n};\n\nexport const prepareAddTranslationToDictionary = translation => function addTranslationToDictionary(code, translationData) {\n const dictionary = translationData;\n // remove untranslated keys\n const clearedDic = Object.keys(dictionary).reduce((dic, key) => {\n const entry = dictionary[key];\n if (!entry) {\n return dic;\n }\n return Object.assign(dic, { [key]: entry });\n }, {});\n\n if (dictionary) {\n translation.add(code, clearedDic);\n }\n return ({ loaded: true, code });\n};\n\nexport const generateDictionaryURL = ({ path, code = DEFAULT_LANGUAGE }) => {\n const sanitizedCode = code?.length !== 5 ? DEFAULT_LANGUAGE : code;\n return `/js/${path}/locale_${sanitizedCode}.js?${Math.floor((Math.random() * (9999 - 1001)) + 1000)}`;\n};\n\nexport const loadDictionaryViaTag = ({ code, path }) => new Promise((resolve, reject) => {\n try {\n const tmpScriptTag = global.document.createElement('script');\n tmpScriptTag.src = generateDictionaryURL({ code, path });\n tmpScriptTag.onload = () => resolve(global.Locale.language);\n tmpScriptTag.onerror = () => reject(new Error('Language dictionary load failed.'));\n\n if (!global.Locale) {\n global.Locale = {};\n }\n\n global.document.body.appendChild(tmpScriptTag);\n } catch (e) {\n reject(e);\n }\n});\n\nexport const loadDictionaryViaFetch = ({ code, path }) => fetch(generateDictionaryURL({ code, path }), {\n headers: { 'Content-Type': 'text/plain' }\n}).then(r => r.text()).then(r => r.replace('Locale.language=', '')).then(r => JSON.parse(r));\n\nexport const prepareAddDictionary = translation => function addDictionary(code, partialDictionaryName) {\n const addTranslationToDictionary = prepareAddTranslationToDictionary(translation);\n const url = unlocalizeOriginHref(global?.window?.location?.href);\n const partialDictionaryPath = partialDictionaryName || Object.keys(partialTranslations).find(q => partialTranslations[q](url));\n const loadMethod = global?.document ? loadDictionaryViaTag : loadDictionaryViaFetch;\n const path = partialDictionaryPath ? `locale/partial-translations/${partialDictionaryPath}` : 'locale';\n return new Promise((resolve, reject) => {\n loadMethod({ path, code: code?.length !== 5 ? DEFAULT_LANGUAGE : code })\n .then(translationData => resolve(addTranslationToDictionary(code, translationData)))\n .catch(err => reject(new Error(err)));\n });\n};\n\nexport const sendUsedTranslationsInterval = () => {\n if (isNil(global.Translations.processUsedTranslationsInterval) && !global.Translations.forceStopCollecting) {\n console.log('[Translations] :: Collecting used translation strings.');\n\n global.Translations.processUsedTranslationsInterval = setInterval(() => {\n const finishInterval = global.Translations.encodedAndProcessedStrings?.length >= global.Translations.usedTranslations?.length;\n\n if (global.Translations.forceStopCollecting) {\n return;\n }\n\n if (finishInterval) {\n clearInterval(global.Translations.processUsedTranslationsInterval);\n global.Translations.processUsedTranslationsInterval = null;\n global.Translations.forceStopCollecting = true;\n\n return axios.post('/API/translation/track-translated-strings', {\n url: global.location?.href,\n hashes: global.Translations.encodedAndProcessedStrings\n }).then(res => {\n if (res?.data?.responseCode === 200) {\n console.log(`[Translations] :: ${global.Translations.encodedAndProcessedStrings?.length} used translations collected.`);\n }\n }).catch(() => {\n console.log('[Translations] :: Error while collect used translations.');\n });\n }\n\n encodeUsedTranslations(global.Translations.usedTranslations);\n }, 1500);\n }\n};\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","\n \n\n","// import path from 'path';\n\nimport get from 'lodash/get';\n\nexport const getRouterValue = (key, defaultValue) => {\n return get(window.__jfrouter, key, defaultValue);\n};\n\nexport const getEnv = () => {\n return getRouterValue('JOTFORM_ENV', 'development');\n};\n\nexport const getAppPath = () => {\n return getRouterValue('APP_PATH', '/');\n};\n\nexport const getBaseURL = () => {\n return getRouterValue('BASE_URL', 'http://localhost');\n};\n\nexport const getAssetPath = () => {\n return getRouterValue('ASSET_PATH', '/');\n};\n\nexport const getRevision = () => {\n return getRouterValue('REVISION_HASH', '/');\n};\n\nexport const getPublicURL = () => {\n return `${getBaseURL()}${getAssetPath()}`;\n};\n\nexport const getCDNURL = () => {\n return getRouterValue('CDN_URL', getPublicURL());\n};\n\n// export const getAssetURL = assetPath => {\n// return `${getBaseURL()}${path.join(getAssetPath(), assetPath)}`;\n// };\n\nexport const getAppURL = () => {\n return `${getBaseURL()}${getAppPath()}`;\n};\n\nexport const getRoutePath = () => {\n return window.location.pathname.replace(getAppPath(), '');\n};\n\nexport const getActiveAlias = () => {\n return getRouterValue('ACTIVE_ALIAS', '');\n};\n\nexport const getActiveApp = () => {\n return getRouterValue('ACTIVE_APP', '');\n};\n\nexport const getInitialRoutePath = () => {\n return getRouterValue('INITIAL_ROUTE_PATH', '');\n};\n\nexport const getFullPath = () => {\n return getRouterValue('FULL_PATH', '');\n};\n\nexport const isHIPAA = () => {\n return getRouterValue('IS_HIPAA', '0') === '1';\n};\n\nexport const isEU = () => {\n return getRouterValue('IS_EU', '0') === '1';\n};\n\nexport const isSSO = () => {\n return getRouterValue('IS_SSO', '0') === '1';\n};\n\nexport const getRootPath = () => {\n return getRouterValue('ROOT_PATH', '');\n};\n","import { getAssetPath } from './index';\n\n// eslint-disable-next-line no-undef, camelcase\n__webpack_public_path__ = `${getAssetPath()}/`;\n","import { NormalizeMap } from './types';\n\n// normalizing request fields to prevent unnecessary hit misses\nexport const normalizedKeyMap: Record = {\n teamID: { contains: [''], to: undefined }\n};\n","/* eslint-disable no-param-reassign */\nimport { normalizedKeyMap } from './constants';\nimport { CacheValue } from './types';\n\ntype RetryFunction = () => Promise | undefined>;\nconst delay = (fn: RetryFunction, ms: number): ReturnType => new Promise(resolve => setTimeout(() => resolve(fn()), ms));\n\nexport const retry = async (fn: RetryFunction, maxAttempts = 3, delayMs = 10): ReturnType => {\n const execute = async (attempt: number): ReturnType => {\n try {\n return await fn();\n } catch {\n if (attempt <= maxAttempts) {\n const nextAttempt = attempt + 1;\n return delay(() => execute(nextAttempt), delayMs);\n }\n return undefined;\n }\n };\n return execute(1);\n};\n\nexport const mapRequest = (obj: Record): void => {\n Object.keys(obj).forEach(key => {\n if (normalizedKeyMap[key]) {\n const shouldMap = normalizedKeyMap[key].contains.includes(obj[key]);\n if (shouldMap) obj[key] = normalizedKeyMap[key].to;\n }\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n mapRequest(obj[key] as Record);\n }\n });\n};\n","import { RequestContext, ResponseResult } from '../layer/types';\nimport { CacheValue, LatestHitAttempt } from './types';\nimport { retry, mapRequest } from './utils';\n\nexport default class TTLCache {\n private cache: Map;\n\n private readonly ttl: number;\n\n // it's used as a lookup table to check consecutive requests\n private readonly latestAttempts: LatestHitAttempt[];\n\n private readonly MAX_LATEST_ATTEMPTS = 5;\n\n private readonly attemptTTL: number;\n\n private readonly MAX_CACHE_SIZE = 25;\n\n constructor(ttl = 900) {\n this.cache = new Map();\n this.ttl = ttl;\n this.attemptTTL = ttl - 50;\n this.latestAttempts = [];\n }\n\n private pushLatestHitAttemps(key: string): void {\n if (this.latestAttempts.length === this.MAX_LATEST_ATTEMPTS) {\n this.latestAttempts.pop();\n }\n this.latestAttempts.unshift({ key: key, ttl: Date.now() + this.attemptTTL });\n }\n\n private shouldAttempt(key: string): boolean {\n return !!this.latestAttempts.find(attempt => attempt.key === key && Date.now() < attempt.ttl);\n }\n\n private generateCacheKey(request: RequestContext): string {\n mapRequest(request as unknown as Record);\n const { url, ...rest } = request;\n return `${url}-${JSON.stringify(rest)}`;\n }\n\n public add(request: RequestContext, response: ResponseResult): void {\n if (this.size() >= this.MAX_CACHE_SIZE) {\n this.clear();\n }\n\n this.cache.set(\n this.generateCacheKey(request),\n {\n response,\n expirationTime: Date.now() + this.ttl\n }\n );\n }\n\n public async get(request: RequestContext): Promise | null> {\n const key = this.generateCacheKey(request);\n\n const shouldAttempt = this.shouldAttempt(key);\n this.pushLatestHitAttemps(key);\n\n let cacheItem: CacheValue | undefined = this.cache.get(key);\n\n // it's a retry mechanism to handle consecutive hit attempts\n // to decrase the posiblity of worst case scenarios, a lookup table is used\n // and early exists are implemented\n if (!cacheItem && shouldAttempt) {\n cacheItem = await retry(() => new Promise((resolve, reject) => {\n const item = this.cache.get(key);\n\n if (item) {\n if (this.isValueValid(item)) resolve(item);\n else {\n this.cache.delete(key);\n resolve(undefined);\n }\n }\n\n reject();\n }), 40, 50);\n }\n\n if (cacheItem && this.isValueValid(cacheItem)) {\n return cacheItem.response;\n }\n\n this.cache.delete(key);\n return null;\n }\n\n public remove(request: RequestContext): void {\n this.cache.delete(this.generateCacheKey(request));\n }\n\n public clear(): void {\n this.cache.clear();\n }\n\n public size(): number {\n return this.cache.size;\n }\n\n private isValueValid(cacheItem: CacheValue | undefined): boolean {\n if (!cacheItem) return false;\n return Date.now() < cacheItem.expirationTime;\n }\n}\n","import {\n Config, Methods, RequestArgs, RequestParameters\n} from '../layer/types';\n\nexport const argumentParser = (method: Methods, args: RequestArgs): RequestParameters => {\n switch (true) {\n case args.length === 1: {\n const [url] = args;\n return { url, config: {} };\n }\n case args.length === 2 && ['get', 'delete'].includes(method): {\n const [url, config] = args;\n return { url, config: config as Config };\n }\n\n case args.length === 2 && ['put', 'post'].includes(method): {\n const [url, data] = args;\n return { url, data, config: {} };\n }\n\n case args.length === 3: {\n const [url, data, config] = args;\n if (config) return { url, data, config };\n return { url, data, config: {} };\n }\n\n default:\n return { url: '' };\n }\n};\n","// type InterceptorKeys = keyof DefaultInterceptorsConfig;\n// type InterceptorValues = DefaultInterceptorsConfig[InterceptorKeys];\n\nimport { CustomConfig, DefaultInterceptorsConfig } from '../layer/types';\n\nexport const constructInterceptorConfig = (\n config: CustomConfig,\n interceptorConfig: DefaultInterceptorsConfig | undefined\n): DefaultInterceptorsConfig => {\n return { ...interceptorConfig, ...config };\n\n // later if we want to strict the usage of configs\n // we can only override the settings which are defined on request-layer\n // it can be used instead\n\n // return (Object.entries(interceptorConfig) as [InterceptorKeys, InterceptorValues][])\n // .reduce((newConfig, props) => {\n // const [key, value] = props;\n // return { ...newConfig, [key]: config[key] ?? value };\n // }, {} as DefaultInterceptorsConfig);\n};\n","import { Interceptor } from '../types';\n\nexport class InterceptorHandler {\n interceptors: Interceptor[];\n\n constructor(interceptors: InterceptorHandler['interceptors']) {\n this.interceptors = interceptors;\n }\n\n run(ctx: T): void {\n this.interceptors.forEach(interceptor => {\n interceptor(ctx);\n });\n }\n}\n","import { InterceptorHandler } from '..';\nimport {\n RequestContext,\n RequestInterceptor, ResponseContext, ResponseInterceptor\n} from '../../types';\n\nconst createDefaultInterceptors = (\n reqInterceptors: RequestInterceptor[],\n resInterceptors: ResponseInterceptor[],\n resFailedInterceptors: ResponseInterceptor[]\n): {preRequest: InterceptorHandler, postRequest: InterceptorHandler, postFailedRequest: InterceptorHandler} => ({\n preRequest: new InterceptorHandler(reqInterceptors),\n postRequest: new InterceptorHandler(resInterceptors),\n postFailedRequest: new InterceptorHandler(resFailedInterceptors)\n});\n\nexport { createDefaultInterceptors };\n","// If the value is not a string or a Blob, append() will convert it to a string automatically\n// Therefore using \"any\" as type, should be safe\n\nimport { BaseResponse, ResponseContext } from '../../types';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function objToFormData(obj: Record, prefix?: string, formData?: FormData): FormData {\n // eslint-disable-next-line no-param-reassign\n formData = formData ?? new FormData();\n\n if (obj) {\n Object.keys(obj).forEach(key => {\n const keyName = prefix ? `${prefix}[${key}]` : key;\n\n if (typeof obj[key] !== 'object') {\n formData?.append(keyName, obj[key]);\n } else {\n objToFormData(obj[key], keyName, formData);\n }\n });\n }\n\n return formData;\n}\n\nexport const isCrossOrigin = (url?: string): boolean => {\n const { location: { origin } } = window || {};\n if (url?.startsWith('http') && !url.includes(origin)) {\n return true;\n }\n return false;\n};\n\nexport const axiosNormalizer = (ctx: ResponseContext): void => {\n if (ctx.interceptorConfig?.disableResponseNormalizer) {\n return;\n }\n if ('data' in ctx.resp) {\n ctx.result = ctx.resp.data;\n }\n\n const resp = ctx.result as BaseResponse;\n\n if (resp && typeof resp.responseCode === 'number'\n && (resp.responseCode < 200 || resp.responseCode > 299)) {\n ctx.result = Promise.reject(resp);\n return;\n }\n\n if (resp && resp.content) {\n ctx.result = resp.content;\n }\n};\n\nexport const engineResponseNormalizer = (ctx: ResponseContext): void => {\n switch (ctx.engineName) {\n default:\n axiosNormalizer(ctx);\n }\n};\n","export const PlatformTypes = {\n SALESFORCE: 'salesforce',\n WEEBLY: 'weebly',\n ANYWHERE: 'anywhere',\n DOCUSIGN: 'docusign',\n CANVA: 'canva'\n};\n\nexport const AllowedPlatforms = [\n PlatformTypes.SALESFORCE,\n PlatformTypes.WEEBLY,\n PlatformTypes.ANYWHERE,\n PlatformTypes.DOCUSIGN,\n PlatformTypes.CANVA\n];\n","import { createStore, compose } from 'redux';\n\nconst makeFeatureReducer = initialState => {\n return (state = initialState, action) => {\n if (!action.type) return state;\n if (action.type === 'ADD_NEW_FEATURE') {\n return {\n ...state,\n [action.payload.featureName]: {\n name: action.payload.featureName,\n value: action.payload.featureValue\n }\n };\n }\n if (action.type === 'ADD_FEATURE_FLAG_LIST') {\n return {\n ...state,\n ...action.payload.featureFlagList\n };\n }\n if (action.type === 'RENEW_FEATURE_FLAG') {\n return {\n ...action.payload.featureFlagList\n };\n }\n if (action.type === 'RESET_FEATURE_FLAG') {\n return {};\n }\n if (!state[action.type]) return state;\n return {\n ...state,\n [action.type]: {\n ...state[action.type],\n value: !state[action.type].value\n }\n };\n };\n};\n\nconst composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({ name: 'JF Feature Flag Reducer' })) || compose;\nclass FeatureFlag {\n store = createStore(makeFeatureReducer({}), composeEnhancers());\n\n constructor() {\n if (global.FeatureFlag) return global.FeatureFlag;\n global.FeatureFlag = this;\n }\n\n init = featureList => {\n this.store.dispatch({ type: 'ADD_FEATURE_FLAG_LIST', payload: { featureFlagList: featureList } });\n };\n\n getStore = () => {\n // TODO: return singleton store;\n return this.store;\n };\n\n addNewFeature = (featureName, featureValue) => {\n this.store.dispatch({ type: 'ADD_NEW_FEATURE', payload: { featureName, featureValue } });\n };\n\n getList = () => {\n return this.store.getState();\n };\n\n getFeature = feature => {\n const featureName = this.getFeatureName(feature);\n const featureValue = this.store.getState()[featureName]?.value;\n if (typeof featureValue === 'undefined') {\n console.log(JSON.stringify(feature), ': feature is not defined.');\n return false;\n }\n return featureValue;\n };\n\n toggleFeature = feature => {\n const featureName = this.getFeatureName(feature);\n this.store.dispatch({ type: featureName });\n };\n\n getFeatureName = feature => {\n if (typeof feature === 'undefined') return null;\n if (typeof feature === 'string') return feature;\n return feature.name;\n };\n}\n\nexport default new FeatureFlag();\n","import { AllowedPlatforms, PlatformTypes } from '@jotforminc/constants';\nimport { getRootPath, getBaseURL } from '@jotforminc/router-bridge';\nimport { featureFlag } from '@jotforminc/feature-flag';\n\nconst cache = {};\n\nexport const isPlatformEnv = () => {\n if (typeof cache.isPlatform !== 'undefined') return cache.isPlatform;\n let platformEnv = null;\n if (typeof window !== 'undefined') {\n platformEnv = window.__jfrouter ? window.__jfrouter.PLATFORM_ENV : window.PLATFORM_ENV;\n }\n const isAllowedPlatform = AllowedPlatforms.includes(platformEnv);\n cache.isPlatform = isAllowedPlatform;\n cache.platformEnv = isAllowedPlatform ? platformEnv : null;\n return cache.isPlatform;\n};\n\nexport const isSalesforceEnv = () => {\n if (isPlatformEnv()) {\n return cache.platformEnv === PlatformTypes.SALESFORCE;\n }\n return false;\n};\n\nexport const isAnywhereEnv = () => {\n return cache.platformEnv === PlatformTypes.ANYWHERE;\n};\n\nexport const getPlatformEnv = () => {\n if (isPlatformEnv()) {\n return cache.platformEnv;\n }\n return null;\n};\n\nconst getValidURL = (url, baseURL) => {\n try {\n return new URL(url, baseURL);\n } catch (e) {\n return false;\n }\n};\n\nconst appendRootPath = pathname => {\n const rootPath = getRootPath();\n if (!pathname.startsWith(rootPath)) {\n return `${pathname.startsWith('/') ? rootPath.slice(0, -1) : rootPath}${pathname}`;\n }\n return pathname;\n};\n\n// THIS IS A TEMPORARY FUNCTION WILL BE DELETED AFTER RELEASE. THANKS AND SORRY :)\nconst interceptURLForWorkflowRelease = (url = '') => {\n const pathnames = url?.split('/').filter(Boolean) || [];\n const shouldChangeParameter = window?.isWorkflowReleased && pathnames[0] === 'myapprovals';\n if (!shouldChangeParameter) return url;\n return ['/myworkflows', ...pathnames.slice(1)].join('/');\n};\n\nconst prepareURLWithRoot = urlString => {\n const baseURL = getBaseURL();\n let url = urlString;\n const urlObject = getValidURL(url);\n\n if (urlObject) {\n if (urlObject.origin === baseURL) {\n urlObject.pathname = appendRootPath(urlObject.pathname);\n url = urlObject.toString();\n }\n } else {\n url = appendRootPath(url);\n }\n url = interceptURLForWorkflowRelease(url);\n return url;\n};\n\nconst shouldRedirectToSessionExpired = redirectURL => {\n if (isPlatformEnv()) {\n if (\n redirectURL.pathname === '/login'\n && (redirectURL.searchParams.has('rp') || redirectURL.searchParams.size === 0)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const handleCustomNavigation = (url, target = '_blank', dontOverwrite = false, windowFeatures = '') => {\n const isMobileApp = global.navigator.userAgent.indexOf('JotForm Mobile') > -1 || global.navigator.userAgent.indexOf('JFCEMobile') > -1;\n const redirectURL = getValidURL(url, getBaseURL());\n\n if (redirectURL && shouldRedirectToSessionExpired(redirectURL)) {\n return window.open(`/platform/${getPlatformEnv()}/platform-pages/session-expired${redirectURL.search}`, '_self', windowFeatures);\n }\n\n if (dontOverwrite) {\n return window.open(url, target, windowFeatures);\n }\n\n if (isMobileApp) {\n window.location.href = url;\n return;\n }\n if (isPlatformEnv()) {\n if (featureFlag.getFeature(featureFlag.getList().NAVIGATE_TO_THE_NEW_TAB)) {\n return window.open(url, '_blank', `noopener,noreferrer,${windowFeatures}`);\n }\n\n if (url.startsWith('https://')) {\n // TODO: handle this properly\n return window.open(url, target, windowFeatures);\n }\n return window.open(`/platform/${getPlatformEnv()}${url}`, '_self', windowFeatures);\n }\n\n return window.open(prepareURLWithRoot(url), target, windowFeatures);\n};\n\nexport const getPlatformSafeUrl = url => {\n let safeUrl = getValidURL(url);\n if (!safeUrl || (safeUrl && window.__jfrouter.BASE_URL !== (new URL(safeUrl)).origin)) {\n const platformEnv = getPlatformEnv();\n const platformPrefix = platformEnv ? `/platform/${platformEnv}` : '';\n safeUrl = `${window.__jfrouter.BASE_URL}${platformPrefix}/myforms`;\n }\n return safeUrl;\n};\n","import { isSalesforceEnv, handleCustomNavigation } from '@jotforminc/utils';\nimport { RequestInterceptor, ResponseInterceptor } from '../../../types';\n\nexport const salesforceAuthFailed: ResponseInterceptor = ctx => {\n if (`${ctx?.resp?.config?.baseURL}/${ctx?.resp?.config?.url}`.startsWith('/API/salesforce/')) {\n if (ctx?.resp?.data?.responseCode === 400 && ctx?.resp?.data?.message === 'Please reauthenticate your account.') {\n handleCustomNavigation(`/platform/salesforce/platform-pages/reauth?rp=${window.location}`, '_self', true);\n }\n }\n};\n\nconst salesforceRequestInterceptors: RequestInterceptor[] = [];\nconst salesforceResponseSuccessInterceptors: ResponseInterceptor[] = [];\nconst salesforceResponseFailedInterceptors: ResponseInterceptor[] = [];\n\nlet isSalesforcePlatform = false;\ntry {\n isSalesforcePlatform = isSalesforceEnv();\n} catch (e) {\n console.log('Error :: salesforceInterceptors -> ', e);\n isSalesforcePlatform = false;\n}\nif (isSalesforcePlatform) {\n salesforceResponseFailedInterceptors.push(salesforceAuthFailed);\n}\n\nexport {\n salesforceRequestInterceptors,\n salesforceResponseSuccessInterceptors,\n salesforceResponseFailedInterceptors\n};\n","import {\n RequestInterceptor, ResponseInterceptor\n} from '../../types';\nimport { engineResponseNormalizer, isCrossOrigin, objToFormData } from './utils';\nimport { salesforceResponseFailedInterceptors } from './platform/salesforceInterceptors';\n\nexport const requestUrlInterceptor: RequestInterceptor = ctx => {\n const { url, config } = ctx;\n\n // ignore base url if req starts with different origin\n // or it starts with a protocol\n if (url.startsWith('/') || url.startsWith('https://') || url.startsWith('http://')) {\n config.baseURL = '';\n }\n // attach apiKey header if it exists\n const apiKey = ctx.interceptorConfig?.apiKey;\n if (apiKey) {\n ctx.config.headers = {\n apiKey,\n ...ctx.config.headers\n };\n }\n\n if (config.method === 'get' && ctx.data) {\n ctx.config.params = { ...(ctx.config.params as Record), ...(ctx.data as Record) };\n ctx.data = null;\n }\n};\n\n// xml requests are heavily used in form-builder\n// this interceptor does the job of reqwest library\nexport const requestXMLInterceptor: RequestInterceptor = ctx => {\n if (ctx.interceptorConfig?.isFormData) {\n ctx.config.headers = {\n Accept: '*/*',\n ...ctx.config.headers\n };\n\n if (ctx.data) {\n ctx.data = objToFormData(ctx.data as Record>);\n }\n }\n};\n\nexport const requestNormalizer: RequestInterceptor = ctx => {\n const { config } = ctx;\n if (ctx.interceptorConfig?.teamID) {\n if (isCrossOrigin(ctx.url) || config.disableTeamIDHeader) {\n return;\n }\n\n config.headers = { 'jf-team-id': ctx.interceptorConfig.teamID, ...config.headers };\n }\n};\n\nexport const responseNormalizer: ResponseInterceptor = ctx => {\n engineResponseNormalizer(ctx);\n};\n\nexport const requestInterceptors = [requestUrlInterceptor, requestXMLInterceptor, requestNormalizer];\nexport const responseInterceptors = [responseNormalizer];\n\nexport const defaultRequestInterceptors = [];\nexport const defaultResponseSuccessInterceptors = [];\nexport const defaultResponseFailedInterceptors = [...salesforceResponseFailedInterceptors];\n","import { createDefaultInterceptors } from '../layer/interceptors/defaultInterceptors';\nimport {\n requestInterceptors,\n responseInterceptors,\n defaultRequestInterceptors,\n defaultResponseSuccessInterceptors,\n defaultResponseFailedInterceptors\n} from '../layer/interceptors/defaultInterceptors/defaultInterceptors';\nimport { Interceptors } from '../layer/interceptors/types';\nimport {\n DefaultInterceptorsConfig\n} from '../layer/types';\n\nexport const setInterceptors = (config: DefaultInterceptorsConfig | undefined)\n: Interceptors | undefined => {\n if (config?.disableInterceptors) return undefined;\n\n let preRequestInterceptors = config?.customRequestInterceptors ?? requestInterceptors;\n let postRequestInterceptors = config?.customResponseInterceptors ?? responseInterceptors;\n const postRequestFailedInterceptors = [];\n\n if (config?.disableRequestInterceptors) {\n preRequestInterceptors = [];\n }\n\n if (config?.disableResponseInterceptors) {\n postRequestInterceptors = [];\n }\n\n if (!config?.disableDefaultInterceptors) {\n preRequestInterceptors.push(...defaultRequestInterceptors);\n postRequestInterceptors.push(...defaultResponseSuccessInterceptors);\n postRequestFailedInterceptors.push(...defaultResponseFailedInterceptors);\n }\n\n return createDefaultInterceptors(preRequestInterceptors, postRequestInterceptors, postRequestFailedInterceptors);\n};\n","export const defaultValidation = (status: number): boolean => {\n return status >= 200 && status < 300;\n};\n","import { AxiosEngine } from './AxiosEngine';\n\n// add ${newEngine} class\nexport const ENGINES = {\n AXIOS: AxiosEngine\n};\n\nexport type EngineNames = keyof typeof ENGINES\n","import axios, {\n AxiosInstance, AxiosRequestConfig, AxiosResponse, Method\n} from 'axios';\nimport { CustomConfig, Engine, RequestFunction } from '../types';\nimport { defaultValidation } from './utils';\n\nexport class AxiosEngine implements Engine {\n instance: AxiosInstance;\n\n public get: RequestFunction;\n\n public post: RequestFunction;\n\n public put: RequestFunction;\n\n public delete: RequestFunction;\n\n constructor(baseURL: string, config?: CustomConfig) {\n this.instance = axios.create({\n baseURL,\n validateStatus: config?.disableEngineThrowOnError ? () => true : defaultValidation,\n ...config\n });\n\n this.get = this.createRequestMethod('get');\n\n this.post = this.createRequestMethod('post');\n\n this.put = this.createRequestMethod('put');\n\n this.delete = this.createRequestMethod('delete');\n }\n\n public createRequestMethod(method: Method): RequestFunction {\n return (url: string, config?: AxiosRequestConfig, data?: D) => {\n return this.instance.request, D>({\n url,\n method,\n data,\n ...config\n });\n };\n }\n}\n","import { isAxiosError } from 'axios';\nimport { RequestFunction, Responses } from './types';\n\nexport type AwaitedEngineResponse = Awaited>\n\nexport const mapAxiosResponse = (awaitedEngineResp: AwaitedEngineResponse): Responses => {\n if (isAxiosError(awaitedEngineResp) && awaitedEngineResp.response) {\n return awaitedEngineResp.response;\n }\n\n return awaitedEngineResp as Responses;\n};\n","import { RequestLayer, Interceptors } from '@jotforminc/request-layer';\n\nconst layer = new RequestLayer('/API', {\n interceptorConfig: {\n customResponseInterceptors: [Interceptors.requestManagerResponseNormalizer],\n teamID: global.teamID\n }\n});\n\nconst formDataCreator = dataObj => {\n const formData = new window.FormData();\n Object.keys(dataObj).forEach(paramKey => {\n const paramValue = dataObj[paramKey];\n if (paramValue) formData.append(paramKey, paramValue);\n });\n return formData;\n};\n\nexport function cloneTemplate(templateType, cloneData) {\n return layer.post(`/${templateType}/api`, formDataCreator({\n ...cloneData,\n source: 'landingDirectory',\n context: 'landing_directory',\n action: (cloneData?.action || 'useTemplate')\n }));\n}\n\nexport function importForm(formID) {\n return layer.post('/server.php', formDataCreator({\n url: `${window.location.origin}/${formID}`,\n action: 'getImportedForm',\n from: 'LANDING'\n }));\n}\n\nexport function getBlogRelatedArticles(tag, langPath = '') {\n return layer.get(`${langPath ? `/${langPath}` : ''}/templates/component/help/articles/?mode=landing&tag=${tag}&returnType=JSON`);\n}\n","import TTLCache from '../request-cache';\nimport { argumentParser } from '../utils/argumentParser';\nimport { constructInterceptorConfig } from '../utils/constructInterceptorConfig';\nimport { setInterceptors } from '../utils/setInterceptors';\nimport { EngineNames, ENGINES } from './engines/constants';\nimport { Interceptors } from './interceptors/types';\nimport {\n CustomConfig,\n DefaultInterceptorsConfig,\n Engine,\n Methods,\n RequestArgs,\n RequestContext,\n RequestFunction,\n ResponseContext,\n ResponseResult,\n Responses\n} from './types';\nimport { mapAxiosResponse } from './utils';\n\nexport class RequestLayer {\n engineInstance: Engine;\n\n engineName: EngineNames;\n\n interceptors?: Interceptors;\n\n configs?: {engineConfig?: CustomConfig, interceptorConfig?: DefaultInterceptorsConfig};\n\n ttlCache?: TTLCache;\n\n baseURL?: string;\n\n get: (...args: RequestArgs) => Promise | T>;\n\n post: (...args: RequestArgs) => Promise | T>;\n\n delete: (...args: RequestArgs) => Promise | T>;\n\n put: (...args: RequestArgs) => Promise | T>;\n\n constructor(\n baseURL?: string,\n configs?: {engineConfig?: CustomConfig, interceptorConfig?: DefaultInterceptorsConfig},\n engineName: EngineNames = 'AXIOS'\n\n ) {\n this.configs = configs;\n this.engineInstance = new ENGINES[engineName](baseURL || '', { withCredentials: true, ...configs?.engineConfig });\n this.interceptors = setInterceptors(configs?.interceptorConfig);\n this.engineName = engineName;\n this.baseURL = baseURL;\n\n if (configs?.interceptorConfig?.shouldCache) {\n this.ttlCache = new TTLCache(configs?.interceptorConfig?.cacheTTL);\n }\n\n this.get = this.createMethod('get');\n\n this.post = this.createMethod('post');\n\n this.delete = this.createMethod('delete');\n\n this.put = this.createMethod('put');\n }\n\n createMethod(method: Methods): (...args: RequestArgs) => Promise | T> {\n return async (...args: RequestArgs): Promise | T> => {\n const { url, config, data } = argumentParser(method, args);\n\n // it enables to override request layer's interceptor configs\n // so configs are prioritized for endpoints, not for layer configs\n const modifiedInterceptorConfig = config\n ? constructInterceptorConfig(config, this.configs?.interceptorConfig)\n : this.configs?.interceptorConfig;\n\n const req: RequestContext = {\n url,\n config: { method, ...config },\n data: (data as T),\n interceptorConfig: modifiedInterceptorConfig,\n engineName: this.engineName\n };\n\n const shouldCacheRun = this.ttlCache && !config?.disableCache && modifiedInterceptorConfig?.shouldCache;\n\n if (!modifiedInterceptorConfig?.disableRequestInterceptors) {\n this.interceptors?.preRequest?.run(req);\n }\n\n const cacheRequest: RequestContext = {\n ...req,\n data: req.data instanceof FormData ? Object.fromEntries(req.data as unknown as Iterable) : req.data,\n interceptorConfig: {\n ...req.interceptorConfig,\n customRequestInterceptors: [],\n customResponseInterceptors: []\n }\n };\n\n if (shouldCacheRun) {\n const cachedResponse = await this.ttlCache?.get(cacheRequest);\n if (cachedResponse) {\n return cachedResponse as ResponseResult;\n }\n }\n\n let resp: Responses;\n let ctx: ResponseContext;\n\n switch (method) {\n case 'get':\n case 'delete':\n case 'post':\n case 'put': {\n let engineResponse;\n try {\n engineResponse = await this.engineInstance[method](req.url, req.config, req.data);\n } catch (e) {\n resp = this.mapEngineResponse(e as Awaited>);\n ctx = {\n resp, config: req.config, interceptorConfig: modifiedInterceptorConfig, engineName: this.engineName, result: resp\n };\n this.interceptors?.postFailedRequest?.run(ctx);\n\n throw e;\n }\n\n resp = this.mapEngineResponse(engineResponse);\n\n ctx = {\n resp,\n config: req.config,\n interceptorConfig: modifiedInterceptorConfig,\n engineName: this.engineName,\n result: resp\n };\n break;\n }\n\n default: {\n const customMethod = this.engineInstance.createRequestMethod(method);\n resp = await customMethod(url, config, data as T) as Responses;\n ctx = {\n resp, config: req.config, interceptorConfig: modifiedInterceptorConfig, engineName: this.engineName, result: resp\n };\n }\n }\n\n if (!modifiedInterceptorConfig?.disableResponseInterceptors) {\n this.interceptors?.postRequest?.run(ctx);\n }\n\n if (shouldCacheRun) {\n this.ttlCache?.add(cacheRequest, ctx.result);\n }\n\n return ctx.result;\n };\n }\n\n setTeamID(teamID: number): void {\n this.configs = {\n ...this.configs,\n interceptorConfig: {\n ...this.configs?.interceptorConfig,\n teamID\n }\n };\n }\n\n getTeamID(): DefaultInterceptorsConfig['teamID'] {\n return this.configs?.interceptorConfig?.teamID;\n }\n\n private mapEngineResponse = (\n awaitedEngineResp: Awaited>\n ): Responses => {\n switch (this.engineName) {\n default:\n return mapAxiosResponse(awaitedEngineResp) as Responses;\n }\n };\n}\n","import { ResponseInterceptor } from '../../types';\n\n// if rejected it returns AxiosResponse instead AxiosResponse.data\n// it is implemented to refactor projects that use RequestManager\nconst requestManagerResponseNormalizer: ResponseInterceptor = ctx => {\n if (ctx.interceptorConfig?.disableResponseNormalizer) {\n return;\n }\n\n const { resp } = ctx;\n\n if (resp && resp.data && typeof resp.data.responseCode === 'number'\n && (resp.data.responseCode < 200 || resp.data.responseCode > 299)) {\n ctx.result = Promise.reject(ctx.resp);\n return;\n }\n\n if (resp && resp.data) {\n ctx.result = resp.data?.content || resp.data;\n }\n};\n\nconst returnAxiosData: ResponseInterceptor = ctx => {\n // it is implemented for reqwest only\n if (ctx.engineName === 'AXIOS') {\n ctx.result = (new Promise(resolve => {\n if ('data' in ctx.resp) {\n resolve(ctx.resp.data);\n }\n }));\n }\n};\n\nexport const Interceptors = {\n requestManagerResponseNormalizer,\n returnAxiosData\n};\n","// Clear translation visibility classes\nexport const clearTranslationMarkup = () => {\n // Get elements with the class\n const elements = global.document.body.querySelectorAll('.js-translationBlocker');\n\n // Get direct parents of translation texts\n const textParents = global.document.body.querySelectorAll('.js-translationText');\n\n // Get select parents of translation texts\n const selectParents = global.document.body.querySelectorAll('.js-translationSelect');\n\n // Convert node list to array and remove class from each element\n Object.values(elements).forEach(el => el && el.classList && el.classList.remove('js-translationBlocker'));\n // Object.values(textParents).forEach(el => el && el.classList && el.classList.remove('js-translationText'));\n Object.values(textParents).forEach(el => {\n // eslint-disable-next-line no-unused-expressions\n if (el && el.classList) {\n const elc = el;\n elc.style.outline = 'none';\n elc.style.position = 'initial';\n elc.style.zIndex = 'initial';\n el.classList.remove('js-translationText');\n }\n });\n Object.values(selectParents).forEach(el => {\n // Return if not a valid dom element\n if (!el || !el.classList) {\n return false;\n }\n\n // Get original size and multiple values of element if there were exist\n const originalSize = el.getAttribute('data-tempsize');\n const originalMultiple = el.getAttribute('data-tempmultiple');\n\n // Remove temporary attributes\n el.removeAttribute('data-tempsize');\n el.removeAttribute('data-tempmultiple');\n\n // If any one of them was setted then add them again; otherwise remove them\n if (originalSize !== 'null') {\n el.setAttribute('size', originalSize);\n } else {\n el.removeAttribute('size');\n }\n\n if (originalMultiple !== 'null') {\n el.setAttribute('multiple', originalMultiple);\n } else {\n el.removeAttribute('multiple');\n }\n\n // Lastly remove translation class\n el.classList.remove('js-translationSelect');\n });\n};\n\nexport const addTranslationMarkup = (el, initial = true) => {\n // If element is body or global then no need to process further\n if (el === global || el === global.document || el === global.document.body) return true;\n\n // If element or style belongs to it is undefined then terminate the process\n if (!el) return false;\n\n // Put text class at initial call\n if (initial) {\n el.parentElement.classList.add('js-translationText');\n\n const parent = el.parentElement;\n parent.style.outline = '3px solid #F00';\n parent.style.position = 'relative';\n parent.style.zIndex = '1000';\n }\n\n // Process if style is defined\n if (el.style) {\n // Get current style values of the element\n const currentStyle = global.getComputedStyle(el);\n\n // Check if one of the invisibility requirements it satisfied\n if (currentStyle.display === 'none' || currentStyle.opacity === '0' || currentStyle.visibility === 'hidden' || currentStyle.maxHeight === '0px') {\n // Add visibility class of translation\n el.classList.add('js-translationBlocker');\n }\n }\n\n if (el.tagName === 'SELECT') { // Handle select to show all options\n // Keep size and multiple attributes temporarily\n el.setAttribute('data-tempsize', el.getAttribute('size'));\n el.setAttribute('data-tempmultiple', el.getAttribute('multiple'));\n\n // Add size attribute temporarly to show all options\n el.setAttribute('size', el.length);\n el.setAttribute('multiple', 'multiple');\n\n // Add translation class to set height and mark select as dirty to clear later\n el.classList.add('js-translationSelect');\n }\n\n return addTranslationMarkup(el.parentElement, false);\n};\n\n// Finds elements that contains one of the texts passed\nexport const searchTextInDOM = (el, texts) => {\n // No need to parse the dom if it belongs to one of the given tags\n if (['SCRIPT', 'SVG', 'IMG', 'STYLE', 'INPUT', 'PATH'].indexOf(el.tagName) !== -1) {\n return null;\n }\n\n // If classList is defined for given element\n if (el.classList && el.classList.value) {\n // Define classes that we do not want to search\n // const classesToBeFiltered = [/hideOnDesktop/, /hide-on-builder/, /tabMenu/, /toggleText-mobile/, /hide-on-crawler/];\n const classesToBeFiltered = [/hideOnDesktop/, /toggleText-mobile/, /hide-on-crawler/];\n\n // Check if classList contains one of the unwanted classes\n if (classesToBeFiltered.some(rgx => rgx.test(el.classList.value))) {\n return null;\n }\n }\n\n // If still a child exist then parse tree deeper\n if (el.childNodes && el.childNodes.length !== 0) {\n return Object.values(el.childNodes) // Convert nodeList to array\n .filter(child => typeof child === 'object') // Remove numbers and functions to take only nodes(objects)\n .map(child => searchTextInDOM(child, texts)) // Call every node element with parseTree (recursive)\n .reduce((prev, curr) => (curr !== null ? prev.concat(curr) : prev), []); // Reduce results to one array\n }\n\n // Check if text content is one of the strings we are searching\n if (el.textContent && texts.indexOf(el.textContent.trim()) > -1) {\n return el;\n }\n\n return null;\n};\n\n// Checks if element is in viewport\nexport const isInViewport = el => {\n if (el === null) {\n return false;\n }\n if (typeof el.offsetTop === 'undefined') {\n return isInViewport(el.parentNode);\n }\n\n // Get recteangle information of element\n const elementRect = el.getBoundingClientRect();\n\n // Get window height and width\n const windowHeight = global.window.innerHeight;\n const windowWidth = global.window.innerWidth;\n\n // Get scrolling x and y\n const scrollX = global.window.pageXOffset;\n const scrollY = global.window.pageYOffset;\n\n // eslint-disable-next-line max-len\n if (elementRect.top + elementRect.height < windowHeight + scrollY && elementRect.left + elementRect.width < windowWidth + scrollX && elementRect.top + elementRect.height > 0 && elementRect.left + elementRect.width > 0) {\n return true;\n // eslint-disable-next-line no-else-return\n } else {\n // eslint-disable-next-line no-lonely-if\n if (global.window.casperJsTest) {\n el.scrollIntoView({ behavior: 'auto', block: 'center' });\n return true;\n // eslint-disable-next-line no-else-return\n } else {\n return false;\n }\n }\n};\n\n// Get text contents of dom elements\nexport const getTextContents = elements => elements.map(el => el.textContent.trim());\n","import qs from 'qs';\nimport Axios from 'axios';\nimport Polyglot from 'node-polyglot';\nimport domtoimage from 'dom-to-image-more';\nimport isUndefined from 'lodash/isUndefined';\n\nimport {\n isInViewport,\n getTextContents,\n searchTextInDOM,\n addTranslationMarkup,\n clearTranslationMarkup\n} from './domHelper';\n\nclass Translation {\n constructor() {\n // Default value settings\n this.defaultLang = 'en-US';\n this.processedStrings = {};\n this.usedTranslations = [];\n this.untranslatedStrings = {};\n this.currentLocale = this.defaultLang;\n this.filterClasses = [\n 'ace_editor',\n 'ace-solarized-dark',\n 'ace_dark',\n 'input-group',\n 'isAvatar',\n 'jfHeader-userAvatar',\n 'themesListItem-img',\n 'themesListItem-imgAspect',\n 'prevUploads-list',\n 'card-leftSide',\n 'jfQuestion-fields-contentVisible',\n 'appBox-image'\n ];\n this.filterTags = [\n 'IFRAME',\n 'IMG'\n ];\n this.dictionaries = {\n [this.defaultLang]: new Polyglot({\n phrases: {},\n locale: this.defaultLang.split('-')[0],\n allowMissing: true\n })\n };\n\n this.interpolation = { templateSyntax: /\\{.\\}*\\w+\\}/g, eraseTemplate: /\\{|\\}/g };\n // Variables related to delayed submitNotTranslated function\n this.callTimer = null;\n\n // Number of elements to be processed and send to server at once\n this.processLimit = 1;\n\n // Debounce time for process function\n this.debounceTime = 1000;\n\n // Function binds\n this.setLocale = this.setLocale.bind(this);\n this.resetProcess = this.resetProcess.bind(this);\n this.limitElements = this.limitElements.bind(this);\n this.orderElements = this.orderElements.bind(this);\n this.takeScreenShot = this.takeScreenShot.bind(this);\n this.debounceProcess = this.debounceProcess.bind(this);\n this.handleMissingKey = this.handleMissingKey.bind(this);\n this.submitNotTranslated = this.submitNotTranslated.bind(this);\n this.processNotTranslated = this.processNotTranslated.bind(this);\n this.updateProcessedStrings = this.updateProcessedStrings.bind(this);\n this.rotateUntranslatedStrings = this.rotateUntranslatedStrings.bind(this);\n this.filterUntranslatedStrings = this.filterUntranslatedStrings.bind(this);\n this.translate = this.translate.bind(this);\n this.initServerSideDictionary = this.initServerSideDictionary.bind(this);\n }\n\n // Getter for getting untranslated string list of current language\n get currentLocaleUntranslated() {\n return Array.isArray(this.untranslatedStrings[this.currentLocale]) ? this.untranslatedStrings[this.currentLocale] : [];\n }\n\n // Get processed elements in this session\n get currentProcessed() {\n return Array.isArray(this.processedStrings[this.currentLocale]) ? this.processedStrings[this.currentLocale] : [];\n }\n\n // Get single array that contains all untranslated strings\n get allUntranslatedStrings() {\n return Object.keys(this.untranslatedStrings).reduce(\n (prev, curr) => prev.concat(this.untranslatedStrings[curr]),\n []\n );\n }\n\n initServerSideDictionary(langCode, dictionary) {\n this.add(langCode, dictionary);\n }\n\n // Sets current locale and fetch untranslated list if it still does not exist\n setLocale(code) {\n // Set locale of objectcurrentLocale\n this.currentLocale = code;\n }\n\n // Update untranslatedStrings array by removing sended strings\n filterUntranslatedStrings(langCode, strings) {\n this.untranslatedStrings = {\n\n ...this.untranslatedStrings,\n [langCode]: this.untranslatedStrings[langCode].filter(str => strings.indexOf(str) === -1)\n };\n }\n\n // Update unprocessedStrings by adding sended strings\n updateProcessedStrings(langCode, strings) {\n // Add processed words to processed list\n this.processedStrings = {\n\n ...this.processedStrings,\n [langCode]: this.processedStrings[langCode] ? this.processedStrings[langCode].concat(strings) : strings\n };\n }\n\n // Add sended str to the untranslatedStrIngs array of current locale\n addUntranslatedString(str) {\n this.untranslatedStrings = {\n\n ...this.untranslatedStrings,\n [this.currentLocale]: this.currentLocaleUntranslated.concat([str])\n };\n }\n\n // Move given strings to the end of their respective array\n rotateUntranslatedStrings(strings) {\n // For each key filter given strings and append found ones to the end\n this.untranslatedStrings = Object.keys(this.untranslatedStrings).reduce((prev, curr) => {\n // Get matched strings array of given locale\n const foundStrings = this.untranslatedStrings[curr].filter(str => strings.indexOf(str) > -1);\n\n // First filter given strings and then append them afterward\n return {\n\n ...prev,\n [curr]: this.untranslatedStrings[curr].filter(str => foundStrings.indexOf(str) < 0).concat(foundStrings)\n };\n }, {});\n }\n\n // Order given dom elements respect to their position as strings in untranslated array\n orderElements(elements) {\n // No need to order if only one is found\n if (elements.length <= 1) {\n return elements;\n }\n\n // Get strings of elements\n const textContents = getTextContents(elements);\n\n // Order elements by looking their string positions\n return this.allUntranslatedStrings.filter(str => textContents.indexOf(str) > -1).map(str => elements[textContents.indexOf(str)]);\n }\n\n // Initializes locale and the dictionary belongs to it\n add(code = '', dictionary = {}) {\n // Initialize locale\n this.setLocale(code);\n\n if (isUndefined(this.dictionaries[code])) {\n // Add sended dictionary to the current list\n this.dictionaries = {\n\n ...this.dictionaries,\n [code]: new Polyglot({\n phrases: dictionary,\n locale: code.split('-')[0],\n onMissingKey: this.handleMissingKey // This function will be triggered if the text does not exist in translation list\n })\n };\n }\n }\n\n // Translate string using Polyglot api\n translate(str, params) {\n let translated = str;\n if (typeof params === 'object' && Object.keys(params).length) {\n const variables = str.match(this.interpolation.templateSyntax);\n variables?.forEach(strVar => {\n // Remove template string characters and get variable name.\n const variableName = strVar.replace(this.interpolation.eraseTemplate, '');\n // If there is a value for given key, replace the key with given value\n if (params[variableName]) {\n translated = translated.replace(strVar, params[variableName]);\n }\n });\n }\n\n if (!this.usedTranslations.includes(str)) {\n this.usedTranslations.push(str);\n }\n\n return this.dictionaries[this.currentLocale].t(translated, params);\n }\n\n // Handler for texts that does not have translation\n handleMissingKey(str, options) {\n // Further process is limited to certain users\n if (!(global.window.useTranslationScreenshots === true)) {\n return Polyglot.transformPhrase(str, options);\n }\n\n // If it is already in processed list then skip processing it\n if (this.currentProcessed.indexOf(str) > -1) {\n return Polyglot.transformPhrase(str, options);\n }\n\n // Do not try to process if string is empty or only contains space\n if (/^\\s+$/.test(str)) {\n return '';\n }\n\n // Add founded word to untranslated texts if it does not exist\n if (this.currentLocaleUntranslated.indexOf(str) === -1) {\n this.addUntranslatedString(str);\n }\n\n // Call debounced process (works every n seconds where n is this.processLimit)\n this.debounceProcess();\n }\n\n // Delays the call of submitNotTranslated\n debounceProcess() {\n // If a timer is already started\n if (this.callTimer !== null) {\n // Do not process any further\n return;\n }\n\n // Restart timer\n this.callTimer = setTimeout(this.processNotTranslated, this.debounceTime);\n }\n\n // Limits sended dom elements according to the constants set in class\n limitElements(elements) {\n // Limit the elements based on the processLimit variable\n return elements.slice(0, this.processLimit);\n }\n\n // Filters false positive translations by looking their screenshot values\n filterFalseTranslations(strings, screenshots) {\n // Indexes of false screenshots\n const emptyIndexes = screenshots.reduce((prev, curr, index) => { return curr === false ? prev.concat([index]) : prev; }, []);\n\n // Filter strings that matched with false screenshot results\n const filteredStrings = {\n\n ...strings,\n [this.currentLocale]: strings[this.currentLocale].filter((str, index) => emptyIndexes.indexOf(index) < 0)\n };\n\n // Filter false screenshots\n const filteredScreenshots = screenshots.filter((ss, index) => emptyIndexes.indexOf(index) < 0);\n\n // Return filtered strings and screenshots\n return {\n filteredStrings,\n filteredScreenshots\n };\n }\n\n // Prepares object for next translation process\n resetProcess(strings = []) {\n // Clear timer as the submit promises are resolved\n clearTimeout(this.callTimer);\n this.callTimer = null;\n\n // If there is still an untranslated string in the list\n if (this.currentLocaleUntranslated.length !== 0) {\n if (strings.length !== 0) {\n // Rotate strings that tried to be translated before if they still exist\n this.rotateUntranslatedStrings(strings);\n }\n\n // Try to call process again\n this.debounceProcess();\n }\n }\n\n // Filter and screenshot process\n processNotTranslated() {\n // Get body for dom earch\n let node = '';\n if (global.window.casperjsTestDomParam) {\n node = global.document.querySelector(decodeURI(global.window.casperjsTestDomParam));\n /* eslint-disable no-console */\n console.log('global.window.casperjsTestDomParam', global.window.casperjsTestDomParam);\n /* eslint-enable no-console */\n } else {\n node = global.document.body;\n }\n\n // Search all texts accross dom elements to find their containers\n const foundElements = searchTextInDOM(node, this.allUntranslatedStrings);\n\n /* eslint-disable no-console */\n console.log('this.allUntranslatedStrings', this.allUntranslatedStrings);\n console.log('foundElements', foundElements);\n /* eslint-enable no-console */\n\n // If could not found any element then reset the process\n if (!foundElements || foundElements.length === 0) {\n if (global.window.casperJsTest) {\n global.window.captureInProcess = false;\n /* eslint-disable no-console */\n console.log('capture process finished!');\n /* eslint-enable no-console */\n }\n // Clear timer\n return this.resetProcess();\n }\n\n // Order these elements to match with their respected string positions in untranslated strings array\n const orderedFoundElements = this.orderElements(foundElements);\n\n // Limit the number of elements to be processed\n const elementsToProcess = this.limitElements(orderedFoundElements);\n\n // Get strings of found elements\n const foundStrings = getTextContents(elementsToProcess);\n\n // Get only matched strings from unstranslated list\n const untranslatedToPost = Object.keys(this.untranslatedStrings).reduce((prev, curr) => ({\n\n ...prev,\n [curr]: this.untranslatedStrings[curr].filter(str => foundStrings.indexOf(str) > -1)\n }), {});\n\n // Create promise for each screenshot\n const ssPromises = Object.values(elementsToProcess).reduce((prev, curr) => { return typeof curr === 'object' ? prev.concat([this.takeScreenShot(node, curr)]) : prev; }, []);\n\n Promise.all(ssPromises) // After all screenshots taken\n .then(ssDataAll => this.filterFalseTranslations(untranslatedToPost, ssDataAll)) // Filter false positive translations\n // After resolving all of the promises just pass them to the not transalted submission\n .then(({ filteredStrings, filteredScreenshots }) => this.submitNotTranslated(filteredStrings, filteredScreenshots))\n // Reset required variables and do post process jobs to prepare object for next translation after submissions\n .then(submitPromises => Promise.all(submitPromises).then(() => this.resetProcess(foundStrings)));\n }\n\n // Submit not translated strings\n submitNotTranslated(untranslatedToPost, ssDataAll) {\n // Send translation request for each key separately\n return Object.keys(untranslatedToPost).map(langCode => {\n // Get strings to send\n const strings = untranslatedToPost[langCode];\n\n let depthCount = 0;\n let depthLabel = '';\n if (global.window.casperJsTest) {\n if (global.window.depthCount) {\n depthCount = global.window.depthCount;\n }\n if (global.window.depthLabel) {\n depthLabel = global.window.depthLabel;\n }\n }\n\n // No need to send data if one of them is empty or their lengths are not equal to each other\n if (strings.length === 0 || ssDataAll.length === 0 || strings.length !== ssDataAll.length) {\n if (global.window.casperJsTest) {\n global.window.captureInProcess = false;\n /* eslint-disable no-console */\n console.log('capture process finished!');\n /* eslint-enable no-console */\n }\n return false;\n }\n\n Axios.post('/server.php', qs.stringify({\n action: 'submitNotTranslated',\n lang_code: langCode,\n raw: untranslatedToPost[langCode].join('__NOT_TRANSLATED__'),\n autoSuggestion: false,\n depthCount,\n depthLabel,\n screenshot: ssDataAll.join('|||')\n }), {\n 'Content-Type': 'application/x-www-form-urlencoded'\n })\n .then(() => {\n // Move processed strings to processed list\n this.updateProcessedStrings(langCode, untranslatedToPost[langCode]);\n\n // Filter them from untranslated list\n this.filterUntranslatedStrings(langCode, untranslatedToPost[langCode]);\n });\n\n return true;\n });\n }\n\n // Take screenshot of given node if foundElement is visible in that dom\n takeScreenShot(node, foundElement) {\n // Try to make every element visible on found elements\n const visibilityResult = addTranslationMarkup(foundElement);\n if (global.window.casperJsTest) {\n /* eslint-disable no-console */\n console.log('foundElement', foundElement.wholeText);\n /* eslint-enable no-console */\n }\n // Do not need to take ss if element is invisible or not in viewport\n if (!visibilityResult || !isInViewport(foundElement)) {\n /* eslint-disable no-console */\n console.log('the element is invisible or not in viewport');\n /* eslint-enable no-console */\n // Clear visibility\n clearTranslationMarkup();\n\n // Return false due to it does not exist on screen\n return false;\n }\n\n // If the page is loaded by casperjs\n if (global.window.casperJsTest) {\n // Send capture command to casperjs as error\n /* eslint-disable no-console */\n console.log('capture');\n /* eslint-enable no-console */\n\n // Resolve with base64 encoded ss data\n return new Promise(resolve => {\n setTimeout(() => {\n // Take ss data\n const capturedData = global.window.tempCaptureData;\n\n // Clear temporary data\n global.window.tempCaptureData = null;\n\n // Clear visibility classes\n clearTranslationMarkup();\n\n // Return screenshot\n resolve(capturedData);\n }, 2000);\n });\n }\n\n // Take screenshot and return base64 encoded form using visibility css\n return new Promise(resolve => domtoimage.toPng(\n node,\n {\n filter: el => {\n // Return if element is not valid to check\n if (!el || !el.className || !el.tagName || typeof el.className !== 'string') {\n return true;\n }\n\n // If element is one of the tags to be filtered from screenshot\n if (this.filterTags.indexOf(el.tagName) > -1) {\n return false;\n }\n\n const filteredNodeClass = el.className.split(' ').filter(classStr => this.filterClasses.indexOf(classStr) !== -1);\n\n return filteredNodeClass.length === 0;\n }\n }\n )\n .then(dataUrl => {\n // Clear visibility classes\n clearTranslationMarkup();\n\n // Return screenshot\n resolve(dataUrl);\n }));\n }\n}\n\nexport const translation = global.Translations || new Translation();\n\nexport default Translation;\n","export const langCodes = {\n tr: 'tr-TR',\n en: 'en-US',\n es: 'es-ES',\n pt: 'pt-PT',\n fr: 'fr-FR',\n de: 'de-DE',\n it: 'it-IT',\n bg: 'bg-BG',\n sr: 'sr-BA',\n hu: 'hu-HU',\n fi: 'fi-FI',\n ka: 'ka-GE',\n nl: 'nl-NL',\n uk: 'uk-UA',\n ua: 'uk-UA',\n id: 'id-ID',\n ko: 'ko-KR',\n ar: 'ar-AR',\n ja: 'ja-JP',\n pl: 'pl-PL',\n ca: 'ca-ES',\n sv: 'sv-SE',\n no: 'no-NO',\n da: 'da-DA',\n ro: 'ro-RO',\n ru: 'ru-RU',\n zh: 'zh-CN',\n 'zh-CN': 'zh-CN',\n 'zh-HK': 'zh-HK',\n af: 'af-ZA',\n he: 'he-IL'\n};\n\nexport const partialTranslations = {\n 'animal-shelter': path => /(jotform.com|jform.co.kr|jotform.pro)(\\/){1}(animal-shelter){1}/g.test(path)\n};\n\n/**\n * Returns Jotform translation files suffix (locale/locale_SUFFIX.js)\n * @param {string} localeCode - lang-[country] (en-US, pt-BR, en)\n * @return {string} A value from langCodes object.\n */\nexport const getLangFileSuffix = localeCode => {\n const lang = localeCode.split('-')[0];\n return langCodes[localeCode] || langCodes[lang];\n};\n\nexport const DEFAULT_LANGUAGE = 'en-US';\n","import { langCodes } from './constants';\n\nexport const getApp = () => global.window.__jfrouter?.ACTIVE_ALIAS || global.window.location.pathname?.replace(/\\//g, '');\nexport const isProduction = () => global.window?.__jfrouter?.JOTFORM_ENV === 'PRODUCTION' || global.window?.JOTFORM_ENV === 'PRODUCTION';\n\nconst encodedAndProcessedStrings = [];\n\nconst processTranslation = async string => {\n const transformPhrase = string?.replace(/JotForm|Jform/gm, 'Jotform')?.trim();\n const buffer = new TextEncoder('utf-8').encode(transformPhrase);\n const digest = await global.crypto.subtle.digest('SHA-1', buffer);\n return {\n raw: transformPhrase,\n encoded: Array.from(new Uint8Array(digest)).map(x => x.toString(16).padStart(2, '0')).join('')\n };\n};\n\nexport const encodeUsedTranslations = translations => {\n translations.forEach(translation => {\n processTranslation(translation)\n .then(({ encoded, raw }) => {\n if (!global.Translations.encodedAndProcessedStrings.some(q => Object.keys(q).includes(encoded))) {\n global.Translations.encodedAndProcessedStrings.push({\n [encoded]: raw\n });\n }\n })\n .catch(error => console.error(error));\n });\n\n return encodedAndProcessedStrings;\n};\n\nexport const collectionTimer = () => {\n const year = new Date().getFullYear();\n const month = new Date().getMonth();\n const day = new Date().getDate();\n const hours = new Date().getHours();\n const minutes = new Date().getMinutes();\n const now = Date.UTC(year, month, day, hours, minutes, 0);\n const startDate = Date.UTC(year, month, day, hours, 0, 0);\n const endDate = Date.UTC(year, month, day, hours, 15, 0);\n\n // Between HH:00 and HH:15\n return startDate < now && endDate > now;\n};\n\nexport const unlocalizeOriginHref = url => {\n const shortLangCodes = Object.keys(langCodes)?.join('|');\n const exp = RegExp(`(\\\\/)(${shortLangCodes})(\\\\/)`, 'g');\n\n return url?.replace(exp, '/');\n};\n","import { translation } from './Translation';\nimport { initializeTranslationFromGlobal } from './global';\nimport { prepareT, prepareTranslationRenderer, prepareTDate } from './hof';\nimport { langCodes, getLangFileSuffix } from './constants';\nimport { TranslateProvider } from './components/TranslateProvider';\nimport { setDatepickerLocale } from './setDatepickerLocale';\n\nconst t = prepareT(translation);\nconst tdate = prepareTDate(translation);\nconst translationRenderer = prepareTranslationRenderer(t);\n\ninitializeTranslationFromGlobal(translation, t);\n\nexport {\n t,\n tdate,\n translation,\n translationRenderer,\n langCodes,\n getLangFileSuffix,\n TranslateProvider,\n setDatepickerLocale\n};\n\nexport default translation;\n","import {\n prepareAddDictionary,\n prepareControlModeChange,\n prepareAddTranslationToDictionary,\n sendUsedTranslationsInterval\n} from './hof';\n\nimport { isProduction, collectionTimer } from './utils';\n\n/* eslint-disable no-param-reassign, no-extend-native */\nexport function initializeTranslationFromGlobal(translation, t) {\n const addDictionary = prepareAddDictionary(translation);\n const controlModeChange = prepareControlModeChange(translation);\n const addTranslationToDictionary = prepareAddTranslationToDictionary(translation);\n\n // Overriding all strings and adding locale method\n String.prototype.locale = function locale() {\n return t(this);\n };\n\n if (!global.Translations) {\n global.__t = t;\n global.Translations = translation;\n global.Translations.t = t;\n global.Translations.addDictionary = addDictionary;\n global.Translations.addTranslationToDictionary = addTranslationToDictionary;\n global.Translations.controlModeChange = controlModeChange;\n global.Translations.processUsedTranslationsInterval = null;\n global.Translations.encodedAndProcessedStrings = [];\n global.Translations.startCollectUsedTranslationsInterval = sendUsedTranslationsInterval;\n global.Translations.forceStopCollecting = false;\n }\n\n if (global.window && global.window.useLocaleDictionary && global.window?.Locale?.language) {\n addTranslationToDictionary(global.window.currentLocale, global.window.Locale.language);\n }\n\n if (isProduction() && collectionTimer() && global.Translations.currentLocale !== 'en-US') {\n sendUsedTranslationsInterval();\n }\n}\n","export const pxToRem = px => {\n if (px === undefined || px === null) {\n throw new Error('Missing argument: `px`.');\n }\n return `${px / 16}rem`;\n};\n\nexport const formatTextAlign = textAlign => {\n switch (textAlign) {\n case 'text-left':\n return 'text-align: start; justify-content: flex-start;';\n case 'text-right':\n return 'text-align: end; justify-content: flex-end;';\n case 'text-center':\n return 'text-align: center; justify-content: center;';\n default:\n return 'text-align: start; justify-content: flex-start;';\n }\n};\n\nexport const alignItems = textAlign => {\n switch (textAlign) {\n case 'text-left':\n return 'align-items: flex-start;';\n case 'text-right':\n return 'align-items: flex-end;';\n case 'text-center':\n return 'align-items: center;';\n default:\n return 'align-items: flex-start;';\n }\n};\n\nexport const marginAlign = textAlign => {\n switch (textAlign) {\n case 'text-left':\n return 'margin-inline-start: 0;';\n case 'text-right':\n return 'margin-inline-start: auto;';\n case 'text-center':\n return 'margin-inline: auto;';\n default:\n return 'margin-inline-start: 0;';\n }\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScButton = styled.a`\n &.jflb--action-link {\n position: relative;\n color: var(--jfv-blue-500);\n padding: 0;\n margin-inline-start: 30px;\n transition: transform 0.2s, color 0.2s;\n font-weight: 500;\n text-decoration: none;\n display: inline-flex;\n &:hover {\n transform: translateX(4px);\n html[dir=\"rtl\"] & {\n transform: translateX(-4px);\n }\n }\n &:before {\n position: absolute;\n content: \"\";\n top: 3px;\n left: -30px;\n height: 14px;\n width: 20px;\n border-top: none;\n border-left: none;\n background-size: 100%;\n background-image: url(\"data:image/svg+xml,%0A%3Csvg width='20' height='14' viewBox='0 0 20 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.9 1L18.851 6.95L12.901 12.9M1 6.95H18.851H1Z' stroke='%232470E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A\");\n html[dir=\"rtl\"] & {\n left: unset;\n right: -30px;\n transform: rotate(180deg);\n }\n }\n &:first-child {\n margin-top: 0;\n }\n\n &.disabled,\n &[disabled=\"true\"] {\n opacity: 0.6;\n pointer-events: none;\n }\n &.green {\n color: var(--jfv-green-500);\n &:before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%2378bb07' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6.95h17.851M12.9 1l5.951 5.95-5.95 5.95'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n &.blue {\n color: var(--jfv-blue-500);\n &:before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%232470e9' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6.95h17.851M12.9 1l5.951 5.95-5.95 5.95'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n &.orange {\n color: var(--jfv-orange-500);\n &:before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23FF904B' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6.95h17.851M12.9 1l5.951 5.95-5.95 5.95'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n\n &.purple {\n color: var(--jfv-purple-500);\n &:before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='20' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='%23923aff' stroke-width='2' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 6.95h17.851M12.9 1l5.951 5.95-5.95 5.95'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n }\n &:not(.jflb--action-link) {\n &,\n &:visited {\n border-width: 1px;\n border-style: solid;\n color: #fff;\n border-color: var(--jfv-gray-100);\n background-color: var(--jfv-gray-100);\n font-size: ${pxToRem(18)};\n font-weight: 400;\n min-width: ${pxToRem(120)};;\n max-width: 100%;\n outline: none;\n display: inline-block;\n border-radius: ${pxToRem(6)};\n padding: ${pxToRem(15)} ${pxToRem(32)};\n cursor: pointer;\n text-decoration: none;\n transition: background-color 0.2s, border-color 0.2s, color 0.2s;\n text-align: center;\n vertical-align: text-top;\n }\n &.disabled,\n &[disabled=\"true\"] {\n pointer-events: none;\n }\n .hasDirectory & {\n min-width: ${pxToRem(160)};\n padding: ${pxToRem(10)} ${pxToRem(20)};\n }\n &.green {\n background-color: var(--jfv-green-500);\n color: #fff;\n border-color: var(--jfv-green-500);\n &:hover {\n background-color: var(--jfv-green-400);\n border-color: var(--jfv-green-400);\n }\n }\n &.green-outline {\n background-color: transparent;\n color: var(--jfv-green-500);\n border-color: var(--jfv-green-500);\n &:hover {\n background-color: var(--jfv-green-400);\n color: #fff;\n border-color: var(--jfv-green-400);\n }\n }\n &.orange {\n background-color: var(--jfv-orange-500);\n color: #fff;\n border-color: var(--jfv-orange-500);\n &:hover {\n background-color: var(--jfv-orange-400);\n border-color: var(--jfv-orange-400);\n }\n }\n &.orange-outline {\n background-color: transparent;\n color: var(--jfv-orange-500);\n border-color: var(--jfv-orange-500);\n &:hover {\n background-color: var(--jfv-orange-400);\n color: #fff;\n border-color: var(--jfv-orange-400);\n }\n }\n &.yellow {\n background-color: var(--jfv-yellow-500);\n color: #fff;\n border-color: var(--jfv-yellow-500);\n &:hover {\n background-color: var(--jfv-yellow-400);\n border-color: var(--jfv-yellow-400);\n }\n }\n &.yellow-outline {\n background-color: transparent;\n color: var(--jfv-yellow-500);\n border-color: var(--jfv-yellow-500);\n &:hover {\n background-color: var(--jfv-yellow-400);\n color: #fff;\n border-color: var(--jfv-yellow-400);\n }\n }\n &.blue {\n background-color: var(--jfv-blue-600);\n color: #fff;\n border-color: var(--jfv-blue-600);\n &:hover {\n background-color: var(--jfv-blue-500);\n border-color: var(--jfv-blue-500);\n }\n }\n &.blue-outline {\n background-color: transparent;\n color: var(--jfv-blue-600);\n border-color: var(--jfv-blue-600);\n\n &:hover {\n background-color: var(--jfv-blue-500);\n color: #fff;\n border-color: var(--jfv-blue-500);\n }\n }\n &.white {\n background-color: #fff;\n color: var(--jfv-navy-500);\n border-color: #fff;\n &:hover {\n background-color: var(--jfv-navy-25);\n border-color: var(--jfv-navy-25);\n }\n }\n &.white-outline {\n background-color: transparent;\n color: #fff;\n border-color: #fff;\n &:hover {\n background-color: #fff;\n color: var(--jfv-navy-500);\n border-color: #fff;\n svg {\n path {\n fill: var(--jfv-navy-500);\n stroke: var(--jfv-navy-500);\n }\n }\n }\n }\n &.aqua {\n background-color: var(--jfv-approvals-default);\n color: #fff;\n border-color: var(--jfv-approvals-default);\n &:hover {\n background-color: var(--jfv-approvals-light);\n border-color: var(--jfv-approvals-light);\n }\n }\n &.aqua-outline {\n background-color: transparent;\n color: var(--jfv-approvals-default);\n border-color: var(--jfv-approvals-default);\n\n &:hover {\n background-color: var(--jfv-approvals-default);\n color: #fff;\n border-color: var(--jfv-approvals-default);\n }\n }\n &.navy {\n background-color: var(--jfv-navy-500);\n color: #fff;\n border-color: var(--jfv-navy-500);\n &:hover {\n background-color: var(--jfv-navy-400);\n border-color: var(--jfv-navy-400);\n }\n }\n &.navy-outline {\n background-color: transparent;\n color: var(--jfv-navy-500);\n border-color: var(--jfv-navy-500);\n\n &:hover {\n background-color: var(--jfv-navy-500);\n color: #fff;\n border-color: var(--jfv-navy-500);\n }\n }\n &.red {\n background-color: var(--jfv-red-500);\n color: #fff;\n border-color: var(--jfv-red-500);\n &:hover {\n background-color: var(--jfv-red-400);\n border-color: var(--jfv-red-400);\n }\n }\n &.red-outline {\n background-color: transparent;\n color: var(--jfv-red-500);\n border-color: var(--jfv-red-500);\n\n &:hover {\n background-color: var(--jfv-red-500);\n color: #fff;\n border-color: var(--jfv-red-500);\n }\n }\n &.purple {\n background-color: var(--jfv-purple-custom);\n color: #fff;\n border-color: var(--jfv-purple-custom);\n &:hover {\n background-color: var(--jfv-purple-custom);\n border-color: var(--jfv-purple-custom);\n }\n }\n &.purple-outline {\n background-color: transparent;\n color: var(--jfv-purple-custom);\n border-color: var(--jfv-purple-custom);\n\n &:hover {\n background-color: var(--jfv-purple-custom);\n color: #fff;\n border-color: var(--jfv-purple-custom);\n }\n }\n }\n \n`;\n\nexport default ScButton;\n","import Styled, { keyframes } from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nexport const MODAL_VARIABLES = {\n overlay: 'rgba(10, 21, 81, 0.7)',\n background: '#fff',\n closeButtonBackground: '#E6EBF2',\n footerBackground: '#F8FBFF',\n borderColor: '#E6EBF2'\n};\n\nexport const BUTTON_COLORS = {\n green: '#01BD6F',\n greenLight: 'rgba(10,21,81, 0.7)',\n greenHover: '#01d67e',\n blue: '#2E69FF',\n blueLight: '#dbefff',\n blueHover: '#5c89ff',\n red: '#F23A3C',\n redHover: '#ea0f12',\n orange: '#FB7C1C',\n orangelight: '#FBF1DA',\n orangeHover: '#f97109',\n purple: '#732EFF',\n lightPurple: '#f6e1ff',\n lightGray: '#F8FBFF',\n lightGrayHover: '#EAF2FD'\n};\n\nexport const BASE_VARIABLES = {\n baseColor: '#2B3245',\n baseColorLight: '#57647E',\n disabledColor: '#8894AB',\n baseLightBackground: '#F8FBFF',\n baseLinkColor: '#2e69ff',\n borderColor: '#8894AB',\n borderColorLight: '#E6EBF2'\n};\n\nconst showOverlay = keyframes`\n 100% {\n opacity: 1;\n }\n`;\n\nexport const ModalWrapper = Styled.div`\n background-color: ${MODAL_VARIABLES.overlay};\n display: none;\n width: 100%;\n height: 100%;\n position: fixed;\n top: 0;\n left: 0;\n padding: ${pxToRem(20)};\n z-index: 8001;\n justify-content: center;\n align-items: center;\n animation: ${showOverlay} .35s ease-in-out forwards;\n\n &.is-open {\n display: flex;\n }\n`;\n\nexport const ModalContainer = Styled.div`\n background-color: ${MODAL_VARIABLES.background};\n width: 100%;\n height: ${props => props.customHeight};\n max-height: 90vh;\n max-width: ${props => props.customMaxWidth};\n /* border-radius: 4px; */\n overflow: hidden;\n display: flex;\n flex-direction: column;\n box-shadow: 0 0 16px 10px rgba(43,50,69,0.2);\n /* transform: translateY(-20px); */\n\n @media screen and (max-width: 520px) {\n height: 100%;\n max-height: ${pxToRem(400)};\n }\n`;\n\nexport const ModalHeader = Styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 16px 16px 32px;\n border-bottom: 1px solid ${MODAL_VARIABLES.borderColor};\n flex-shrink: 0;\n`;\n\nexport const ModalTitleWrapper = Styled.div`\n display: flex;\n align-items: center;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ModalTitleTextWrapper = Styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ModalTitle = Styled.h1`\n font-size: 24px;\n line-height: 40px;\n color: ${BASE_VARIABLES.baseColor};\n font-weight: 700;\n margin: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const ModalSubtitle = Styled.p`\n font-size: 16px;\n color: #454e80;\n`;\n\nexport const ModalContent = Styled.div`\n padding: ${props => props.contentPadding};\n height: 100%;\n overflow-y: ${props => props.overFlowY};\n`;\n\nexport const ModalCloseButton = Styled.button`\n color: #fff;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0.5rem;\n right: 1rem;\n opacity: 0.8;\n transition: all .3s linear;\n svg {\n width: 36px;\n height: 36px;\n }\n span {\n font-size: .75rem;\n line-height: 1rem;\n @media only screen and (max-width: 64rem) {\n & {\n display: none;\n }\n }\n }\n &:hover {\n opacity: .9;\n }\n`;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { IconXmark } from '@jotforminc/svg-icons';\nimport { t } from '@jotforminc/translation';\n\nimport {\n ModalWrapper,\n ModalContainer,\n ModalHeader,\n ModalCloseButton,\n ModalTitleWrapper,\n ModalTitle,\n ModalContent,\n ModalSubtitle,\n ModalTitleTextWrapper\n} from '../Styles/ScModal';\n\nconst Modal = ({\n children,\n closeModal,\n customClass,\n isOpen,\n showHeader,\n title,\n subtitle,\n contentPadding,\n overFlowY,\n customMaxWidth,\n customHeight,\n disableClickOutside\n}) => {\n const handleClickOutside = event => {\n if (disableClickOutside) return;\n if (typeof event.target.className === 'string' && event.target.className.includes('common-modal-wrapper')) {\n closeModal();\n }\n };\n\n useEffect(() => {\n const handleEsc = e => {\n if (isOpen && e.keyCode === 27) {\n closeModal();\n }\n };\n if (isOpen) {\n window.addEventListener('keydown', handleEsc);\n }\n return () => {\n window.removeEventListener('keydown', handleEsc);\n };\n }, [isOpen]);\n\n return (\n \n \n {showHeader && (\n \n \n \n \n {t(title)}\n \n {subtitle !== '' && (\n \n {subtitle}\n \n )}\n \n \n \n )}\n \n \n ESC\n \n \n {children}\n \n \n \n );\n};\n\nexport default Modal;\n\nModal.defaultProps = {\n customClass: null,\n showHeader: true,\n overFlowY: 'hidden',\n contentPadding: '1rem',\n customMaxWidth: '1024px',\n customHeight: '640px',\n disableClickOutside: false,\n subtitle: ''\n};\n\nModal.propTypes = {\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string,\n children: PropTypes.node.isRequired,\n closeModal: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n customClass: PropTypes.string,\n showHeader: PropTypes.bool,\n overFlowY: PropTypes.string,\n contentPadding: PropTypes.string,\n customMaxWidth: PropTypes.string,\n customHeight: PropTypes.string,\n disableClickOutside: PropTypes.bool\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nexport const Portal = ({ children }) => {\n const [container] = React.useState(() => {\n return document.querySelector('#pageModalWrapper');\n });\n\n return ReactDOM.createPortal(children, container);\n};\n","import React from 'react';\nimport { string, func } from 'prop-types';\nimport Modal from '../Modal';\nimport { Portal } from '../_Commons/Portal';\n\nexport const YoutubeEmbedVideoModal = ({ setIsModalOpen, videoID, title }) => {\n return (\n \n setIsModalOpen(false)}\n >\n \n \n \n );\n};\n\nYoutubeEmbedVideoModal.defaultProps = {\n title: '',\n videoID: '',\n setIsModalOpen: f => f\n};\n\nYoutubeEmbedVideoModal.propTypes = {\n title: string,\n videoID: string,\n setIsModalOpen: func\n};\n","/* eslint-disable @jotforminc/no-native-button */\n/* eslint-disable max-len */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { string, func } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport Modal from '../../Modal';\nimport { Portal } from '../../_Commons/Portal';\nimport { importForm } from '../../../api';\n\nconst ScImportModalContent = styled.div`\n height: 100%;\n .demo-description {\n line-height: 24px;\n font-size: var(--decripton-small-size);\n color: var(--jfv-navy-400);\n }\n`;\n\nconst ScImportBtnWrapper = styled.div`\n padding: 7px 9px 21px 0px;\n display: flex;\n justify-content: flex-end;\n color: var(--jfv-green-400);\n text-decoration: underline;\n font-weight: bold;\n font-size: 16px;\n`;\n\nconst ScDemoArea = styled.div`\n height: 100%;\n overflow-y: scroll;\n iframe {\n height: 100vh !important;\n }\n`;\n\nexport const ImportFormModal = ({\n setIsModalOpen,\n formID,\n modalTitle\n}) => {\n const cloneForm = () => {\n setIsModalOpen(false);\n importForm(formID).then(res => {\n const { newID } = res;\n // eslint-disable-next-line @jotforminc/no-location-href-assignment\n window.location.href = `/build/${newID}`;\n });\n };\n\n return (\n \n setIsModalOpen(false)}\n >\n \n

\n Encourage users to elaborate on their answers when collecting surveys or feedback — for example, if a user states that they were dissatisfied with something on an event satisfaction survey, you can show a text box to allow them to explain further.\n

\n \n \n \n \n \n \n
\n \n
\n );\n};\n\nImportFormModal.defaultProps = {\n formID: '',\n modalTitle: '',\n setIsModalOpen: f => f\n};\n\nImportFormModal.propTypes = {\n formID: string,\n modalTitle: string,\n setIsModalOpen: func\n};\n","/* eslint-disable import/no-cycle */\nimport React, { useState } from 'react';\nimport { string } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport ScButton from '../Styles/ScButton';\nimport { YoutubeEmbedVideoModal } from '../YoutubeVideo/YoutubeEmbedVideoModal';\nimport { Portal } from '../_Commons/Portal';\nimport { ImportFormModal } from './CustomActionModal/ImportFormModal';\nimport {\n crc32, handleCloneTemplate, MD5, stripHTMLTags\n} from '../../utils';\n\nconst Link = ({\n source, title, text, attribute, pageTitle, slug, class: sectionClass, ...rest\n}) => {\n const [customCTAText, setCustomCTAText] = useState('');\n const [isModalOpen, setIsModalOpen] = useState(false);\n const customBtnAttributeKeys = ['data-yt-video-id', 'data-form-id', 'data-template-type'];\n\n const isCustomButton = customBtnAttributeKeys.find(key => attribute && attribute.includes(key));\n let defaultCustomActionHandler = event => {\n window.track(crc32(MD5(source)), 'action-click');\n if (isCustomButton) {\n event.preventDefault();\n setIsModalOpen(true);\n }\n };\n\n const clearAttributeValue = attributeValue => attributeValue.split('=')[1].replaceAll('\"', '').replaceAll('\\\\');\n\n let customModalProps = { setIsModalOpen, title };\n let CustomModalContentRenderer;\n if (isCustomButton) {\n const splitedAttributes = attribute.split(' ');\n switch (isCustomButton) {\n case 'data-yt-video-id':\n let videoID = splitedAttributes.find(attr => attr.includes('data-yt-video-id'));\n videoID = clearAttributeValue(videoID);\n customModalProps = {\n ...customModalProps,\n videoID\n };\n CustomModalContentRenderer = YoutubeEmbedVideoModal;\n break;\n case 'data-form-id':\n let formID = splitedAttributes.find(attr => attr.includes('data-form-id'));\n formID = clearAttributeValue(formID);\n customModalProps = {\n ...customModalProps,\n modalTitle: title,\n formID\n };\n CustomModalContentRenderer = ImportFormModal;\n break;\n case 'data-template-type':\n defaultCustomActionHandler = event => {\n event.preventDefault();\n let dataTemplateType = splitedAttributes.find(attr => attr.includes('data-template-type'));\n dataTemplateType = clearAttributeValue(dataTemplateType);\n\n let dataTemplateID = splitedAttributes.find(attr => attr.includes('data-template-id'));\n dataTemplateID = clearAttributeValue(dataTemplateID);\n\n setCustomCTAText('Please wait...');\n handleCloneTemplate(\n { id: dataTemplateID, source: dataTemplateType, theme: 'classic' }, f => f, () => setCustomCTAText('')\n );\n };\n break;\n default:\n break;\n }\n }\n const titleValue = (customCTAText || text || title);\n return (\n <>\n \n {\n (isCustomButton && isModalOpen) && (\n \n \n \n )\n }\n \n );\n};\n\nexport default Link;\n\nLink.defaultProps = {\n text: '',\n slug: '',\n class: '',\n title: '',\n source: '',\n attribute: '',\n pageTitle: '',\n target: '_blank'\n};\n\nLink.propTypes = {\n slug: string,\n text: string,\n class: string,\n title: string,\n source: string,\n target: string,\n pageTitle: string,\n attribute: string\n};\n","import React from 'react';\nimport { string, object, bool } from 'prop-types';\n\nconst Image = ({\n source, title, class: sectionClass, disableLazyLoad\n}) => {\n return (\n {\n // this.onerror=null;this.src='data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\n console.log('onError', 'TODO :: handle error');\n }}\n alt={title}\n width=\"1100\"\n height=\"686\"\n className={`${!disableLazyLoad ? 'lazyload blur-up' : ''} ${Object.values((sectionClass || {})).join(' ')}`}\n />\n );\n};\n\nexport default Image;\n\nImage.defaultProps = {\n class: {},\n disableLazyLoad: false\n};\n\nImage.propTypes = {\n class: object,\n title: string.isRequired,\n source: string.isRequired,\n disableLazyLoad: bool\n};\n","/* eslint-disable jsx-a11y/media-has-caption */\nimport React, { useRef, useState } from 'react';\nimport { string } from 'prop-types';\nimport styled, { keyframes } from 'styled-components';\nimport { IconTriangleCircleFilled } from '@jotforminc/svg-icons';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst jfPulse = keyframes`\n 0% {\n box-shadow: 0 0 0 rgba(24, 38, 91, 0.4);\n }\n 70% {\n box-shadow: 0 0 0 15px transparent;\n }\n to {\n box-shadow: 0 0 0 0 transparent;\n }\n`;\n\nconst ScReplay = styled.span`\n cursor: pointer;\n transform: translateX(-${pxToRem(20)});\n opacity: 1;\n transition: all 0.3s;\n position: absolute;\n z-index: 1;\n border-radius: 50%;\n width: ${pxToRem(40)};\n height: ${pxToRem(40)};\n left: 50%;\n top: 50%;\n color: var(--jfv-navy-400);\n background-color: #fff;\n &:after {\n content: \"\";\n display: inline-block;\n width: 100%;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n border-radius: 50%;\n box-shadow: 0 0 0 rgba(24, 38, 91, 0.4);\n animation: ${jfPulse} 2.7s infinite; // stylelint-disable-line\n animation-delay: 0.54s;\n z-index: -1;\n }\n`;\n\nconst ScVideo = styled.video`\n display: block;\n height: auto;\n max-height: 800px;\n max-width: 600px;\n width: 100%;\n`;\n\nconst Video = ({ poster, source }) => {\n const [playing, setPlaying] = useState(false);\n const videoRef = useRef();\n\n const handlePlayVideo = () => {\n if (playing) return;\n videoRef.current.play();\n setPlaying(true);\n };\n\n return (\n <>\n {!playing && ()}\n setPlaying(false)}\n />\n \n );\n};\n\nexport default Video;\n\nVideo.defaultProps = {\n poster: '',\n source: ''\n};\n\nVideo.propTypes = {\n poster: string,\n source: string\n};\n","/* eslint-disable import/no-cycle */\n/* eslint-disable no-nested-ternary */\nimport React from 'react';\nimport { string, bool } from 'prop-types';\nimport styled from 'styled-components';\nimport { t } from '@jotforminc/translation';\nimport { clearSpecialChars } from '../../utils';\n\nconst sizeTypes = props => {\n switch (props.size) {\n case 'xxsmall':\n return 'var(--title-xxsmall-size)';\n case 'xsmall':\n return 'var(--title-xsmall-size)';\n case 'small':\n return 'var(--title-small-size)';\n default:\n return 'var(--title-size)';\n }\n};\n\nconst BaseTitle = styled.h1`\n width: 100%;\n color: var(--jfv-navy-700);\n font-weight: ${props => (props.weight ? props.weight : '400')};\n margin: 0;\n line-height: 1.34;\n word-break: break-word;\n font-size: ${props => (sizeTypes(props))};\n strong {\n color: var(--jfv-navy-600);\n }\n`;\n\nconst ScTitleH1 = styled(BaseTitle).attrs({ as: 'h1' })``;\nconst ScTitleH2 = styled(BaseTitle).attrs({ as: 'h2' })``;\n\nconst Title = ({\n title,\n isFirstHero,\n size,\n level,\n className,\n weight,\n isDirectory\n}) => {\n const ScTitleLevel = (level ? styled(BaseTitle).attrs({ as: level })`` : ScTitleH2);\n const TitleRenderer = ((isFirstHero && !isDirectory) ? ScTitleH1 : ScTitleLevel);\n if (!title) return null;\n return (\n \n );\n};\n\nexport default Title;\n\nTitle.defaultProps = {\n title: '',\n size: '',\n level: 'h2',\n className: '',\n weight: '',\n isDirectory: false,\n isFirstHero: false\n};\n\nTitle.propTypes = {\n title: string,\n size: string,\n level: string,\n className: string,\n weight: string,\n isFirstHero: bool,\n isDirectory: bool\n};\n","/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport styled from 'styled-components';\n// import { pxToRem } from '../../utils/style-utils';\nconst ScBrowserBar = styled.div`\n position: relative;\n z-index: 1;\n width: 100%;\n height: 16px;\n background-color: #d5d5d5;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 10px;\n direction: ltr;\n [data-type=\"dots\"] {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n i {\n width: 6px;\n height: 6px;\n background-color: #fff;\n margin: 0 3px;\n }\n }\n [data-type=\"bar\"] {\n width: 40%;\n height: 6px;\n background-color: #fff;\n flex-grow: 1;\n margin: 0 20% 0 10%;\n }\n`;\n\nconst BrowserBar = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default BrowserBar;\n","/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\n// import { pxToRem } from '../../utils/style-utils';\nimport BrowserBar from './BrowserBar';\n\nconst ScTemplate = styled.div`\n transition: all 0.1s linear;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n .jflb--template-image-container {\n cursor: pointer;\n position: relative;\n display: block;\n overflow: hidden;\n background-color: #fff;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: auto;\n }\n svg {\n position: relative;\n display: block; \n width: 100%; \n height: auto;\n }\n }\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);\n }\n`;\n\nconst FormTemplate = ({\n screenshot,\n theme,\n id,\n backgroundColor\n}) => {\n return (\n \n \n
\n \n \n
\n
\n );\n};\n\nexport default FormTemplate;\n\nFormTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired,\n backgroundColor: string.isRequired\n};\n","/* eslint-disable @jotforminc/no-native-button */\nimport React, { useState } from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\n\nconst ScTemplate = styled.div`\n transition: all 0.1s linear;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n .jflb--template-image-container {\n cursor: pointer;\n position: relative;\n display: block;\n overflow: hidden;\n height: 100%;\n padding-top: 204px;\n border-radius: 8px;\n box-shadow: none;\n border: 1px solid #C8CEED !important;\n background-color: #fff;\n &:before,\n &:after {\n pointer-events: none;\n content: \"\";\n position: absolute;\n left: 0;\n pointer-events: none;\n width: 100%;\n height: 3rem;\n transition: all 0.3s linear;\n }\n &:before {\n top: 0;\n z-index: 2;\n opacity: 0;\n background: linear-gradient(0, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.1) 100%);\n }\n &:after {\n bottom: 0;\n z-index: 1;\n background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.1) 100%);\n }\n &:hover:before {\n opacity: 1;\n }\n &:hover:after {\n opacity: 0;\n }\n img {\n width: 100%;\n height: auto;\n display: block;\n position: absolute;\n z-index: 1;\n top: -5px;\n transition: all 1.2s cubic-bezier(0.68, -0.15, 0.265, 1.2);\n }\n }\n`;\n\nconst getScrollableHeightOfElement = element => {\n const maxScrollableDistance = 1000;\n const { parentElement } = element;\n let distance = element.clientHeight - parentElement.clientHeight;\n distance = distance >= maxScrollableDistance ? maxScrollableDistance : distance;\n return -distance;\n};\n\nconst PdfTemplate = ({ screenshot, theme, id }) => {\n const [hovered, setHovered] = useState(false);\n const [translateY, setTranslateY] = useState(0);\n\n const handleMouseEnter = e => {\n const imgElement = e.currentTarget.querySelector('img');\n const topValue = getScrollableHeightOfElement(imgElement);\n setTranslateY(topValue);\n setHovered(true);\n };\n\n const handleMouseLeave = () => {\n setHovered(false);\n setTimeout(() => setTranslateY(0), 2000);\n };\n\n return (\n \n
\n \n
\n \n );\n};\n\nexport default PdfTemplate;\n\nPdfTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired\n};\n","/* eslint-disable max-len */\n/* eslint-disable @jotforminc/no-native-button */\nimport React, { useState } from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\nimport { pxToRem } from '../../../utils/style-utils';\n\nconst ScTemplate = styled.div`\n position: relative;\n transition: all 0.1s linear;\n overflow: hidden;\n border-radius: 11% 11% 0 0;\n background-color: #fff;\n .jflb--template-image {\n position: relative;\n margin: 0;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n border-color: transparent;\n transition: all 0.1s linear;\n padding-top: 100%;\n max-height: 630px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n img {\n width: 100%;\n height: auto;\n display: block;\n position: absolute;\n top: 30px;\n transition: all 1.2s cubic-bezier(0.68, -0.15, 0.265, 1.2);\n }\n }\n .jflb--phone-wrapper {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n svg {\n width: 100%;\n height: auto;\n }\n }\n .jflb--phone-notch {\n display: flex;\n left: 6px;\n width: calc(100% - 12px);\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n height: 28px;\n background-color: #000;\n position: absolute;\n top: 2.8%;\n z-index: 1;\n padding: 0 16px;\n font-size: ${pxToRem(12)};\n font-weight: 700;\n color: #FFF;\n justify-content: space-between;\n align-items: center;\n .l {\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 0 0 20%;\n }\n .r {\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 0 0 20%;\n .icons {\n background-image: url(\"data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 8'%3E%3Cpath d='M12 0h2v8h-2V0ZM10 2H8v6h2V2ZM6 4H4v4h2V4ZM0 6h2v2H0V6ZM20 2h12v4H20V2Z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20 0a2 2 0 0 0-2 2v4c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H20Zm12 1H20a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1Z' fill='%23fff'/%3E%3Cpath d='M35 2.5a.5.5 0 0 1 1 0v3a.5.5 0 0 1-1 0v-3Z' fill='%23fff'/%3E%3C/svg%3E\");\n width: 38px;\n height: 8px;\n background-size: 100%;\n }\n }\n @media screen and (max-width: 480px) {\n & {\n padding: 0 14px;\n }\n }\n }\n`;\n\nconst getScrollableHeightOfElement = element => {\n const maxScrollableDistance = 1000;\n const { parentElement } = element;\n let distance = element.clientHeight - parentElement.clientHeight;\n distance = distance >= maxScrollableDistance ? maxScrollableDistance : distance;\n return -distance;\n};\n\nconst AppTemplate = ({\n screenshot,\n theme,\n id,\n backgroundColor\n}) => {\n const [hovered, setHovered] = useState(false);\n const [translateY, setTranslateY] = useState(0);\n\n const date = new Date();\n const currentTime = `${date.getHours()}:${date.getMinutes()}`;\n\n const handleMouseEnter = e => {\n const imgElement = e.currentTarget.querySelector('img');\n const topValue = getScrollableHeightOfElement(imgElement);\n setTranslateY(topValue);\n setHovered(true);\n };\n\n const handleMouseLeave = () => {\n setHovered(false);\n setTimeout(() => setTranslateY(0), 2000);\n };\n\n return (\n \n \n \n \n
\n
{currentTime}
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n
\n \n );\n};\n\nexport default AppTemplate;\n\nAppTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired,\n backgroundColor: string.isRequired\n};\n","/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\n// import { pxToRem } from '../../utils/style-utils';\nimport BrowserBar from './BrowserBar';\n\nconst ScTemplate = styled.div`\n transition: all 0.1s linear;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n .jflb--template-image-container {\n cursor: pointer;\n position: relative;\n display: block;\n overflow: hidden;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: auto;\n padding-top: 10px;\n padding-inline-start: 10px;\n }\n svg {\n position: relative;\n display: block; \n width: 100%; \n height: auto;\n }\n }\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);\n }\n`;\n\nconst TableTemplate = ({\n screenshot,\n theme,\n id,\n backgroundColor\n}) => {\n return (\n \n \n
\n \n \n
\n
\n );\n};\n\nexport default TableTemplate;\n\nTableTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired,\n backgroundColor: string.isRequired\n};\n","/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\n// import { pxToRem } from '../../utils/style-utils';\nimport BrowserBar from './BrowserBar';\n\nconst ScTemplate = styled.div`\n transition: all 0.1s linear;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n .jflb--template-image-container {\n cursor: pointer;\n position: relative;\n display: block;\n overflow: hidden;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: auto;\n }\n svg {\n position: relative;\n display: block; \n width: 100%; \n height: auto;\n }\n }\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);\n }\n`;\n\nconst ApprovalTemplate = ({\n screenshot,\n theme,\n id,\n backgroundColor\n}) => {\n return (\n \n \n
\n \n \n
\n
\n );\n};\n\nexport default ApprovalTemplate;\n\nApprovalTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired,\n backgroundColor: string.isRequired\n};\n","/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\n// import { pxToRem } from '../../utils/style-utils';\nimport BrowserBar from './BrowserBar';\n\nconst ScTemplate = styled.div`\n transition: all 0.1s linear;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n overflow: hidden;\n background-color: #fff;\n .jflb--template-image-container {\n cursor: pointer;\n position: relative;\n display: block;\n overflow: hidden;\n img {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: auto;\n }\n svg {\n position: relative;\n display: block; \n width: 100%; \n height: auto;\n }\n }\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 0 2rem rgba(0, 0, 0, 0.2);\n }\n`;\n\nconst ReportTemplate = ({\n screenshot,\n theme,\n id,\n backgroundColor\n}) => {\n return (\n \n \n
\n \n \n
\n
\n );\n};\n\nexport default ReportTemplate;\n\nReportTemplate.propTypes = {\n id: string.isRequired,\n theme: string.isRequired,\n screenshot: string.isRequired,\n backgroundColor: string.isRequired\n};\n","/* eslint-disable import/no-cycle */\n/* eslint-disable @jotforminc/no-native-button */\nimport React, { useState } from 'react';\nimport { t } from '@jotforminc/translation';\nimport styled from 'styled-components';\nimport { crc32, handleCloneTemplate, MD5 } from '../../utils';\nimport Title from '../_Commons/Title';\nimport ScButton from '../Styles/ScButton';\nimport FormTemplate from './TemplateCards/FormTemplate';\nimport PdfTemplate from './TemplateCards/PdfTemplate';\nimport AppTemplate from './TemplateCards/AppTemplate';\nimport TableTemplate from './TemplateCards/TableTemplate';\nimport ApprovalTemplate from './TemplateCards/ApprovalTemplate';\nimport ReportTemplate from './TemplateCards/ReportTemplate';\n\nconst ScTemplate = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 33.333%;\n gap: calc(var(--pad) / 2);\n padding: var(--pad) calc(var(--pad) / 2.6);\n .template--title {\n margin: 0 0 20px;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n white-space: normal;\n padding: 0 0.625rem;\n cursor: pointer;\n }\n @media screen and (max-width: 768px) {\n width: 100%;\n max-width: 320px;\n padding: 10px 0 80px;\n}\n`;\n\nconst Template = data => {\n const {\n id, theme, title, source, screenshot, backgroundColor = '#fff'\n } = data;\n const [cloneLoading, setCloneLoading] = useState(false);\n\n const templateSource = (source === 'form-template' ? 'form-templates' : source);\n const ScButtonBTag = styled(ScButton).attrs({ as: 'button' })``;\n return (\n handleCloneTemplate(data, setCloneLoading)}\n onKeyDown={() => handleCloneTemplate(data, setCloneLoading)}\n className={templateSource}\n >\n \n\n \n {\n templateSource === 'form-templates' && (\n \n )\n }\n {\n (templateSource === 'pdf-templates' || templateSource === 'sign-templates') && (\n \n )\n }\n {\n templateSource === 'app-templates' && (\n \n )\n }\n {\n templateSource === 'table-templates' && (\n \n )\n }\n {\n templateSource === 'approval-templates' && (\n \n )\n }\n {\n templateSource === 'report-templates' && (\n \n )\n }\n \n {\n e.stopPropagation();\n setTimeout(() => window.track(crc32(MD5(id)), 'action-click'));\n handleCloneTemplate(data, setCloneLoading);\n }}\n >\n {t(cloneLoading ? 'Please wait...' : 'Use Template')}\n \n \n );\n};\n\nexport default Template;\n","import styled from 'styled-components';\n\nconst flexDirection = props => {\n if (props.type === 'column') {\n return props.reverse ? 'column-reverse' : 'column';\n }\n if (props.reverse) {\n return 'row-reverse';\n }\n return 'row';\n};\n\nconst ScRow = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 1.25rem;\n flex-direction: ${props => flexDirection(props)};\n @media screen and (max-width: 768px) {\n flex-wrap: wrap;\n &.is-mobile-centered {\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n }\n\n`;\n\nexport default ScRow;\n","import styled from 'styled-components';\nimport { formatTextAlign, pxToRem } from '../../utils/style-utils';\n\nconst heroTextGroupWidth = props => {\n if (props.shrink && props.environment === 'builder') return '100%';\n if ((props.hasMediaGroup && !props.isHeroText && !props.isHeroVideo) || props.shrink) return '50%';\n return '100%';\n};\n\nconst ScCol = styled.div`\n position: relative;\n display: flex;\n gap: 1.25rem;\n &.text--group {\n width: ${props => heroTextGroupWidth(props)};\n flex-direction: column;\n ${props => (formatTextAlign(props.textAlign))};\n ${props => (props.textAlign === 'text-center' && !props.isDirectory && (props.isHeroText || props.isHeroVideo)) && `\n max-width: calc(var(--container-width) - ${pxToRem(180)});\n `}\n .actions--group {\n ${props => (formatTextAlign(props.textAlign))};\n }\n padding: ${props => ((props.isHeroText || props.isHeroVideo) ? 'calc(var(--pad) / 2)' : '0')};\n .jflb--shrinked-container & {\n width: 100%;\n padding: 0;\n }\n @media screen and (max-width: 768px) {\n width: 100%;\n .is-mobile-centered & {\n align-items: center;\n justify-content: center;\n text-align: center;\n .actions--group {\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n }\n }\n }\n &.media--group {\n width: ${props => heroTextGroupWidth(props)};\n text-align: center;\n img, svg {\n width: 100%;\n max-width: ${props => ((props.isHeroText || props.isHeroVideo) ? 'inherit' : '600px')};\n height: auto;\n max-height: 800px;\n display: block;\n }\n @media screen and (max-width: 768px) {\n width: 100%;\n .is-mobile-centered & {\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n }\n &:hover {\n .jflb--yt-play {\n transform: scale(1.2);\n }\n }\n\n }\n &.templates--group {\n width: 100%;\n align-items: stretch;\n justify-content: center;\n @media screen and (max-width: 768px) {\n align-items: center;\n flex-direction: column;\n }\n }\n &.full--width {\n flex-direction: column;\n width: 100%;\n align-items: center;\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n }\n`;\n\nexport default ScCol;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst sizeTypes = props => {\n switch (props.size) {\n case 'xsmall':\n return 'var(--decripton-xsmall-size)';\n case 'small':\n return 'var(--decripton-small-size)';\n default:\n return 'var(--decripton-size)';\n }\n};\n\nconst ScDecription = styled.div`\n width: 100%;\n color: var(--jfv-navy-400);\n font-size: ${props => (sizeTypes(props))};\n line-height: 1.45;\n font-weight: 400;\n margin: 0;\n strong {\n color: var(--jfv-navy-600);\n }\n p {\n margin-top: 0;\n margin-bottom: 1.25rem;\n word-break: break-word;\n &:last-child {\n margin-bottom: 0;\n }\n }\n ul, ol {\n margin-block: calc(var(--pad) / 2);\n padding-inline-start: var(--pad);\n list-style: disc;\n /* list-style-position: inside; */\n li {\n margin-bottom: ${pxToRem(10)};\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n a {\n text-decoration: none;\n color: var(--jfv-blue-500);\n font-weight: 400;\n transition: color .2s linear;\n &:hover {\n color: var(--jfv-blue-400);\n }\n }\n`;\nconst Description = ({ description, className, size }) => {\n if (!description) return null;\n return (\n \n );\n};\n\nexport default Description;\n\nDescription.defaultProps = {\n description: '',\n size: '',\n className: ''\n};\n\nDescription.propTypes = {\n description: string,\n className: string,\n size: string\n};\n","/* eslint-disable import/no-cycle */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\n\nconst Multitext = ({ title, description, ...rest }) => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default Multitext;\n\nMultitext.propTypes = {\n title: string.isRequired,\n description: string.isRequired\n};\n","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport {\n string, arrayOf, func, bool\n} from 'prop-types';\nimport { IconMinus, IconPlus } from '@jotforminc/svg-icons';\nimport { t } from '@jotforminc/translation';\n// eslint-disable-next-line import/no-cycle\nimport { clearSpecialChars } from '../../utils';\n\nconst FaqAnswer = ({\n question, answer, activeQuestions, setActiveQuestions, searchValue, isActive\n}) => {\n const isSearchActive = searchValue.length >= 3;\n const isActiveQuestion = activeQuestions.includes(question) || isSearchActive;\n\n const handleToggleFaqAnswer = () => {\n if (isActiveQuestion) {\n setActiveQuestions(activeQuestions.filter(el => el !== question));\n return;\n }\n setActiveQuestions([...activeQuestions, question]);\n };\n\n const query = new RegExp(`(${searchValue})(?![^<]*>|[^<>]/)`, 'gi');\n\n return (\n \n \n $1') : t(question)\n }}\n />\n {isActiveQuestion ? : }\n \n \n {\n typeof answer === 'string' ? (\n
\n ) : (\n
\n {\n answer.map((answerItem, index) => {\n if (answerItem.includes('\n { [...tempDiv.querySelectorAll('li')].map(li =>
  • {t(clearSpecialChars(li.innerText).trim())}
  • ) }\n \n );\n }\n return (\n $1')\n : t(clearSpecialChars(answerItem).trim())\n }}\n />\n );\n })\n }\n
    \n )\n }\n
    \n \n );\n};\n\nFaqAnswer.defaultProps = {\n answer: [],\n question: '',\n isActive: false,\n searchValue: '',\n activeQuestions: [],\n setActiveQuestions: f => f\n};\n\nFaqAnswer.propTypes = {\n isActive: bool,\n question: string,\n searchValue: string,\n answer: arrayOf(string),\n setActiveQuestions: func,\n activeQuestions: arrayOf(string)\n};\n\nexport default FaqAnswer;\n","import React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { IconAngleDown } from '@jotforminc/svg-icons';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst jfHeroScrollDown = keyframes`\n 0% {\n transform: scale(0.8) translateY(-8px);\n }\n\n 50% {\n transform: scale(0.8) translateY(8px);\n }\n\n 100% {\n transform: scale(0.8) translateY(-8px);\n }\n`;\n\nconst ScScrollDown = styled.div`\n margin: 0 auto;\n position: relative;\n z-index: 2;\n opacity: .7;\n cursor: pointer;\n transition: all .3s linear;\n color: var(--jfv-navy-600);\n border-radius: 50%;\n animation: ${jfHeroScrollDown} 2s infinite ease;\n ${props => (props.environment === 'builder') && `\n width: ${pxToRem(22)};\n height: ${pxToRem(22)};\n bottom: 0;\n border: 1px solid var(--jfv-navy-600);\n `}\n ${props => (props.environment !== 'builder') && `\n width: ${pxToRem(38)};\n height: ${pxToRem(38)};\n bottom: -${pxToRem(20)};\n border: 2px solid var(--jfv-navy-600);\n `}\n`;\nconst handleClickScrollDown = () => {\n const wrapper = document.querySelector('#pageBuilderWrapper');\n const [, secondSection] = Array.from(wrapper.children);\n if (secondSection) secondSection.scrollIntoView({ behavior: 'smooth' });\n};\n\nconst ScrollDown = props => ;\n\nexport default ScrollDown;\n","import React from 'react';\nimport styled from 'styled-components';\nimport { IconYoutubeFilled } from '@jotforminc/svg-icons';\n\nexport const ScYoutubeIcon = styled.div`\n cursor: pointer;\n top: 50%;\n left: 50%;\n padding: 0;\n position: absolute;\n z-index: 2;\n transition: all 150ms ease-out;\n width: 68px;\n height: 68px;\n margin: -34px 0 0 -34px;\n transform-origin: center;\n color: var(--jfv-red-400);\n svg {\n position: relative;\n z-index: 1;\n }\n &:after {\n z-index: 0;\n content: '';\n width: 38px;\n height: 38px;\n top: 50%;\n left: 50%;\n position: absolute;\n border-radius: 10px;\n background-color: #fff;\n transform: translateX(-19px) translateY(-19px);\n }\n`;\nconst YoutubeIcon = () => {\n return (\n \n \n \n\n );\n};\n\nexport default YoutubeIcon;\n\nYoutubeIcon.defaultProps = {\n};\n\nYoutubeIcon.propTypes = {\n};\n","/* eslint-disable jsx-a11y/media-has-caption */\nimport React, { useState } from 'react';\nimport { string } from 'prop-types';\nimport styled from 'styled-components';\nimport YoutubeIcon from '../_Commons/YoutubeIcon';\n\nconst ScYoutubeEmbed = styled.div`\n position: relative;\n display: block;\n margin: 0 auto;\n width: 100%;\n cursor: pointer;\n overflow: hidden;\n img {\n position: relative;\n z-index: 1;\n width: 100%;\n height: auto;\n display: block;\n max-width: unset !important;\n max-height: unset !important;\n }\n .jflb--yt-embed {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n iframe {\n width: 100%;\n height: 100%;\n border: 0;\n }\n }\n`;\n\nconst YoutubeEmbed = ({\n poster, videoID, title, pageTitle\n}) => {\n const [playing, setPlaying] = useState(false);\n\n return (\n setPlaying(true)}>\n \n \n \n \n \n \n );\n};\n\nexport default YoutubeEmbed;\n\nYoutubeEmbed.defaultProps = {\n title: '',\n poster: '',\n videoID: '',\n pageTitle: ''\n};\n\nYoutubeEmbed.propTypes = {\n title: string,\n poster: string,\n videoID: string,\n pageTitle: string\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\n\nexport const ScCard = styled.div`\n background-color: #fff;\n border: 1px solid #e0e2ee;\n border-radius: 14px;\n box-shadow: 0 0 8px rgba(0,0,0,.08);\n padding: 20px 24px;\n width: 100%;\n\n .card-desc {\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n display: -webkit-box;\n font-size: 1.125rem;\n font-weight: 400;\n margin-block: 1.25rem;\n min-height: 3.3125rem;\n overflow: hidden;\n position: relative;\n text-overflow: ellipsis;\n white-space: normal;\n }\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React from 'react';\nimport { string } from 'prop-types';\nimport Description from '../_Commons/Description';\nimport Title from '../_Commons/Title';\nimport Link from './Link';\nimport { ScCard } from '../Styles/ScCard';\n\nconst Card = ({\n title,\n description,\n link\n}) => {\n return (\n \n
    \n \n \n \n
    \n
    \n );\n};\n\nexport default Card;\n\nCard.defaultProps = {\n title: '',\n description: '',\n link: ''\n};\n\nCard.propTypes = {\n title: string,\n description: string,\n link: string\n};\n","/* eslint-disable react/no-array-index-key */\nimport React from 'react';\n// import { t } from '@jotforminc/translation';\nimport {\n string, arrayOf, object, number\n} from 'prop-types';\nimport styled from 'styled-components';\n\n// eslint-disable-next-line import/no-cycle\nimport SubelementRenderer from '.';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScContentItem = styled.div`\n .text--group {\n margin-top: ${pxToRem(12)};\n display: flex;\n flex-direction: column;\n gap: ${pxToRem(12)};\n }\n \n`;\nconst ScContentImage = styled.img`\n width: ${props => props.imageWidth}px;\n`;\n\nconst Content = ({\n contentImage, description, elements, imageWidth, title\n}) => {\n const linkElements = elements.filter(({ type }) => type === 'link');\n\n return (\n \n \n
    \n \n <Description size='small' description={description} />\n {\n linkElements.length > 0 && (\n linkElements.map((element, index) => (\n <SubelementRenderer key={`content-action-item-element-${index}`} {...element} />\n ))\n )\n }\n </div>\n </ScContentItem>\n );\n};\n\nexport default Content;\n\nContent.defaultProps = {\n title: '',\n elements: [],\n imageWidth: '',\n description: '',\n contentImage: ''\n};\n\nContent.propTypes = {\n title: string,\n imageWidth: number,\n description: string,\n contentImage: string,\n elements: arrayOf(object)\n};\n","/* eslint-disable import/no-cycle */\nimport React from 'react';\n\nimport Link from './Link';\nimport Image from './Image';\nimport Video from './Video';\nimport Template from './Template';\nimport MultiText from './Multitext';\nimport FaqAnswer from './FaqAnswer';\nimport ScrollDown from './ScrollDown';\nimport YoutubeEmbed from './YoutubeEmbed';\nimport Card from './Card';\n// eslint-disable-next-line import/no-cycle\nimport Content from './Content';\n\nconst SubelementRenderer = data => {\n const { type, ...values } = data;\n let Subelement;\n switch (type) {\n case 'link':\n Subelement = Link;\n break;\n case 'scroll-down':\n Subelement = ScrollDown;\n break;\n case 'image':\n Subelement = Image;\n break;\n case 'video':\n Subelement = Video;\n break;\n case 'youtube-embed':\n Subelement = YoutubeEmbed;\n break;\n case 'template':\n Subelement = Template;\n break;\n case 'content':\n Subelement = Content;\n break;\n case 'multitext':\n Subelement = MultiText;\n break;\n case 'faq-answer':\n Subelement = FaqAnswer;\n break;\n case 'card':\n Subelement = Card;\n break;\n default:\n Subelement = null;\n }\n\n if (!Subelement) return null;\n return <Subelement {...values} />;\n};\n\nexport default SubelementRenderer;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { string, object, arrayOf } from 'prop-types';\nimport styled from 'styled-components';\nimport SubelementRenderer from '../SubelementRenderer';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\nimport { formatTextAlign, alignItems, pxToRem } from '../../utils/style-utils';\n\nconst ScText = styled.section`\n flex-direction: column;\n gap: calc(var(--pad) / 3);\n ${props => formatTextAlign(props.textAlign)};\n .actions--group {\n flex-direction: column;\n gap: ${pxToRem(12)};\n ${props => alignItems(props.textAlign)};\n }\n`;\n\nexport const Text = data => {\n const {\n title, description, elements, class: sectionClass, isDirectory\n } = data;\n const { textAlign } = sectionClass;\n const linkElements = elements?.filter(({ type }) => type === 'link');\n return (\n <ScText className='jflb--sec' textAlign={textAlign}>\n <Title\n size={isDirectory ? 'xsmall' : 'small'}\n weight={isDirectory ? '700' : false}\n title={title}\n />\n <Description\n size={isDirectory ? 'xsmall' : 'small'}\n description={description}\n />\n {\n linkElements.length > 0 && (\n <div className=\"actions--group\">\n { linkElements.map((element, index) => <SubelementRenderer key={`link-${index}`} {...element} />) }\n </div>\n )\n }\n </ScText>\n );\n};\n\nText.defaultProps = {\n class: {},\n elements: []\n};\n\nText.propTypes = {\n class: object,\n title: string.isRequired,\n elements: arrayOf(object),\n description: string.isRequired\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { string } from 'prop-types';\n\nconst ScSpacer = styled.div`\n height: ${props => props.height}px;\n`;\n\nexport const Spacer = ({ height }) => {\n return (\n <ScSpacer\n height={height}\n className=\"jflb--spacer\"\n />\n );\n};\n\nSpacer.defaultProps = {\n height: {}\n};\n\nSpacer.propTypes = {\n height: string\n};\n","import styled from 'styled-components';\n\nconst ScContainer = styled.div`\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n max-width: var(--container-width);\n margin-left: auto;\n margin-right: auto;\n &.jflb--shrinked-container {\n flex-wrap: nowrap;\n gap: calc(var(--pad) / 2);\n padding: var(--pad);\n max-width: calc(var(--container-width) + calc(var(--pad) * 2));\n @media screen and (max-width: 768px) {\n flex-wrap: wrap;\n gap: calc(var(--pad) * 2);\n }\n }\n`;\n\nexport default ScContainer;\n","import styled from 'styled-components';\n\nexport const ScIframe = styled.section`\n ${props => props.environment === 'builder' && `\n .iframe-wrapper {\n height: 100%;\n position: relative;\n }\n &.fullWidth {\n padding: 0 !important;\n }\n `}\n\n .iframe-wrapper {\n justify-content: center;\n }\n`;\n","import React from 'react';\nimport { object } from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport ScContainer from '../Styles/ScContainer';\nimport { ScIframe } from '../Styles/ScIframe';\n\nexport const Iframe = data => {\n const {\n height,\n maxWidth,\n iframeID = '',\n elementKey,\n environment = 'landing',\n class: sectionClass = {}\n } = data;\n\n let src = '';\n const lowerElementKey = elementKey.toLowerCase();\n switch (lowerElementKey) {\n case 'embed-iframe':\n const { iframeSrc } = data;\n src = iframeSrc;\n break;\n case 'embed-form':\n const { formID } = data;\n src = `/${formID}`;\n break;\n case 'embed-app':\n const { appID } = data;\n src = `/app/${appID}?appEmbedded=1`;\n break;\n case 'embed-table':\n const { tableID } = data;\n src = `/tables/${tableID}?jotform_pwa=1&pwa_id=223242460696962&pwa_device=desktop&pwa_isPWA=false&hideAccountBox=1&no-form-toolbar=true`;\n break;\n default:\n break;\n }\n\n const isFullWidth = sectionClass.fullWidth === 'fullWidth';\n\n const isAppSupaDemoURL = src.includes('app.supademo.com');\n const iframeComponent = (\n <iframe\n id={`JotFormIFrame-${iframeID}`}\n title={`${t('Embed Iframe')} ${iframeID}`}\n onLoad={() => {\n window.parent.scrollTo(0, 0);\n }}\n allowtransparency=\"true\"\n allowFullScreen={true}\n allow=\"geolocation; microphone; camera\"\n src={src}\n frameBorder=\"0\"\n scrolling=\"yes\"\n style={\n isAppSupaDemoURL ? {\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n position: 'absolute'\n } : {\n width: '100%',\n border: 'none',\n height: `${height}px`,\n maxWidth: `${maxWidth}px`\n }\n }\n />\n );\n return (\n <ScIframe\n iframeHeight={height}\n iframeMaxWidth={maxWidth}\n environment={environment}\n className={`jflb--sec ${lowerElementKey}${isFullWidth ? ' fullWidth' : ''}`}\n >\n {\n isFullWidth ? iframeComponent : (\n <ScContainer className='iframe-wrapper'>\n {\n isAppSupaDemoURL ? (\n <div\n style={{\n width: '100%',\n height: '100%',\n position: 'relative',\n paddingBottom: 'calc(57.30580357142857% + 42px)'\n }}\n >\n { iframeComponent }\n </div>\n ) : (\n iframeComponent\n )\n }\n </ScContainer>\n )\n }\n </ScIframe>\n );\n};\n\nIframe.defaultProps = {\n data: {}\n};\n\nIframe.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n data: object\n};\n","const brand = {\n yellow: {\n bg: {\n base: 'bg-yellow-400',\n hover: 'hover:bg-yellow-400'\n },\n border: {\n base: 'border-yellow-400',\n hover: 'hover:border-yellow-400'\n },\n color: {\n base: 'color-yellow-400',\n hover: 'hover:color-yellow-400'\n }\n },\n orange: {\n bg: {\n base: 'bg-orange-500',\n hover: 'hover:bg-orange-500'\n },\n border: {\n base: 'border-orange-500',\n hover: 'hover:border-orange-500'\n },\n color: {\n base: 'color-orange-500',\n hover: 'hover:color-orange-500'\n }\n },\n blue: {\n bg: {\n base: 'bg-blue-400',\n hover: 'hover:bg-blue-400'\n },\n border: {\n base: 'border-blue-400',\n hover: 'hover:border-blue-400'\n },\n color: {\n base: 'color-blue-400',\n hover: 'hover:color-blue-400'\n }\n },\n dark: {\n bg: {\n base: 'bg-navy-700',\n hover: 'hover:bg-navy-700'\n },\n border: {\n base: 'border-navy-700',\n hover: 'hover:border-navy-700'\n },\n color: {\n base: 'color-navy-700',\n hover: 'hover:color-navy-700'\n }\n }\n} as const;\n\nconst text = {\n lightest: {\n base: 'color-navy-50',\n hover: 'hover:color-navy-50'\n },\n light: {\n base: 'color-navy-100',\n hover: 'hover:color-navy-100'\n },\n medium: {\n base: 'color-navy-300',\n hover: 'hover:color-navy-300'\n },\n dark: {\n base: 'color-navy-500',\n hover: 'hover:color-navy-500'\n },\n darkest: {\n base: 'color-navy-700',\n hover: 'hover:color-navy-700'\n }\n} as const;\n\nconst background = {\n lightest: {\n base: 'bg-navy-25',\n focus: 'focus:bg-navy-25',\n focusWithin: 'focus-within:bg-navy-25',\n hover: 'hover:bg-navy-25'\n },\n light: {\n base: 'bg-navy-75',\n focus: 'focus:bg-navy-75',\n focusWithin: 'focus-within:bg-navy-75',\n hover: 'hover:bg-navy-75'\n },\n medium: {\n base: 'bg-navy-100',\n focus: 'focus:bg-navy-100',\n focusWithin: 'focus-within:bg-navy-100',\n hover: 'hover:bg-navy-100'\n },\n dark: {\n base: 'bg-navy-300',\n focus: 'focus:bg-navy-300',\n focusWithin: 'focus-within:bg-navy-300',\n hover: 'hover:bg-navy-300'\n },\n darkest: {\n base: 'bg-navy-700',\n focus: 'focus:bg-navy-700',\n focusWithin: 'focus-within:bg-navy-700',\n hover: 'hover:bg-navy-700'\n }\n} as const;\n\nconst border = {\n light: {\n base: 'border-navy-50',\n hover: 'hover:border-navy-50'\n },\n medium: {\n base: 'border-navy-100',\n hover: 'hover:border-navy-100'\n },\n dark: {\n base: 'border-navy-500',\n hover: 'hover:border-navy-500'\n },\n darkest: {\n base: 'border-navy-700',\n hover: 'hover:border-navy-700'\n }\n} as const;\n\nconst accent = {\n lightest: {\n bg: {\n base: 'bg-blue-100',\n focus: 'focus:bg-blue-100',\n focusWithin: 'focus-within:bg-blue-100',\n hover: 'hover:bg-blue-100'\n },\n border: {\n base: 'border-blue-100',\n focus: 'focus:border-blue-100',\n focusWithin: 'focus-within:border-blue-100',\n hover: 'hover:border-blue-100'\n },\n color: {\n base: 'color-blue-100',\n focus: 'focus:color-blue-100',\n focusWithin: 'focus-within:color-blue-100',\n hover: 'hover:color-blue-100'\n }\n },\n light: {\n bg: {\n base: 'bg-blue-300',\n focus: 'focus:bg-blue-300',\n focusWithin: 'focus-within:bg-blue-300',\n hover: 'hover:bg-blue-300'\n },\n border: {\n base: 'border-blue-300',\n focus: 'focus:border-blue-300',\n focusWithin: 'focus-within:border-blue-300',\n hover: 'hover:border-blue-300'\n },\n color: {\n base: 'color-blue-300',\n focus: 'focus:color-blue-300',\n focusWithin: 'focus-within:color-blue-300',\n hover: 'hover:color-blue-300'\n }\n },\n default: {\n bg: {\n base: 'bg-blue-500',\n focus: 'focus:bg-blue-500',\n focusWithin: 'focus-within:bg-blue-500',\n hover: 'hover:bg-blue-500'\n },\n border: {\n base: 'border-blue-500',\n focus: 'focus:border-blue-500',\n focusWithin: 'focus-within:border-blue-500',\n hover: 'hover:border-blue-500'\n },\n color: {\n base: 'color-blue-500',\n focus: 'focus:color-blue-500',\n focusWithin: 'focus-within:color-blue-500',\n hover: 'hover:color-blue-500'\n }\n },\n dark: {\n bg: {\n base: 'bg-blue-600',\n focus: 'focus:bg-blue-600',\n focusWithin: 'focus-within:bg-blue-600',\n hover: 'hover:bg-blue-600'\n },\n border: {\n base: 'border-blue-600',\n focus: 'focus:border-blue-600',\n focusWithin: 'focus-within:border-blue-600',\n hover: 'hover:border-blue-600'\n },\n color: {\n base: 'color-blue-600',\n focus: 'focus:color-blue-600',\n focusWithin: 'focus-within:color-blue-600',\n hover: 'hover:color-blue-600'\n }\n }\n} as const;\n\nconst success = {\n lightest: {\n bg: {\n base: 'bg-green-100',\n hover: 'hover:bg-green-100'\n },\n border: {\n base: 'border-green-100',\n hover: 'hover:border-green-100'\n },\n color: {\n base: 'color-green-100',\n hover: 'hover:color-green-100'\n }\n },\n light: {\n bg: {\n base: 'bg-green-200',\n hover: 'hover:bg-green-200'\n },\n border: {\n base: 'border-green-200',\n hover: 'hover:border-green-200'\n },\n color: {\n base: 'color-green-200',\n hover: 'hover:color-green-200'\n }\n },\n default: {\n bg: {\n base: 'bg-green-500',\n hover: 'hover:bg-green-500'\n },\n border: {\n base: 'border-green-500',\n hover: 'hover:border-green-500'\n },\n color: {\n base: 'color-green-500',\n hover: 'hover:color-green-500'\n }\n },\n dark: {\n bg: {\n base: 'bg-green-600',\n hover: 'hover:bg-green-600'\n },\n border: {\n base: 'border-green-600',\n hover: 'hover:border-green-600'\n },\n color: {\n base: 'color-green-600',\n hover: 'hover:color-green-600'\n }\n }\n} as const;\n\nconst error = {\n lightest: {\n bg: {\n base: 'bg-red-100',\n focus: 'focus:bg-red-100',\n focusWithin: 'focus-within:bg-red-100',\n hover: 'hover:bg-red-100'\n },\n border: {\n base: 'border-red-100',\n focus: 'focus:border-red-100',\n focusWithin: 'focus-within:border-red-100',\n hover: 'hover:border-red-100'\n },\n color: {\n base: 'color-red-100',\n focus: 'focus:color-red-100',\n focusWithin: 'focus-within:color-red-100',\n hover: 'hover:color-red-100'\n }\n },\n light: {\n bg: {\n base: 'bg-red-200',\n focus: 'focus:bg-red-200',\n focusWithin: 'focus-within:bg-red-200',\n hover: 'hover:bg-red-200'\n },\n border: {\n base: 'border-red-200',\n focus: 'focus:border-red-200',\n focusWithin: 'focus-within:border-red-200',\n hover: 'hover:border-red-200'\n },\n color: {\n base: 'color-red-200',\n focus: 'focus:color-red-200',\n focusWithin: 'focus-within:color-red-200',\n hover: 'hover:color-red-200'\n }\n },\n default: {\n bg: {\n base: 'bg-red-400',\n focus: 'focus:bg-red-400',\n focusWithin: 'focus-within:bg-red-400',\n hover: 'hover:bg-red-400'\n },\n border: {\n base: 'border-red-400',\n focus: 'focus:border-red-400',\n focusWithin: 'focus-within:border-red-400',\n hover: 'hover:border-red-400'\n },\n color: {\n base: 'color-red-400',\n focus: 'focus:color-red-400',\n focusWithin: 'focus-within:color-red-400',\n hover: 'hover:color-red-400'\n }\n },\n dark: {\n bg: {\n base: 'bg-red-600',\n focus: 'focus:bg-red-600',\n focusWithin: 'focus-within:bg-red-600',\n hover: 'hover:bg-red-600'\n },\n border: {\n base: 'border-red-600',\n focus: 'focus:border-red-600',\n focusWithin: 'focus-within:border-red-600',\n hover: 'hover:border-red-600'\n },\n color: {\n base: 'color-red-600',\n focus: 'focus:color-red-600',\n focusWithin: 'focus-within:color-red-600',\n hover: 'hover:color-red-600'\n }\n }\n} as const;\n\nexport default {\n brand,\n text,\n background,\n border,\n accent,\n success,\n error\n};\n","const text = {\n lightest: {\n base: 'color-gray-100',\n hover: 'hover:color-gray-100'\n },\n light: {\n base: 'color-gray-200',\n hover: 'hover:color-gray-200'\n },\n medium: {\n base: 'color-gray-300',\n hover: 'hover:color-gray-300'\n },\n dark: {\n base: 'color-gray-500',\n hover: 'hover:color-gray-500'\n },\n darkest: {\n base: 'color-gray-700',\n hover: 'hover:color-gray-700'\n }\n} as const;\n\nconst background = {\n lightest: {\n base: 'bg-gray-400',\n hover: 'hover:bg-gray-400'\n },\n light: {\n base: 'bg-gray-500',\n hover: 'hover:bg-gray-500'\n },\n medium: {\n base: 'bg-gray-600',\n hover: 'hover:bg-gray-600'\n },\n dark: {\n base: 'bg-gray-700',\n hover: 'hover:bg-gray-700'\n },\n darkest: {\n base: 'bg-gray-800',\n hover: 'hover:bg-gray-800'\n }\n} as const;\n\nconst border = {\n light: {\n base: 'border-gray-200',\n hover: 'hover:border-gray-200'\n },\n medium: {\n base: 'border-gray-500',\n hover: 'hover:border-gray-500'\n },\n dark: {\n base: 'border-gray-700',\n hover: 'hover:border-gray-700'\n }\n} as const;\n\nexport default {\n text,\n background,\n border\n};\n","import { cva } from 'class-variance-authority';\nimport { primary, secondary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport {\n ButtonIconProps, ButtonIndicatorProps, ButtonProps, ButtonTextProps\n} from './button.types';\n\n// CVA Types\ntype ButtonHelperTypes = {\n hasLoaderText?: boolean,\n hasDoubleIcon?: boolean,\n hasOneIcon?: boolean,\n hasChildren?: boolean\n}\n\ntype ButtonCVAType = CVAType<Pick<ButtonProps, 'size' | 'rounded' | 'fullWidth' | 'variant' | 'showTextOnHover' | 'loader' | 'disabled' | 'colorStyle' | 'showTextOnly' | 'theme'> & ButtonHelperTypes>\ntype ButtonTextCVAType = CVAType<ButtonTextProps>\ntype ButtonIconCVAType = CVAType<Omit<ButtonIconProps, 'icon'>>\ntype ButtonIndicatorCVAType = CVAType<Pick<ButtonIndicatorProps, 'loader' | 'colorStyle'>>;\n\nconst buttonDefaultClassName = 'magnet-button inline-flex shrink-0 justify-center items-center font-medium duration-300 outline-2 outline-transparent outline-offset-0 focus:outline-opacity-50';\n\n// Classes\nexport const buttonCVA = cva<ButtonCVAType>(buttonDefaultClassName, {\n variants: {\n size: {\n small: 'h-8 px-2',\n medium: 'h-10 px-2.5',\n large: 'h-12 px-3'\n },\n rounded: {\n true: 'radius-full',\n false: 'radius'\n },\n fullWidth: {\n true: 'w-full'\n },\n variant: {\n ghost: 'border-0',\n filled: 'border-0',\n outline: 'border'\n },\n showTextOnHover: {\n true: 'group'\n },\n loader: {\n true: 'pointer-events-none'\n },\n disabled: {\n true: 'cursor-not-allowed opacity-40',\n false: 'cursor-pointer'\n },\n colorStyle: {},\n showTextOnly: {},\n hasLoaderText: {},\n hasDoubleIcon: {},\n hasOneIcon: {},\n hasChildren: {},\n theme: {}\n },\n compoundVariants: [\n /*\n Added `width` class for only outlined icon buttons depending by size because of border width\n */\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'small',\n className: 'w-8'\n },\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'medium',\n className: 'w-10'\n },\n {\n variant: 'outline',\n hasChildren: false,\n hasOneIcon: true,\n size: 'large',\n className: 'w-12'\n },\n /*\n Added `width` class for only outlined icon buttons depending by size and showTextOnly breakpoints because of border width\n */\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'small',\n className: 'w-8 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'small',\n className: 'w-8 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'small',\n className: 'w-8 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'small',\n className: 'w-8 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'small',\n className: 'w-8 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'small',\n className: 'w-8 xxl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'medium',\n className: 'w-10 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'medium',\n className: 'w-10 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'medium',\n className: 'w-10 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'medium',\n className: 'w-10 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'medium',\n className: 'w-10 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'medium',\n className: 'w-10 xxl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xs',\n size: 'large',\n className: 'w-12 xs:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'sm',\n size: 'large',\n className: 'w-12 sm:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'md',\n size: 'large',\n className: 'w-12 md:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'lg',\n size: 'large',\n className: 'w-12 lg:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xl',\n size: 'large',\n className: 'w-12 xl:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnly: 'xxl',\n size: 'large',\n className: 'w-12 xxl:w-auto'\n },\n /*\n Added `width` class for only outlined icon buttons depending by size and showTextOnHover because of border width\n */\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'small',\n className: 'w-8 hover:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'medium',\n className: 'w-10 hover:w-auto'\n },\n {\n variant: 'outline',\n hasOneIcon: true,\n showTextOnHover: true,\n size: 'large',\n className: 'w-12 hover:w-auto'\n },\n /*\n Added `relative` class to wrapping the loader overlay element\n */\n {\n loader: true,\n hasLoaderText: false,\n className: 'relative'\n },\n /*\n Added `bg-transparent` class for `ghost` and `outline` variants\n because they don't have a background in the static state\n */\n {\n variant: ['ghost', 'outline'],\n className: 'bg-transparent'\n },\n /*\n Added `bg-white` for those with\n `filled` variant\n \"darker\" colorStyle\n */\n {\n variant: 'filled',\n colorStyle: [\n 'primary', 'success', 'error', 'neutral',\n 'analytics', 'pages', 'teams', 'sign', 'pdf', 'apps',\n 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals'\n ],\n className: 'color-white'\n },\n /*\n Added core classes for those with\n `filled` variant\n `primary` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'primary',\n className: primary.accent.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'primary',\n disabled: false,\n className: primary.accent.dark.bg.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `secondary` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'secondary',\n className: [\n primary.background.light.base,\n primary.text.dark.base\n ]\n },\n {\n variant: 'filled',\n colorStyle: 'secondary',\n disabled: false,\n className: primary.background.medium.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `success` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'success',\n className: primary.success.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'success',\n disabled: false,\n className: primary.success.dark.bg.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `error` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'error',\n className: primary.error.default.bg.base\n },\n {\n variant: 'filled',\n colorStyle: 'error',\n disabled: false,\n className: primary.error.dark.bg.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `neutral` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'neutral',\n className: secondary.background.medium.base\n },\n {\n variant: 'filled',\n colorStyle: 'neutral',\n disabled: false,\n className: secondary.background.dark.hover\n },\n /*\n Added core classes for those with\n `filled` variant\n `analytics` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'analytics',\n className: 'bg-analytics-default'\n },\n {\n variant: 'filled',\n colorStyle: 'analytics',\n disabled: false,\n className: 'hover:bg-analytics-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `pages` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'pages',\n className: 'bg-pages-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pages',\n disabled: false,\n className: 'hover:bg-pages-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `teams` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'teams',\n className: 'bg-teams-default'\n },\n {\n variant: 'filled',\n colorStyle: 'teams',\n disabled: false,\n className: 'hover:bg-teams-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `sign` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'sign',\n className: 'bg-sign-default'\n },\n {\n variant: 'filled',\n colorStyle: 'sign',\n disabled: false,\n className: 'hover:bg-sign-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `pdf` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'pdf',\n className: 'bg-pdf-default'\n },\n {\n variant: 'filled',\n colorStyle: 'pdf',\n disabled: false,\n className: 'hover:bg-pdf-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `apps` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'apps',\n className: 'bg-apps-default'\n },\n {\n variant: 'filled',\n colorStyle: 'apps',\n disabled: false,\n className: 'bg-apps-default hover:bg-apps-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `reports` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'reports',\n className: 'bg-reports-default'\n },\n {\n variant: 'filled',\n colorStyle: 'reports',\n disabled: false,\n className: 'hover:bg-reports-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `forms` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'forms',\n className: 'bg-forms-default'\n },\n {\n variant: 'filled',\n colorStyle: 'forms',\n disabled: false,\n className: 'hover:bg-forms-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `tables` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'tables',\n className: 'bg-tables-default'\n },\n {\n variant: 'filled',\n colorStyle: 'tables',\n disabled: false,\n className: 'hover:bg-tables-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `approvals` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'approvals',\n className: 'bg-approvals-default'\n },\n {\n variant: 'filled',\n colorStyle: 'approvals',\n disabled: false,\n className: 'hover:bg-approvals-dark'\n },\n /*\n Added core classes for those with\n `filled` variant\n `inbox` colorStyle\n */\n {\n variant: 'filled',\n colorStyle: 'inbox',\n className: 'bg-inbox-default'\n },\n {\n variant: 'filled',\n colorStyle: 'inbox',\n disabled: false,\n className: 'hover:bg-inbox-dark'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `primary` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'primary',\n theme: 'light',\n className: primary.accent.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'primary',\n theme: 'dark',\n className: 'border-blue-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `secondary` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'secondary',\n theme: 'light',\n className: primary.border.medium.base\n },\n {\n variant: 'outline',\n colorStyle: 'secondary',\n theme: 'dark',\n className: 'border-gray-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `neutral` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'neutral',\n theme: 'light',\n className: 'border-gray-600'\n },\n {\n variant: 'outline',\n colorStyle: 'neutral',\n theme: 'dark',\n className: 'border-white'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `success` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'success',\n theme: 'light',\n className: primary.success.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'success',\n theme: 'dark',\n className: 'border-green-300'\n },\n /*\n Added border-color class for those with\n `outline` variant\n `error` colorStyle\n */\n {\n variant: 'outline',\n colorStyle: 'error',\n theme: 'light',\n className: primary.error.default.border.base\n },\n {\n variant: 'outline',\n colorStyle: 'error',\n theme: 'dark',\n className: 'border-red-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `primary` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n theme: 'light',\n className: primary.accent.default.color.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n theme: 'dark',\n className: 'color-blue-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `primary` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'primary',\n disabled: false,\n theme: 'light',\n className: primary.accent.lightest.bg.hover\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['primary', 'secondary', 'success', 'error', 'neutral'],\n disabled: false,\n theme: 'dark',\n className: 'hover:bg-gray-700'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `secondary` or `neutral` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n theme: 'light',\n class: primary.text.dark.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n theme: 'dark',\n class: 'color-white'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `secondary` or `neutral` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: ['secondary', 'neutral'],\n disabled: false,\n theme: 'light',\n className: primary.background.lightest.hover\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `success` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'success',\n disabled: false,\n theme: 'light',\n className: [primary.success.dark.color.base, primary.success.lightest.bg.hover]\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'success',\n disabled: false,\n theme: 'dark',\n className: 'color-green-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `error` colorStyle\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n theme: 'light',\n className: primary.error.default.color.base\n },\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n theme: 'dark',\n className: 'color-red-300'\n },\n /*\n Added color and background-hover classes for those with\n `ghost` or `outline` variant\n `error` colorStyle\n `disabled` false\n */\n {\n variant: ['ghost', 'outline'],\n colorStyle: 'error',\n disabled: false,\n theme: 'light',\n className: primary.error.lightest.bg.hover\n },\n /*\n Added `focus:outline` classes for those with\n `primary` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'primary',\n disabled: false,\n className: 'focus:outline-blue-200'\n },\n /*\n Added `focus:outline` classes for those with\n `secondary` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'secondary',\n disabled: false,\n className: 'focus:outline-navy-50'\n },\n /*\n Added `focus:outline` classes for those with\n `success` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'success',\n disabled: false,\n className: 'focus:outline-green-300'\n },\n /*\n Added `focus:outline` classes for those with\n `error` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'error',\n disabled: false,\n className: 'focus:outline-red-300'\n },\n /*\n Added `focus:outline` classes for those with\n `neutral` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'neutral',\n disabled: false,\n className: 'focus:outline-gray-300'\n },\n /*\n Added `focus:outline` classes for those with\n `analytics` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'analytics',\n disabled: false,\n className: 'focus:outline-analytics-light'\n },\n /*\n Added `focus:outline` classes for those with\n `pages` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'pages',\n disabled: false,\n className: 'focus:outline-pages-light'\n },\n /*\n Added `focus:outline` classes for those with\n `teams` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'teams',\n disabled: false,\n className: 'focus:outline-teams-light'\n },\n /*\n Added `focus:outline` classes for those with\n `sign` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'sign',\n disabled: false,\n className: 'focus:outline-sign-light'\n },\n /*\n Added `focus:outline` classes for those with\n `pdf` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'pdf',\n disabled: false,\n className: 'focus:outline-pdf-light'\n },\n /*\n Added `focus:outline` classes for those with\n `apps` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'apps',\n disabled: false,\n className: 'focus:outline-apps-light'\n },\n /*\n Added `focus:outline` classes for those with\n `reports` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'reports',\n disabled: false,\n className: 'focus:outline-reports-light'\n },\n /*\n Added `focus:outline` classes for those with\n `forms` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'forms',\n disabled: false,\n className: 'focus:outline-forms-light'\n },\n /*\n Added `focus:outline` classes for those with\n `tables` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'tables',\n disabled: false,\n className: 'focus:outline-tables-light'\n },\n /*\n Added `focus:outline` classes for those with\n `inbox` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'inbox',\n disabled: false,\n className: 'focus:outline-inbox-light'\n },\n /*\n Added `focus:outline` classes for those with\n `approvals` colorStyle\n `disabled` false\n */\n {\n colorStyle: 'approvals',\n disabled: false,\n className: 'focus:outline-approvals-light'\n },\n // Icon gaps\n // XS\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'small',\n hasChildren: true,\n className: 'gap-1 xs:gap-0'\n },\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'medium',\n hasChildren: true,\n className: 'gap-2 xs:gap-0'\n },\n {\n showTextOnly: 'xs',\n hasDoubleIcon: true,\n size: 'large',\n hasChildren: true,\n className: 'gap-3 xs:gap-0'\n },\n // SM\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'small',\n hasChildren: true,\n className: 'gap-1 sm:gap-0'\n },\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'medium',\n hasChildren: true,\n className: 'gap-2 sm:gap-0'\n },\n {\n showTextOnly: 'sm',\n hasDoubleIcon: true,\n size: 'large',\n hasChildren: true,\n className: 'gap-3 sm:gap-0'\n },\n // MD\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 md:gap-0'\n },\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 md:gap-0'\n },\n {\n showTextOnly: 'md',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 md:gap-0'\n },\n // LG\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 lg:gap-0'\n },\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 lg:gap-0'\n },\n {\n showTextOnly: 'lg',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 lg:gap-0'\n },\n // XL\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 xl:gap-0'\n },\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 xl:gap-0'\n },\n {\n showTextOnly: 'xl',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 xl:gap-0'\n },\n // XXL\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'small',\n className: 'gap-1 xxl:gap-0'\n },\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'medium',\n className: 'gap-2 xxl:gap-0'\n },\n {\n showTextOnly: 'xxl',\n hasDoubleIcon: true,\n size: 'large',\n className: 'gap-3 xxl:gap-0'\n },\n {\n size: 'small',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-1'\n },\n {\n size: 'medium',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-2'\n },\n {\n size: 'large',\n hasOneIcon: false,\n hasDoubleIcon: true,\n hasChildren: false,\n className: 'gap-3'\n }\n ]\n});\n\nexport const buttonTextCVA = cva<ButtonTextCVAType>('', {\n variants: {\n size: {\n small: 'px-1 text-sm',\n medium: 'px-2 text-sm',\n large: 'px-3 text-lg'\n },\n showTextOnHover: {\n true: 'hiddenjf group-hover:block whitespace-nowrap'\n },\n showTextOnly: {\n xs: 'xs:inline',\n sm: 'sm:inline',\n md: 'md:inline',\n lg: 'lg:inline',\n xl: 'xl:inline',\n xxl: 'xxl:inline'\n },\n loader: {},\n hasLoaderText: {},\n hasChildren: {}\n },\n compoundVariants: [\n {\n showTextOnly: ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'],\n className: 'hiddenjf'\n },\n {\n loader: true,\n hasLoaderText: false,\n hasChildren: true,\n className: 'opacity-0'\n }\n ]\n});\n\nexport const buttonIconCVA = cva<ButtonIconCVAType>('magnet-button-icon shrink-0', {\n variants: {\n size: {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n },\n loader: {},\n hasLoaderText: {}\n },\n compoundVariants: [\n {\n loader: true,\n hasLoaderText: false,\n className: 'opacity-0'\n },\n {\n loader: true,\n hasLoaderText: true,\n className: 'hiddenjf'\n }\n ]\n});\n\nexport const buttonIndicatorCVA = cva<ButtonIndicatorCVAType>('shrink-0', {\n variants: {\n loader: {},\n colorStyle: {}\n },\n compoundVariants: [\n {\n colorStyle: undefined,\n className: 'color-navy-300'\n },\n {\n loader: true,\n className: 'opacity-0'\n }\n ]\n});\n","import { ComponentPropsWithoutRef, ElementType, ReactElement } from 'react';\nimport { PolymorphicProps } from '../../types/system.types';\nimport {\n Breakpoint, ColorStyle, Icon, ProductName, Size\n} from '../../constants/common.types';\n\nexport type AcceptableButtonTypes = 'button' | 'a';\n\nexport const defaultButtonType:AcceptableButtonTypes = 'button';\n\nexport type ButtonProps = {\n endIcon?: Icon,\n href?: string\n loaderText?: string,\n indicatorText?: string\n startIcon?: Icon,\n type?: 'submit' | 'button' | 'reset',\n colorStyle?: ColorStyle | ProductName | 'secondary' | 'neutral',\n disabled?: boolean,\n fullWidth?: boolean,\n loader?: boolean,\n rounded?: boolean,\n showTextOnHover?: boolean,\n showTextOnly?: Breakpoint | null,\n size?: Size,\n theme?: 'dark' | 'light',\n variant?: 'filled' | 'outline' | 'ghost'\n}\n\nexport type ButtonTextProps = Pick<ButtonProps, 'size' | 'loader' | 'showTextOnHover' | 'showTextOnly'> & {\n hasLoaderText?: boolean,\n hasChildren?: boolean\n}\n\nexport type ButtonIconProps = Pick<ButtonProps, 'size' | 'loader'> & {\n icon: ElementType,\n hasLoaderText?: boolean\n}\n\nexport type ButtonIndicatorProps = Pick<ButtonProps, 'indicatorText' | 'variant' | 'size' | 'loader' | 'colorStyle'>\n\nexport type ButtonComponentType = <Element extends ElementType>(\n props: PolymorphicProps<Element extends AcceptableButtonTypes ? Element : typeof defaultButtonType, ButtonProps> & { ref?: ComponentPropsWithoutRef<Element>['ref'] }\n) => ReactElement | null\n\nexport const buttonDefaultProps:Partial<ButtonProps> = {\n colorStyle: 'primary',\n disabled: false,\n fullWidth: false,\n loader: false,\n rounded: false,\n showTextOnHover: false,\n showTextOnly: null,\n size: 'medium',\n theme: 'light',\n type: 'button',\n variant: 'filled'\n};\n","import { cva } from 'class-variance-authority';\nimport { primary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport { IndicatorProps } from './indicator.types';\n\n// // CVA Types\ntype IndicatorCVAType = CVAType<Pick<IndicatorProps, 'size' | 'colorStyle' | 'invert'> & { hasChildren?: boolean }>\n\n// Classes\nexport const indicatorCVA = cva<IndicatorCVAType>(\n 'magnet-pill inline-flex radius-full', {\n variants: {\n size: {},\n colorStyle: {},\n hasChildren: {\n true: 'justify-center items-center font-bold'\n },\n invert: {\n true: 'bg-white'\n }\n },\n compoundVariants: [\n /*\n Added width & height classes for sizes if component has children\n */\n {\n hasChildren: false,\n size: 'small',\n class: 'w-2 h-2'\n },\n {\n hasChildren: false,\n size: 'medium',\n class: 'w-2.5 h-2.5'\n },\n {\n hasChildren: false,\n size: 'large',\n class: 'w-3 h-3'\n },\n /*\n Added width, height, padding, text classes for sizes if component has no children\n */\n {\n hasChildren: true,\n size: 'small',\n class: 'min-w-4 h-4 px-1 text-xxs'\n },\n {\n hasChildren: true,\n size: 'medium',\n class: 'min-w-5 h-5 px-1.5 text-xs'\n },\n {\n hasChildren: true,\n size: 'large',\n class: 'min-w-6 h-6 px-2 text-sm'\n },\n /*\n Added color classes for all colorStyles for those with\n `invert` false & `hasChildren` true\n */\n {\n colorStyle: ['primary', 'success', 'error'],\n invert: false,\n hasChildren: true,\n class: 'color-white'\n },\n {\n colorStyle: 'secondary',\n hasChildren: true,\n class: primary.text.darkest.base\n },\n /*\n Added bg classes for each colorStyles for those with\n `current` false\n */\n {\n colorStyle: 'primary',\n invert: false,\n class: primary.accent.default.bg.base\n },\n {\n colorStyle: 'secondary',\n invert: false,\n class: primary.background.light.base\n },\n {\n colorStyle: 'success',\n invert: false,\n class: primary.success.default.bg.base\n },\n {\n colorStyle: 'error',\n invert: false,\n class: primary.error.default.bg.base\n },\n /*\n Added color classes for each colorStyles for those with\n `invert` true (mostly for usage with button)\n */\n {\n colorStyle: 'primary',\n invert: true,\n class: primary.accent.default.color.base\n },\n {\n colorStyle: 'secondary',\n invert: true,\n class: primary.text.dark.base\n },\n {\n colorStyle: 'success',\n invert: true,\n class: primary.success.default.color.base\n },\n {\n colorStyle: 'error',\n invert: true,\n class: primary.error.default.color.base\n }\n ]\n }\n);\n","import React from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\n// eslint-disable-next-line no-restricted-imports\nimport '@jotforminc/jotform.css/animation.css';\n\nimport { indicatorCVA } from './indicator.cva';\nimport { IndicatorProps, indicatorDefaultProps } from './indicator.types';\n\nexport const Indicator = (props: IndicatorProps):JSX.Element => {\n const {\n className, children, colorStyle, invert, size, ...rest\n } = props;\n\n const hasChildren = !!children;\n\n const indicatorClassName = cx(className, indicatorCVA({\n colorStyle,\n hasChildren,\n invert,\n size\n }));\n\n return (\n <span className={indicatorClassName} {...rest}>\n {children}\n </span>\n );\n};\n\nIndicator.defaultProps = indicatorDefaultProps;\n","import { ComponentPropsWithoutRef } from 'react';\nimport { ColorStyle, Size } from '../../constants/common.types';\n\nexport type IndicatorProps = ComponentPropsWithoutRef<'span'> & {\n size?: Size,\n colorStyle?: ColorStyle | 'secondary',\n invert?: boolean\n}\n\nexport const indicatorDefaultProps:Partial<IndicatorProps> = {\n invert: false,\n size: 'medium',\n colorStyle: 'primary'\n};\n","import React, { PropsWithChildren } from 'react';\nimport { cx } from 'class-variance-authority';\nimport { Indicator } from '../Indicator';\nimport { ButtonTextProps, ButtonIconProps, ButtonIndicatorProps } from './button.types';\nimport { buttonTextCVA, buttonIconCVA, buttonIndicatorCVA } from './button.cva';\n\nexport const ButtonText = (props: PropsWithChildren<ButtonTextProps>): JSX.Element => {\n const {\n size, showTextOnHover, showTextOnly, loader, hasLoaderText, hasChildren, children\n } = props;\n\n return (\n <span className={cx(buttonTextCVA({\n size, showTextOnHover, showTextOnly, loader, hasLoaderText, hasChildren\n }))}\n >\n {children}\n </span>\n );\n};\n\nexport const ButtonIcon = (props: ButtonIconProps): JSX.Element => {\n const {\n size, hasLoaderText, loader, icon: Icon\n } = props;\n\n return <Icon className={cx(buttonIconCVA({ size, hasLoaderText, loader }))} />;\n};\n\nexport const ButtonIndicator = (props: ButtonIndicatorProps): JSX.Element => {\n const {\n size, loader, indicatorText, colorStyle, variant\n } = props;\n\n // If color style is not `primary`, `success`, `error`, pill's color always should be `null`\n const indicatorColorStyle = (colorStyle === 'primary' || colorStyle === 'success' || colorStyle === 'error' || colorStyle === 'secondary') ? colorStyle : undefined;\n\n const indicatorVariant = variant === 'filled';\n\n return (\n <Indicator\n colorStyle={indicatorColorStyle}\n invert={indicatorVariant}\n className={cx(buttonIndicatorCVA({\n colorStyle,\n loader\n }))}\n size={size}\n >\n {indicatorText}\n </Indicator>\n );\n};\n","import { cva } from 'class-variance-authority';\nimport { primary } from '../../tokens/colors';\nimport { CVAType } from '../../types/system.types';\nimport { LoaderProps } from './loader.types';\n\n// CVA Types\ntype LoaderCVAType = CVAType<Pick<LoaderProps, 'size' | 'theme'>>;\ntype LoaderElementsCVAType = CVAType<Pick<LoaderProps, 'theme'>>;\n\n// Classes\nexport const loaderCVA = cva<LoaderCVAType>(\n 'magnet-loader relative', {\n variants: {\n size: {\n small: 'w-4 h-4',\n medium: 'w-5 h-5',\n large: 'w-6 h-6'\n },\n theme: {}\n }\n }\n);\n\nexport const loaderTrackCVA = cva<LoaderElementsCVAType>('opacity-20 absolute inset-px radius-full border-2', {\n variants: {\n theme: {\n current: 'border-current',\n dark: primary.border.darkest.base,\n light: 'border-white'\n }\n }\n});\n\nexport const loaderSpinnerCVA = cva<LoaderElementsCVAType>(\n 'absolute inset-px radius-full border-2 border-t-transparent border-b-transparent border-l-transparent anim anim-700 spin-loader timing-linear', {\n variants: {\n theme: {\n current: 'border-r-current',\n dark: 'border-r-navy-700',\n light: 'border-r-white'\n }\n }\n }\n);\n","import { ComponentPropsWithoutRef } from 'react';\nimport { Size, Theme } from '../../constants/common.types';\n\nexport type LoaderProps = ComponentPropsWithoutRef<'div'> & {\n size?: Size,\n theme?: Theme | 'current'\n}\n\nexport const loaderDefaultProps:Partial<LoaderProps> = {\n size: 'medium',\n theme: 'current'\n};\n","import React from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\n// eslint-disable-next-line no-restricted-imports\nimport '@jotforminc/jotform.css/animation.css';\n\nimport { loaderCVA, loaderSpinnerCVA, loaderTrackCVA } from './loader.cva';\nimport { LoaderProps, loaderDefaultProps } from './loader.types';\n\nexport const Loader = (props: LoaderProps):JSX.Element => {\n const {\n className, size, theme, ...rest\n } = { ...loaderDefaultProps, ...props };\n\n const loaderClassName = cx(className, loaderCVA({\n size,\n theme\n }));\n\n return (\n <div className={loaderClassName} {...rest}>\n <span className={loaderSpinnerCVA({ theme })} />\n <div className={loaderTrackCVA({ theme })} />\n </div>\n );\n};\n","// Radio & Checkbox & ChoiceLabel\nexport const CHOICE_TRUNCATE_VALUES = ['both', 'description', 'label'] as const;\n\nexport const THEME_VALUES = ['dark', 'light'] as const;\nexport const SIZE_VALUES = ['small', 'medium', 'large'] as const;\nexport const BREAKPOINT_VALUES = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'] as const;\nexport const PRODUCT_NAME_VALUES = ['teams', 'pdf', 'apps', 'reports', 'forms', 'sign', 'tables', 'inbox', 'approvals', 'analytics', 'pages'] as const;\nexport const RESPONSIVE_BREAKPOINT_VALUES = ['base', ...BREAKPOINT_VALUES] as const;\nexport const COLOR_STYLE_VALUES = ['primary', 'success', 'error'] as const;\n\n// Form Controls\nexport const FORM_CONTROL_COLOR_STYLE_VALUES = ['default', 'primary', 'success', 'warning', 'error'] as const;\nexport const BASE_INPUT_ADDON_DIRECTION_VALUES = ['start', 'end'] as const;\nexport const BASE_INPUT_ADDON_VARIANT_VALUES = ['filled', 'ghost'] as const;\n\n// Flex & Grid\nexport const JUSTIFY_CONTENT_VALUES = ['start', 'end', 'center', 'between', 'around', 'evenly'] as const;\nexport const ALIGN_ITEMS_VALUES = ['start', 'end', 'center', 'stretch', 'baseline'] as const;\nexport const FLEX_DIRECTION_VALUES = ['row', 'column', 'row-reverse', 'column-reverse'] as const;\nexport const FLEX_WRAP_VALUES = ['wrap', 'nowrap'] as const;\nexport const FLEX_GROW_VALUES = ['0', '1'] as const;\nexport const FLEX_SHRINK_VALUES = ['0', '1'] as const;\nexport const ORDER_VALUES = ['none', 'first', 'last'] as const;\nexport const ALIGN_SELF_VALUES = ['auto', 'center', 'start', 'end', 'stretch', 'baseline'] as const;\nexport const JUSTIFY_SELF_VALUES = ['auto', 'center', 'start', 'end', 'stretch'] as const;\n\nexport const GRID_TRACK_VALUES = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;\nexport const GRID_TEMPLATE_COLUMNS_VALUES = ['none', ...GRID_TRACK_VALUES] as const;\nexport const GRID_ITEM_START_END_VALUES = ['auto', ...GRID_TRACK_VALUES] as const;\n","import React, { ComponentPropsWithRef, ElementType, forwardRef } from 'react';\nimport { cx } from 'class-variance-authority';\n\nimport '@jotforminc/jotform.css';\nimport { buttonCVA } from './button.cva';\nimport {\n ButtonComponentType, ButtonProps, buttonDefaultProps\n} from './button.types';\n\nimport { ButtonIcon, ButtonIndicator, ButtonText } from './ButtonContent';\nimport { Loader } from '../Loader/Loader';\n\nimport { PolymorphicProps } from '../../types/system.types';\nimport { PRODUCT_NAME_VALUES } from '../../constants/common.values';\n\nexport const Button:ButtonComponentType = forwardRef(\n // eslint-disable-next-line complexity\n <Element extends ElementType>(\n props: PolymorphicProps<Element, ButtonProps>,\n ref?: ComponentPropsWithRef<Element>['ref']\n ): JSX.Element => {\n const {\n children,\n className,\n colorStyle = buttonDefaultProps.colorStyle,\n disabled = buttonDefaultProps.disabled,\n endIcon: EndIcon,\n fullWidth = buttonDefaultProps.fullWidth,\n href,\n loader = buttonDefaultProps.loader,\n loaderText,\n indicatorText,\n rounded = buttonDefaultProps.rounded,\n showTextOnHover = buttonDefaultProps.showTextOnHover,\n size = buttonDefaultProps.size,\n startIcon: StartIcon,\n showTextOnly = buttonDefaultProps.showTextOnly,\n theme = buttonDefaultProps.theme,\n type = buttonDefaultProps.type,\n variant = buttonDefaultProps.variant,\n as: Component = href ? 'a' : 'button',\n ...rest\n } = props;\n\n const hasOneIcon = !!((StartIcon && !EndIcon) || (!StartIcon && EndIcon));\n const hasDoubleIcon = !!(StartIcon && EndIcon);\n const hasIndicator = !!indicatorText;\n\n const hasChildren = !!children;\n const hasLoaderText = !!loaderText;\n const isProductButton = colorStyle ? (PRODUCT_NAME_VALUES as ReadonlyArray<string>).includes(colorStyle) : false;\n\n // If color style is a product color, its variant always should be `filled`\n const buttonVariant = isProductButton ? 'filled' : variant;\n\n // The `loader` state should work only if it is not `disabled`.\n const buttonLoader = !disabled ? loader : false;\n\n // Update button text according the loader state\n const buttonText = hasLoaderText && buttonLoader ? loaderText : children;\n\n // Check button text\n const hasText = hasChildren || (hasLoaderText && buttonLoader);\n\n // Button class list\n const buttonClassName = cx(className, buttonCVA({\n size,\n colorStyle,\n variant: buttonVariant,\n fullWidth,\n loader: buttonLoader,\n disabled,\n rounded,\n showTextOnHover,\n showTextOnly,\n hasLoaderText,\n hasDoubleIcon,\n hasOneIcon,\n hasChildren,\n theme\n }));\n\n // Loader content\n const loaderComponent = <Loader className='shrink-0' size={size} />;\n const loaderContent = hasLoaderText ? loaderComponent : <span className=\"absolute inset-0 flex justify-center items-center p-1 z-1\">{loaderComponent}</span>;\n\n // Button content\n const buttonContent = (\n <>\n {StartIcon && (\n <ButtonIcon\n icon={StartIcon}\n size={size}\n hasLoaderText={hasLoaderText}\n loader={buttonLoader}\n />\n )}\n {buttonLoader && loaderContent}\n {hasText && (\n <ButtonText\n showTextOnHover={showTextOnHover}\n size={size}\n loader={buttonLoader}\n showTextOnly={showTextOnly}\n hasLoaderText={hasLoaderText}\n hasChildren={hasChildren}\n >\n {buttonText}\n </ButtonText>\n )}\n {hasIndicator && !hasLoaderText && (\n <ButtonIndicator\n colorStyle={colorStyle}\n size={size}\n loader={buttonLoader}\n indicatorText={indicatorText}\n variant={buttonVariant}\n />\n )}\n {EndIcon && !hasIndicator && (\n <ButtonIcon\n icon={EndIcon}\n size={size}\n hasLoaderText={hasLoaderText}\n loader={buttonLoader}\n />\n )}\n </>\n );\n\n return (\n <Component\n {...rest}\n href={href || undefined}\n type={!href && type ? type : undefined}\n disabled={disabled}\n className={buttonClassName}\n ref={ref}\n >\n {buttonContent}\n </Component>\n );\n }\n);\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { marginAlign, pxToRem } from '../../utils/style-utils';\n\nconst ScTrioButtons = styled.section`\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n max-width: 23.25rem;\n text-align: center;\n width: auto;\n padding: 1.5rem;\n border-radius: .625rem;\n background-color: #fff;\n border: 1px solid #c8ceed;\n box-sizing: border-box;\n box-shadow: 0 3px 0 #d2dbf2;\n margin-block: ${pxToRem(30)};\n ${props => (marginAlign(props.textAlign))};\n\n html[dir=\"rtl\"] & {\n margin-left: auto;\n margin-right: 0;\n }\n &.transparent {\n background-color: transparent;\n box-shadow: none;\n padding: 0;\n border: 0;\n max-width: 19.375rem;\n }\n .signup-loading {\n display: none;\n }\n .jflb--sec.text-center & {\n margin-left: auto;\n margin-right: auto;\n }\n .jflb--sec.text-right & {\n margin-right: 0;\n html[dir=\"rtl\"] & {\n margin-right: auto;\n margin-left: 0;\n }\n }\n .trioButton {\n box-sizing: border-box;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n width: 100%;\n max-width: unset;\n text-decoration: none;\n border: 0;\n padding: 1rem;\n background-color: #0070f3;\n font-weight: 500;\n transition: 0.2s;\n color: #fff;\n border-radius: 7px;\n font-size: 1.125rem;\n\n &:active {\n background-color: #2365E3;\n transform: translateY(2);\n }\n\n &:hover {\n background-color: #2365E3;\n }\n\n span {\n box-sizing: border-box;\n width: 100%;\n text-align: center;\n padding-left: 2.625rem;\n padding-right: 2.625rem;\n }\n > svg {\n width: 1.875rem;\n height: 1.875rem;\n position: absolute;\n left: .9375rem;\n top: .625rem;\n html[dir=\"rtl\"] & {\n left: auto;\n right: .9375rem;\n }\n }\n @media screen and (max-width: 550px) {\n > svg {\n width: 2rem;\n height: 2rem;\n }\n }\n }\n .trioButton.signupCta {\n background-color: #ff6100;\n color: #fff;\n\n &:active {\n background-color: #EE5B00;\n }\n\n &:hover {\n background-color: #EE5B00;\n }\n }\n .trioButton.forGoogle {\n margin-bottom: 0.75rem;\n > span {\n color: #fff;\n }\n\n > * {\n pointer-events: none;\n }\n }\n .trioButton.forFacebook.facebook {\n background-color: #4267b2;\n margin-bottom: 0.75rem;\n\n &:hover {\n background-color: #2E55A5;\n }\n > * {\n pointer-events: none;\n }\n }\n .trioButton.forMicrosoft.microsoft {\n background-color: #2e2e2e;\n margin-bottom: 0.75rem;\n &:hover {\n background-color: #1a1a1a;\n }\n > * {\n pointer-events: none;\n }\n }\n .auth-or {\n margin: 0 0 0.75rem;\n position: relative;\n width: 100%;\n transition: 0.2s;\n display: flex;\n align-items: center;\n justify-content: space-evenly;\n &:before,\n &:after {\n content: \"\";\n background: #c8ceed;\n height: 1px;\n width: 100%;\n }\n span { // stylelint-disable-line\n transition: 0.2s;\n font-weight: 400;\n text-align: center;\n padding: 0 8px;\n font-size: 15px;\n color: #454E80;\n .header-browser-ie & {\n width: 100%;\n display: inline-block;\n }\n }\n }\n .bottom-free-text {\n background-color: transparent;\n border: none;\n display: block;\n margin-top: 0.75rem;\n color: #454E80;\n font-size: 14px;\n font-weight: 700;\n text-decoration: none;\n text-transform: uppercase;\n line-height: 1;\n }\n @media screen and (max-width: 768px) {\n .is-mobile-centered & {\n margin-inline: auto;\n }\n }\n @media screen and (max-width: 520px) {\n max-width: unset;\n }\n`;\n\nexport default ScTrioButtons;\n","/* eslint-disable react/prop-types */\n/* eslint-disable import/no-cycle */\n/* eslint-disable @jotforminc/no-native-button */\n/* eslint-disable max-len */\n/* eslint-disable react/button-has-type */\nimport React from 'react';\nimport { t } from '@jotforminc/translation';\nimport ScTrioButtons from '../Styles/ScTrioButtons';\n\nconst TrioButtons = ({ textAlign, slug }) => {\n return (\n <ScTrioButtons textAlign={textAlign} className='jflb--trio-signup-buttons transparent'>\n <div className=\"signup-loading\">\n <svg\n className=\"auth-section-icon\"\n width=\"38\"\n height=\"38\"\n viewBox=\"0 0 38 38\"\n xmlns=\"http://www.w3.org/2000/svg\"\n stroke=\"#f49a26\"\n >\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(1 1)\" strokeWidth=\"2\">\n <circle\n strokeOpacity=\".5\"\n cx=\"18\"\n cy=\"18\"\n r=\"18\"\n />\n <path d=\"M36 18c0-9.94-8.06-18-18-18\">\n <animateTransform\n attributeName=\"transform\"\n type=\"rotate\"\n from=\"0 18 18\"\n to=\"360 18 18\"\n dur=\"1s\"\n repeatCount=\"indefinite\"\n />\n </path>\n </g>\n </g>\n </svg>\n </div>\n <button\n className=\"trioButton forGoogle google loadafter-google\"\n data-jft=\"action-click\"\n data-jfa={`google-signup-${slug}`}\n name={`google-${slug}`}\n >\n <svg\n className=\"auth-section-icon\"\n width=\"38\"\n height=\"38\"\n viewBox=\"0 0 38 38\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"19\"\n cy=\"19\"\n r=\"19\"\n fill=\"white\"\n />\n <path\n d=\"M28.6259 19.2853C28.6259 18.4939 28.5604 17.9164 28.4186 17.3175H19.1974V20.8894H24.61C24.501 21.7771 23.9117 23.1139 22.6021 24.0122L22.5838 24.1318L25.4993 26.3452L25.7013 26.365C27.5565 24.686 28.6259 22.2155 28.6259 19.2853\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M19.1968 28.6965C21.8485 28.6965 24.0747 27.8409 25.7007 26.3651L22.6015 24.0122C21.7722 24.5791 20.659 24.9747 19.1968 24.9747C16.5996 24.9747 14.3952 23.2958 13.6095 20.975L13.4943 20.9846L10.4626 23.284L10.423 23.392C12.038 26.5361 15.3555 28.6965 19.1968 28.6965Z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M13.6101 20.9751C13.4027 20.3763 13.2827 19.7345 13.2827 19.0715C13.2827 18.4084 13.4027 17.7668 13.5991 17.1679L13.5937 17.0403L10.524 14.7041L10.4236 14.7509C9.75792 16.0557 9.37598 17.5208 9.37598 19.0715C9.37598 20.6222 9.75792 22.0873 10.4236 23.392L13.6101 20.9751\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M19.1968 13.1682C21.041 13.1682 22.2851 13.9489 22.9944 14.6013L25.7662 11.949C24.0639 10.3983 21.8486 9.44653 19.1968 9.44653C15.3555 9.44653 12.038 11.6068 10.423 14.7509L13.5986 17.1679C14.3953 14.8472 16.5996 13.1682 19.1968 13.1682\"\n fill=\"#EB4335\"\n />\n </svg>\n <span className='locale'>{t('Sign Up with Google')}</span>\n </button>\n <button\n className=\"trioButton forMicrosoft microsoft loadafter-microsoft\"\n data-jfa={`microsoft-signup-${slug}`}\n name={`microsoft-${slug}`}\n data-microsof-signup=\"microsoftSignupButton\"\n >\n <svg\n className=\"auth-section-icon\"\n width=\"36\"\n height=\"36\"\n viewBox=\"0 0 36 36\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n cx=\"17.8537\"\n cy=\"17.8633\"\n r=\"17.542\"\n fill=\"white\"\n />\n <rect\n x=\"18.6052\"\n y=\"18.6147\"\n width=\"7.51489\"\n height=\"7.51489\"\n fill=\"#FEBA08\"\n />\n <rect\n x=\"9.5874\"\n y=\"18.6147\"\n width=\"7.51489\"\n height=\"7.51489\"\n fill=\"#05A6F0\"\n />\n <rect\n x=\"18.6052\"\n y=\"9.59692\"\n width=\"7.51489\"\n height=\"7.51489\"\n fill=\"#80BC06\"\n />\n <rect\n x=\"9.5874\"\n y=\"9.59692\"\n width=\"7.51489\"\n height=\"7.51489\"\n fill=\"#F25325\"\n />\n </svg>\n <span className='locale'>{t('Sign Up with Microsoft')}</span>\n </button>\n <div className=\"auth-or\">\n <span className='locale'>{t('OR')}</span>\n </div>\n <button\n data-jft=\"action-click\"\n data-jfa={`signup-with-email-${slug}`}\n className=\"trioButton noIcon signupCta js-showModal locale\"\n onClick={() => typeof showModal === 'function' && window.showModal('s3b')}\n >\n {t('Sign Up with an email')}\n </button>\n <button\n data-jft=\"action-click\"\n data-jfa={`signup-with-email-text-${slug}`}\n className=\"js-showModal bottom-free-text locale\"\n onClick={() => typeof showModal === 'function' && window.showModal('s3b')}\n >\n {t('It\\'s free!')}\n </button>\n </ScTrioButtons>\n );\n};\n\nexport default TrioButtons;\n","export const actionGroupElementKeys = ['link', 'scroll-down'];\n\nexport const mediaGroupElementKeys = ['image', 'youtube-embed'];\n\nconst defaultYoutubeVideo = 'enHeZingNFs';\nexport const defaultSources = {\n OG_IMAGE_SOURCE: 'https://cdn.jotfor.ms/assets/img/landing/opengraph.png',\n DEFAULT_IMAGE_URL: 'https://cdn.jotfor.ms/assets/img/landing/builder/section-image.svg',\n HERO_TEXT_IMAGE_SOURCE: 'https://cdn.jotfor.ms/assets/img/landing/builder/hero-image.svg',\n DEFAULT_VIDEO_POSTER: `https://img.youtube.com/vi/${defaultYoutubeVideo}/maxresdefault.jpg`,\n DEFAULT_TEMPLATE_IMAGE: 'https://cdn.jotfor.ms/assets/img/landing/builder/template-blank.svg',\n YOUTUBE_VIDEO_IMAGE_SOURCE: 'https://cdn.jotfor.ms/assets/img/landing/builder/video-thumb.png',\n HERO_TEXT_VIDEO_IMAGE_SOURCE: 'https://cdn.jotfor.ms/assets/img/landing/builder/hero-video.svg',\n VIDEO_SOURCE: 'https://cdn.jotfor.ms/videos/landing/features/white-labeling/introduction__nb.mp4'\n};\n","import { actionGroupElementKeys, mediaGroupElementKeys, defaultSources } from '../constants';\n\nexport const filterActionGroupElements = elements => elements.filter(({ type }) => actionGroupElementKeys.includes(type));\n\nexport const isDefaultSource = source => Object.values(defaultSources).includes(source);\n\nexport const filterMediaGroupElements = (elements, filterDefaultAssets = false) => elements.filter(({ type, source }) => {\n if (filterDefaultAssets) {\n return mediaGroupElementKeys.includes(type) && !isDefaultSource(source);\n }\n return mediaGroupElementKeys.includes(type);\n});\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\n\nconst padding = props => {\n if ((props.isHeroText || props.isHeroVideo) && props.isDirectory) {\n return 'padding: 0 !important';\n }\n return '';\n};\nconst ScHero = styled.section`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n ${props => padding(props)};\n`;\n\nexport default ScHero;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport {\n string, arrayOf, object, bool\n} from 'prop-types';\nimport { Button } from '@jotforminc/magnet';\nimport TrioButtons from './TrioButtons';\nimport SubelementRenderer from '../SubelementRenderer';\nimport { filterMediaGroupElements } from '../../utils/common-landing';\nimport ScContainer from '../Styles/ScContainer';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Descripton from '../_Commons/Description';\nimport ScHero from '../Styles/ScHero';\n\n// eslint-disable-next-line complexity\nexport const Hero = elementData => {\n const {\n heading, class: sectionClass, description, isWrapped, isDirectory, slug, pageTitle,\n elements, elementKey, isFirstHero, poster, source, guestSignup, userType, ...rest\n } = elementData;\n const isHeroText = elementKey.toLowerCase() === 'hero-text';\n const isHeroVideo = elementKey.toLowerCase() === 'hero-video';\n const mediaGroupElements = filterMediaGroupElements(elements, (isHeroText || isHeroVideo));\n const linkElements = elements.filter(({ type }) => type === 'link');\n const scrollDownElement = elements.find(({ type }) => type === 'scroll-down');\n\n const { textAlign, reverse, shrink } = sectionClass || {};\n const hasMediaGroup = mediaGroupElements.length > 0;\n const useMagnetButton = false;\n\n const isGuest = userType === 'GUEST';\n const showTrioButtons = isGuest && guestSignup;\n\n const subElementProps = { slug, pageTitle };\n\n const ComponentContent = (\n <ScRow reverse={reverse} type={isHeroText || isHeroVideo ? 'column' : ''} className='is-mobile-centered'>\n <ScCol\n className=\"text--group\"\n isHeroText={isHeroText}\n isHeroVideo={isHeroVideo}\n shrink={shrink}\n textAlign={textAlign}\n hasMediaGroup={hasMediaGroup || (poster && source)}\n {...rest}\n >\n <Title\n isFirstHero={isFirstHero}\n title={heading}\n isDirectory={isDirectory}\n size={isDirectory ? 'small' : false}\n weight={isDirectory ? '700' : false}\n />\n <Descripton description={description} isDirectory={isDirectory} />\n {\n showTrioButtons ? (\n <TrioButtons\n slug={slug}\n textAlign={textAlign}\n pageTitle={pageTitle}\n />\n ) : (linkElements.length > 0) && (\n <div className=\"actions--group\">\n { linkElements.map((element, index) => <SubelementRenderer key={`link-${index}`} {...element} {...subElementProps} />) }\n </div>\n )\n }\n </ScCol>\n {\n (hasMediaGroup || (poster && source)) && (\n hasMediaGroup ? (\n <ScCol\n className=\"media--group\"\n isHeroText={isHeroText}\n isHeroVideo={isHeroVideo}\n shrink={shrink}\n hasMediaGroup={hasMediaGroup || (poster && source)}\n {...rest}\n >\n {mediaGroupElements.map((element, index) => (\n <SubelementRenderer\n disableLazyLoad={isFirstHero}\n key={`media-${index}`}\n {...element}\n {...subElementProps}\n />\n ))}\n </ScCol>\n ) : (\n <ScCol\n className=\"media--group\"\n isHeroText={isHeroText}\n isHeroVideo={isHeroVideo}\n shrink={shrink}\n hasMediaGroup={hasMediaGroup || (poster && source)}\n {...rest}\n >\n <SubelementRenderer\n type='video'\n poster={poster}\n source={source}\n />\n </ScCol>\n )\n )\n }\n </ScRow>\n );\n\n return (\n <ScHero\n className='jflb--sec'\n shrink={shrink}\n isHeroText={isHeroText}\n isHeroVideo={isHeroVideo}\n isDirectory={isDirectory}\n hasMediaGroup={hasMediaGroup || (poster && source)}\n >\n { useMagnetButton && <Button /> }\n {\n isWrapped ? ComponentContent : (\n <ScContainer className='jflb--container'>\n { ComponentContent }\n </ScContainer>\n )\n }\n {\n scrollDownElement && (\n <SubelementRenderer {...scrollDownElement} {...rest} {...subElementProps} />\n )\n }\n </ScHero>\n );\n};\n\nHero.defaultProps = {\n isWrapped: false\n};\n\nHero.propTypes = {\n isWrapped: bool,\n heading: string.isRequired,\n class: object.isRequired,\n description: string.isRequired,\n elements: arrayOf(object).isRequired\n};\n","import React from 'react';\nimport styled from 'styled-components';\nimport { string } from 'prop-types';\n\nconst ScDividerSection = styled.div`\n width: 100%;\n padding: 0;\n`;\n\nconst ScDividerContainer = styled.div`\n width: 100%;\n height: ${props => props.height}px;\n margin-top: ${props => props.spaceAbove}px;\n margin-bottom: ${props => props.spaceBelow}px;\n margin-left: ${props => props.horizontalSpace}px;\n border-bottom-color: ${props => props.lineColor};\n margin-right: ${props => props.horizontalSpace}px;\n border-bottom-style: ${props => props.dividerStyle};\n border-bottom-width: ${props => props.dividerSize}px;\n`;\n\nexport const Divider = ({\n height, lineColor, spaceAbove,\n spaceBelow, dividerSize,\n dividerStyle, horizontalSpace\n}) => {\n return (\n <ScDividerSection className=\"jflb--divider\">\n <div className=\"jflb--container\">\n <ScDividerContainer\n className=\"jflb--divider-container\"\n height={height}\n lineColor={lineColor}\n spaceAbove={spaceAbove}\n spaceBelow={spaceBelow}\n dividerSize={dividerSize}\n dividerStyle={dividerStyle}\n horizontalSpace={horizontalSpace}\n />\n </div>\n </ScDividerSection>\n\n );\n};\n\nDivider.defaultProps = {\n height: '',\n lineColor: '',\n spaceAbove: '',\n spaceBelow: '',\n dividerSize: '',\n dividerStyle: '',\n horizontalSpace: ''\n};\n\nDivider.propTypes = {\n height: string,\n lineColor: string,\n spaceAbove: string,\n spaceBelow: string,\n dividerSize: string,\n dividerStyle: string,\n horizontalSpace: string\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nexport const ScSeoGroup = styled.section`\n position: relative;\n width: 100%;\n height: 100%;\n padding: var(--pad);\n text-align: center;\n`;\n\nexport const ScSeoGroupLinks = styled.div`\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n gap: 16px;\n margin-top: ${pxToRem(26)};\n a {\n font-size: ${pxToRem(18)};\n font-weight: 400;\n color: var(--jfv-navy-700);\n padding: ${pxToRem(12)};\n border-radius: 6px;\n border: 1px solid var(--jfv-navy-700);\n transition: all 0.3s;\n &:hover {\n background-color: var(--jfv-navy-700);\n color: #fff;\n }\n }\n @media screen and (max-width: 768px) {\n a {\n font-size: ${pxToRem(16)};\n padding: ${pxToRem(8)};\n }\n }\n`;\n\nexport const ScSeoGroupShowMore = styled.button`\n position: relative;\n margin: ${pxToRem(24)} auto;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: ${pxToRem(8)};\n overflow: hidden;\n &.hidden {\n display: none;\n }\n span {\n font-size: ${pxToRem(16)};\n color: var(--jfv-navy-700);\n text-decoration: underline;\n &.js-show-less {\n display: none;\n }\n }\n &:after {\n content: \"\";\n background-image: url(\"data:image/svg+xml,%3Csvg width='9' height='6' viewBox='0 0 9 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.567345 0.872521C0.762607 0.677259 1.07919 0.677259 1.27445 0.872521L4.4209 4.01897L7.56735 0.872521C7.76261 0.677259 8.07919 0.677259 8.27445 0.872521C8.46971 1.06778 8.46971 1.38437 8.27445 1.57963L4.77445 5.07963C4.57919 5.27489 4.26261 5.27489 4.06735 5.07963L0.567345 1.57963C0.372083 1.38437 0.372083 1.06778 0.567345 0.872521Z' fill='%230A1551'/%3E%3C/svg%3E%0A\");\n background-repeat: no-repeat;\n background-position: center;\n width: 10px;\n height: 10px;\n transition: 0.3s linear;\n }\n &.active {\n span {\n &.js-show-less {\n display: inline-flex;\n }\n &.js-show-more {\n display: none;\n }\n }\n &:after {\n transform: rotate(180deg);\n }\n }\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable @jotforminc/no-native-button */\nimport React, { useRef, useEffect, useState } from 'react';\nimport { t } from '@jotforminc/translation';\nimport { ScSeoGroup, ScSeoGroupLinks, ScSeoGroupShowMore } from './Styles/ScSeoGroup';\nimport ScContainer from './Styles/ScContainer';\nimport ScCol from './Styles/ScCol';\nimport Title from './_Commons/Title';\nimport { crc32, MD5, stripHTMLTags } from '../utils';\n\nexport const SEOGroup = data => {\n const linkContentRef = useRef();\n const {\n heading, class: sectionClass = {}, elements, ...rest\n } = data;\n const [seeMoreActive, setSeeMoreActive] = useState(false);\n const [seeMoreToggle, setSeeMoreToggle] = useState(false);\n const [contentMaxHeight, setContentMaxHeight] = useState();\n\n useEffect(() => {\n const { current: linkContentEl } = linkContentRef || {};\n const gapHeight = 16;\n const boxHeight = window.innerWidth > 768 ? 46.69 : 32.09;\n const getMaxHeightLimit = () => boxHeight * 3 + gapHeight * 2;\n const maxHeightLimit = getMaxHeightLimit();\n setContentMaxHeight(maxHeightLimit);\n if (linkContentEl) {\n const { clientHeight: wrapperClientHeight } = linkContentEl;\n\n if (Math.round(wrapperClientHeight) > Math.round(maxHeightLimit)) {\n setSeeMoreToggle(false);\n setSeeMoreActive(true);\n } else {\n setSeeMoreToggle(true);\n }\n }\n }, [linkContentRef]);\n\n const linkElements = elements.filter(({ type }) => type === 'link');\n return (\n <ScSeoGroup className={`${Object.values(sectionClass).join(' ')}`}>\n <ScContainer>\n <ScCol className='full--width' {...rest}>\n <Title title={heading} />\n </ScCol>\n <ScSeoGroupLinks\n ref={linkContentRef}\n style={!seeMoreToggle ? { maxHeight: `${contentMaxHeight}px` } : {}}\n >\n { linkElements.map((element, index) => (\n <a\n title={stripHTMLTags(t(element.text))}\n key={`link-${index}`}\n href={element.source}\n data-jft='action-click'\n data-jfa={crc32(MD5(element.source))}\n aria-label={stripHTMLTags(`${t(element.title)} - ${t(element.text)}`)}\n onClick={() => window.track(crc32(MD5(element.source)), 'action-click')}\n className='locale'\n >\n {t(element.text)}\n </a>\n )) }\n </ScSeoGroupLinks>\n <ScSeoGroupShowMore\n className={`${seeMoreActive ? '' : ' hidden'} ${seeMoreToggle ? 'active' : ''}`}\n onClick={() => setSeeMoreToggle(!seeMoreToggle)}\n >\n {\n seeMoreToggle ? (\n <span className=\"js-show-less locale\">\n {t('Show less')}\n </span>\n ) : (\n <span className=\"js-show-more locale\">\n {t('Show more')}\n </span>\n )\n }\n </ScSeoGroupShowMore>\n </ScContainer>\n </ScSeoGroup>\n );\n};\n\nSEOGroup.propTypes = {\n // children: PropTypes.node.isRequired\n};\n","/* eslint-disable no-nested-ternary */\nimport React from 'react';\nimport { t } from '@jotforminc/translation';\nimport { IconTagPercentFilled } from '@jotforminc/svg-icons';\nimport { string, bool } from 'prop-types';\nimport styled from 'styled-components';\nimport { isDefaultSource } from '../../utils/common-landing';\n\nconst ScBadge = styled.p`\n width: 100%;\n color: var(--jfv-navy-700);\n font-weight: 400;\n margin: 0;\n font-size: var(--badge-size);\n line-height: 1.14;\n letter-spacing: 0.125rem;\n text-transform: uppercase;\n ${props => props.icon && `\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n `}\n .jflb--badge-icon {\n width: 1.5rem;\n height: auto;\n }\n`;\n\nconst Badge = ({ text, showBadgeIcon, badgeIcon }) => {\n const hasBadge = badgeIcon && !isDefaultSource(badgeIcon);\n return (\n <ScBadge className='badge--item' icon={hasBadge}>\n {\n showBadgeIcon && (\n hasBadge ? (\n <img\n loading=\"lazy\"\n className='jflb--badge-icon lazyload blur-up'\n alt='Badge Icon'\n data-src={badgeIcon}\n />\n ) : (\n <IconTagPercentFilled className='jflb--badge-icon' />\n )\n )\n }\n { text && <span className='locale' dangerouslySetInnerHTML={{ __html: t(text) }} /> }\n </ScBadge>\n );\n};\n\nexport default Badge;\n\nBadge.defaultProps = {\n text: '',\n badgeIcon: false,\n showBadgeIcon: false\n};\n\nBadge.propTypes = {\n text: string,\n badgeIcon: string,\n showBadgeIcon: bool\n};\n","/* eslint-disable import/no-cycle */\nimport styled from 'styled-components';\nimport { formatTextAlign, alignItems, pxToRem } from '../../utils/style-utils';\n\nexport const ScImageText = styled.section`\n ${props => formatTextAlign(props.textAlign)};\n .text--group {\n gap: calc(var(--pad) / 2);\n }\n .actions--group {\n flex-direction: column;\n gap: ${pxToRem(12)};\n ${props => alignItems(props.textAlign)};\n }\n .jflb--badge-icon {\n color: #ffb629\n }\n ${props => props.darkMode && `\n background-color: var(--jfv-navy-700);\n .badge--item span,\n .image-text-title,\n .image-text-desc {\n color: #fff\n }\n `}\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport {\n string,\n object,\n arrayOf,\n bool\n} from 'prop-types';\nimport ScContainer from '../Styles/ScContainer';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Badge from '../_Commons/Badge';\nimport Description from '../_Commons/Description';\nimport SubelementRenderer from '../SubelementRenderer';\nimport { ScImageText } from '../Styles/ScImageText';\nimport { filterMediaGroupElements } from '../../utils/common-landing';\n\nexport const ImageText = ({\n badgeText,\n badgeIcon,\n title,\n description,\n elements,\n showBadge,\n showBadgeIcon,\n isDirectory,\n class: sectionClass,\n ...rest\n}) => {\n const mediaGroupElements = filterMediaGroupElements(elements);\n const linkElements = elements.filter(({ type }) => type === 'link');\n const hasMediaGroupElement = mediaGroupElements.length > 0;\n\n const { textAlign, reverse, darkMode } = sectionClass;\n return (\n <ScImageText\n className=\"jflb--sec\"\n textAlign={textAlign}\n darkMode={darkMode}\n >\n <ScContainer>\n <ScRow reverse={reverse}>\n <ScCol className=\"text--group\" textAlign={textAlign} {...rest}>\n { showBadge && <Badge showBadgeIcon={showBadgeIcon} badgeIcon={badgeIcon} text={badgeText} /> }\n <Title\n className=\"image-text-title\"\n size={isDirectory ? 'xsmall' : 'small'}\n weight={isDirectory ? '700' : false}\n title={title}\n />\n <Description\n className=\"image-text-desc\"\n size={isDirectory ? 'xsmall' : 'small'}\n description={description}\n />\n {linkElements.length > 0 && (\n <div className=\"actions--group\">\n {linkElements.map((link, index) => <SubelementRenderer key={`link-${index}`} {...link} />)}\n </div>\n )}\n </ScCol>\n {\n hasMediaGroupElement && (\n <ScCol className=\"media--group\" {...rest}>\n { mediaGroupElements.map((element, index) => <SubelementRenderer key={`media-${index}`} {...element} />) }\n </ScCol>\n )\n }\n </ScRow>\n </ScContainer>\n </ScImageText>\n );\n};\n\nImageText.defaultProps = {\n elements: [],\n class: {},\n showBadge: '',\n showBadgeIcon: '',\n isDirectory: false\n};\n\nImageText.propTypes = {\n title: string.isRequired,\n description: string.isRequired,\n badgeText: string.isRequired,\n badgeIcon: string.isRequired,\n elements: arrayOf(object),\n class: object,\n showBadge: string,\n showBadgeIcon: string,\n isDirectory: bool\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\n\nconst ScHighlighted = styled.section`\n background-color: var(--jfv-navy-700);\n line-height: 1.45;\n margin: 0;\n width: 100%;\n padding: calc(var(--pad) / 2);\n\n div {\n color: #fff;\n font-weight: 700;\n text-align: center;\n }\n\n strong {\n color: #fff;\n font-weight: 700\n }\n\n span {\n margin: -7px -3px;\n padding: 0 3px;\n position: relative;\n text-decoration: none;\n\n &.orange {\n color: var(--jfv-orange-300);\n }\n &.blue {\n color: var(--jfv-blue-300);\n }\n &.green {\n color: var(--jfv-green-300);\n }\n &.red {\n color: var(--jfv-red-300);\n }\n &.navy {\n color: var(--jfv-navy-300);\n }\n &.navy {\n color: var(--jfv-navy-300);\n }\n &.purple {\n color: var(--jfv-purple-300);\n }\n &.aqua {\n color: var(--jfv-inbox-light);\n }\n &.yellow {\n color: var(--jfv-yellow-300);\n }\n &.pink {\n color: var(--jfv-pink-300);\n }\n }\n`;\n\nexport default ScHighlighted;\n","import React from 'react';\nimport { string } from 'prop-types';\nimport ScHighlighted from '../Styles/ScHighlighted';\nimport ScContainer from '../Styles/ScContainer';\nimport Description from '../_Commons/Description';\n\nexport const Highlighted = ({ text }) => {\n return (\n <ScHighlighted>\n <ScContainer>\n <Description description={text} />\n </ScContainer>\n </ScHighlighted>\n );\n};\n\nHighlighted.propTypes = {\n text: string.isRequired\n};\n","/* eslint-disable import/no-cycle */\n/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-undef */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport SubelementRenderer from './SubelementRenderer';\nimport ScContainer from './Styles/ScContainer';\nimport ScRow from './Styles/ScRow';\nimport ScCol from './Styles/ScCol';\nimport Badge from './_Commons/Badge';\nimport Title from './_Commons/Title';\nimport { pxToRem } from '../utils/style-utils';\n\nconst ScMultipleText = styled.section`\n background-image: url(\"data:image/svg+xml,%3Csvg width='1288' height='1010' viewBox='0 0 1288 1010' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1287.69 555.024C1284.98 481.252 1254.22 404.507 1191.84 365.059C1079.86 294.257 925.18 368.956 802.581 318.805C740.393 293.319 695.238 239.104 654.831 185.416C629.13 151.284 603.808 115.714 573.701 85.7776C556.708 68.3485 537.627 53.0869 516.89 40.3392C514.813 38.8417 512.467 37.8084 510.333 36.6643C451.727 1.64962 399.002 -2.6631 360.622 1.12975C341.464 2.55408 322.577 6.51181 304.455 12.8995C281.431 20.9742 259.361 31.5502 238.639 44.4376C171.303 85.7759 114.705 142.479 73.4841 209.898C32.2629 277.317 7.5916 353.534 1.49268 432.302C-4.60623 511.069 8.0408 590.144 38.3971 663.046C68.7534 735.947 115.955 800.6 176.132 851.705C290.358 948.678 442.909 989.486 592.271 1003.7C748.007 1018.57 911.482 1006.1 1049.23 931.63C1186.97 857.16 1293.49 711.337 1287.69 555.024Z' fill='%23e8ecff'/%3E%3C/svg%3E%0A\");\n background-repeat: no-repeat;\n background-size: auto 90%;\n background-position: center;\n .badge--item {\n justify-content: center;\n }\n .multipletext--container {\n padding: var(--pad) 0 calc(var(--pad) * 2) 0;\n max-width: calc(var(--container-width) / 1.2);\n gap: ${pxToRem(26)};\n .multipletext--title {\n margin-bottom: ${pxToRem(20)};\n }\n @media screen and (max-width: 768px) {\n gap: var(--pad);\n padding: var(--pad) 0;\n max-width: unset;\n }\n }\n .jflb--description {\n max-width: calc(var(--container-width) - 17.5rem);\n }\n`;\n\nexport const MultipleText = data => {\n const {\n title, class: sectionClass, elements, ...rest\n } = data;\n const { textAlign } = sectionClass;\n // eslint-disable-next-line react/destructuring-assignment\n const badgeText = data['badge-text'];\n\n return (\n <ScMultipleText className={`jflb--sec ${Object.values(sectionClass).join(' ')}`}>\n <ScContainer className='multipletext--container'>\n <ScRow type=\"column\">\n <ScCol textAlign={textAlign} className=\"full--width\" {...rest}>\n <Badge text={badgeText} />\n <Title title={title} className='multipletext--title' />\n </ScCol>\n </ScRow>\n { elements.map((element, index) => <SubelementRenderer key={`multitext-${index}`} {...element} />) }\n </ScContainer>\n </ScMultipleText>\n );\n};\n\nMultipleText.defaultProps = {\n data: {}\n};\n\nMultipleText.propTypes = {\n data: PropTypes.object\n};\n","/* eslint-disable import/no-cycle */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { filterActionGroupElements } from '../../utils/common-landing';\nimport SubelementRenderer from '../SubelementRenderer';\nimport ScContainer from '../Styles/ScContainer';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\nimport YoutubeIcon from '../_Commons/YoutubeIcon';\nimport { YoutubeEmbedVideoModal } from './YoutubeEmbedVideoModal';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScYoutubeVideoSection = styled.div`\n &::before {\n width: 100%;\n height: 50%;\n content: '';\n position: absolute;\n z-index: 0;\n left: 0;\n top: 0;\n background-color: var(--jfv-navy-25);\n }\n .jflb--youtube-container {\n position: relative;\n z-index: 1;\n align-items: center;\n flex-direction: column;\n gap: calc(var(--pad) / 2);\n max-width: ${pxToRem(725)};\n }\n .jflb--youtube-video {\n position: relative;\n display: block;\n margin: 0 auto;\n width: 100%;\n cursor: pointer;\n overflow: hidden;\n box-shadow: 0 0 36px 0 rgba(0, 0, 0, 0.16);\n border: 12px solid #fff;\n margin-top: calc(var(--pad) / 2);\n img {\n position: relative;\n z-index: 1;\n width: 100%;\n height: auto;\n display: block;\n max-width: unset !important;\n max-height: unset !important;\n }\n &:hover {\n .jflb--yt-play {\n transform: scale(1.2);\n }\n }\n }\n`;\n\nexport const YoutubeVideo = ({\n title,\n description,\n class: classObj,\n elements\n}) => {\n const modalEl = elements.find(el => el.type === 'youtube-modal');\n\n const { poster, videoID } = modalEl;\n\n const sectionClassName = Object.values(classObj).join(' ');\n const actionsGroupElements = filterActionGroupElements(elements);\n\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const handleModalStatus = () => {\n setIsModalOpen(!isModalOpen);\n };\n\n return (\n <ScYoutubeVideoSection className={`jflb--sec ${sectionClassName}`}>\n <ScContainer className='jflb--youtube-container'>\n <Title\n title={title}\n textAlign='center'\n size='small'\n weight='700'\n />\n <Description\n description={description}\n textAlign='center'\n />\n <div className=\"jflb--youtube-video\" data-yt-video-id={videoID} onClick={handleModalStatus}>\n <YoutubeIcon />\n <img\n loading=\"lazy\"\n data-src={poster}\n className='lazyload blur-up'\n onError={f => f}\n width=\"701\"\n height=\"394\"\n alt={title}\n />\n </div>\n {actionsGroupElements.map(element => <SubelementRenderer {...element} />)}\n\n </ScContainer>\n\n {isModalOpen && (\n <YoutubeEmbedVideoModal\n title={title}\n videoID={videoID}\n setIsModalOpen={setIsModalOpen}\n />\n )}\n </ScYoutubeVideoSection>\n );\n};\n\nYoutubeVideo.propTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n class: PropTypes.object.isRequired,\n elements: PropTypes.array.isRequired\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\n\nexport const ScRelatedCards = styled.section`\n padding: var(--pad);\n .related-cards-title {\n margin-bottom: calc(var(--pad) / 2);\n }\n`;\n\nexport const ScRelatedCardsContent = styled.div`\n display: grid;\n gap: var(--pad);\n grid-template-columns: repeat(auto-fill,calc(33.333% - var(--pad)/1.5));\n width: 100%;\n\n @media screen and (max-width: 980px) {\n grid-template-columns:repeat(auto-fill,calc(50% - var(--pad)/2))\n }\n\n @media screen and (max-width: 768px) {\n grid-template-columns:unset\n }\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { arrayOf, object, string } from 'prop-types';\nimport SubelementRenderer from '../SubelementRenderer';\nimport { ScRelatedCards, ScRelatedCardsContent } from '../Styles/ScRelatedCards';\nimport ScContainer from '../Styles/ScContainer';\nimport Title from '../_Commons/Title';\n\nexport const RelatedCards = ({ title, elements }) => {\n return (\n <ScRelatedCards className=\"jflb--sec\">\n <ScContainer>\n <Title\n className=\"related-cards-title\"\n title={title}\n size=\"small\"\n level=\"h2\"\n weight=\"400\"\n />\n <ScRelatedCardsContent>\n { elements.map((element, index) => <SubelementRenderer key={`card-${index}`} {...element} />) }\n </ScRelatedCardsContent>\n </ScContainer>\n </ScRelatedCards>\n );\n};\n\nRelatedCards.propTypes = {\n title: string.isRequired,\n description: string.isRequired,\n elements: arrayOf(object).isRequired\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nexport const ScFaqSection = styled.section`\n display: flex;\n width: 100%;\n --container-width: ${pxToRem(820)};\n .jflb--faq-no-result {\n display: none;\n width: 100%;\n font-size: ${pxToRem(20)};\n margin-top: ${pxToRem(30)};\n p {\n margin: 0;\n }\n }\n .jflb--faq-list {\n width: 100%;\n }\n .jflb--faq-qa-wrapper {\n display: none;\n line-height: 1.55;\n border-bottom: 1px solid #c8ceed;\n width: 100%;\n &:last-child {\n border-bottom-color: transparent;\n }\n .jflb--faq-question-wrapper {\n position: relative;\n padding: ${pxToRem(20)};\n padding-inline-start: 0;\n svg {\n display: none;\n cursor: pointer;\n pointer-events: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n inset-inline-end: 0;\n inset-block-start: ${pxToRem(32)};\n transition: all 0.2s ease;\n fill: #5162A3;\n }\n .jflb--faq-qa-question {\n font-size: ${pxToRem(18)};\n margin: 0;\n color: #262b3f;\n font-weight: 700;\n }\n }\n .jflb--faq-qa-answer {\n font-size: ${pxToRem(18)};\n overflow: hidden;\n padding-bottom: ${pxToRem(20)};\n color: #494f67;\n p {\n margin: 0 0 15px;\n word-break: break-word;\n &:last-child {\n margin-bottom: 0;\n }\n }\n ul, ol {\n padding-inline-start: ${pxToRem(20)};\n list-style: disc;\n li {\n padding-bottom: ${pxToRem(20)};\n &:last-child {\n padding-bottom: 0;\n }\n }\n }\n ol {\n list-style: decimal;\n padding-inline-start: ${pxToRem(40)};\n }\n }\n &[data-active=\"false\"] {\n display: none;\n }\n &[data-active=\"true\"] {\n display: block;\n }\n a {\n color: #2470e9;\n transition: color 0.2s;\n }\n }\n mark {\n position: relative;\n z-index: -1;\n background-color: #fae186;\n border-radius: 10px;\n padding: 0 5px;\n margin-left: -5px;\n margin-right: -5px;\n }\n &.isCollapsible {\n .jflb--faq-qa-wrapper {\n .jflb--faq-question-wrapper {\n cursor: pointer;\n svg {\n display: block;\n }\n }\n .jflb--faq-qa-answer {\n opacity: 0;\n max-height: 0;\n padding-top: 0;\n padding-bottom: 0;\n transition: all 0.3s ease;\n }\n &.is-active {\n .jflb--faq-qa-answer {\n opacity: 1;\n max-height: unset;\n padding-top: ${pxToRem(10)};\n padding-bottom: ${pxToRem(20)};\n }\n }\n }\n }\n &.isSearchable {\n .jflb--faq-filter-input-content {\n display: flex;\n }\n }\n &.no-result {\n .jflb--faq-no-result {\n display: flex;\n }\n }\n &.faq-filtered {\n .jflb--faq-qa-wrapper {\n &[data-active=\"true\"] {\n .jflb--faq-question-wrapper {\n pointer-events: none;\n svg {\n display: none !important; // stylelint-disable-line\n }\n }\n }\n }\n .jflb--faq-viewMore {\n display: none;\n pointer-events: none;\n }\n }\n &.isVisibleAll {\n .jflb--faq-qa-wrapper {\n &:not([data-active=\"false\"]) {\n display: block;\n }\n }\n .jflb--faq-viewMore {\n display: none;\n pointer-events: none;\n }\n }\n`;\n\nexport const ScFaqSectionFilter = styled.div`\n margin: 0 auto;\n display: flex;\n width: 100%;\n flex-direction: column;\n padding: ${pxToRem(10)} 0;\n`;\n\nexport const ScFaqSectionFilterInput = styled.div`\n position: relative;\n background-position: ${pxToRem(5)} ${pxToRem(10)};\n max-width: ${pxToRem(440)};\n margin: ${pxToRem(20)} 0;\n width: 100%;\n align-items: flex-start;\n justify-content: center;\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 5px;\n pointer-events: none;\n }\n .jflb--faq-button-reset {\n display: none;\n background-image: url(\"data:image/svg+xml,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M-518-18H26c2.2091 0 4 1.7909 4 4v40c0 2.2091-1.7909 4-4 4h-544c-2.2091 0-4-1.7909-4-4v-40c0-2.2091 1.7909-4 4-4z' fill='none' fill-rule='nonzero'/%3E%3Cpath d='M6 7.4142l-4.2929 4.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L4.5858 6 .2928 1.7071C-.0975 1.3166-.0975.6834.2929.293c.3906-.3905 1.0238-.3905 1.4143 0L6 4.5858l4.2929-4.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L7.4142 6l4.293 4.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L6 7.4142z' fill='%23c3cad8'/%3E%3C/g%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n width: 24px;\n height: 24px;\n border: none;\n background-color: transparent;\n padding: 0;\n pointer-events: all;\n text-indent: 100%;\n overflow: hidden;\n position: absolute;\n inset-inline-end: 0;\n inset-block-start: 10px;\n z-index: 1;\n &.is-active {\n display: block;\n }\n }\n @media screen and (max-width: 768px) {\n margin-inline-start: 0;\n max-width: unset;\n }\n\n input {\n padding-block: ${pxToRem(10)};\n padding-inline-start: ${pxToRem(40)};\n padding-inline-end: ${pxToRem(20)};\n font-weight: 700;\n font-size: ${pxToRem(20)};\n width: 100%;\n margin: 0;\n background-color: transparent;\n border: 0;\n color: #262b3f;\n border-bottom: 1px solid #494f67;\n &:focus {\n outline: 0;\n border-bottom-color: #2470e9;\n }\n &::placeholder {\n font-weight: 500;\n color: #494f67;\n opacity: 1;\n }\n /* stylelint-disable */\n &:-ms-input-placeholder {\n font-weight: 500;\n color: #494f67;\n }\n &::-ms-input-placeholder {\n font-weight: 500;\n color: #494f67;\n }\n /* stylelint-enable */\n }\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-unescaped-entities */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable @jotforminc/no-native-button */\nimport React, { useState, useEffect } from 'react';\nimport { t } from '@jotforminc/translation';\nimport { string, arrayOf, object } from 'prop-types';\nimport { IconMagnifyingGlass } from '@jotforminc/svg-icons';\nimport SubelementRenderer from '../SubelementRenderer';\nimport { ScFaqSection, ScFaqSectionFilter, ScFaqSectionFilterInput } from '../Styles/ScFaqSection';\nimport ScContainer from '../Styles/ScContainer';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\nimport ScRow from '../Styles/ScRow';\nimport ScButton from '../Styles/ScButton';\n\nexport const FaqQuestions = ({\n description, title, class: sectionClass, elements, ...rest\n}) => {\n const { visibleAll, searchable } = sectionClass;\n const isSearchable = searchable === 'isSearchable';\n const isVisibleAll = visibleAll === 'isVisibleAll';\n\n const [processedFAQQuestions, setProcessedFAQQuestions] = useState([]);\n const [searchValue, setSearchValue] = useState('');\n const [searchChangeCount, setSearchChangeCount] = useState(0);\n const [activeQuestions, setActiveQuestions] = useState([]);\n const [viewMoreEnabled, setViewMoreEnabled] = useState(isVisibleAll);\n const faqAnswers = elements.filter(el => el?.type === 'faq-answer');\n\n const isSearchActive = isSearchable && searchValue.length >= 3;\n\n useEffect(() => {\n setProcessedFAQQuestions(\n faqAnswers.map(faqAnswer => {\n const { answer } = faqAnswer;\n const convertedHTML = document.createElement('div');\n convertedHTML.innerHTML = answer;\n const answersArr = [];\n (Array.from(convertedHTML.children) || []).forEach(paragraph => {\n answersArr.push(paragraph.innerHTML.trim());\n });\n return {\n ...faqAnswer,\n answer: answersArr\n };\n }));\n }, []);\n\n let filteredAnswers = [...processedFAQQuestions];\n if (isSearchActive) {\n filteredAnswers = processedFAQQuestions.filter(({ answer = '', question = '' }) => {\n const lowerSearchValue = searchValue.toLowerCase();\n return answer.join('\\n').toLowerCase().includes(lowerSearchValue) || question.toLowerCase().includes(lowerSearchValue);\n });\n }\n\n const handleClickViewMore = () => {\n setViewMoreEnabled(!viewMoreEnabled);\n };\n\n useEffect(() => {\n setActiveQuestions([]);\n }, [viewMoreEnabled, searchValue]);\n\n useEffect(() => {\n if (searchChangeCount === 0 || !isSearchable) return;\n setViewMoreEnabled(false);\n setSearchChangeCount(searchChangeCount + 1);\n }, [searchValue]);\n\n return (\n <ScFaqSection\n className={`jflb--sec ${Object.values(sectionClass).join(' ')}${isSearchActive ? ' faq-filtered' : ''} ${isSearchActive && filteredAnswers.length === 0 ? 'no-result' : ''}`}\n >\n <ScContainer>\n <ScRow type=\"column\">\n <ScCol className=\"text--group\" textAlign=\"text-center\" {...rest}>\n <Title\n title={title}\n size=\"small\"\n />\n <Description description={description} />\n </ScCol>\n {\n isSearchable && (\n <ScFaqSectionFilter>\n <ScFaqSectionFilterInput>\n <IconMagnifyingGlass width=\"24\" height=\"24\" color=\"#262b3f\" />\n <input\n type=\"text\"\n autoComplete='off'\n name=\"filtered-faq\"\n value={searchValue}\n aria-label={t('FAQ Search Input Field')}\n placeholder={t('Search what you\\'re looking for...')}\n onChange={({ target: { value } }) => setSearchValue(value)}\n className=\"jflb--faq-filter-input\"\n />\n <button\n tabIndex=\"-1\"\n type=\"button\"\n aria-label={t('Clear')}\n data-trigger=\"reset\"\n onClick={() => setSearchValue('')}\n className={`jflb--faq-button-reset${isSearchActive ? ' is-active' : ''}`}\n >\n x\n </button>\n </ScFaqSectionFilterInput>\n {\n isSearchActive && filteredAnswers.length === 0 && (\n <div className=\"jflb--faq-no-result\">\n <p\n dangerouslySetInnerHTML={{\n __html: t(\n 'Your search <strong>\"<span>{searchValue}</span>\"</strong> did not match any results.')\n .replace('{searchValue}', searchValue)\n }}\n />\n </div>\n )\n }\n </ScFaqSectionFilter>\n )\n }\n <div\n itemScope\n itemType=\"http://schema.org/FAQPage\"\n className=\"jflb--faq-list faq-list-wrapper-element\"\n >\n { (processedFAQQuestions.length > 0 ? filteredAnswers : faqAnswers).map((faqAnswer, index) => (\n <SubelementRenderer\n key={index}\n searchValue={searchValue}\n activeQuestions={activeQuestions}\n setActiveQuestions={setActiveQuestions}\n isActive={index <= 2 || viewMoreEnabled}\n {...faqAnswer}\n />\n )) }\n </div>\n {\n (!isVisibleAll && !isSearchActive) && (\n <ScButton\n type='button'\n title={t('View More')}\n data-type=\"view-more\"\n data-jft=\"action-click\"\n id=\"faq-list-view-more-button\"\n onClick={handleClickViewMore}\n className=\"navy-outline\"\n tabIndex={0}\n role='button'\n >\n <span className=\"view-text locale\">\n {t(viewMoreEnabled ? 'Show Less' : 'View More')}\n </span>\n </ScButton>\n )\n }\n </ScRow>\n </ScContainer>\n </ScFaqSection>\n );\n};\n\nFaqQuestions.defaultProps = {\n class: {},\n title: '',\n elements: [],\n description: ''\n};\n\nFaqQuestions.propTypes = {\n class: object,\n title: string,\n description: string,\n elements: arrayOf(object)\n};\n","/* eslint-disable import/no-cycle */\n/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { formatTextAlign, pxToRem } from '../../utils/style-utils';\n\nconst ScHeader = styled.section`\n .text--group {\n gap: calc(var(--pad) / 2);\n }\n\n .header-section-title {\n display: flex;\n ${props => formatTextAlign(props.textAlign)};\n align-items: center;\n gap: ${pxToRem(8)};\n &::before {\n background-image: url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzciIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1oaWRkZW49InRydWUiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHBhdGggZD0iTTM2Ljg5MiAxNy42OTNjLS41MTUgNC4wNi0yLjgxNSA3LjczLTUuODYgMTAuOTExLTMuMDQzIDMuMTgxLTguMzY1IDQuNDE1LTEyLjc1NSA1LjA1MS00LjM4Ni42NDItNy44NDUuNjgyLTEwLjUtMi41MjktMi42NTctMy4yMS0yLjk4Ni04LjIxNC0yLjY4Ni0xMy4wNi4zLTQuODQ1IDMuOTk1LTYuODE2IDYuODMxLTkuODI3IDIuODQ3LTMuMDEyIDQuOTc0LTguMzg0IDkuNTctOC4yMzYgNC42LjE0MyA4LjkwOSAzLjA4NCAxMS43NjcgNi4xMyAyLjg1OSAzLjAzOCA0LjEzOCA3LjUgMy42MzMgMTEuNTZ6IiBmaWxsLW9wYWNpdHk9Ii4xMTYiIGZpbGw9IiMwMUJENkYiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik0zMy4xIDkuMjA4YzIuNTUyIDQuMjQ2IDIuNTI4IDEwLjA2NC0uMDQgMTUuMjA4LTIuNTY4IDUuMTM3LTcuNjggOS41OTItMTIuNzkzIDkuNTg0LTUuMTA1LS4wMDgtMTAuMTk0LTQuNDctMTMuMjY2LTkuODk0QzMuOTMgMTguNjgzIDIuODkgMTIuMyA1LjQzNCA4LjA3YzIuNTQ0LTQuMjM4IDguNjg5LTYuMzMgMTQuMzItNi4wNDNDMjUuMzk2IDIuMzA1IDMwLjU0IDQuOTcgMzMuMSA5LjIwOHoiIGZpbGwtb3BhY2l0eT0iLjI2NiIgZmlsbD0iIzAxQkQ2RiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTIgMTcuNTI0aDI2LjI3Nk0xOS41MTggOWw5IDguNS05IDguNSIgc3Ryb2tlPSIjM0U0NTVCIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMy40Ii8+PC9nPjwvc3ZnPg==\");\n background-position: top;\n background-repeat: no-repeat;\n background-size: 100% auto;\n content: \"\";\n height: ${pxToRem(34)};\n width: ${pxToRem(37)};\n\n html[dir=rtl] & {\n left: unset;\n right: -${pxToRem(30)};\n transform: rotate(180deg)\n }\n }\n }\n`;\n\nexport default ScHeader;\n","/* eslint-disable import/no-cycle */\nimport React from 'react';\nimport {\n string,\n object,\n arrayOf,\n bool\n} from 'prop-types';\nimport SubelementRenderer from '../SubelementRenderer';\nimport ScHeader from '../Styles/ScHeaderSection';\nimport ScContainer from '../Styles/ScContainer';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\n\nexport const HeaderSection = ({\n title,\n description,\n elements,\n isDirectory,\n class: sectionClass,\n ...rest\n}) => {\n const linkElements = elements.filter(({ type }) => type === 'link');\n const { fullWidth = 'auto', textAlign } = sectionClass;\n return (\n <ScHeader className=\"jflb--sec\" textAlign={textAlign}>\n <ScContainer fullWidth={fullWidth}>\n <ScRow>\n <ScCol textAlign={textAlign} className=\"text--group\" {...rest}>\n <Title\n className=\"header-section-title\"\n title={title}\n size={isDirectory ? 'small' : false}\n weight={isDirectory ? '700' : false}\n />\n <Description\n description={description}\n size={isDirectory ? 'small' : false}\n />\n {linkElements.length > 0 && (\n <div className=\"actions--group\">\n { linkElements.map(link => <SubelementRenderer {...link} />) }\n </div>\n )}\n </ScCol>\n </ScRow>\n </ScContainer>\n </ScHeader>\n );\n};\n\nHeaderSection.defaultProps = {\n elements: [],\n class: {},\n isDirectory: false\n};\n\nHeaderSection.propTypes = {\n title: string.isRequired,\n description: string.isRequired,\n elements: arrayOf(object),\n class: object,\n isDirectory: bool\n};\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScTemplates = styled.section`\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(to bottom, rgba(214, 222, 255, 0.56) 0%, rgba(214, 222, 255, 0.56) 60%, rgba(214, 222, 255, 0) 60%);\n @media screen and (max-width: 768px) {\n background: rgba(214, 222, 255, 0.56);\n }\n .text--group {\n text-align: center !important;\n max-width: calc(var(--container-width) - ${pxToRem(280)});\n .badge--item {\n justify-content: center;\n }\n }\n`;\n\nexport default ScTemplates;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { filterActionGroupElements } from '../../utils/common-landing';\nimport SubelementRenderer from '../SubelementRenderer';\nimport ScTemplates from '../Styles/ScTemplates';\nimport ScContainer from '../Styles/ScContainer';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Title from '../_Commons/Title';\nimport Descripton from '../_Commons/Description';\nimport Badge from '../_Commons/Badge';\n\nexport const Templates = data => {\n const {\n title, class: sectionClass, elements, description, ...rest\n } = data;\n // eslint-disable-next-line react/destructuring-assignment\n const badgeText = data['badge-text'];\n const actionElements = filterActionGroupElements(elements);\n return (\n <ScTemplates className={`jflb--sec ${Object.values(sectionClass).join(' ')}`}>\n <ScContainer className='jflb--container'>\n <ScRow type=\"column\">\n <ScCol className=\"text--group\" {...rest}>\n <Badge text={badgeText} />\n <Title title={title} />\n <Descripton description={description} />\n </ScCol>\n <ScCol className=\"templates--group\" {...rest}>\n { elements.filter(element => element?.type === 'template').map((element, index) => <SubelementRenderer key={`template-${index}`} {...element} />) }\n </ScCol>\n {actionElements.map((element, index) => <SubelementRenderer key={`action-element-${index}`} {...element} />)}\n </ScRow>\n </ScContainer>\n </ScTemplates>\n );\n};\n\nTemplates.defaultProps = {\n data: {}\n};\n\nTemplates.propTypes = {\n data: PropTypes.object\n};\n","import React from 'react';\nimport { t } from '@jotforminc/translation';\nimport PropTypes from 'prop-types';\nimport Description from '../_Commons/Description';\n\nconst TestimonialElement = ({\n content, name, job, company\n}) => {\n return (\n <>\n <Description\n className=\"description--item\"\n description={content}\n />\n <p className=\"author--item\">\n <span className=\"name\">{name}</span>\n {name && ', '}\n <strong className='locale'>{t(job.trim())}</strong>\n {(name || job) && ', '}\n <span className=\"company\">{company}</span>\n </p>\n </>\n );\n};\n\nTestimonialElement.defaultProps = {\n job: '',\n name: '',\n content: '',\n company: ''\n};\n\nTestimonialElement.propTypes = {\n name: PropTypes.string,\n job: PropTypes.string,\n company: PropTypes.string,\n content: PropTypes.string\n};\n\nexport default TestimonialElement;\n","/* eslint-disable max-len */\nimport styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScTestimonial = styled.section`\n background-color: var(--jfv-navy-700);\n position: relative;\n overflow: hidden;\n .jflb--container {\n align-items: center;\n justify-content: center;\n }\n .jflb--testimonial-container {\n position: relative;\n width: 100%;\n overflow: hidden;\n padding: 0 calc(var(--pad) * 2);\n margin-top: var(--pad);\n &:before,\n &:after {\n content: \"\";\n position: absolute;\n width: ${pxToRem(44)};\n height: ${pxToRem(44)};\n background-size: 100% auto;\n background-repeat: no-repeat;\n background-position: center;\n background-image: url(\"data:image/svg+xml,%3Csvg width='73' height='57' viewBox='0 0 73 57' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M33.205 41.8585C33.205 33.4063 27.9727 27.9727 18.9168 27.9727C17.1056 27.9727 15.6969 28.3752 14.6907 28.9789C15.0932 19.7218 23.5454 13.4832 31.1926 12.2758V0C18.5143 1.20745 0 10.2634 0 37.2299C0 47.8957 6.84225 56.5492 17.5081 56.5492C26.9665 56.5492 33.205 49.7069 33.205 41.8585ZM72.8498 41.8585C72.8498 33.4063 67.6175 27.9727 58.5616 27.9727C56.7504 27.9727 55.3417 28.3752 54.3355 28.9789C54.738 19.7218 63.1902 13.4832 70.8374 12.2758V0C58.1591 1.20745 39.6448 10.2634 39.6448 37.2299C39.6448 47.8957 46.487 56.5492 57.1529 56.5492C66.6113 56.5492 72.8498 49.7069 72.8498 41.8585Z' fill='%23e8ecff'/%3E%3C/svg%3E%0A\");\n html[dir=\"rtl\"] & {\n transform: rotate(-180deg) scaleX(-1);\n }\n @media screen and (max-width: 980px) {\n width: ${pxToRem(32)};\n height: ${pxToRem(32)};\n }\n @media screen and (max-width: 768px) {\n display: none;\n }\n }\n &:before {\n top: 0;\n inset-inline-start: 0;\n }\n &:after {\n bottom: 0;\n inset-inline-end: 0;\n transform: rotate(-180deg);\n }\n @media screen and (max-width: 768px) {\n padding: 0;\n }\n .splide__list {\n flex-direction: column;\n }\n //dummy code\n .splide__pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n padding: var(--pad) 0;\n .splide__pagination__page {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background-color: var(--jfv-navy-100);\n &.is-active {\n background-color: #fff;\n }\n }\n }\n //<END>dummy code\n }\n .title--item,\n .badge--item,\n .author--item {\n color: #fff;\n text-align: center;\n }\n .badge--item {\n justify-content: center;\n }\n .author--item {\n font-size: var(--decripton-size);\n padding-top: var(--pad);\n }\n .description--item {\n color: var(--jfv-navy-50);\n strong {\n color: #fff;\n }\n }\n .swiper-pagination {\n position: relative;\n padding-top: var(--pad);\n .swiper-pagination-bullet {\n background-color: #fff;\n &.swiper-pagination-bullet-active {\n background-color: var(--jfv-blue-300);\n }\n }\n }\n`;\n\nexport default ScTestimonial;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable @jotforminc/no-native-button */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// import { IconAngleLeft } from '@jotforminc/svg-icons';\nimport { Pagination, Autoplay } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\n\nimport 'swiper/css';\n// import 'swiper/css/navigation';\nimport 'swiper/css/pagination';\n\nimport TestimonialElement from './TestimonialElement';\n\nimport ScTestimonial from '../Styles/ScTestimonial';\nimport ScRow from '../Styles/ScRow';\nimport ScCol from '../Styles/ScCol';\nimport Badge from '../_Commons/Badge';\nimport Title from '../_Commons/Title';\nimport ScContainer from '../Styles/ScContainer';\n\nexport const Testimonials = data => {\n const {\n initialActiveSubelement, lastInteractedSubElement, ...values\n } = data;\n const {\n title, class: sectionClass, slideshowSpeed, elements, ...rest\n } = values;\n\n // eslint-disable-next-line react/destructuring-assignment\n const badgeText = data['badge-text'];\n let autoPlayDelay = 3000;\n switch (slideshowSpeed) {\n case 'slow':\n autoPlayDelay = 4000;\n break;\n case 'fast':\n autoPlayDelay = 2000;\n break;\n default:\n break;\n }\n\n return (\n <ScTestimonial\n className={`jflb--sec ${Object.values(sectionClass).join(' ')}`}\n >\n <ScContainer className='jflb--container'>\n <ScRow type='column'>\n <ScCol className='full--width' {...rest}>\n <Badge className=\"badge--item\" text={badgeText} />\n <Title className=\"title--item\" title={title} />\n </ScCol>\n </ScRow>\n <ScRow type='column'>\n <ScCol className='full--width' {...rest}>\n <div className=\"jflb--testimonial-container\">\n <Swiper\n dir={window?.__pageBuilderProps?.direction}\n spaceBetween={0}\n slidesPerView={1}\n autoplay={{\n delay: autoPlayDelay,\n disableOnInteraction: false\n }}\n pagination={{ clickable: true }}\n modules={[Pagination, Autoplay]}\n >\n {\n elements.map((testimonialElement, index) => (\n <SwiperSlide key={index}>\n <TestimonialElement {...testimonialElement} />\n </SwiperSlide>\n ))\n }\n </Swiper>\n </div>\n </ScCol>\n </ScRow>\n </ScContainer>\n </ScTestimonial>\n );\n};\n\nTestimonials.defaultProps = {\n data: {}\n};\n\nTestimonials.propTypes = {\n data: PropTypes.object\n};\n","import styled from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nconst ScBlogArticle = styled.section`\n width: 100%;\n display: flex;\n padding: var(--pad);\n min-height: 420px;\n h2 {\n padding: 0 calc(var(--pad) / 4);\n }\n .swiper {\n padding-top: calc(var(--pad) / 2);\n .swiper-button-prev,\n .swiper-button-next {\n width: 2.5rem;\n height: 2.5rem;\n background-color: #fff;\n border-radius: 50%;\n box-shadow: 0 1px 2px 0#1018280f,0 1px 3px 0#1018281a;\n &:after {\n font-size: 18px;\n font-weight: bolder;\n color: var(--jfv-navy-900);\n }\n &.swiper-button-disabled {\n opacity: 0;\n }\n }\n }\n .related-card {\n max-width: 360px;\n margin: ${pxToRem(10)} ${pxToRem(20)};\n border-radius: .75rem;\n overflow: hidden;\n background-color: #fff;\n box-shadow: 2px 2px 8px 0 rgba(1, 1, 1, 0.18);\n display: flex;\n justify-content: space-around;\n flex-flow: row wrap;\n align-items: stretch;\n margin: 0 auto;\n transition: all .1s linear;\n transform: scale(.96);\n p {\n display: block;\n width: 100%;\n outline: none;\n text-decoration: none;\n border: 0;\n color: #293149;\n\n }\n .text-box {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n padding: ${pxToRem(20)} ${pxToRem(30)};\n height: calc((27.6px) * (4) + #{${pxToRem(40)}});\n .badge--item {\n letter-spacing: 0;\n color: var(--jfv-red-300);\n margin-bottom: 10px;\n }\n h4 {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n overflow: hidden;\n }\n }\n\n .cover-image {\n display: block;\n width: 100%;\n position: relative;\n height: 100%;\n max-height: 200px;\n a {\n width: 100%;\n height: 12rem;\n }\n img {\n //width: 100%;\n //vertical-align: middle;\n object-fit: cover;\n width: 100%;\n height: 200px;\n }\n }\n\n &:hover {\n transform: scale(1);\n }\n\n }\n`;\n\nexport default ScBlogArticle;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable import/no-cycle */\nimport React, { useEffect, useState } from 'react';\n\nimport { Navigation } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport { t } from '@jotforminc/translation';\nimport { string } from 'prop-types';\nimport { getBlogRelatedArticles } from '../../api';\n\nimport 'swiper/css';\nimport 'swiper/css/navigation';\nimport ScContainer from '../Styles/ScContainer';\nimport ScBlogArticle from '../Styles/ScBlogArticle';\nimport Title from '../_Commons/Title';\nimport Badge from '../_Commons/Badge';\n\nexport const BlogRelatedArticles = ({ tag, environment }) => {\n const [dontRender, setDontRender] = useState(true);\n const [blogArticles, setBlogArticles] = useState([]);\n\n const findCurrentLangPath = () => {\n const paths = window.location.pathname.split('/');\n return paths.find(path => path.length === 2);\n };\n\n useEffect(() => {\n const langPath = findCurrentLangPath();\n getBlogRelatedArticles(tag, langPath).then(response => {\n const { data = [], status } = response;\n if (status !== 200 || data.length === 0) {\n setDontRender(true);\n return;\n }\n setBlogArticles(data);\n setDontRender(false);\n }).catch(() => {\n setDontRender(true);\n });\n }, [tag]);\n\n if (dontRender) return null;\n return (\n <ScBlogArticle>\n <ScContainer className='jflb--container'>\n <Title\n level='h2'\n weight={700}\n title='Related Content'\n size='xsmall'\n textAlign='center'\n />\n <Swiper\n dir={window?.__pageBuilderProps?.direction}\n navigation={environment !== 'builder'}\n spaceBetween={0}\n slidesPerView={3}\n modules={[Navigation]}\n breakpoints={{\n 0: {\n slidesPerView: 1,\n spaceBetween: 0\n },\n 768: {\n slidesPerView: 2,\n spaceBetween: 20\n },\n 980: {\n slidesPerView: 3,\n spaceBetween: 30\n }\n }}\n >\n {\n blogArticles.map((blogArticle, index) => {\n const { title, link, image } = blogArticle;\n return (\n <SwiperSlide key={index}>\n <a\n className=\"related-card\"\n title={t(title)} href={link}\n target='_blank'\n >\n <div className=\"text-box\">\n <Badge text='BLOG POST' />\n <Title\n level='h4'\n weight={700}\n title={title}\n size='xxsmall'\n />\n </div>\n <div className=\"cover-image\">\n <img\n src={image}\n alt={title}\n />\n </div>\n </a>\n </SwiperSlide>\n );\n })\n }\n </Swiper>\n </ScContainer>\n </ScBlogArticle>\n\n );\n};\n\nBlogRelatedArticles.defaultProps = {\n environment: 'landing'\n};\n\nBlogRelatedArticles.propTypes = {\n tag: string.isRequired,\n environment: string\n};\n","import React from 'react';\nimport { node } from 'prop-types';\nimport ScContainer from './Styles/ScContainer';\n\nexport const SectionBlockRenderer = ({ children }) => {\n return (\n <ScContainer className='jflb--shrinked-container'>\n {children}\n </ScContainer>\n );\n};\n\nSectionBlockRenderer.defaultProps = { children: null };\n\nSectionBlockRenderer.propTypes = { children: node };\n","import styled from 'styled-components';\nimport { pxToRem, alignItems } from '../../utils/style-utils';\n// eslint-disable-next-line import/no-cycle\n\nexport const ScContentElementWrapper = styled.div`\n grid-row-gap: ${props => props.rowGap}px;\n grid-column-gap: ${props => props.columnGap}px;\n grid-template-columns: repeat(${props => props.columnSize}, minmax(0, 1fr));\n width: 100%;\n display: grid;\n gap: var(--pad);\n margin-top: var(--pad);\n .jflb--content {\n display: flex;\n flex-direction: column;\n gap: calc(var(--pad) / 2);\n .jflb--text-group {\n .jflb--title {\n font-size: ${pxToRem(24)};\n }\n .jflb--desc {\n font-size: ${pxToRem(18)};\n }\n }\n img {\n height: auto;\n }\n background-color: ${props => props.textAlign};\n ${props => alignItems(props.textAlign)};\n }\n @media screen and (max-width: 980px) {\n grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n }\n @media screen and (max-width: 768px) {\n grid-template-columns: unset !important;\n }\n`;\n","/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ScContainer from '../Styles/ScContainer';\nimport { ScContentElementWrapper } from '../Styles/ScMultipleContent';\nimport SubelementRenderer from '../SubelementRenderer';\nimport ScCol from '../Styles/ScCol';\nimport Badge from '../_Commons/Badge';\nimport Title from '../_Commons/Title';\nimport Description from '../_Commons/Description';\n\nexport const MultipleContent = data => {\n const {\n elements,\n rowGap,\n columnGap,\n title,\n description,\n columnSize,\n 'badge-text': badgeText,\n class: sectionClass,\n class: {\n textAlign\n },\n ...rest\n } = data;\n const contentElements = elements.filter(element => element.type === 'content');\n\n return (\n <div className={`jflb--sec ${Object.values(sectionClass).join(' ')}`}>\n <ScContainer className='jflb--container'>\n <ScCol className=\"text--group\" textAlign={textAlign} {...rest}>\n <Badge text={badgeText} />\n <Title title={title} />\n <Description description={description} />\n </ScCol>\n <ScCol className=\"contents--group\" {...rest}>\n <ScContentElementWrapper\n rowGap={rowGap}\n columnGap={columnGap}\n columnSize={columnSize}\n className=\"jflb--element-content\"\n textAlign={textAlign}\n >\n {contentElements.map((element, index) => <SubelementRenderer key={`content-element-${index}`} {...element} />)}\n </ScContentElementWrapper>\n </ScCol>\n </ScContainer>\n </div>\n );\n};\n\nMultipleContent.defaultProps = {\n data: {}\n};\n\nMultipleContent.propTypes = {\n data: PropTypes.object\n};\n","/* eslint-disable max-len */\n/* eslint-disable import/no-cycle */\n/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport { t } from '@jotforminc/translation';\nimport styled from 'styled-components';\nimport { pxToRem } from '../utils/style-utils';\nimport ScContainer from './Styles/ScContainer';\n\nconst ScBreadcrumb = styled.section`\n padding: ${pxToRem(20)} !important;\n margin: 0;\n border-top: 1px solid var(--jfv-navy-50);\n border-bottom: 1px solid var(--jfv-navy-50);\n ul {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: flex-start;\n flex-wrap: wrap;\n margin: 0;\n list-style: none;\n li {\n list-style: none;\n &:after {\n content: \"\";\n display: inline-flex;\n padding: 0 5px;\n margin: 0;\n width: 7px;\n height: 12px;\n background-image: url(\"data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.944 0.656006L1.456 12H0L5.488 0.656006H6.944Z' fill='%237A939F'/%3E%3C/svg%3E%0A\");\n background-repeat: no-repeat;\n background-position: center;\n }\n a {\n color: var(--jfv-navy-400);\n font-size: ${pxToRem(16)};\n text-decoration: none;\n }\n &:last-child {\n &:after {\n display: none;\n }\n a {\n color: var(--jfv-inbox-default);\n }\n }\n @media screen and (max-width: 768px) {\n margin: 5px 0;\n }\n }\n }\n`;\n\nexport const Breadcrumb = data => {\n const { directory, category, landing } = data;\n return (\n <ScBreadcrumb className='jflb--sec'>\n <ScContainer>\n <ul>\n <li>\n <a href={directory.url} className='locale'>{t(directory.title)}</a>\n </li>\n <li>\n <a href={category.url}>\n <span className='locale'>\n {t(category.title)}\n </span>\n <span class=\"sr-only\">\n {' '}\n {t('Category')}\n </span>\n </a>\n </li>\n <li>\n <a style={{ pointerEvents: 'none' }} href={landing.url} className='locale'>{t(landing.title)}</a>\n </li>\n </ul>\n </ScContainer>\n\n </ScBreadcrumb>\n );\n};\n\nBreadcrumb.defaultProps = {\n class: {},\n elements: []\n};\n\nBreadcrumb.propTypes = {\n};\n","import { string } from 'prop-types';\nimport React from 'react';\nimport styled from 'styled-components';\n\nconst totalStars = 5;\n\nconst RatingWrapper = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst StarWrapper = styled.div`\n margin: 0 2px;\n position: relative;\n`;\n\nconst SVGStar = styled.svg`\n width: 20px;\n height: 20px;\n polygon {\n stroke: ${props => props.stroke || '#FFB629'};\n }\n`;\n\nconst Star = ({ rating }) => {\n const starPath = '12,2 15,8 22,9 17,14 18,21 12,18 6,21 7,14 2,9 9,8';\n\n const starsArray = Array.from({ length: totalStars }, (_, i) => {\n const starValue = rating - i;\n if (starValue >= 1) {\n return { fill: '#FFB629', stroke: '#FFB629', partial: false };\n }\n if (starValue >= 0) {\n return {\n fill: '#FFB629',\n stroke: '#FFB629',\n partial: true,\n fraction: starValue\n };\n }\n return { fill: 'transparent', stroke: '#FFB629', partial: false };\n });\n\n return (\n <RatingWrapper className=\"jf-rating\">\n {starsArray.map((star, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <StarWrapper key={index}>\n <SVGStar viewBox=\"0 0 24 24\">\n <polygon points={starPath} fill={star.fill} stroke={star.stroke} />\n {star.partial && (\n <polygon\n points={starPath}\n fill=\"white\"\n stroke=\"none\"\n clipPath={`url(#clip-${index})`}\n style={{ clipPath: `inset(0 0 0 ${star.fraction * 100}%)` }}\n />\n )}\n </SVGStar>\n </StarWrapper>\n ))}\n </RatingWrapper>\n );\n};\n\nexport default Star;\n\nStar.defaultProps = {\n rating: 0\n};\n\nStar.propTypes = {\n rating: string\n};\n","import styled from 'styled-components';\n\nexport const ScRating = styled.section`\n padding: 0 0 90px 0;\n margin-top: 48px;\n\n h3 {\n font-weight: 400;\n font-size: 28px;\n line-height: 35px;\n text-align: center;\n color: #0a1551;\n margin: 0;\n\n strong {\n font-weight: 700;\n }\n }\n\n ul {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-top: 24px;\n gap: 64px;\n }\n\n li {\n max-height: 125px;\n max-width: 200px;\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: 16px;\n\n img {\n display: block;\n max-width: 100%;\n width: 100%;\n height: auto;\n flex: 1;\n max-height: 48px;\n max-width: 166px;\n }\n\n & > .rating-container {\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > .rating-score {\n font-size: 18px;\n color: #0a1551;\n margin-inline-end: 8px;\n }\n }\n }\n\n @media screen and (max-width: 480px) {\n padding: 0 0 60px 0;\n\n h3 {\n font-size: 24px;\n line-height: 30px;\n }\n\n li {\n width: 50%;\n padding: 0 10px;\n }\n }\n`;\n","import React from 'react';\nimport {\n arrayOf,\n bool,\n object,\n string\n} from 'prop-types';\nimport { t } from '@jotforminc/translation';\nimport Star from './Star';\nimport { ScRating } from './ScRating';\n\nexport const Rating = ({ showRating, elements, title }) => {\n return (\n <ScRating>\n <h3 dangerouslySetInnerHTML={{ __html: t(title) }} />\n <ul>\n {elements.map(element => {\n const { logoSrc, ratingScore = 0, title: elTitle } = element;\n return (\n <li key={elTitle}>\n <img src={logoSrc} alt='Rating component' />\n {showRating && (\n <div className='rating-container'>\n <strong className=\"rating-score\">{ratingScore}</strong>\n <Star rating={ratingScore} />\n </div>\n )}\n </li>\n );\n })}\n </ul>\n </ScRating>\n );\n};\n\nRating.defaultProps = {\n title: '',\n elements: [],\n showRating: false\n};\n\nRating.propTypes = {\n title: string,\n elements: arrayOf(object),\n showRating: bool\n};\n","/* eslint-disable no-var */\n/* eslint-disable @jotforminc/no-location-href-assignment */\n/* eslint-disable no-param-reassign */\n/* eslint-disable quotes */\n/* eslint-disable no-array-constructor */\n/* eslint-disable space-before-function-paren */\n/* eslint-disable camelcase */\n/* eslint-disable one-var-declaration-per-line */\n/* eslint-disable one-var */\n/* eslint-disable block-scoped-var */\n/* eslint-disable keyword-spacing */\n/* eslint-disable semi */\n/* eslint-disable no-mixed-operators */\n/* eslint-disable no-bitwise */\n/* eslint-disable comma-spacing */\n/* eslint-disable space-infix-ops */\n/* eslint-disable no-sequences */\n/* eslint-disable no-unused-expressions */\n/* eslint-disable func-names */\n/* eslint-disable no-use-before-define */\n/* eslint-disable space-before-blocks */\n/* eslint-disable block-spacing */\n/* eslint-disable semi-spacing */\n/* eslint-disable max-len */\n/* eslint-disable import/no-cycle */\nimport { cloneTemplate } from '../api';\nimport { Text } from '../components/Text';\nimport { Spacer } from '../components/Spacer';\nimport { Iframe } from '../components/Iframe';\nimport { Hero } from '../components/Hero/Hero';\nimport { Divider } from '../components/Divider';\nimport { SEOGroup } from '../components/SEOGroup';\nimport { ImageText } from '../components/ImageText';\nimport { Highlighted } from '../components/Highlighted';\nimport { MultipleText } from '../components/MultipleText';\nimport { YoutubeVideo } from '../components/YoutubeVideo';\nimport { RelatedCards } from '../components/RelatedCards';\nimport { FaqQuestions } from '../components/FaqQuestions';\nimport { HeaderSection } from '../components/HeaderSection';\nimport { Templates } from '../components/Templates/Templates';\nimport { Testimonials } from '../components/Testimonials/Testimonials';\nimport { BlogRelatedArticles } from '../components/BlogRelatedArticles';\nimport { SectionBlockRenderer } from '../components/SectionBlockRenderer';\nimport { MultipleContent } from '../components/MultipleContent/MultipleContent';\nimport { Breadcrumb } from '../components/Breadcrumb';\nimport { Rating } from '../components';\n\nexport const clearSpecialChars = (text = '') => {\n const specialChars = [{ encoded: '&', replaceWith: '&' }, { encoded: ' ', replaceWith: ' ' }];\n let result = text;\n specialChars.forEach(({ encoded, replaceWith }) => {\n result = result.replaceAll(encoded, replaceWith);\n });\n return result;\n};\n\nexport const handleWrapSectionBlocks = (landingPageElement = []) => {\n const wrappedPageElements = [];\n landingPageElement.forEach(element => {\n const { type = '', data = {} } = element;\n const isTextSection = type === 'text' || data?.class?.shrink === 'shrink';\n if (!isTextSection) {\n wrappedPageElements.push(element);\n } else {\n const lastElement = wrappedPageElements[wrappedPageElements.length - 1];\n if (lastElement && Array.isArray(lastElement) && lastElement.length < 2) {\n lastElement.push(element);\n } else {\n wrappedPageElements.push([element]);\n }\n }\n });\n\n return wrappedPageElements;\n};\n\nfunction handleCloneGTMAction(templateSlugID = '', cloneActionKey = '') {\n if (!templateSlugID || templateSlugID === '') return;\n if (!cloneActionKey || cloneActionKey === '') return;\n\n // eslint-disable-next-line no-restricted-globals\n const isSlug = isNaN(templateSlugID);\n const templateSourceKey = isSlug ? 'slug' : 'id';\n const payload = { event: cloneActionKey, [templateSourceKey]: templateSlugID };\n if (!window.dataLayer) window.dataLayer = [];\n window.dataLayer.push(payload);\n}\n\nconst getClonePayload = (templateData = {}) => {\n const { source, id } = templateData;\n let clonePayload;\n\n // eslint-disable-next-line no-restricted-globals\n const useID = !isNaN(id);\n switch (true) {\n case ['form-templates', 'form-template'].includes(source):\n const { theme } = templateData;\n return {\n resourceKey: 'form',\n callback: response => {\n const { id: clonedID } = response;\n handleCloneGTMAction(id, 'cloneForm');\n window.location.href = `/build/${clonedID}`;\n },\n payload: {\n theme,\n ...(useID ? { formID: id } : { slug: id }),\n action: 'cloneForm'\n }\n };\n case ['sign-templates', 'sign-template'].includes(source):\n clonePayload = {\n afterCloneRedirect: '/sign/',\n gtmCloneActionKey: 'cloneSignDocument'\n };\n break;\n case ['app-templates', 'app-template'].includes(source):\n return {\n callback: response => {\n const { id: clonedID } = response;\n handleCloneGTMAction(id, 'cloneApp');\n window.location.href = `/app/build/${clonedID}`;\n },\n payload: {\n ...(useID ? { id } : { slug: id })\n }\n };\n case ['approval-templates', 'approval-template'].includes(source):\n clonePayload = {\n afterCloneRedirect: '/workflow/',\n gtmCloneActionKey: 'cloneApproval'\n };\n break;\n case ['table-templates', 'table-template'].includes(source):\n clonePayload = {\n afterCloneRedirect: '/tables/',\n gtmCloneActionKey: 'cloneTable',\n payload: {\n ...(useID ? { id } : { slug: id })\n },\n callback: response => {\n const { id: clonedID } = response;\n handleCloneGTMAction(id, 'cloneTable');\n window.location.href = `/tables/${clonedID}`;\n }\n };\n break;\n case ['report-templates', 'report-template'].includes(source):\n clonePayload = {\n afterCloneRedirect: '/reports/',\n gtmCloneActionKey: 'cloneTable'\n };\n break;\n default:\n break;\n }\n return clonePayload;\n};\n\nexport const handleCloneTemplate = (templateData = {}, setCloneLoading = f => f, finallyCalback = f => f) => {\n setCloneLoading(true);\n const { source, id: templateID } = templateData;\n let templateSource = source;\n switch (templateSource) {\n case 'form-template':\n templateSource = 'form-templates';\n break;\n case 'approval-templates':\n templateSource = 'workflow-templates';\n break;\n default:\n break;\n }\n if (['pdf-templates', 'pdf-template'].includes(templateSource)) {\n window.location.href = `/pdf-editor/new/${templateID}`;\n handleCloneGTMAction(templateID, 'clonePDF');\n return;\n }\n\n const { payload, callback, resourceKey } = getClonePayload(templateData);\n try {\n cloneTemplate(templateSource, payload).then(res => {\n const { data: response = {}, status } = res;\n let resourceData;\n if (resourceKey) {\n ({ [resourceKey]: resourceData = {} } = response);\n } else {\n resourceData = response;\n }\n\n if (status === 400 && (typeof response?.limit)) {\n // this.openFormLimitModal(response.data.limit);\n return false;\n }\n const { id } = resourceData;\n if (status === 200 && id) {\n callback(resourceData);\n }\n finallyCalback();\n });\n } catch (e) {\n console.log('e', e);\n finallyCalback();\n }\n};\n\n// eslint-disable-next-line complexity\nexport const getSectionElementRenderer = type => {\n switch (true) {\n case type === 'testimonials':\n return Testimonials;\n case type.includes('hero-'):\n return Hero;\n case type === 'templates':\n return Templates;\n case type === 'multiple-text':\n return MultipleText;\n case type === 'multiple-content':\n return MultipleContent;\n case type === 'spacer':\n return Spacer;\n case type === 'divider':\n return Divider;\n case type === 'youtube-video':\n return YoutubeVideo;\n case type === 'seo-group':\n return SEOGroup;\n case type === 'highlighted':\n return Highlighted;\n case type === 'header':\n return HeaderSection;\n case type === 'blog-related-articles':\n return BlogRelatedArticles;\n case type === 'faq-content':\n return FaqQuestions;\n case type.includes('embed-'):\n return Iframe;\n case type === 'image-text':\n return ImageText;\n case type === 'text':\n return Text;\n case type === 'breadcrumb':\n return Breadcrumb;\n case type === 'related-cards':\n return RelatedCards;\n case type === 'ratings':\n return Rating;\n case type === 'section-block':\n return SectionBlockRenderer;\n default:\n break;\n }\n};\n\n// eslint-disable-next-line no-var, vars-on-top\nexport const MD5 = function(d){var r = M(V(Y(X(d), 8 * d.length)));return r.toLowerCase();};function M(d){for(var _,m=\"0123456789ABCDEF\",f=\"\",r=0;r<d.length;r++)_=d.charCodeAt(r),f+=m.charAt(_>>>4&15)+m.charAt(15&_);return f}function X(d){for(var _=Array(d.length>>2),m=0;m<_.length;m++)_[m]=0;for(m=0;m<8*d.length;m+=8)_[m>>5]|=(255&d.charCodeAt(m/8))<<m%32;return _}function V(d){for(var _=\"\",m=0;m<32*d.length;m+=8)_+=String.fromCharCode(d[m>>5]>>>m%32&255);return _}function Y(d,_){d[_>>5]|=128<<_%32,d[14+(_+64>>>9<<4)]=_;for(var m=1732584193,f=-271733879,r=-1732584194,i=271733878,n=0;n<d.length;n+=16){var h=m,t=f,g=r,e=i;f=md5_ii(f=md5_ii(f=md5_ii(f=md5_ii(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_hh(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_gg(f=md5_ff(f=md5_ff(f=md5_ff(f=md5_ff(f,r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+0],7,-680876936),f,r,d[n+1],12,-389564586),m,f,d[n+2],17,606105819),i,m,d[n+3],22,-1044525330),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+4],7,-176418897),f,r,d[n+5],12,1200080426),m,f,d[n+6],17,-1473231341),i,m,d[n+7],22,-45705983),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+8],7,1770035416),f,r,d[n+9],12,-1958414417),m,f,d[n+10],17,-42063),i,m,d[n+11],22,-1990404162),r=md5_ff(r,i=md5_ff(i,m=md5_ff(m,f,r,i,d[n+12],7,1804603682),f,r,d[n+13],12,-40341101),m,f,d[n+14],17,-1502002290),i,m,d[n+15],22,1236535329),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+1],5,-165796510),f,r,d[n+6],9,-1069501632),m,f,d[n+11],14,643717713),i,m,d[n+0],20,-373897302),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+5],5,-701558691),f,r,d[n+10],9,38016083),m,f,d[n+15],14,-660478335),i,m,d[n+4],20,-405537848),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+9],5,568446438),f,r,d[n+14],9,-1019803690),m,f,d[n+3],14,-187363961),i,m,d[n+8],20,1163531501),r=md5_gg(r,i=md5_gg(i,m=md5_gg(m,f,r,i,d[n+13],5,-1444681467),f,r,d[n+2],9,-51403784),m,f,d[n+7],14,1735328473),i,m,d[n+12],20,-1926607734),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+5],4,-378558),f,r,d[n+8],11,-2022574463),m,f,d[n+11],16,1839030562),i,m,d[n+14],23,-35309556),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+1],4,-1530992060),f,r,d[n+4],11,1272893353),m,f,d[n+7],16,-155497632),i,m,d[n+10],23,-1094730640),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+13],4,681279174),f,r,d[n+0],11,-358537222),m,f,d[n+3],16,-722521979),i,m,d[n+6],23,76029189),r=md5_hh(r,i=md5_hh(i,m=md5_hh(m,f,r,i,d[n+9],4,-640364487),f,r,d[n+12],11,-421815835),m,f,d[n+15],16,530742520),i,m,d[n+2],23,-995338651),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+0],6,-198630844),f,r,d[n+7],10,1126891415),m,f,d[n+14],15,-1416354905),i,m,d[n+5],21,-57434055),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+12],6,1700485571),f,r,d[n+3],10,-1894986606),m,f,d[n+10],15,-1051523),i,m,d[n+1],21,-2054922799),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+8],6,1873313359),f,r,d[n+15],10,-30611744),m,f,d[n+6],15,-1560198380),i,m,d[n+13],21,1309151649),r=md5_ii(r,i=md5_ii(i,m=md5_ii(m,f,r,i,d[n+4],6,-145523070),f,r,d[n+11],10,-1120210379),m,f,d[n+2],15,718787259),i,m,d[n+9],21,-343485551),m=safe_add(m,h),f=safe_add(f,t),r=safe_add(r,g),i=safe_add(i,e)}return Array(m,f,r,i)}function md5_cmn(d,_,m,f,r,i){return safe_add(bit_rol(safe_add(safe_add(_,d),safe_add(f,i)),r),m)}function md5_ff(d,_,m,f,r,i,n){return md5_cmn(_&m|~_&f,d,_,r,i,n)}function md5_gg(d,_,m,f,r,i,n){return md5_cmn(_&f|m&~f,d,_,r,i,n)}function md5_hh(d,_,m,f,r,i,n){return md5_cmn(_^m^f,d,_,r,i,n)}function md5_ii(d,_,m,f,r,i,n){return md5_cmn(m^(_|~f),d,_,r,i,n)}function safe_add(d,_){var m=(65535&d)+(65535&_);return(d>>16)+(_>>16)+(m>>16)<<16|65535&m}function bit_rol(d,_){return d<<_|d>>>32-_}\n\n// eslint-disable-next-line no-var, vars-on-top\nexport const crc32=function(r){for(var a,o=[],c=0;c<256;c++){a=c;for(let f=0;f<8;f++)a=1&a?3988292384^a>>>1:a>>>1;o[c]=a}for(var n=-1,t=0;t<r.length;t++)n=n>>>8^o[255&(n^r.charCodeAt(t))];return(-1^n)>>>0};\n\nexport const stripHTMLTags = (str = '') => {\n if ((str === null) || (str === '')) return false;\n str = str.toString();\n return str.replace(/(<([^>]+)>)/ig, '');\n};\n","/* eslint-disable max-len */\nimport { createGlobalStyle } from 'styled-components';\nimport { pxToRem } from '../../utils/style-utils';\n\nexport const GlobalStyle = createGlobalStyle`\n $system-font: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"; // stylelint-disable-line\n //jotform.css variables\n :root{--jfv-transparent:transparent;--jfv-current:currentColor;--jfv-white:#ffffff;--jfv-black:#000000;--jfv-blue-100:#edf8ff;--jfv-blue-200:#77cfff;--jfv-blue-300:#4dbefc;--jfv-blue-400:#0099ff;--jfv-blue-500:#0075E3;--jfv-blue-600:#0066c3;--jfv-green-100:#edfed1;--jfv-green-200:#cbfb7b;--jfv-green-300:#a8eb38;--jfv-green-400:#7fca00;--jfv-green-500:#64b200;--jfv-green-600:#529300;--jfv-yellow-100:#fff5d2;--jfv-yellow-200:#ffdc7b;--jfv-yellow-300:#ffc42c;--jfv-yellow-400:#ffb629;--jfv-yellow-500:#f9a400;--jfv-yellow-600:#f49200;--jfv-orange-100:#ffe4cc;--jfv-orange-200:#fec48e;--jfv-orange-300:#ffa34f;--jfv-orange-400:#ff7b1c;--jfv-orange-500:#ff6100;--jfv-orange-600:#e55300;--jfv-red-100:#fef2f2;--jfv-red-200:#fecaca;--jfv-red-300:#f87171;--jfv-red-400:#dc2626;--jfv-red-500:#c90909;--jfv-red-600:#ab0101;--jfv-purple-100:#f3e2ff;--jfv-purple-200:#e0b7fd;--jfv-purple-300:#bf78f0;--jfv-purple-400:#9c4dd3;--jfv-purple-500:#892dca;--jfv-purple-600:#6915a4;--jfv-navy-10:#F9F9FF;--jfv-navy-25:#F3F3FE;--jfv-navy-50:#E3E5F5;--jfv-navy-75:#dadef3;--jfv-navy-100:#c8ceed;--jfv-navy-200:#979dc6;--jfv-navy-300:#6C73A8;--jfv-navy-400:#454e80;--jfv-navy-500:#343c6a;--jfv-navy-600:#252d5b;--jfv-navy-700:#0a1551;--jfv-navy-800:#091141;--jfv-navy-900:#050c34;--jfv-gray-25:#F1F1F4;--jfv-gray-50:#E2E3E9;--jfv-gray-75:#D3D6DE;--jfv-gray-100:#BFC3CE;--jfv-gray-200:#A0A6B6;--jfv-gray-300:#7F859C;--jfv-gray-400:#4C536F;--jfv-gray-500:#434A60;--jfv-gray-600:#33384a;--jfv-gray-700:#292D3C;--jfv-gray-800:#131620;--jfv-gray-900:#08090B;--jfv-analytics-light:#B9BEDF;--jfv-analytics-default:#8F96CC;--jfv-analytics-dark:#737CBF;--jfv-approvals-light:#008F75;--jfv-approvals-default:#007862;--jfv-approvals-dark:#006653;--jfv-apps-light:#bf78f0;--jfv-apps-default:#9c4dd3;--jfv-apps-dark:#892dca;--jfv-forms-light:#ff7b1c;--jfv-forms-default:#ff6100;--jfv-forms-dark:#e55300;--jfv-inbox-light:#59BED2;--jfv-inbox-default:#249BB4;--jfv-inbox-dark:#1989A0;--jfv-pages-light:#5887BF;--jfv-pages-default:#034F96;--jfv-pages-dark:#03294C;--jfv-pdf-light:#628EFF;--jfv-pdf-default:#3E62C8;--jfv-pdf-dark:#2F4EAD;--jfv-reports-light:#728DDD;--jfv-reports-default:#5369AB;--jfv-reports-dark:#344067;--jfv-sign-light:#94CD2A;--jfv-sign-default:#7BB60F;--jfv-sign-dark:#6DA900;--jfv-tables-light:#37C768;--jfv-tables-default:#049E38;--jfv-tables-dark:#007B2A;--jfv-teams-light:#303C77;--jfv-teams-default:#18235C;--jfv-teams-dark:#0C1540}\n //<END> jotform.css variables\n\n :root {\n -webkit-overflow-scrolling: touch;\n font-size: 16px;\n font-family: Circular, $system-font;\n font-variant-numeric: lining-nums;\n -webkit-font-feature-settings: \"lnum\";\n font-feature-settings: \"lnum\";\n -webkit-overflow-scrolling: touch;\n -webkit-font-variant-ligatures: no-common-ligatures;\n font-variant-ligatures: no-common-ligatures;\n --title-size: ${pxToRem(42)};\n --title-small-size: ${pxToRem(32)};\n --title-xsmall-size: ${pxToRem(22)};\n --title-xxsmall-size: ${pxToRem(20)};\n --decripton-xsmall-size: ${pxToRem(16)};\n --decripton-small-size: ${pxToRem(18)};\n --decripton-size: ${pxToRem(20)};\n --badge-size: ${pxToRem(16)};\n --pad: clamp(1rem, 3vw, 3rem);\n --container-width: ${pxToRem(1200)};\n --jfv-pink-300: #e111da;\n --jfv-purple-custom: #AF70FB;\n @media screen and (max-width: 768px) {\n font-size: 14px;\n --pad: clamp(1rem, 5vw, 3rem);\n }\n }\n\n header.jfHeader .jfHeader-hamburger .hamburger-wrapper .bar:before, header.jfHeader .jfHeader-hamburger .hamburger-wrapper .bar:after {\n background-color: var(--jfv-navy-700);\n }\n //common options\n .jflb--wrapper {\n width: 100%;\n }\n .jflb--sec {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n padding: ${props => (!((props.isHeroText || props.isHeroVideo) && props.environment === 'builder') ? 'var(--pad)' : '0')};\n &:first-child.embed-iframe {\n padding: 0 calc(var(--pad) / 2) !important;\n }\n .jflb--shrinked-container & {\n width: 50%;\n padding: 0;\n @media screen and (max-width: 768px) {\n width: 100%;\n }\n }\n .actions--group {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n gap: ${pxToRem(4)};\n }\n }\n .swiper {\n width: 100%\n }\n`;\n","import React from 'react';\n\nexport class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n componentDidCatch() {\n this.setState({ hasError: true });\n }\n\n render() {\n const { state, props } = this;\n const { hasError } = state;\n // eslint-disable-next-line react/prop-types\n const { children } = props;\n if (hasError) {\n return null;\n }\n return children;\n }\n}\n","import '@jotforminc/router-bridge/init';\n\nimport React from 'react';\nimport { createRoot, hydrateRoot } from 'react-dom/client';\nimport {\n GlobalStyle, handleWrapSectionBlocks, getSectionElementRenderer, SectionBlockRenderer\n} from '@jotforminc/page-builder-components';\nimport { ErrorBoundary } from './ErrorBoundry';\n\nconst pageBuilderWrapperEl = document.querySelector('#pageBuilderWrapper');\nconst rootEl = document.getElementById('root');\n\nconst {\n pageElements, userType, slug, title: pageTitle, isDirectory\n} = window.__pageBuilderProps;\n\nconst processedPageElements = pageElements.map(element => {\n const subElements = element.data.elements;\n if (!subElements || Array.isArray(subElements)) return element;\n return ({ ...element, data: { ...element.data, elements: Object.values(subElements) } });\n});\nconst wrappedPageElements = handleWrapSectionBlocks(processedPageElements);\nconst filteredPageElements = wrappedPageElements.filter(element => !element?.data?.hiddenSection);\n\nconst LandingRenderer = () => {\n return (\n <>\n <GlobalStyle isDirectory={false} environment='landing' />\n {\n filteredPageElements.map((element, index) => {\n const isSectionBlock = Array.isArray(element);\n const isFirstHero = (\n !isSectionBlock\n && element?.type.includes('hero-')\n && filteredPageElements.find(pageEl => (!Array.isArray(pageEl) && pageEl?.type.includes('hero-'))) === element\n );\n\n const { data = {}, type = 'section-block' } = isSectionBlock ? {} : element;\n const ElementRenderer = getSectionElementRenderer(type);\n\n if (ElementRenderer) {\n if (isSectionBlock) {\n return (\n <SectionBlockRenderer>\n { element.map((sectionElement, sectionIndex) => {\n const SectionElementRenderer = getSectionElementRenderer(sectionElement.type);\n if (!ElementRenderer) return null;\n return (\n <ErrorBoundary>\n <SectionElementRenderer\n // eslint-disable-next-line react/no-array-index-key\n key={sectionIndex}\n slug={slug}\n isWrapped={true}\n userType={userType}\n pageTitle={pageTitle}\n isDirectory={isDirectory}\n elementKey={sectionElement?.type}\n {...sectionElement.data}\n />\n </ErrorBoundary>\n );\n }) }\n </SectionBlockRenderer>\n );\n }\n return (\n <ErrorBoundary>\n <ElementRenderer\n {...data}\n slug={slug}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n sections={element}\n elementKey={type}\n userType={userType}\n pageTitle={pageTitle}\n isDirectory={isDirectory}\n isFirstHero={isFirstHero}\n />\n </ErrorBoundary>\n );\n }\n return null;\n })\n }\n </>\n );\n};\n\nif (pageBuilderWrapperEl) {\n hydrateRoot(pageBuilderWrapperEl, <LandingRenderer />);\n} else {\n const root = createRoot(rootEl);\n root.render(<LandingRenderer />);\n}\n"],"names":["translation","t","getRouterValue","key","defaultValue","get","window","getBaseURL","getRootPath","__webpack_public_path__","normalizedKeyMap","undefined","delay","fn","ms","Promise","resolve","setTimeout","retry","maxAttempts","delayMs","execute","attempt","nextAttempt","mapRequest","obj","Object","TTLCache","Date","request","url","rest","JSON","response","shouldAttempt","cacheItem","reject","item","ttl","Map","argumentParser","method","args","config","data","constructInterceptorConfig","interceptorConfig","InterceptorHandler","ctx","interceptor","interceptors","createDefaultInterceptors","reqInterceptors","resInterceptors","resFailedInterceptors","isCrossOrigin","origin","axiosNormalizer","_ctx_interceptorConfig","resp","engineResponseNormalizer","PlatformTypes","AllowedPlatforms","makeFeatureReducer","initialState","state","action","composeEnhancers","compose","FeatureFlag","createStore","featureList","featureName","featureValue","feature","_this_store_getState_featureName","console","global","cache","isPlatformEnv","platformEnv","isAllowedPlatform","getPlatformEnv","getValidURL","baseURL","URL","e","appendRootPath","pathname","rootPath","interceptURLForWorkflowRelease","_window","pathnames","Boolean","prepareURLWithRoot","urlString","urlObject","shouldRedirectToSessionExpired","redirectURL","handleCustomNavigation","target","dontOverwrite","windowFeatures","isMobileApp","featureFlag","salesforceResponseFailedInterceptors","isSalesforcePlatform","_ctx_resp_config","_ctx_resp_config1","_ctx_resp_data","_ctx_resp_data1","requestInterceptors","apiKey","objToFormData","prefix","formData","FormData","keyName","responseInterceptors","defaultRequestInterceptors","defaultResponseSuccessInterceptors","defaultResponseFailedInterceptors","setInterceptors","_config_customRequestInterceptors","_config_customResponseInterceptors","preRequestInterceptors","postRequestInterceptors","postRequestFailedInterceptors","defaultValidation","status","ENGINES","AxiosEngine","axios","mapAxiosResponse","awaitedEngineResp","isAxiosError","layer","RequestLayer","_this_configs","_this_configs1","_this_interceptors_preRequest","_this_ttlCache","_this_interceptors_postFailedRequest","_this_interceptors_postRequest","_this_ttlCache1","modifiedInterceptorConfig","req","shouldCacheRun","cacheRequest","cachedResponse","engineResponse","customMethod","teamID","_this_configs_interceptorConfig","configs","engineName","_configs_interceptorConfig","_configs_interceptorConfig1","_resp_data","formDataCreator","dataObj","paramKey","paramValue","clearTranslationMarkup","elements","textParents","selectParents","el","elc","originalSize","originalMultiple","addTranslationMarkup","initial","parent","currentStyle","searchTextInDOM","texts","classesToBeFiltered","rgx","child","prev","curr","isInViewport","elementRect","windowHeight","windowWidth","scrollX","scrollY","getTextContents","Translation","Array","langCode","dictionary","code","strings","str","foundStrings","textContents","isUndefined","Polyglot","params","translated","variables","strVar","variableName","options","screenshots","emptyIndexes","index","filteredStrings","filteredScreenshots","ss","clearTimeout","node","decodeURI","foundElements","orderedFoundElements","elementsToProcess","untranslatedToPost","ssDataAll","submitPromises","depthCount","depthLabel","Axios","qs","foundElement","visibilityResult","capturedData","domtoimage","filteredNodeClass","classStr","dataUrl","langCodes","partialTranslations","path","DEFAULT_LANGUAGE","isProduction","_global_window___jfrouter","_global_window1","encodedAndProcessedStrings","processTranslation","string","_string_replace","transformPhrase","buffer","TextEncoder","Uint8Array","x","encodeUsedTranslations","translations","encoded","raw","q","error","collectionTimer","year","month","day","hours","now","startDate","endDate","unlocalizeOriginHref","_Object_keys","shortLangCodes","exp","RegExp","preapreTtime","hour","minute","hourVal","minuteVal","i1","parseInt","tempDate","isNaN","prepareControlModeChange","controlMode","err","Error","prepareAddTranslationToDictionary","translationData","clearedDic","dic","entry","generateDictionaryURL","sanitizedCode","Math","loadDictionaryViaTag","tmpScriptTag","loadDictionaryViaFetch","fetch","r","prepareAddDictionary","partialDictionaryName","_global_window_location","_global1","addTranslationToDictionary","partialDictionaryPath","loadMethod","sendUsedTranslationsInterval","isNil","setInterval","_global_Translations_encodedAndProcessedStrings","_global_Translations_usedTranslations","_global_location","finishInterval","clearInterval","res","_res_data","_this","initializeTranslationFromGlobal","_global_window_Locale","addDictionary","controlModeChange","String","pxToRem","px","formatTextAlign","textAlign","alignItems","marginAlign","ScButton","styled","showOverlay","keyframes","ModalWrapper","Styled","ModalContainer","props","ModalHeader","ModalTitleWrapper","ModalTitleTextWrapper","ModalTitle","ModalSubtitle","ModalContent","ModalCloseButton","Modal","children","closeModal","customClass","isOpen","showHeader","title","subtitle","contentPadding","overFlowY","customMaxWidth","customHeight","disableClickOutside","useEffect","handleEsc","event","IconXmark","PropTypes","Portal","container","React","document","ReactDOM","YoutubeEmbedVideoModal","setIsModalOpen","videoID","f","func","ScImportModalContent","ScImportBtnWrapper","ScDemoArea","ImportFormModal","formID","modalTitle","importForm","newID","Link","CustomModalContentRenderer","source","text","attribute","pageTitle","slug","sectionClass","customCTAText","setCustomCTAText","useState","isModalOpen","isCustomButton","customBtnAttributeKeys","defaultCustomActionHandler","crc32","MD5","clearAttributeValue","attributeValue","customModalProps","splitedAttributes","attr","dataTemplateType","dataTemplateID","handleCloneTemplate","titleValue","stripHTMLTags","Image","disableLazyLoad","object","bool","jfPulse","ScReplay","ScVideo","Video","poster","playing","setPlaying","videoRef","useRef","handlePlayVideo","IconTriangleCircleFilled","sizeTypes","BaseTitle","ScTitleH1","ScTitleH2","Title","isFirstHero","size","level","className","weight","isDirectory","ScTitleLevel","TitleRenderer","clearSpecialChars","ScBrowserBar","ScTemplate","FormTemplate","screenshot","theme","id","backgroundColor","BrowserBar","getScrollableHeightOfElement","element","parentElement","distance","PdfTemplate","hovered","setHovered","translateY","setTranslateY","AppTemplate","date","currentTime","TableTemplate","ApprovalTemplate","ReportTemplate","cloneLoading","setCloneLoading","templateSource","ScButtonBTag","flexDirection","ScRow","heroTextGroupWidth","ScCol","ScDecription","Description","description","Multitext","FaqAnswer","question","answer","activeQuestions","setActiveQuestions","searchValue","isActive","isSearchActive","isActiveQuestion","handleToggleFaqAnswer","query","IconMinus","IconPlus","answerItem","tempDiv","li","arrayOf","jfHeroScrollDown","ScScrollDown","handleClickScrollDown","secondSection","wrapper","IconAngleDown","ScYoutubeIcon","YoutubeIcon","IconYoutubeFilled","ScYoutubeEmbed","YoutubeEmbed","ScCard","Card","link","ScContentItem","ScContentImage","Content","contentImage","imageWidth","linkElements","type","SubelementRenderer","number","Subelement","values","ScrollDown","Template","ScText","Text","ScSpacer","Spacer","height","ScContainer","ScIframe","Iframe","maxWidth","iframeID","elementKey","environment","src","lowerElementKey","iframeSrc","appID","tableID","isFullWidth","isAppSupaDemoURL","iframeComponent","buttonCVA","cva","primary","secondary","buttonTextCVA","buttonIconCVA","buttonIndicatorCVA","indicatorCVA","Indicator","colorStyle","invert","indicatorClassName","cx","hasChildren","ButtonText","showTextOnHover","showTextOnly","loader","hasLoaderText","ButtonIcon","Icon","ButtonIndicator","indicatorText","variant","indicatorColorStyle","loaderCVA","loaderTrackCVA","loaderSpinnerCVA","loaderDefaultProps","Loader","_ref","loaderClassName","PRODUCT_NAME_VALUES","GRID_TRACK_VALUES","Button","forwardRef","ref","disabled","EndIcon","fullWidth","href","loaderText","rounded","StartIcon","Component","hasOneIcon","hasDoubleIcon","hasIndicator","buttonVariant","isProductButton","buttonLoader","buttonText","hasText","buttonClassName","loaderComponent","loaderContent","buttonContent","ScTrioButtons","showModal","actionGroupElementKeys","mediaGroupElementKeys","defaultSources","filterActionGroupElements","isDefaultSource","filterMediaGroupElements","filterDefaultAssets","padding","ScHero","Hero","elementData","heading","isWrapped","guestSignup","userType","isHeroText","isHeroVideo","mediaGroupElements","scrollDownElement","reverse","shrink","hasMediaGroup","subElementProps","ComponentContent","Descripton","showTrioButtons","isGuest","TrioButtons","ScDividerSection","ScDividerContainer","Divider","lineColor","spaceAbove","spaceBelow","dividerSize","dividerStyle","horizontalSpace","ScSeoGroup","ScSeoGroupLinks","ScSeoGroupShowMore","SEOGroup","linkContentRef","seeMoreActive","setSeeMoreActive","seeMoreToggle","setSeeMoreToggle","contentMaxHeight","setContentMaxHeight","linkContentEl","boxHeight","maxHeightLimit","gapHeight","wrapperClientHeight","ScBadge","Badge","showBadgeIcon","badgeIcon","hasBadge","IconTagPercentFilled","ScImageText","ImageText","badgeText","showBadge","hasMediaGroupElement","darkMode","ScHighlighted","Highlighted","ScMultipleText","MultipleText","ScYoutubeVideoSection","YoutubeVideo","classObj","sectionClassName","actionsGroupElements","ScRelatedCards","ScRelatedCardsContent","RelatedCards","ScFaqSection","ScFaqSectionFilter","ScFaqSectionFilterInput","FaqQuestions","visibleAll","searchable","isSearchable","isVisibleAll","processedFAQQuestions","setProcessedFAQQuestions","setSearchValue","searchChangeCount","setSearchChangeCount","viewMoreEnabled","setViewMoreEnabled","faqAnswers","faqAnswer","convertedHTML","answersArr","paragraph","filteredAnswers","lowerSearchValue","IconMagnifyingGlass","value","ScHeader","HeaderSection","ScTemplates","Templates","actionElements","TestimonialElement","content","name","job","company","ScTestimonial","Testimonials","_window___pageBuilderProps","initialActiveSubelement","lastInteractedSubElement","slideshowSpeed","autoPlayDelay","Swiper","Pagination","Autoplay","testimonialElement","SwiperSlide","ScBlogArticle","BlogRelatedArticles","tag","dontRender","setDontRender","blogArticles","setBlogArticles","findCurrentLangPath","paths","getBlogRelatedArticles","langPath","Navigation","blogArticle","image","SectionBlockRenderer","ScContentElementWrapper","MultipleContent","rowGap","columnGap","columnSize","contentElements","ScBreadcrumb","Breadcrumb","directory","category","landing","RatingWrapper","StarWrapper","SVGStar","Star","rating","starPath","starsArray","_","i","starValue","star","ScRating","Rating","showRating","logoSrc","ratingScore","elTitle","result","specialChars","replaceWith","handleCloneGTMAction","templateSlugID","cloneActionKey","isSlug","getClonePayload","templateData","clonePayload","useID","clonedID","finallyCalback","templateID","payload","callback","resourceKey","templateType","cloneData","cloneTemplate","resourceData","getSectionElementRenderer","d","M","m","V","Y","n","h","g","md5_ii","md5_hh","md5_gg","md5_ff","safe_add","X","md5_cmn","bit_rol","a","o","c","GlobalStyle","createGlobalStyle","ErrorBoundary","hasError","pageBuilderWrapperEl","rootEl","pageElements","filteredPageElements","wrappedPageElements","handleWrapSectionBlocks","landingPageElement","_data_class","lastElement","subElements","_element_data","LandingRenderer","isSectionBlock","pageEl","ElementRenderer","sectionElement","sectionIndex","SectionElementRenderer","hydrateRoot","root","createRoot"],"mappings":"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,CACX,SAAU,CACR,KAAM,gBACN,MAAO,qBACT,EACA,MAAO,CACL,KAAM,iBACN,MAAO,sBACT,EACA,OAAQ,CACN,KAAM,iBACN,MAAO,sBACT,EACA,KAAM,CACJ,KAAM,iBACN,MAAO,sBACT,EACA,QAAS,CACP,KAAM,iBACN,MAAO,sBACT,CACF,KAEmB,CACjB,SAAU,CACR,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,MAAO,CACL,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,OAAQ,CACN,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,KAAM,CACJ,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,QAAS,CACP,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,CACF,KAEe,CACb,MAAO,CACL,KAAM,iBACN,MAAO,sBACT,EACA,OAAQ,CACN,KAAM,kBACN,MAAO,uBACT,EACA,KAAM,CACJ,KAAM,kBACN,MAAO,uBACT,EACA,QAAS,CACP,KAAM,kBACN,MAAO,uBACT,CACF,KAEe,CACb,SAAU,CACR,GAAI,CACF,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,OAAQ,CACN,KAAM,kBACN,MAAO,wBACP,YAAa,+BACb,MAAO,uBACT,EACA,MAAO,CACL,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,CACF,EACA,MAAO,CACL,GAAI,CACF,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,OAAQ,CACN,KAAM,kBACN,MAAO,wBACP,YAAa,+BACb,MAAO,uBACT,EACA,MAAO,CACL,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,CACF,EACA,QAAS,CACP,GAAI,CACF,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,OAAQ,CACN,KAAM,kBACN,MAAO,wBACP,YAAa,+BACb,MAAO,uBACT,EACA,MAAO,CACL,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,CACF,EACA,KAAM,CACJ,GAAI,CACF,KAAM,cACN,MAAO,oBACP,YAAa,2BACb,MAAO,mBACT,EACA,OAAQ,CACN,KAAM,kBACN,MAAO,wBACP,YAAa,+BACb,MAAO,uBACT,EACA,MAAO,CACL,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,CACF,CACF,KAEgB,CACd,SAAU,CACR,GAAI,CACF,KAAM,eACN,MAAO,oBACT,EACA,OAAQ,CACN,KAAM,mBACN,MAAO,wBACT,EACA,MAAO,CACL,KAAM,kBACN,MAAO,uBACT,CACF,EACA,MAAO,CACL,GAAI,CACF,KAAM,eACN,MAAO,oBACT,EACA,OAAQ,CACN,KAAM,mBACN,MAAO,wBACT,EACA,MAAO,CACL,KAAM,kBACN,MAAO,uBACT,CACF,EACA,QAAS,CACP,GAAI,CACF,KAAM,eACN,MAAO,oBACT,EACA,OAAQ,CACN,KAAM,mBACN,MAAO,wBACT,EACA,MAAO,CACL,KAAM,kBACN,MAAO,uBACT,CACF,EACA,KAAM,CACJ,GAAI,CACF,KAAM,eACN,MAAO,oBACT,EACA,OAAQ,CACN,KAAM,mBACN,MAAO,wBACT,EACA,MAAO,CACL,KAAM,kBACN,MAAO,uBACT,CACF,CACF,KAEc,CACZ,SAAU,CACR,GAAI,CACF,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,OAAQ,CACN,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,EACA,MAAO,CACL,KAAM,gBACN,MAAO,sBACP,YAAa,6BACb,MAAO,qBACT,CACF,EACA,MAAO,CACL,GAAI,CACF,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,OAAQ,CACN,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,EACA,MAAO,CACL,KAAM,gBACN,MAAO,sBACP,YAAa,6BACb,MAAO,qBACT,CACF,EACA,QAAS,CACP,GAAI,CACF,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,OAAQ,CACN,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,EACA,MAAO,CACL,KAAM,gBACN,MAAO,sBACP,YAAa,6BACb,MAAO,qBACT,CACF,EACA,KAAM,CACJ,GAAI,CACF,KAAM,aACN,MAAO,mBACP,YAAa,0BACb,MAAO,kBACT,EACA,OAAQ,CACN,KAAM,iBACN,MAAO,uBACP,YAAa,8BACb,MAAO,sBACT,EACA,MAAO,CACL,KAAM,gBACN,MAAO,sBACP,YAAa,6BACb,MAAO,qBACT,CACF,CACF,KC9UmB,CACjB,SAAU,CACR,KAAM,cACN,MAAO,mBACT,EACA,MAAO,CACL,KAAM,cACN,MAAO,mBACT,EACA,OAAQ,CACN,KAAM,cACN,MAAO,mBACT,EACA,KAAM,CACJ,KAAM,cACN,MAAO,mBACT,EACA,QAAS,CACP,KAAM,cACN,MAAO,mBACT,CACF,ECrBO,IAAM8H,GAAYC,AAAAA,CAAAA,EAAAA,GAAAA,CAAAA,AAAAA,EAHM,kKAGqC,CAClE,SAAU,CACR,KAAM,CACJ,MAAO,WACP,OAAQ,cACR,MAAO,WACT,EACA,QAAS,CACP,KAAM,cACN,MAAO,QACT,EACA,UAAW,CACT,KAAM,QACR,EACA,QAAS,CACP,MAAO,WACP,OAAQ,WACR,QAAS,QACX,EACA,gBAAiB,CACf,KAAM,OACR,EACA,OAAQ,CACN,KAAM,qBACR,EACA,SAAU,CACR,KAAM,gCACN,MAAO,gBACT,EACA,WAAY,CAAC,EACb,aAAc,CAAC,EACf,cAAe,CAAC,EAChB,cAAe,CAAC,EAChB,WAAY,CAAC,EACb,YAAa,CAAC,EACd,MAAO,CAAC,CACV,EACA,iBAAkB,CAIhB,CACE,QAAS,UACT,YAAa,GACb,WAAY,GACZ,KAAM,QACN,UAAW,KACb,EACA,CACE,QAAS,UACT,YAAa,GACb,WAAY,GACZ,KAAM,SACN,UAAW,MACb,EACA,CACE,QAAS,UACT,YAAa,GACb,WAAY,GACZ,KAAM,QACN,UAAW,MACb,EAIA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,eACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,eACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,eACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,eACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,eACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,MACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,SACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,SACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,SACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,SACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,SACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,MACd,KAAM,SACN,UAAW,iBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,KACd,KAAM,QACN,UAAW,gBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,aAAc,MACd,KAAM,QACN,UAAW,iBACb,EAIA,CACE,QAAS,UACT,WAAY,GACZ,gBAAiB,GACjB,KAAM,QACN,UAAW,kBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,gBAAiB,GACjB,KAAM,SACN,UAAW,mBACb,EACA,CACE,QAAS,UACT,WAAY,GACZ,gBAAiB,GACjB,KAAM,QACN,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AM,SACN,YAAa,GACb,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,YAAa,GACb,UAAW,gBACb,EAEA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,SACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EAEA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,SACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EAEA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,SACN,UAAW,gBACb,EACA,CACE,aAAc,KACd,cAAe,GACf,KAAM,QACN,UAAW,gBACb,EAEA,CACE,aAAc,MACd,cAAe,GACf,KAAM,QACN,UAAW,iBACb,EACA,CACE,aAAc,MACd,cAAe,GACf,KAAM,SACN,UAAW,iBACb,EACA,CACE,aAAc,MACd,cAAe,GACf,KAAM,QACN,UAAW,iBACb,EACA,CACE,KAAM,QACN,WAAY,GACZ,cAAe,GACf,YAAa,GACb,UAAW,OACb,EACA,CACE,KAAM,SACN,WAAY,GACZ,cAAe,GACf,YAAa,GACb,UAAW,OACb,EACA,CACE,KAAM,QACN,WAAY,GACZ,cAAe,GACf,YAAa,GACb,UAAW,OACb,EACD,AACH,GAEaE,GAAgBH,AAAAA,CAAAA,EAAAA,GAAAA,CAAAA,AAAAA,EAAuB,GAAI,CACtD,SAAU,CACR,KAAM,CACJ,MAAO,eACP,OAAQ,eACR,MAAO,cACT,EACA,gBAAiB,CACf,KAAM,8CACR,EACA,aAAc,CACZ,GAAI,YACJ,GAAI,YACJ,GAAI,YACJ,GAAI,YACJ,GAAI,YACJ,IAAK,YACP,EACA,OAAQ,CAAC,EACT,cAAe,CAAC,EAChB,YAAa,CAAC,CAChB,EACA,iBAAkB,CAChB,CACE,aAAc,CAAC,KAAM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"}