@bigbinary/neeto-molecules 4.0.130 → 4.0.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AuditLogs.js +4 -4
- package/dist/AuditLogs.js.map +1 -1
- package/dist/Breadcrumbs.js +2 -2
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Builder.js +15 -22
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +5 -6
- package/dist/CalendarView.js.map +1 -1
- package/dist/CardLayout.js +0 -1
- package/dist/CardLayout.js.map +1 -1
- package/dist/{Chevron-Cat_oK6Q.js → Chevron-CvDNGT0i.js} +9 -10
- package/dist/Chevron-CvDNGT0i.js.map +1 -0
- package/dist/Codeblock.js +3 -5
- package/dist/Codeblock.js.map +1 -1
- package/dist/{Columns-CsOYfWFt.js → Columns-D51hN86M.js} +8 -9
- package/dist/Columns-D51hN86M.js.map +1 -0
- package/dist/Columns.js +1 -1
- package/dist/ConfigurePageSidebar.js +2 -3
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/ConfirmationModal.js +2 -2
- package/dist/ConfirmationModal.js.map +1 -1
- package/dist/CopyToClipboardButton.js +1 -2
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/DeleteArchiveModal.js +5 -7
- package/dist/DeleteArchiveModal.js.map +1 -1
- package/dist/DeviceIncompatibilityMessage.js +0 -1
- package/dist/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/DocumentEditor.js +3 -3
- package/dist/DocumentEditor.js.map +1 -1
- package/dist/DynamicVariables.js +4 -6
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +4 -5
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +4 -5
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js +1 -1
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/EmojiReactions.js +1 -1
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/ErrorPage.js +5 -5
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FileUpload.js +9 -10
- package/dist/FileUpload.js.map +1 -1
- package/dist/FloatingActionMenu.js +19 -38
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/Header.js +1 -3
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +1 -5
- package/dist/HelpPopover.js.map +1 -1
- package/dist/IconPicker.js +2 -3
- package/dist/IconPicker.js.map +1 -1
- package/dist/Insights.js +3 -6
- package/dist/Insights.js.map +1 -1
- package/dist/IntegrationCard.js +10 -12
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IpRestriction.js +11 -13
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +3 -4
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +3 -6
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +0 -1
- package/dist/MadeWith.js.map +1 -1
- package/dist/MenuBar.js +6 -6
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +4 -7
- package/dist/Metadata.js.map +1 -1
- package/dist/MobilePreviewHeader.js +1 -1
- package/dist/MobilePreviewHeader.js.map +1 -1
- package/dist/MoreDropdown.js +1 -2
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +1 -6
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +1 -2
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +1 -9
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +6 -22
- package/dist/OptionFields.js.map +1 -1
- package/dist/PageLoader.js +1 -1
- package/dist/PageLoader.js.map +1 -1
- package/dist/PhoneNumber.js +0 -1
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +7 -20
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +1 -12
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +2 -2
- package/dist/PublishYourItem.js.map +1 -1
- package/dist/Rename.js +18 -17
- package/dist/Rename.js.map +1 -1
- package/dist/Schedule.js +16 -20
- package/dist/Schedule.js.map +1 -1
- package/dist/SendToFields.js +1 -5
- package/dist/SendToFields.js.map +1 -1
- package/dist/SessionEnvironment.js +1 -7
- package/dist/SessionEnvironment.js.map +1 -1
- package/dist/Settings.js +8 -9
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +6 -6
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +6 -9
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +5 -21
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +5 -7
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatusDropdown.js +7 -10
- package/dist/StatusDropdown.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +3 -3
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/SubHeader.js +12 -15
- package/dist/SubHeader.js.map +1 -1
- package/dist/Taxonomy.js +3 -5
- package/dist/Taxonomy.js.map +1 -1
- package/dist/ToggleFeatureCard.js +18 -24
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/VersionHistory.js +1 -3
- package/dist/VersionHistory.js.map +1 -1
- package/dist/cjs/AuditLogs.js +4 -4
- package/dist/cjs/AuditLogs.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +2 -2
- package/dist/cjs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/Builder.js +15 -22
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +5 -6
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/CardLayout.js +0 -1
- package/dist/cjs/CardLayout.js.map +1 -1
- package/dist/cjs/{Chevron-ChTcXDNM.js → Chevron-CLyBYgRO.js} +9 -10
- package/dist/cjs/Chevron-CLyBYgRO.js.map +1 -0
- package/dist/cjs/Codeblock.js +3 -5
- package/dist/cjs/Codeblock.js.map +1 -1
- package/dist/cjs/{Columns-DHPNrFgq.js → Columns-7xltEL2z.js} +8 -9
- package/dist/cjs/Columns-7xltEL2z.js.map +1 -0
- package/dist/cjs/Columns.js +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +2 -3
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/ConfirmationModal.js +2 -2
- package/dist/cjs/ConfirmationModal.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +1 -2
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js +5 -7
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js +0 -1
- package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +3 -3
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +4 -6
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +4 -5
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +4 -5
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +1 -1
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js +1 -1
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +5 -5
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FileUpload.js +9 -10
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +19 -38
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Header.js +1 -3
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/HelpPopover.js +1 -5
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js +2 -3
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/Insights.js +3 -6
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IntegrationCard.js +9 -11
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IpRestriction.js +11 -13
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +3 -4
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +3 -6
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MadeWith.js +0 -1
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/MenuBar.js +6 -6
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js +4 -7
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/MobilePreviewHeader.js +1 -1
- package/dist/cjs/MobilePreviewHeader.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +1 -2
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +1 -6
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +1 -2
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +1 -9
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +6 -22
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +1 -1
- package/dist/cjs/PageLoader.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +0 -1
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +7 -20
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +1 -12
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/PublishYourItem.js +2 -2
- package/dist/cjs/PublishYourItem.js.map +1 -1
- package/dist/cjs/Rename.js +18 -17
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/Schedule.js +16 -20
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/SendToFields.js +1 -5
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +1 -7
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/Settings.js +8 -9
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +6 -6
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +6 -9
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +5 -21
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +5 -7
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js +6 -9
- package/dist/cjs/StatusDropdown.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js +3 -3
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js +12 -15
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/Taxonomy.js +3 -5
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +17 -23
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/VersionHistory.js +1 -3
- package/dist/cjs/VersionHistory.js.map +1 -1
- package/package.json +1 -1
- package/types/IntegrationCard.d.ts +1 -1
- package/types/Rename.d.ts +2 -0
- package/types/Settings.d.ts +2 -2
- package/types/ShareViaLink.d.ts +2 -2
- package/types/SubHeader.d.ts +2 -2
- package/types/ToggleFeatureCard.d.ts +3 -3
- package/dist/Chevron-Cat_oK6Q.js.map +0 -1
- package/dist/Columns-CsOYfWFt.js.map +0 -1
- package/dist/cjs/Chevron-ChTcXDNM.js.map +0 -1
- package/dist/cjs/Columns-DHPNrFgq.js.map +0 -1
package/dist/ProductEmbed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductEmbed.js","sources":["../src/components/ProductEmbed/Customization/constants.js","../src/components/ProductEmbed/useProductEmbedStore.js","../src/components/ProductEmbed/utils/html.js","../src/components/ProductEmbed/utils/react.js","../src/components/ProductEmbed/utils/index.js","../src/components/ProductEmbed/Customization/DynamicQueryParams.jsx","../src/components/ProductEmbed/Customization/ElementPopup.jsx","../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../src/components/ProductEmbed/Customization/SwitchOptions.jsx","../src/components/ProductEmbed/Customization/Iframe.jsx","../src/components/ProductEmbed/Customization/Inline.jsx","../src/components/ProductEmbed/Icons.jsx","../src/components/ProductEmbed/constants.js","../src/components/ProductEmbed/Code.jsx","../src/components/ProductEmbed/PlaceholderImages.jsx","../src/components/ProductEmbed/Preview/ElementPopup.jsx","../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../src/components/ProductEmbed/hooks/useIframeHeightReset.js","../src/components/ProductEmbed/Preview/Iframe.jsx","../src/components/ProductEmbed/Preview/Inline.jsx","../src/components/ProductEmbed/Preview/utils.js","../src/components/ProductEmbed/Preview/index.jsx","../src/components/ProductEmbed/EmbedRenderer.jsx","../src/components/ProductEmbed/EmbedSelector.jsx","../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.floatingPopup.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.floatingPopup.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n\nexport const INITIAL_QUERY_PARAM = { name: \"\", value: \"\" };\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { INITIAL_QUERY_PARAM } from \"./Customization/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useProductEmbedStore = create(\n withImmutableActions(set => ({\n isQueryParamsEnabled: false,\n queryParams: [INITIAL_QUERY_PARAM],\n queryParamsProps: {\n helpPopoverProps: {},\n label: \"\",\n keyPlaceholder: \"\",\n valuePlaceholder: \"\",\n addButtonLabel: \"\",\n },\n\n setProductEmbedState: set,\n setQueryParams: queryParams => set({ queryParams }),\n }))\n);\n\nexport default useProductEmbedStore;\n","import { toPairs } from \"ramda\";\n\nimport { buildIframeURL, removeHeightFromStyle } from \".\";\n\nimport { TAB_STRING } from \"../constants\";\n\nconst camelCasedAppName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${camelCasedAppName} = window.${camelCasedAppName} || { embed: function(){(${camelCasedAppName}.q=${camelCasedAppName}.q||[]).push(arguments)} };</script>\n <script async\n src=\"${embedScriptLink}\">\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n${TAB_STRING} env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst embedQueryParam = queryParams =>\n queryParams ? `\\n${TAB_STRING} queryParams: ${queryParams},` : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(\n ([key, value]) => `\\n${TAB_STRING} ${key}: \"${value}\"`\n );\n\nconst inlineEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n queryParams,\n}) => {\n const { elementSelector, dynamicHeight } = customization;\n\n const processedInlineWrapperStyle = dynamicHeight?.value\n ? removeHeightFromStyle(inlineWrapperStyle)\n : inlineWrapperStyle;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"${processedInlineWrapperStyle}\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: \"${iframeStyle}\", ${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return `\n <!-- ${globalProps.appName} floating-popup embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"floatingPopup\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n styles: {\n btnTextColor: \"${btnTextColor}\",\n btnPosition: \"${btnPosition}\",\n btnColor: \"${btnColor}\",\n btnText: \"${btnText}\", ${\n icon ? `\\n${TAB_STRING}${TAB_STRING}showIcon: ${showIcon},` : \"\"\n }\n },${embedQueryParam(queryParams)}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} floating-popup embed code ends -->`;\n};\n\nconst elementPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- This is a demo button, you can use any element on your website instead. -->\n <!-- <button id=\"${elementSelector}\">Click to open popup</button> -->\n\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nconst iframeEmbedCode = ({\n id,\n customization,\n queryParams,\n embedScriptLink,\n}) => {\n const { height, width, iframeTitle, iframeUrl, dynamicHeight } =\n customization;\n\n const iframeSrc = buildIframeURL({ id, iframeUrl, queryParams });\n\n const heightAttribute = dynamicHeight?.value\n ? \"\"\n : `\\n${TAB_STRING}height=\"${height}\"`;\n\n return `\n <!-- ${globalProps.appName} iframe embed code begins -->\n ${\n dynamicHeight?.value && embedScriptLink\n ? embedBaseScript(embedScriptLink)\n : \"\"\n }\n <iframe\n allowfullscreen${heightAttribute}\n width=\"${width}\"\n frameborder=\"0\"\n title=\"${iframeTitle}\"\n src=\"${iframeSrc}\"\n ></iframe>\n <!-- ${globalProps.appName} iframe embed code ends -->`;\n};\n\nexport const htmlCodeGenerators = {\n inline: inlineEmbedCode,\n floatingPopup: floatingPopupEmbedCode,\n elementPopup: elementPopupEmbedCode,\n iframe: iframeEmbedCode,\n};\n","import { toPairs } from \"ramda\";\n\nimport { buildIframeURL, removeHeightFromStyle } from \".\";\n\nimport { TAB_STRING } from \"../constants\";\n\nconst camelCasedAppName = globalProps.appName.replace(/^neeto/i, \"neeto\");\nconst embedFunctionName = `embed${globalProps.appName}`;\n\nconst embedScript =\n scriptLink => `const embedScript = document.createElement(\"script\");\n embedScript.type = \"module\";\n embedScript.src = \"${scriptLink}\";\n embedScript.async = true;\n`;\n\nconst cleanupFunction = `\n return () => {\n embedScript.onload = null;\n if(window.${camelCasedAppName}) window.${camelCasedAppName}.destroy();\n document.body.removeChild(embedScript);\n };`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n${TAB_STRING}${TAB_STRING} env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst embedQueryParam = queryParams =>\n queryParams\n ? `\\n${TAB_STRING}${TAB_STRING} queryParams: ${queryParams},`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(\n ([key, value]) => `\\n${TAB_STRING}${TAB_STRING}${key}: \"${value}\"`\n );\n\nconst parseInlineStyle = styleString =>\n styleString\n .split(\";\")\n .map(rule => {\n const [key, value] = rule.split(\":\").map(s => s.trim());\n\n return key && value ? `${key}: \"${value}\"` : null;\n })\n .filter(Boolean)\n .join(\", \");\n\nconst inlineEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n queryParams,\n}) => {\n const { elementSelector, dynamicHeight } = customization;\n\n const processedInlineWrapperStyle = dynamicHeight?.value\n ? removeHeightFromStyle(inlineWrapperStyle)\n : inlineWrapperStyle;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: \"${iframeStyle}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return (\n <div\n id=\"inline-embed-container\"\n style={{ ${parseInlineStyle(processedInlineWrapperStyle)} }}\n />\n );\n };`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"floatingPopup\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n styles: {\n btnTextColor: \"${btnTextColor}\",\n btnPosition: \"${btnPosition}\",\n btnColor: \"${btnColor}\",\n btnText: \"${btnText}\",${\n icon\n ? `\\n${TAB_STRING}${TAB_STRING}${TAB_STRING}showIcon: ${showIcon},`\n : \"\"\n }\n },${embedQueryParam(queryParams)}${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return <div />;\n };`;\n};\n\nconst elementPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { elementSelector } = customization;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return <button id=\"${elementSelector}\">Click to open popup</button>;\n };`;\n};\n\nconst iframeEmbedCode = ({ customization, id, queryParams }) => {\n const { height, width, iframeTitle, iframeUrl, dynamicHeight } =\n customization;\n\n const iframeSrc = buildIframeURL({ id, iframeUrl, queryParams });\n\n const heightAttribute = dynamicHeight?.value\n ? \"\"\n : `\\n${TAB_STRING}${TAB_STRING} height=\"${height}\"`;\n\n return `\n const App = () => {\n return (\n <>\n {/* ${globalProps.appName} iframe embed code begins */}\n <iframe\n allowFullScreen${heightAttribute}\n width=\"${width}\"\n frameBorder=\"0\"\n title=\"${iframeTitle}\"\n src=\"${iframeSrc}\"\n ></iframe>\n {/* ${globalProps.appName} iframe embed code ends */}\n </>\n );\n };\n`;\n};\n\nexport const reactCodeGenerators = {\n inline: inlineEmbedCode,\n floatingPopup: floatingPopupEmbedCode,\n elementPopup: elementPopupEmbedCode,\n iframe: iframeEmbedCode,\n};\n","import { isEmpty, mergeDeepLeft } from \"ramda\";\n\nimport { htmlCodeGenerators } from \"./html\";\nimport { reactCodeGenerators } from \"./react\";\n\nimport { DEFAULT_CUSTOMIZATION, SWITCH_OPTIONS } from \"../constants\";\n\nexport const buildQueryParams = (\n customization = {},\n existingQueryParams = {}\n) => {\n const activeOptions = Object.keys(SWITCH_OPTIONS).reduce((acc, key) => {\n const value = customization[key]?.value;\n if (value) acc[key] = value;\n\n return acc;\n }, {});\n\n const mergedQueryParams = { ...existingQueryParams, ...activeOptions };\n if (isEmpty(mergedQueryParams)) return \"\";\n\n return JSON.stringify(mergedQueryParams, null, 2)\n .replace(/\\n/g, \" \")\n .replace(/\\s\\s+/g, \" \");\n};\n\nexport const generateCode = options => {\n const { selectedLanguage, type, ...embeddedCodeOptions } = options;\n\n const queryParams = embeddedCodeOptions.customization?.queryParams || {};\n const customization = embeddedCodeOptions.customization || {};\n\n const codeOptions = {\n ...embeddedCodeOptions,\n queryParams: buildQueryParams(customization, queryParams),\n };\n\n return selectedLanguage === \"react\"\n ? reactCodeGenerators[type]?.(codeOptions)\n : htmlCodeGenerators[type]?.(codeOptions);\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n\nexport const buildQueryParamsFromInputFields = inputFields => {\n const filteredInputFields = inputFields.filter(\n ({ name, value }) => name && value\n );\n\n return filteredInputFields.reduce((queryParams, { name, value }) => {\n queryParams[name] = value;\n\n return queryParams;\n }, {});\n};\n\nexport const toCamelCasedString = string =>\n string?.replace(/[_-]+(\\w)/g, (_, nextChar) => nextChar.toUpperCase());\n\nexport const buildIframeURL = ({ id, iframeUrl, queryParams }) => {\n const url = new URL(iframeUrl || `${location.origin}/embed/${id}`);\n\n if (!queryParams) return url.toString();\n\n const parsedQueryParams = JSON.parse(queryParams);\n Object.entries(parsedQueryParams).forEach(([key, value]) => {\n url.searchParams.append(key, value);\n });\n\n return url.toString();\n};\n\nexport const removeHeightFromStyle = style =>\n style.replace(/height\\s*:\\s*[^;]+;?\\s*/g, \"\").trim();\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport { INITIAL_QUERY_PARAM } from \"./constants\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\nimport { buildQueryParamsFromInputFields } from \"../utils\";\n\nconst DynamicQueryParams = ({ updateCustomization }) => {\n const { t } = useTranslation();\n const { queryParamsProps, queryParams, setQueryParams } =\n useProductEmbedStore.pick();\n\n const handleAddQueryParam = () => {\n setQueryParams([...queryParams, INITIAL_QUERY_PARAM]);\n };\n\n const handleRemoveQueryParam = index => {\n const newQueryParams = queryParams.filter((_, i) => i !== index);\n setQueryParams(newQueryParams);\n };\n\n const handleInputChange = (index, field, value) => {\n const newQueryParams = queryParams.map((param, i) =>\n i === index ? { ...param, [field]: value } : param\n );\n setQueryParams(newQueryParams);\n };\n\n useEffect(() => {\n updateCustomization({\n queryParams: buildQueryParamsFromInputFields(queryParams),\n });\n }, [queryParams]);\n\n return (\n <div>\n <div className=\"mb-2 flex\" data-cy=\"dynamic-query-params-label-container\">\n <Label\n data-cy=\"dynamic-query-params-label\"\n data-testid=\"dynamic-query-params-label\"\n >\n {queryParamsProps.label ||\n t(\"neetoMolecules.productEmbed.queryParam.label\")}\n </Label>\n {isPresent(queryParamsProps.helpPopoverProps) && (\n <HelpPopover\n className=\"ms-1\"\n {...queryParamsProps.helpPopoverProps}\n />\n )}\n </div>\n {queryParams.map((param, index) => (\n <div className=\"mb-2 flex gap-1\" key={index}>\n <Input\n data-cy=\"dynamic-query-key-name-input\"\n data-testid=\"dynamic-query-key-name-input\"\n name={`queryParams.${index}.name`}\n value={param.name}\n placeholder={\n queryParamsProps.keyPlaceholder ||\n t(\"neetoMolecules.productEmbed.queryParam.keyNamePlaceholder\")\n }\n onChange={e => handleInputChange(index, \"name\", e.target.value)}\n />\n <Input\n data-cy=\"dynamic-query-key-value-input\"\n data-testid=\"dynamic-query-key-value-input\"\n name={`queryParams.${index}.value`}\n value={param.value}\n placeholder={\n queryParamsProps.valuePlaceholder ||\n t(\"neetoMolecules.productEmbed.queryParam.keyValuePlaceholder\")\n }\n onChange={e => handleInputChange(index, \"value\", e.target.value)}\n />\n <Button\n data-cy=\"dynamic-query-delete-button\"\n icon={Delete}\n style=\"text\"\n onClick={() => handleRemoveQueryParam(index)}\n />\n </div>\n ))}\n <Button\n className=\"my-2\"\n data-cy=\"dynamic-query-add-new-button\"\n data-testid=\"dynamic-query-add-new-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"link\"\n label={\n queryParamsProps.addButtonLabel ||\n t(\"neetoMolecules.productEmbed.queryParam.addQueryParam\")\n }\n onClick={handleAddQueryParam}\n />\n </div>\n );\n};\n\nexport default DynamicQueryParams;\n","import { useEffect } from \"react\";\n\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst ElementPopup = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n <Input\n className=\"w-full\"\n data-cy=\"element-id-input-field\"\n data-testid=\"element-id-input-field\"\n helpText={t(\"neetoMolecules.productEmbed.elementPopup.callout\")}\n label={t(\"neetoMolecules.productEmbed.elementPopup.elementId\")}\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.elementPopup.elementIdError\")\n }\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\n\nexport default ElementPopup;\n","import { useEffect } from \"react\";\n\nimport { Label, Input, Checkbox, Select, ColorPicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\nimport DynamicQueryParams from \"./DynamicQueryParams\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst FloatingPopup = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <div className=\"flex flex-col gap-y-2\">\n <Input\n data-cy=\"button-text-input-field\"\n data-testid=\"button-text-input-field\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.button.text\")}\n value={btnText}\n error={\n !btnText &&\n t(\"neetoMolecules.productEmbed.floatingPopup.button.textError\")\n }\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"flex flex-col gap-y-2\">\n <Select\n data-cy=\"button-position-select-field\"\n data-testid=\"button-position-select-field\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.button.pos\")}\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy=\"button-color-label\"\n >\n <Label>\n {t(\"neetoMolecules.productEmbed.floatingPopup.button.color\")}\n </Label>\n <ColorPicker\n color={btnColor}\n size=\"medium\"\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy=\"button-text-color-label\"\n >\n <Label>\n {t(\"neetoMolecules.productEmbed.floatingPopup.button.textColor\")}\n </Label>\n <ColorPicker\n color={btnTextColor}\n size=\"medium\"\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-cy=\"show-icon-checkbox\"\n data-testid=\"show-icon-checkbox\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.showCalIcon\")}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import { Switch } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { SWITCH_OPTIONS } from \"../constants\";\n\nconst SwitchOptions = ({ customization = {}, updateCustomization }) => {\n const visibleOptions = Object.keys(SWITCH_OPTIONS)\n .filter(key => key in customization)\n .map(key => [key, customization[key]]);\n\n if (isEmpty(visibleOptions)) return null;\n\n return (\n <div className=\"flex flex-col gap-4\">\n {visibleOptions.map(\n ([option, { value, label, helpIconProps, ...rest }]) => (\n <Switch\n checked={value}\n key={option}\n label={label || SWITCH_OPTIONS[option].label}\n labelProps={\n helpIconProps && {\n helpIconProps: {\n \"data-testid\": \"help-icon-button\",\n ...helpIconProps,\n },\n }\n }\n onChange={e =>\n updateCustomization({\n [option]: {\n ...rest,\n label,\n helpIconProps,\n value: e.target.checked,\n },\n })\n }\n />\n )\n )}\n </div>\n );\n};\n\nexport default SwitchOptions;\n","import { useEffect } from \"react\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\nimport SwitchOptions from \"./SwitchOptions\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Iframe = ({\n updateCustomization,\n otherCustomizations,\n customization,\n}) => {\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n {otherCustomizations()}\n <SwitchOptions {...{ customization, updateCustomization }} />\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\nexport default Iframe;\n","import { useEffect } from \"react\";\n\nimport { Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\nimport SwitchOptions from \"./SwitchOptions\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Inline = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n const { elementSelector } = customization;\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.inline.elementId\")}\n </Label>\n <Input\n data-cy=\"inline-element-id-input-field\"\n data-testid=\"inline-element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.inline.elementIdError\")\n }\n onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n <SwitchOptions {...{ customization, updateCustomization }} />\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\n\nexport default Inline;\n","export const InlineEmbedIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_8605_6776)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_8605_6776\">\n <path d=\"M0 0h305v20H0z\" />\n </mask>\n <path d=\"M0 0h305v20H0z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0v2h305z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_8605_6776)\"\n />\n <circle cx=\"10.596\" cy=\"10.432\" fill=\"#FD5350\" r=\"2.307\" />\n <circle cx=\"18.143\" cy=\"10.432\" fill=\"#FEB33A\" r=\"2.307\" />\n <circle cx=\"25.69\" cy=\"10.432\" fill=\"#2CC146\" r=\"2.307\" />\n <path d=\"M36 20h206v10H36zM36 150h206v12H36z\" fill=\"currentColor\" />\n <rect\n height=\"103.55\"\n rx=\"5.217\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n strokeWidth=\"0.45\"\n width=\"205.55\"\n x=\"36.225\"\n y=\"38.225\"\n />\n <rect\n fill=\"currentColor\"\n height=\"2.311\"\n rx=\"1.156\"\n width=\"36.079\"\n x=\"45.32\"\n y=\"81.914\"\n />\n <rect\n fill=\"currentColor\"\n height=\"2.311\"\n rx=\"1.156\"\n width=\"20.949\"\n x=\"45.32\"\n y=\"87.688\"\n />\n <rect\n fill=\"#008068\"\n height=\"7.988\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"61.109\"\n />\n <rect\n fill=\"currentColor\"\n height=\"7.728\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"73.57\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"85.773\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"98.383\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"110.992\"\n />\n <circle cx=\"52.077\" cy=\"67.819\" fill=\"currentColor\" r=\"6.733\" />\n <circle cx=\"120.314\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"120.322\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"120.322\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"74.322\" fill=\"#008068\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.064\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.064\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.075\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <path d=\"M93.023 38v104\" stroke=\"#E7E7E7\" strokeWidth=\"0.454\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <defs>\n <clipPath id=\"clip0_8605_6776\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const FloatingPopupIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_9047_10870)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_9047_10870\">\n <path d=\"M0 0H305V20H0V0Z\" />\n </mask>\n <path d=\"M0 0H305V20H0V0Z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0V21H305V19Z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_9047_10870)\"\n />\n <circle cx=\"10.5963\" cy=\"10.4322\" fill=\"#FD5350\" r=\"2.30723\" />\n <circle cx=\"18.1432\" cy=\"10.4322\" fill=\"#FEB33A\" r=\"2.30723\" />\n <circle cx=\"25.69\" cy=\"10.4322\" fill=\"#2CC146\" r=\"2.30723\" />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"84.6936\"\n x=\"145\"\n y=\"63\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"89\"\n x=\"145\"\n y=\"70\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"49\"\n x=\"145\"\n y=\"77\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"84.6936\"\n x=\"36\"\n y=\"111\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"89\"\n x=\"36\"\n y=\"118\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"25.8387\"\n x=\"36\"\n y=\"125\"\n />\n <rect fill=\"currentColor\" height=\"35\" width=\"96\" x=\"36\" y=\"57\" />\n <rect fill=\"currentColor\" height=\"35\" width=\"95\" x=\"145\" y=\"102\" />\n <rect fill=\"currentColor\" height=\"26\" width=\"204\" x=\"36\" y=\"20\" />\n <rect fill=\"currentColor\" height=\"14\" width=\"204\" x=\"36\" y=\"148\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <rect fill=\"#008068\" height=\"18\" rx=\"9\" width=\"69\" x=\"194\" y=\"134\" />\n <defs>\n <clipPath id=\"clip0_9047_10870\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const ElementPopupIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_9047_10869)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_9047_10869\">\n <path d=\"M0 0h305v20H0z\" />\n </mask>\n <path d=\"M0 0h305v20H0z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0v2h305z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_9047_10869)\"\n />\n <circle cx=\"10.596\" cy=\"10.432\" fill=\"#FD5350\" r=\"2.307\" />\n <circle cx=\"18.143\" cy=\"10.432\" fill=\"#FEB33A\" r=\"2.307\" />\n <circle cx=\"25.69\" cy=\"10.432\" fill=\"#2CC146\" r=\"2.307\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"85\"\n x=\"135\"\n y=\"58.461\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"89\"\n x=\"135\"\n y=\"66.352\"\n />\n <rect fill=\"#008068\" height=\"7\" rx=\"3.5\" width=\"38\" x=\"135\" y=\"74\" />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"85\"\n x=\"135\"\n y=\"100.859\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"89\"\n x=\"135\"\n y=\"108.75\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"26\"\n x=\"135\"\n y=\"116.641\"\n />\n <path\n d=\"M36 52h88v34H36zM36 20h204v28H36zM240 162H36v-28h204zM36 90h88v41H36z\"\n fill=\"currentColor\"\n />\n <defs>\n <clipPath id=\"clip0_9047_10869\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n","import { t } from \"i18next\";\n\nimport ElementPopup from \"./Customization/ElementPopup\";\nimport FloatingPopup from \"./Customization/FloatingPopup\";\nimport Iframe from \"./Customization/Iframe\";\nimport Inline from \"./Customization/Inline\";\nimport { InlineEmbedIcon, FloatingPopupIcon, ElementPopupIcon } from \"./Icons\";\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\n IFRAME: \"iframe\",\n};\n\nexport const EMBED_ICONS = {\n [EMBED_OPTIONS.INLINE]: InlineEmbedIcon,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopupIcon,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopupIcon,\n [EMBED_OPTIONS.IFRAME]: InlineEmbedIcon,\n};\n\nexport const DEFAULT_CUSTOMIZATION = {\n [EMBED_OPTIONS.INLINE]: {\n width: 100,\n height: 100,\n elementSelector: \"inline-embed-container\",\n },\n [EMBED_OPTIONS.FLOATING_POPUP]: {\n showIcon: false,\n btnText: \"Open\",\n btnColor: \"#008068\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n [EMBED_OPTIONS.IFRAME]: {\n height: 100,\n width: 100,\n iframeTitle: \"Iframe embed\",\n },\n};\n\nexport const EMBED_CUSTOMIZATION_COMPONENTS = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n [EMBED_OPTIONS.IFRAME]: Iframe,\n};\n\nexport const EMBED_TITLES = {\n [EMBED_OPTIONS.INLINE]: t(\"neetoMolecules.productEmbed.inline.title\"),\n [EMBED_OPTIONS.FLOATING_POPUP]: t(\n \"neetoMolecules.productEmbed.floatingPopup.title\"\n ),\n [EMBED_OPTIONS.ELEMENT_POPUP]: t(\n \"neetoMolecules.productEmbed.elementPopup.title\"\n ),\n [EMBED_OPTIONS.IFRAME]: t(\"neetoMolecules.productEmbed.iframe.title\"),\n};\n\nexport const SUPPORTED_LANGUAGES = [\n { value: \"html\", label: t(\"neetoMolecules.productEmbed.language.html\") },\n {\n value: \"react\",\n label: t(\"neetoMolecules.productEmbed.language.react\"),\n },\n];\n\nexport const SCRIPT_ID = \"embed-script\";\n\nexport const TAB_STRING = \" \";\n\nexport const SWITCH_OPTIONS = {\n dynamicHeight: {\n label: t(\"neetoMolecules.productEmbed.dynamicHeight\"),\n },\n hideTitle: { label: t(\"neetoMolecules.productEmbed.hideTitle\") },\n alignContentLeft: {\n label: t(\"neetoMolecules.productEmbed.alignContentLeft\"),\n },\n transparentBackground: {\n label: t(\"neetoMolecules.productEmbed.transparentBackground\"),\n },\n};\n","import { useState } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { Typography, Select } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Codeblock from \"components/Codeblock\";\n\nimport { SUPPORTED_LANGUAGES } from \"./constants\";\nimport { generateCode } from \"./utils\";\n\nconst Code = ({\n id,\n selectedEmbed,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n supportedLanguages,\n customization,\n}) => {\n const { t } = useTranslation();\n\n const supportedLanguagesOptions = filterBy(\n { value: value => supportedLanguages?.includes(value) },\n SUPPORTED_LANGUAGES\n );\n\n const [selectedLanguage, setSelectedLanguage] = useState(\n supportedLanguagesOptions[0]\n );\n\n const code = generateCode({\n id,\n selectedLanguage: selectedLanguage.value,\n type: selectedEmbed,\n customization,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n });\n\n return (\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex items-center justify-between\">\n <Typography style=\"h4\">\n {t(\"neetoMolecules.productEmbed.embedCode\")}\n </Typography>\n <Select\n className=\"w-28 flex-grow-0\"\n options={supportedLanguagesOptions}\n size=\"small\"\n strategy=\"fixed\"\n value={selectedLanguage}\n onChange={setSelectedLanguage}\n />\n </div>\n <div\n className=\"neeto-molecules-embed__code-block relative w-full overflow-y-auto\"\n data-cy=\"embed-code-block\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock\n {...{ code }}\n codeblockProps={{\n \"data-testid\": `${selectedLanguage.value}-code-block`,\n }}\n copyButtonProps={{\n style: \"primary\",\n label: t(\"neetoMolecules.productEmbed.copyCode\"),\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Code;\n","export const FloatingPopupPlaceholderImage = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"518\"\n viewBox=\"0 0 796 518\"\n width=\"796\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"358.702\"\n x=\"406.645\"\n y=\"152.109\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"376.941\"\n x=\"406.645\"\n y=\"181.758\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"207.529\"\n x=\"406.645\"\n y=\"211.406\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"358.702\"\n y=\"333.414\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"376.941\"\n y=\"363.062\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"109.435\"\n y=\"392.711\"\n />\n <path\n d=\"M0 127.203h374v148H0zM407 295h389v149H407zM0 .203h796v110H0zM0 460.203h796v59H0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const ElementPopupPlaceholderImage = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"518\"\n viewBox=\"0 0 748 518\"\n width=\"748\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"311.667\"\n x=\"363\"\n y=\"142.688\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"326.333\"\n x=\"363\"\n y=\"171.617\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"311.667\"\n x=\"363\"\n y=\"298.141\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"326.333\"\n x=\"363\"\n y=\"327.07\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"95.333\"\n x=\"363\"\n y=\"356\"\n />\n <path\n d=\"M0 119h322.667v124.667H0zM0 0h748v104H0zM748 522.336H0V419.669h748zM0 258.328h322.667v150.333H0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { useEffect, useMemo } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ElementPopupPlaceholderImage } from \"../PlaceholderImages\";\n\nconst ElementPopup = ({ iframeURL }) => {\n const { t } = useTranslation();\n\n /**\n * Currently embed() function doesn't have an unembed handler.\n * When iframe link changes, we don't have an option to reinitiate it.\n * So we forcefully recreate the element with `key` and call embed() again\n */\n const elementSelectorId = useMemo(\n () => `popup-button-${Math.random().toString().substring(2, 10)}`,\n [iframeURL]\n );\n\n useEffect(() => {\n const element = document.getElementById(elementSelectorId);\n if (!element) return;\n\n const appName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n window[appName]?.embed(element, iframeURL);\n }, [iframeURL]);\n\n return (\n <div className=\"relative h-full w-full overflow-hidden\">\n <ElementPopupPlaceholderImage className=\"neeto-ui-text-gray-100 absolute inset-0 h-auto w-full p-10\" />\n <Button\n className=\"absolute start-[48.5294117647%] top-[39.0804597701%]\"\n data-cy=\"preview-element-popup-button\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelectorId}\n key={elementSelectorId}\n label={t(\"neetoMolecules.productEmbed.elementPopup.label\")}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { useEffect, useMemo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nimport { FloatingPopupPlaceholderImage } from \"../PlaceholderImages\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n /**\n * Currently embed() function doesn't have an unembed handler.\n * When iframe link changes, we don't have an option to reinitiate it.\n * So we forcefully recreate the element with `key` and call embed() again\n */\n const elementSelectorId = useMemo(\n () => `popup-button-${Math.random().toString().substring(2, 10)}`,\n [iframeURL]\n );\n\n useEffect(() => {\n const element = document.getElementById(elementSelectorId);\n if (!element) return;\n\n const appName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n window[appName]?.embed(element, iframeURL);\n }, [iframeURL]);\n\n useEffect(() => {\n const btn = document.getElementById(elementSelectorId);\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full overflow-hidden\">\n <FloatingPopupPlaceholderImage className=\"neeto-ui-text-gray-100 h-auto w-full p-10\" />\n <Button\n data-cy=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id={elementSelectorId}\n key={elementSelectorId}\n label={btnText}\n className={classNames(\"absolute bottom-0 m-4\", {\n \"start-0\": btnPosition === \"bottomLeft\",\n \"end-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import { useEffect } from \"react\";\n\nexport default function useIframeHeightReset(iframeRef, dynamicHeight) {\n useEffect(() => {\n if (!dynamicHeight?.value && iframeRef?.current) {\n iframeRef.current.style.height = \"\";\n }\n }, [dynamicHeight?.value, iframeRef]);\n}\n","import { useRef } from \"react\";\n\nimport useIframeHeightReset from \"../hooks/useIframeHeightReset\";\n\nconst Iframe = ({ iframeURL, customization }) => {\n const { height, width, iframeTitle, dynamicHeight } = customization;\n\n const iframeRef = useRef(null);\n useIframeHeightReset(iframeRef, dynamicHeight);\n\n return (\n <iframe\n {...{ height, width }}\n allowFullScreen\n className=\"m-auto border-0\"\n ref={iframeRef}\n src={iframeURL}\n title={iframeTitle}\n />\n );\n};\n\nexport default Iframe;\n","import { useRef } from \"react\";\n\nimport useIframeHeightReset from \"../hooks/useIframeHeightReset\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { dynamicHeight } = customization;\n\n const iframeRef = useRef(null);\n useIframeHeightReset(iframeRef, dynamicHeight);\n\n return <iframe className=\"m-auto border-0\" ref={iframeRef} src={iframeURL} />;\n};\n\nexport default Inline;\n","import { EMBED_OPTIONS, SWITCH_OPTIONS } from \"../constants\";\n\nconst buildQueryParams = (customization = {}, existingQueryParams = {}) => {\n const activeOptions = Object.keys(SWITCH_OPTIONS).reduce((acc, key) => {\n const value = customization[key]?.value;\n if (value) acc[key] = value;\n\n return acc;\n }, {});\n\n return { ...existingQueryParams, ...activeOptions };\n};\n\nexport const buildIframeURL = ({\n previewURL,\n selectedEmbed,\n queryParams,\n customization,\n}) => {\n const url = new URL(previewURL);\n\n const params = buildQueryParams(customization, queryParams);\n\n Object.entries(params).forEach(([name, value]) => {\n url.searchParams.append(name, value);\n });\n\n if (\n selectedEmbed === EMBED_OPTIONS.FLOATING_POPUP ||\n selectedEmbed === EMBED_OPTIONS.ELEMENT_POPUP\n ) {\n url.searchParams.set(\"dynamicHeight\", \"true\");\n }\n\n return url.toString();\n};\n","import { Spinner } from \"neetoui\";\n\nimport BrowserPreview from \"components/BrowserPreview\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Iframe from \"./Iframe\";\nimport Inline from \"./Inline\";\nimport { buildIframeURL } from \"./utils\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Preview = ({\n isScriptLoading,\n selectedEmbed,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const { queryParams } = useProductEmbedStore.pick();\n\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n [EMBED_OPTIONS.IFRAME]: Iframe,\n };\n\n const previewURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n\n const iframeURL = buildIframeURL({\n previewURL,\n selectedEmbed,\n queryParams,\n customization,\n });\n\n const Component = preview[selectedEmbed];\n\n if (isScriptLoading) {\n return (\n <div className=\"flex min-h-0 flex-grow items-center justify-center overflow-y-auto\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <BrowserPreview\n className=\"h-full\"\n wrapperClassName=\"neeto-molecules-embed__browser-preview pointer-events-auto\"\n >\n <Component {...{ customization, iframeURL }} />\n </BrowserPreview>\n );\n};\n\nexport default Preview;\n","import { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Code from \"./Code\";\nimport {\n EMBED_CUSTOMIZATION_COMPONENTS,\n EMBED_TITLES,\n SCRIPT_ID,\n} from \"./constants\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization } from \"./utils\";\n\nconst EmbedRenderer = ({\n className,\n customEmbedScriptPath,\n customPreviewIframeUrl,\n id,\n options,\n extraArgs,\n otherCustomizations,\n inlineWrapperStyle,\n iframeStyle,\n supportedLanguages,\n selectedEmbed,\n}) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n\n const [customizations, setCustomizations] = useStateWithDependency(\n () => buildDefaultCustomization(options),\n [options?.iframe?.iframeUrl]\n );\n\n const { description } = customizations[selectedEmbed];\n const customization = customizations[selectedEmbed];\n const CustomizationComponent = EMBED_CUSTOMIZATION_COMPONENTS[selectedEmbed];\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n script.onload = () => setIsScriptLoading(false);\n document.head.appendChild(script);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedEmbed]: mergeLeft(props, prevState[selectedEmbed]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <Container\n data-testid=\"embed-product\"\n className={classNames(\n \"neeto-molecules-embed flex w-full flex-grow flex-col p-0 md:flex-row\",\n className\n )}\n >\n <div className=\"neeto-molecules-embed__left-sidebar px-5 py-8 md:h-full md:overflow-y-auto md:px-10\">\n <Button\n className=\"mb-4\"\n data-cy=\"back-to-embed-selection-button\"\n data-testid=\"back-to-embed-selection-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToEmbedSelection\")}\n size=\"small\"\n style=\"link\"\n to={location.pathname}\n />\n <Header\n className=\"py-0\"\n data-testid={`${hyphenate(selectedEmbed)}-embed-title`}\n title={EMBED_TITLES[selectedEmbed]}\n />\n {description && (\n <Typography\n className=\"mt-2\"\n data-cy={`${hyphenate(selectedEmbed)}-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n <div className=\"mt-4 flex w-full flex-col gap-y-6\">\n <div className=\"flex flex-col gap-y-6\">\n <Code\n {...{\n customization,\n embedScriptLink,\n extraArgs,\n id,\n iframeStyle,\n inlineWrapperStyle,\n selectedEmbed,\n supportedLanguages,\n }}\n />\n <CustomizationComponent\n {...{\n customization,\n otherCustomizations,\n updateCustomization,\n }}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-molecules-embed__preview neeto-ui-bg-gray-50 flex min-h-dvh w-full min-w-0 flex-col gap-3 overflow-y-auto p-6 md:h-full md:min-h-0 md:flex-grow\">\n <Preview\n {...{\n customPreviewIframeUrl,\n customization,\n id,\n isScriptLoading,\n selectedEmbed,\n }}\n />\n </div>\n </Container>\n );\n};\n\nexport default EmbedRenderer;\n","import { hyphenate } from \"neetocist\";\nimport { handleMetaClick } from \"neetocommons/react-utils\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport { EMBED_ICONS } from \"./constants\";\n\nconst EmbedSelector = ({ options, goBackLink, title }) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n const location = useLocation();\n\n return (\n <Container className=\"neeto-molecules-embed-landing-page py-8\">\n {goBackLink && (\n <Button\n className=\"mb-4\"\n data-cy=\"back-button\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={goBackLink}\n />\n )}\n <Header\n className=\"py-0\"\n data-testid=\"embed-selector-header\"\n title={t(\"neetoMolecules.productEmbed.title\")}\n />\n <div className=\"neeto-molecules-embed-landing-page__container mx-auto w-full max-w-5xl py-6 md:py-10\">\n <Typography className=\"mb-2\" style=\"h2\">\n {title ||\n t(\"neetoMolecules.productEmbed.embedSelectionTitle\", {\n productName: globalProps.appName,\n })}\n </Typography>\n <Typography className=\"mb-8\" style=\"body1\">\n {t(\"neetoMolecules.productEmbed.embedSelectionDescription\")}\n </Typography>\n <div className=\"neeto-molecules-embed-landing-page__cards-wrapper grid w-full grid-cols-1 flex-wrap gap-6 md:grid-cols-3\">\n {Object.entries(options).map(\n ([key, { label, description, embedIcon }]) => {\n const EmbedIcon = embedIcon || EMBED_ICONS[key];\n\n return (\n <button\n className=\"neeto-molecules-embed-landing-page__card flex w-full flex-col\"\n data-testid={`embed-selector-card-${hyphenate(key)}`}\n key={key}\n onClick={handleMetaClick(\n history,\n `${location.pathname}?type=${hyphenate(key)}`\n )}\n >\n <span className=\"neeto-molecules-embed-landing-page__card-icon mb-6 block\">\n <EmbedIcon className=\"neeto-ui-text-gray-200 h-auto w-full max-w-72\" />\n </span>\n <Typography className=\"mb-2\" style=\"h4\">\n {label}\n </Typography>\n <Typography style=\"body2\">{description}</Typography>\n </button>\n );\n }\n )}\n </div>\n </div>\n </Container>\n );\n};\n\nexport default EmbedSelector;\n","import { useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useLocation } from \"react-router-dom\";\n\nimport EmbedRenderer from \"./EmbedRenderer\";\nimport EmbedSelector from \"./EmbedSelector\";\nimport \"./product-embed.scss\";\nimport useProductEmbedStore from \"./useProductEmbedStore\";\nimport { toCamelCasedString } from \"./utils\";\n\nconst ProductEmbed = ({\n title,\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n isQueryParamsEnabled = false,\n queryParamsProps = {},\n options = {},\n extraArgs = {},\n otherCustomizations = noop,\n inlineWrapperStyle = \"height: 90vh; width: 100%;\",\n iframeStyle = \"height: 100%; width: 100%;\",\n supportedLanguages = [\"html\"],\n}) => {\n const { search } = useLocation();\n\n const queryParams = new URLSearchParams(search);\n const selectedEmbed = toCamelCasedString(queryParams.get(\"type\"));\n\n const { setProductEmbedState } = useProductEmbedStore.pick();\n\n useEffect(() => {\n setProductEmbedState({ isQueryParamsEnabled, queryParamsProps });\n }, []);\n\n return selectedEmbed ? (\n <EmbedRenderer\n {...{\n className,\n customEmbedScriptPath,\n customPreviewIframeUrl,\n extraArgs,\n id,\n iframeStyle,\n inlineWrapperStyle,\n options,\n otherCustomizations,\n queryParamsProps,\n selectedEmbed,\n supportedLanguages,\n }}\n />\n ) : (\n <EmbedSelector {...{ goBackLink, options, title }} />\n );\n};\n\nconst customizationSwitchShape = PropTypes.shape({\n value: PropTypes.bool,\n label: PropTypes.string,\n helpIconProps: PropTypes.object,\n});\n\nProductEmbed.propTypes = {\n /**\n * To set the title in the embed selection page.\n */\n title: PropTypes.string,\n /**\n * To set custom classNames. (optional)\n */\n className: PropTypes.string,\n /**\n * To use a different embed script. Uses /javascript/embed.js by default. (optional)\n */\n customEmbedScriptPath: PropTypes.string,\n /**\n * To use a different iframeUrl in Product embed preview. Uses /embed/${id} by default. (optional)\n */\n customPreviewIframeUrl: PropTypes.string,\n /**\n * To specify extra arguments to pass to the embed script. (optional)\n */\n extraArgs: PropTypes.object,\n /**\n * To show the 'Back to share' button. (optional)\n */\n goBackLink: PropTypes.string,\n /**\n * To specify the entity ID.\n */\n id: PropTypes.string,\n /**\n * To specify the Embed options for the product.\n */\n options: PropTypes.shape({\n inline: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n dynamicHeight: customizationSwitchShape,\n hideTitle: customizationSwitchShape,\n alignContentLeft: customizationSwitchShape,\n transparentBackground: customizationSwitchShape,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n btnTextColor: PropTypes.string,\n btnText: PropTypes.string,\n btnPosition: PropTypes.string,\n btnColor: PropTypes.string,\n icon: PropTypes.func,\n showIcon: PropTypes.bool,\n }),\n elementPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n elementSelector: PropTypes.string,\n }),\n iframe: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n width: PropTypes.number,\n height: PropTypes.number,\n iframeUrl: PropTypes.string,\n dynamicHeight: customizationSwitchShape,\n hideTitle: customizationSwitchShape,\n alignContentLeft: customizationSwitchShape,\n transparentBackground: customizationSwitchShape,\n }),\n }),\n /**\n * To enable query parameters\n */\n isQueryParamsEnabled: PropTypes.bool,\n /**\n * To specify the query parameters\n */\n queryParamsProps: PropTypes.shape({\n helpPopoverProps: PropTypes.shape({\n title: PropTypes.string,\n size: PropTypes.oneOf([\"default\", \"large\"]),\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n helpLinkProps: PropTypes.object,\n popoverProps: PropTypes.object,\n className: PropTypes.string,\n iconColor: PropTypes.string,\n icon: PropTypes.node,\n }),\n label: PropTypes.string,\n keyPlaceholder: PropTypes.string,\n valuePlaceholder: PropTypes.string,\n addButtonLabel: PropTypes.string,\n }),\n /**\n * To add other customization fields to all the embed options\n */\n otherCustomizations: PropTypes.func,\n /**\n * To override the styles of inline embed wrapper div\n */\n inlineWrapperStyle: PropTypes.string,\n /**\n * To override the styles of inline embed iframe\n */\n iframeStyle: PropTypes.string,\n /**\n * To specifies the supported languages, currently limited to `html` and `react`.\n */\n supportedLanguages: PropTypes.arrayOf(PropTypes.oneOf([\"html\", \"react\"])),\n};\n\nexport default ProductEmbed;\n"],"names":["FLOATING_BUTTON_POSITIONS","label","t","value","INITIAL_QUERY_PARAM","name","useProductEmbedStore","create","withImmutableActions","set","isQueryParamsEnabled","queryParams","queryParamsProps","helpPopoverProps","keyPlaceholder","valuePlaceholder","addButtonLabel","setProductEmbedState","setQueryParams","camelCasedAppName","globalProps","appName","replace","embedBaseScript","embedScriptLink","concat","embedEnv","railsEnv","TAB_STRING","embedQueryParam","parseExtraArgs","extraArgs","toPairs","map","_ref","_ref2","_slicedToArray","key","inlineEmbedCode","_ref3","customization","id","inlineWrapperStyle","iframeStyle","elementSelector","dynamicHeight","processedInlineWrapperStyle","removeHeightFromStyle","organization","subdomain","floatingPopupEmbedCode","_ref4","btnTextColor","showIcon","btnText","btnPosition","btnColor","icon","elementPopupEmbedCode","_ref5","iframeEmbedCode","_ref6","height","width","iframeTitle","iframeUrl","iframeSrc","buildIframeURL","heightAttribute","htmlCodeGenerators","inline","floatingPopup","elementPopup","iframe","embedFunctionName","embedScript","scriptLink","cleanupFunction","parseInlineStyle","styleString","split","rule","_rule$split$map","s","trim","_rule$split$map2","filter","Boolean","join","reactCodeGenerators","buildQueryParams","arguments","length","undefined","existingQueryParams","activeOptions","Object","keys","SWITCH_OPTIONS","reduce","acc","_customization$key","mergedQueryParams","_objectSpread","isEmpty","JSON","stringify","generateCode","options","_embeddedCodeOptions$","_reactCodeGenerators$","_htmlCodeGenerators$t","selectedLanguage","type","embeddedCodeOptions","_objectWithoutProperties","_excluded","codeOptions","call","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","DEFAULT_CUSTOMIZATION","buildQueryParamsFromInputFields","inputFields","filteredInputFields","toCamelCasedString","string","_","nextChar","toUpperCase","url","URL","location","origin","toString","parsedQueryParams","parse","entries","forEach","searchParams","append","style","DynamicQueryParams","updateCustomization","_useTranslation","useTranslation","_useProductEmbedStore","store","shallow","handleAddQueryParam","_toConsumableArray","handleRemoveQueryParam","index","newQueryParams","i","handleInputChange","field","param","_defineProperty","useEffect","_jsxs","children","className","_jsx","Label","isPresent","HelpPopover","Input","placeholder","onChange","e","target","Button","Delete","onClick","Plus","iconPosition","ElementPopup","otherCustomizations","_Fragment","helpText","error","FloatingPopup","Select","getOptionValue","option","ColorPicker","color","size","hex","Checkbox","checked","SwitchOptions","_ref$customization","visibleOptions","_ref3$","helpIconProps","rest","Switch","labelProps","Iframe","Inline","attribute","InlineEmbedIcon","other","assign","_objectDestructuringEmpty","fill","viewBox","xmlns","clipPath","rx","d","mask","cx","cy","r","stroke","strokeWidth","x","y","FloatingPopupIcon","opacity","ElementPopupIcon","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","IFRAME","EMBED_ICONS","EMBED_CUSTOMIZATION_COMPONENTS","EMBED_TITLES","SUPPORTED_LANGUAGES","SCRIPT_ID","hideTitle","alignContentLeft","transparentBackground","Code","selectedEmbed","supportedLanguages","supportedLanguagesOptions","filterBy","includes","_useState","useState","_useState2","setSelectedLanguage","code","Typography","strategy","Codeblock","codeblockProps","copyButtonProps","FloatingPopupPlaceholderImage","ElementPopupPlaceholderImage","iframeURL","elementSelectorId","useMemo","Math","random","substring","_window$appName","element","document","getElementById","window","embed","btn","backgroundColor","classNames","useIframeHeightReset","iframeRef","current","useRef","allowFullScreen","ref","src","title","previewURL","params","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","Component","Spinner","BrowserPreview","wrapperClassName","EmbedRenderer","_options$iframe","customEmbedScriptPath","useLocation","setIsScriptLoading","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","customizations","setCustomizations","description","CustomizationComponent","protocol","host","loadScript","script","createElement","onload","head","appendChild","props","prevState","mergeLeft","isScriptLoaded","Container","LeftArrow","to","pathname","Header","hyphenate","EmbedSelector","goBackLink","history","useHistory","productName","embedIcon","EmbedIcon","handleMetaClick","ProductEmbed","_ref$className","_ref$customEmbedScrip","_ref$goBackLink","_ref$isQueryParamsEna","_ref$queryParamsProps","_ref$options","_ref$extraArgs","_ref$otherCustomizati","noop","_ref$inlineWrapperSty","_ref$iframeStyle","_ref$supportedLanguag","_useLocation","search","URLSearchParams","get"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProductEmbed.js","sources":["../src/components/ProductEmbed/Customization/constants.js","../src/components/ProductEmbed/useProductEmbedStore.js","../src/components/ProductEmbed/utils/html.js","../src/components/ProductEmbed/utils/react.js","../src/components/ProductEmbed/utils/index.js","../src/components/ProductEmbed/Customization/DynamicQueryParams.jsx","../src/components/ProductEmbed/Customization/ElementPopup.jsx","../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../src/components/ProductEmbed/Customization/SwitchOptions.jsx","../src/components/ProductEmbed/Customization/Iframe.jsx","../src/components/ProductEmbed/Customization/Inline.jsx","../src/components/ProductEmbed/Icons.jsx","../src/components/ProductEmbed/constants.js","../src/components/ProductEmbed/Code.jsx","../src/components/ProductEmbed/PlaceholderImages.jsx","../src/components/ProductEmbed/Preview/ElementPopup.jsx","../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../src/components/ProductEmbed/hooks/useIframeHeightReset.js","../src/components/ProductEmbed/Preview/Iframe.jsx","../src/components/ProductEmbed/Preview/Inline.jsx","../src/components/ProductEmbed/Preview/utils.js","../src/components/ProductEmbed/Preview/index.jsx","../src/components/ProductEmbed/EmbedRenderer.jsx","../src/components/ProductEmbed/EmbedSelector.jsx","../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.floatingPopup.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.floatingPopup.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n\nexport const INITIAL_QUERY_PARAM = { name: \"\", value: \"\" };\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { INITIAL_QUERY_PARAM } from \"./Customization/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useProductEmbedStore = create(\n withImmutableActions(set => ({\n isQueryParamsEnabled: false,\n queryParams: [INITIAL_QUERY_PARAM],\n queryParamsProps: {\n helpPopoverProps: {},\n label: \"\",\n keyPlaceholder: \"\",\n valuePlaceholder: \"\",\n addButtonLabel: \"\",\n },\n\n setProductEmbedState: set,\n setQueryParams: queryParams => set({ queryParams }),\n }))\n);\n\nexport default useProductEmbedStore;\n","import { toPairs } from \"ramda\";\n\nimport { buildIframeURL, removeHeightFromStyle } from \".\";\n\nimport { TAB_STRING } from \"../constants\";\n\nconst camelCasedAppName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${camelCasedAppName} = window.${camelCasedAppName} || { embed: function(){(${camelCasedAppName}.q=${camelCasedAppName}.q||[]).push(arguments)} };</script>\n <script async\n src=\"${embedScriptLink}\">\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n${TAB_STRING} env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst embedQueryParam = queryParams =>\n queryParams ? `\\n${TAB_STRING} queryParams: ${queryParams},` : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(\n ([key, value]) => `\\n${TAB_STRING} ${key}: \"${value}\"`\n );\n\nconst inlineEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n queryParams,\n}) => {\n const { elementSelector, dynamicHeight } = customization;\n\n const processedInlineWrapperStyle = dynamicHeight?.value\n ? removeHeightFromStyle(inlineWrapperStyle)\n : inlineWrapperStyle;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"${processedInlineWrapperStyle}\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: \"${iframeStyle}\", ${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return `\n <!-- ${globalProps.appName} floating-popup embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"floatingPopup\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n styles: {\n btnTextColor: \"${btnTextColor}\",\n btnPosition: \"${btnPosition}\",\n btnColor: \"${btnColor}\",\n btnText: \"${btnText}\", ${\n icon ? `\\n${TAB_STRING}${TAB_STRING}showIcon: ${showIcon},` : \"\"\n }\n },${embedQueryParam(queryParams)}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} floating-popup embed code ends -->`;\n};\n\nconst elementPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- This is a demo button, you can use any element on your website instead. -->\n <!-- <button id=\"${elementSelector}\">Click to open popup</button> -->\n\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${camelCasedAppName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nconst iframeEmbedCode = ({\n id,\n customization,\n queryParams,\n embedScriptLink,\n}) => {\n const { height, width, iframeTitle, iframeUrl, dynamicHeight } =\n customization;\n\n const iframeSrc = buildIframeURL({ id, iframeUrl, queryParams });\n\n const heightAttribute = dynamicHeight?.value\n ? \"\"\n : `\\n${TAB_STRING}height=\"${height}\"`;\n\n return `\n <!-- ${globalProps.appName} iframe embed code begins -->\n ${\n dynamicHeight?.value && embedScriptLink\n ? embedBaseScript(embedScriptLink)\n : \"\"\n }\n <iframe\n allowfullscreen${heightAttribute}\n width=\"${width}\"\n frameborder=\"0\"\n title=\"${iframeTitle}\"\n src=\"${iframeSrc}\"\n ></iframe>\n <!-- ${globalProps.appName} iframe embed code ends -->`;\n};\n\nexport const htmlCodeGenerators = {\n inline: inlineEmbedCode,\n floatingPopup: floatingPopupEmbedCode,\n elementPopup: elementPopupEmbedCode,\n iframe: iframeEmbedCode,\n};\n","import { toPairs } from \"ramda\";\n\nimport { buildIframeURL, removeHeightFromStyle } from \".\";\n\nimport { TAB_STRING } from \"../constants\";\n\nconst camelCasedAppName = globalProps.appName.replace(/^neeto/i, \"neeto\");\nconst embedFunctionName = `embed${globalProps.appName}`;\n\nconst embedScript =\n scriptLink => `const embedScript = document.createElement(\"script\");\n embedScript.type = \"module\";\n embedScript.src = \"${scriptLink}\";\n embedScript.async = true;\n`;\n\nconst cleanupFunction = `\n return () => {\n embedScript.onload = null;\n if(window.${camelCasedAppName}) window.${camelCasedAppName}.destroy();\n document.body.removeChild(embedScript);\n };`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n${TAB_STRING}${TAB_STRING} env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst embedQueryParam = queryParams =>\n queryParams\n ? `\\n${TAB_STRING}${TAB_STRING} queryParams: ${queryParams},`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(\n ([key, value]) => `\\n${TAB_STRING}${TAB_STRING}${key}: \"${value}\"`\n );\n\nconst parseInlineStyle = styleString =>\n styleString\n .split(\";\")\n .map(rule => {\n const [key, value] = rule.split(\":\").map(s => s.trim());\n\n return key && value ? `${key}: \"${value}\"` : null;\n })\n .filter(Boolean)\n .join(\", \");\n\nconst inlineEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n queryParams,\n}) => {\n const { elementSelector, dynamicHeight } = customization;\n\n const processedInlineWrapperStyle = dynamicHeight?.value\n ? removeHeightFromStyle(inlineWrapperStyle)\n : inlineWrapperStyle;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: \"${iframeStyle}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return (\n <div\n id=\"inline-embed-container\"\n style={{ ${parseInlineStyle(processedInlineWrapperStyle)} }}\n />\n );\n };`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"floatingPopup\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n styles: {\n btnTextColor: \"${btnTextColor}\",\n btnPosition: \"${btnPosition}\",\n btnColor: \"${btnColor}\",\n btnText: \"${btnText}\",${\n icon\n ? `\\n${TAB_STRING}${TAB_STRING}${TAB_STRING}showIcon: ${showIcon},`\n : \"\"\n }\n },${embedQueryParam(queryParams)}${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return <div />;\n };`;\n};\n\nconst elementPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n queryParams,\n}) => {\n const { elementSelector } = customization;\n\n return `\n import { useEffect } from \"react\";\n\n const App = () => {\n const ${embedFunctionName} = () => {\n ${embedScript(embedScriptLink)}\n embedScript.onload = () => {\n window.${camelCasedAppName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedQueryParam(\n queryParams\n )}${embedEnv()}${parseExtraArgs(extraArgs)}\n });\n };\n\n document.body.appendChild(embedScript);\n ${cleanupFunction}\n };\n\n useEffect(() => ${embedFunctionName}(), []);\n\n return <button id=\"${elementSelector}\">Click to open popup</button>;\n };`;\n};\n\nconst iframeEmbedCode = ({ customization, id, queryParams }) => {\n const { height, width, iframeTitle, iframeUrl, dynamicHeight } =\n customization;\n\n const iframeSrc = buildIframeURL({ id, iframeUrl, queryParams });\n\n const heightAttribute = dynamicHeight?.value\n ? \"\"\n : `\\n${TAB_STRING}${TAB_STRING} height=\"${height}\"`;\n\n return `\n const App = () => {\n return (\n <>\n {/* ${globalProps.appName} iframe embed code begins */}\n <iframe\n allowFullScreen${heightAttribute}\n width=\"${width}\"\n frameBorder=\"0\"\n title=\"${iframeTitle}\"\n src=\"${iframeSrc}\"\n ></iframe>\n {/* ${globalProps.appName} iframe embed code ends */}\n </>\n );\n };\n`;\n};\n\nexport const reactCodeGenerators = {\n inline: inlineEmbedCode,\n floatingPopup: floatingPopupEmbedCode,\n elementPopup: elementPopupEmbedCode,\n iframe: iframeEmbedCode,\n};\n","import { isEmpty, mergeDeepLeft } from \"ramda\";\n\nimport { htmlCodeGenerators } from \"./html\";\nimport { reactCodeGenerators } from \"./react\";\n\nimport { DEFAULT_CUSTOMIZATION, SWITCH_OPTIONS } from \"../constants\";\n\nexport const buildQueryParams = (\n customization = {},\n existingQueryParams = {}\n) => {\n const activeOptions = Object.keys(SWITCH_OPTIONS).reduce((acc, key) => {\n const value = customization[key]?.value;\n if (value) acc[key] = value;\n\n return acc;\n }, {});\n\n const mergedQueryParams = { ...existingQueryParams, ...activeOptions };\n if (isEmpty(mergedQueryParams)) return \"\";\n\n return JSON.stringify(mergedQueryParams, null, 2)\n .replace(/\\n/g, \" \")\n .replace(/\\s\\s+/g, \" \");\n};\n\nexport const generateCode = options => {\n const { selectedLanguage, type, ...embeddedCodeOptions } = options;\n\n const queryParams = embeddedCodeOptions.customization?.queryParams || {};\n const customization = embeddedCodeOptions.customization || {};\n\n const codeOptions = {\n ...embeddedCodeOptions,\n queryParams: buildQueryParams(customization, queryParams),\n };\n\n return selectedLanguage === \"react\"\n ? reactCodeGenerators[type]?.(codeOptions)\n : htmlCodeGenerators[type]?.(codeOptions);\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n\nexport const buildQueryParamsFromInputFields = inputFields => {\n const filteredInputFields = inputFields.filter(\n ({ name, value }) => name && value\n );\n\n return filteredInputFields.reduce((queryParams, { name, value }) => {\n queryParams[name] = value;\n\n return queryParams;\n }, {});\n};\n\nexport const toCamelCasedString = string =>\n string?.replace(/[_-]+(\\w)/g, (_, nextChar) => nextChar.toUpperCase());\n\nexport const buildIframeURL = ({ id, iframeUrl, queryParams }) => {\n const url = new URL(iframeUrl || `${location.origin}/embed/${id}`);\n\n if (!queryParams) return url.toString();\n\n const parsedQueryParams = JSON.parse(queryParams);\n Object.entries(parsedQueryParams).forEach(([key, value]) => {\n url.searchParams.append(key, value);\n });\n\n return url.toString();\n};\n\nexport const removeHeightFromStyle = style =>\n style.replace(/height\\s*:\\s*[^;]+;?\\s*/g, \"\").trim();\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Delete, Plus } from \"neetoicons\";\nimport { Button, Label, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport { INITIAL_QUERY_PARAM } from \"./constants\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\nimport { buildQueryParamsFromInputFields } from \"../utils\";\n\nconst DynamicQueryParams = ({ updateCustomization }) => {\n const { t } = useTranslation();\n const { queryParamsProps, queryParams, setQueryParams } =\n useProductEmbedStore.pick();\n\n const handleAddQueryParam = () => {\n setQueryParams([...queryParams, INITIAL_QUERY_PARAM]);\n };\n\n const handleRemoveQueryParam = index => {\n const newQueryParams = queryParams.filter((_, i) => i !== index);\n setQueryParams(newQueryParams);\n };\n\n const handleInputChange = (index, field, value) => {\n const newQueryParams = queryParams.map((param, i) =>\n i === index ? { ...param, [field]: value } : param\n );\n setQueryParams(newQueryParams);\n };\n\n useEffect(() => {\n updateCustomization({\n queryParams: buildQueryParamsFromInputFields(queryParams),\n });\n }, [queryParams]);\n\n return (\n <div>\n <div\n className=\"mb-2 flex\"\n data-testid=\"dynamic-query-params-label-container\"\n >\n <Label data-testid=\"dynamic-query-params-label\">\n {queryParamsProps.label ||\n t(\"neetoMolecules.productEmbed.queryParam.label\")}\n </Label>\n {isPresent(queryParamsProps.helpPopoverProps) && (\n <HelpPopover\n className=\"ms-1\"\n {...queryParamsProps.helpPopoverProps}\n />\n )}\n </div>\n {queryParams.map((param, index) => (\n <div className=\"mb-2 flex gap-1\" key={index}>\n <Input\n data-testid=\"dynamic-query-key-name-input\"\n name={`queryParams.${index}.name`}\n value={param.name}\n placeholder={\n queryParamsProps.keyPlaceholder ||\n t(\"neetoMolecules.productEmbed.queryParam.keyNamePlaceholder\")\n }\n onChange={e => handleInputChange(index, \"name\", e.target.value)}\n />\n <Input\n data-testid=\"dynamic-query-key-value-input\"\n name={`queryParams.${index}.value`}\n value={param.value}\n placeholder={\n queryParamsProps.valuePlaceholder ||\n t(\"neetoMolecules.productEmbed.queryParam.keyValuePlaceholder\")\n }\n onChange={e => handleInputChange(index, \"value\", e.target.value)}\n />\n <Button\n data-testid=\"dynamic-query-delete-button\"\n icon={Delete}\n style=\"text\"\n onClick={() => handleRemoveQueryParam(index)}\n />\n </div>\n ))}\n <Button\n className=\"my-2\"\n data-testid=\"dynamic-query-add-new-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"link\"\n label={\n queryParamsProps.addButtonLabel ||\n t(\"neetoMolecules.productEmbed.queryParam.addQueryParam\")\n }\n onClick={handleAddQueryParam}\n />\n </div>\n );\n};\n\nexport default DynamicQueryParams;\n","import { useEffect } from \"react\";\n\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst ElementPopup = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n <Input\n className=\"w-full\"\n data-testid=\"element-id-input-field\"\n helpText={t(\"neetoMolecules.productEmbed.elementPopup.callout\")}\n label={t(\"neetoMolecules.productEmbed.elementPopup.elementId\")}\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.elementPopup.elementIdError\")\n }\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\n\nexport default ElementPopup;\n","import { useEffect } from \"react\";\n\nimport { Label, Input, Checkbox, Select, ColorPicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\nimport DynamicQueryParams from \"./DynamicQueryParams\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst FloatingPopup = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <div className=\"flex w-full flex-col gap-y-4\">\n <div className=\"flex flex-col gap-y-2\">\n <Input\n data-testid=\"button-text-input-field\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.button.text\")}\n value={btnText}\n error={\n !btnText &&\n t(\"neetoMolecules.productEmbed.floatingPopup.button.textError\")\n }\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"flex flex-col gap-y-2\">\n <Select\n data-testid=\"button-position-select-field\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.button.pos\")}\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-2\"\n data-testid=\"button-color-label\"\n >\n <Label>\n {t(\"neetoMolecules.productEmbed.floatingPopup.button.color\")}\n </Label>\n <ColorPicker\n color={btnColor}\n size=\"medium\"\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-2\"\n data-testid=\"button-text-color-label\"\n >\n <Label>\n {t(\"neetoMolecules.productEmbed.floatingPopup.button.textColor\")}\n </Label>\n <ColorPicker\n color={btnTextColor}\n size=\"medium\"\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-testid=\"show-icon-checkbox\"\n label={t(\"neetoMolecules.productEmbed.floatingPopup.showCalIcon\")}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import { Switch } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { SWITCH_OPTIONS } from \"../constants\";\n\nconst SwitchOptions = ({ customization = {}, updateCustomization }) => {\n const visibleOptions = Object.keys(SWITCH_OPTIONS)\n .filter(key => key in customization)\n .map(key => [key, customization[key]]);\n\n if (isEmpty(visibleOptions)) return null;\n\n return (\n <div className=\"flex flex-col gap-4\">\n {visibleOptions.map(\n ([option, { value, label, helpIconProps, ...rest }]) => (\n <Switch\n checked={value}\n key={option}\n label={label || SWITCH_OPTIONS[option].label}\n labelProps={\n helpIconProps && {\n helpIconProps: {\n \"data-testid\": \"help-icon-button\",\n ...helpIconProps,\n },\n }\n }\n onChange={e =>\n updateCustomization({\n [option]: {\n ...rest,\n label,\n helpIconProps,\n value: e.target.checked,\n },\n })\n }\n />\n )\n )}\n </div>\n );\n};\n\nexport default SwitchOptions;\n","import { useEffect } from \"react\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\nimport SwitchOptions from \"./SwitchOptions\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Iframe = ({\n updateCustomization,\n otherCustomizations,\n customization,\n}) => {\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n {otherCustomizations()}\n <SwitchOptions {...{ customization, updateCustomization }} />\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\nexport default Iframe;\n","import { useEffect } from \"react\";\n\nimport { Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicQueryParams from \"./DynamicQueryParams\";\nimport SwitchOptions from \"./SwitchOptions\";\n\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Inline = ({\n customization,\n updateCustomization,\n otherCustomizations,\n}) => {\n const { t } = useTranslation();\n const { isQueryParamsEnabled } = useProductEmbedStore.pick();\n\n const { elementSelector } = customization;\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n useEffect(() => {\n if (isQueryParamsEnabled) return;\n\n updateCustomization({ queryParams: undefined });\n }, []);\n\n return (\n <>\n <div className=\"flex flex-col gap-2\">\n <Label data-testid=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.inline.elementId\")}\n </Label>\n <Input\n data-testid=\"inline-element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.inline.elementIdError\")\n }\n onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n <SwitchOptions {...{ customization, updateCustomization }} />\n {otherCustomizations()}\n {isQueryParamsEnabled && (\n <DynamicQueryParams {...{ updateCustomization }} />\n )}\n </>\n );\n};\n\nexport default Inline;\n","export const InlineEmbedIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_8605_6776)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_8605_6776\">\n <path d=\"M0 0h305v20H0z\" />\n </mask>\n <path d=\"M0 0h305v20H0z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0v2h305z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_8605_6776)\"\n />\n <circle cx=\"10.596\" cy=\"10.432\" fill=\"#FD5350\" r=\"2.307\" />\n <circle cx=\"18.143\" cy=\"10.432\" fill=\"#FEB33A\" r=\"2.307\" />\n <circle cx=\"25.69\" cy=\"10.432\" fill=\"#2CC146\" r=\"2.307\" />\n <path d=\"M36 20h206v10H36zM36 150h206v12H36z\" fill=\"currentColor\" />\n <rect\n height=\"103.55\"\n rx=\"5.217\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n strokeWidth=\"0.45\"\n width=\"205.55\"\n x=\"36.225\"\n y=\"38.225\"\n />\n <rect\n fill=\"currentColor\"\n height=\"2.311\"\n rx=\"1.156\"\n width=\"36.079\"\n x=\"45.32\"\n y=\"81.914\"\n />\n <rect\n fill=\"currentColor\"\n height=\"2.311\"\n rx=\"1.156\"\n width=\"20.949\"\n x=\"45.32\"\n y=\"87.688\"\n />\n <rect\n fill=\"#008068\"\n height=\"7.988\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"61.109\"\n />\n <rect\n fill=\"currentColor\"\n height=\"7.728\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"73.57\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"85.773\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"98.383\"\n />\n <rect\n fill=\"currentColor\"\n height=\"8.134\"\n rx=\"1\"\n width=\"23.183\"\n x=\"203.539\"\n y=\"110.992\"\n />\n <circle cx=\"52.077\" cy=\"67.819\" fill=\"currentColor\" r=\"6.733\" />\n <circle cx=\"120.314\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"120.322\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"120.322\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"130.954\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"141.572\" cy=\"95.439\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"152.181\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"74.322\" fill=\"#008068\" r=\"2.65\" />\n <circle cx=\"162.806\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"173.439\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.064\" cy=\"63.767\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.064\" cy=\"74.322\" fill=\"currentColor\" r=\"2.65\" />\n <circle cx=\"184.075\" cy=\"84.876\" fill=\"currentColor\" r=\"2.65\" />\n <path d=\"M93.023 38v104\" stroke=\"#E7E7E7\" strokeWidth=\"0.454\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <defs>\n <clipPath id=\"clip0_8605_6776\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const FloatingPopupIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_9047_10870)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_9047_10870\">\n <path d=\"M0 0H305V20H0V0Z\" />\n </mask>\n <path d=\"M0 0H305V20H0V0Z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0V21H305V19Z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_9047_10870)\"\n />\n <circle cx=\"10.5963\" cy=\"10.4322\" fill=\"#FD5350\" r=\"2.30723\" />\n <circle cx=\"18.1432\" cy=\"10.4322\" fill=\"#FEB33A\" r=\"2.30723\" />\n <circle cx=\"25.69\" cy=\"10.4322\" fill=\"#2CC146\" r=\"2.30723\" />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"84.6936\"\n x=\"145\"\n y=\"63\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"89\"\n x=\"145\"\n y=\"70\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"49\"\n x=\"145\"\n y=\"77\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"84.6936\"\n x=\"36\"\n y=\"111\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"89\"\n x=\"36\"\n y=\"118\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3\"\n opacity=\"0.78\"\n rx=\"1.5\"\n width=\"25.8387\"\n x=\"36\"\n y=\"125\"\n />\n <rect fill=\"currentColor\" height=\"35\" width=\"96\" x=\"36\" y=\"57\" />\n <rect fill=\"currentColor\" height=\"35\" width=\"95\" x=\"145\" y=\"102\" />\n <rect fill=\"currentColor\" height=\"26\" width=\"204\" x=\"36\" y=\"20\" />\n <rect fill=\"currentColor\" height=\"14\" width=\"204\" x=\"36\" y=\"148\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <rect fill=\"#008068\" height=\"18\" rx=\"9\" width=\"69\" x=\"194\" y=\"134\" />\n <defs>\n <clipPath id=\"clip0_9047_10870\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport const ElementPopupIcon = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"163\"\n viewBox=\"0 0 278 163\"\n width=\"278\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <g clipPath=\"url(#clip0_9047_10869)\">\n <rect fill=\"rgb(var(--neeto-ui-white))\" height=\"163\" rx=\"6\" width=\"278\" />\n <mask fill=\"rgb(var(--neeto-ui-white))\" id=\"path-3-inside-1_9047_10869\">\n <path d=\"M0 0h305v20H0z\" />\n </mask>\n <path d=\"M0 0h305v20H0z\" fill=\"rgb(var(--neeto-ui-white))\" />\n <path\n d=\"M305 19H0v2h305z\"\n fill=\"currentColor\"\n mask=\"url(#path-3-inside-1_9047_10869)\"\n />\n <circle cx=\"10.596\" cy=\"10.432\" fill=\"#FD5350\" r=\"2.307\" />\n <circle cx=\"18.143\" cy=\"10.432\" fill=\"#FEB33A\" r=\"2.307\" />\n <circle cx=\"25.69\" cy=\"10.432\" fill=\"#2CC146\" r=\"2.307\" />\n </g>\n <rect\n height=\"162\"\n rx=\"5.5\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n width=\"277\"\n x=\"0.5\"\n y=\"0.5\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"85\"\n x=\"135\"\n y=\"58.461\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"89\"\n x=\"135\"\n y=\"66.352\"\n />\n <rect fill=\"#008068\" height=\"7\" rx=\"3.5\" width=\"38\" x=\"135\" y=\"74\" />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"85\"\n x=\"135\"\n y=\"100.859\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"89\"\n x=\"135\"\n y=\"108.75\"\n />\n <rect\n fill=\"currentColor\"\n height=\"3.944\"\n opacity=\"0.78\"\n rx=\"1.972\"\n width=\"26\"\n x=\"135\"\n y=\"116.641\"\n />\n <path\n d=\"M36 52h88v34H36zM36 20h204v28H36zM240 162H36v-28h204zM36 90h88v41H36z\"\n fill=\"currentColor\"\n />\n <defs>\n <clipPath id=\"clip0_9047_10869\">\n <rect\n fill=\"rgb(var(--neeto-ui-white))\"\n height=\"163\"\n rx=\"6\"\n width=\"278\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n","import { t } from \"i18next\";\n\nimport ElementPopup from \"./Customization/ElementPopup\";\nimport FloatingPopup from \"./Customization/FloatingPopup\";\nimport Iframe from \"./Customization/Iframe\";\nimport Inline from \"./Customization/Inline\";\nimport { InlineEmbedIcon, FloatingPopupIcon, ElementPopupIcon } from \"./Icons\";\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\n IFRAME: \"iframe\",\n};\n\nexport const EMBED_ICONS = {\n [EMBED_OPTIONS.INLINE]: InlineEmbedIcon,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopupIcon,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopupIcon,\n [EMBED_OPTIONS.IFRAME]: InlineEmbedIcon,\n};\n\nexport const DEFAULT_CUSTOMIZATION = {\n [EMBED_OPTIONS.INLINE]: {\n width: 100,\n height: 100,\n elementSelector: \"inline-embed-container\",\n },\n [EMBED_OPTIONS.FLOATING_POPUP]: {\n showIcon: false,\n btnText: \"Open\",\n btnColor: \"#008068\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n [EMBED_OPTIONS.IFRAME]: {\n height: 100,\n width: 100,\n iframeTitle: \"Iframe embed\",\n },\n};\n\nexport const EMBED_CUSTOMIZATION_COMPONENTS = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n [EMBED_OPTIONS.IFRAME]: Iframe,\n};\n\nexport const EMBED_TITLES = {\n [EMBED_OPTIONS.INLINE]: t(\"neetoMolecules.productEmbed.inline.title\"),\n [EMBED_OPTIONS.FLOATING_POPUP]: t(\n \"neetoMolecules.productEmbed.floatingPopup.title\"\n ),\n [EMBED_OPTIONS.ELEMENT_POPUP]: t(\n \"neetoMolecules.productEmbed.elementPopup.title\"\n ),\n [EMBED_OPTIONS.IFRAME]: t(\"neetoMolecules.productEmbed.iframe.title\"),\n};\n\nexport const SUPPORTED_LANGUAGES = [\n { value: \"html\", label: t(\"neetoMolecules.productEmbed.language.html\") },\n {\n value: \"react\",\n label: t(\"neetoMolecules.productEmbed.language.react\"),\n },\n];\n\nexport const SCRIPT_ID = \"embed-script\";\n\nexport const TAB_STRING = \" \";\n\nexport const SWITCH_OPTIONS = {\n dynamicHeight: {\n label: t(\"neetoMolecules.productEmbed.dynamicHeight\"),\n },\n hideTitle: { label: t(\"neetoMolecules.productEmbed.hideTitle\") },\n alignContentLeft: {\n label: t(\"neetoMolecules.productEmbed.alignContentLeft\"),\n },\n transparentBackground: {\n label: t(\"neetoMolecules.productEmbed.transparentBackground\"),\n },\n};\n","import { useState } from \"react\";\n\nimport { filterBy } from \"neetocist\";\nimport { Typography, Select } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Codeblock from \"components/Codeblock\";\n\nimport { SUPPORTED_LANGUAGES } from \"./constants\";\nimport { generateCode } from \"./utils\";\n\nconst Code = ({\n id,\n selectedEmbed,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n supportedLanguages,\n customization,\n}) => {\n const { t } = useTranslation();\n\n const supportedLanguagesOptions = filterBy(\n { value: value => supportedLanguages?.includes(value) },\n SUPPORTED_LANGUAGES\n );\n\n const [selectedLanguage, setSelectedLanguage] = useState(\n supportedLanguagesOptions[0]\n );\n\n const code = generateCode({\n id,\n selectedLanguage: selectedLanguage.value,\n type: selectedEmbed,\n customization,\n embedScriptLink,\n extraArgs,\n inlineWrapperStyle,\n iframeStyle,\n });\n\n return (\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex items-center justify-between\">\n <Typography style=\"h4\">\n {t(\"neetoMolecules.productEmbed.embedCode\")}\n </Typography>\n <Select\n className=\"w-28 flex-grow-0\"\n options={supportedLanguagesOptions}\n size=\"small\"\n strategy=\"fixed\"\n value={selectedLanguage}\n onChange={setSelectedLanguage}\n />\n </div>\n <div\n className=\"neeto-molecules-embed__code-block relative w-full overflow-y-auto\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock\n {...{ code }}\n codeblockProps={{\n \"data-testid\": `${selectedLanguage.value}-code-block`,\n }}\n copyButtonProps={{\n style: \"primary\",\n label: t(\"neetoMolecules.productEmbed.copyCode\"),\n }}\n />\n </div>\n </div>\n );\n};\n\nexport default Code;\n","export const FloatingPopupPlaceholderImage = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"518\"\n viewBox=\"0 0 796 518\"\n width=\"796\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"358.702\"\n x=\"406.645\"\n y=\"152.109\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"376.941\"\n x=\"406.645\"\n y=\"181.758\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"207.529\"\n x=\"406.645\"\n y=\"211.406\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"358.702\"\n y=\"333.414\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"376.941\"\n y=\"363.062\"\n />\n <rect\n fill=\"currentColor\"\n height=\"12.706\"\n opacity=\"0.78\"\n rx=\"6.353\"\n width=\"109.435\"\n y=\"392.711\"\n />\n <path\n d=\"M0 127.203h374v148H0zM407 295h389v149H407zM0 .203h796v110H0zM0 460.203h796v59H0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const ElementPopupPlaceholderImage = ({ ...other }) => (\n <svg\n fill=\"none\"\n height=\"518\"\n viewBox=\"0 0 748 518\"\n width=\"748\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...other}\n >\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"311.667\"\n x=\"363\"\n y=\"142.688\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"326.333\"\n x=\"363\"\n y=\"171.617\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"311.667\"\n x=\"363\"\n y=\"298.141\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"326.333\"\n x=\"363\"\n y=\"327.07\"\n />\n <rect\n fill=\"currentColor\"\n height=\"14.463\"\n opacity=\"0.78\"\n rx=\"7.231\"\n width=\"95.333\"\n x=\"363\"\n y=\"356\"\n />\n <path\n d=\"M0 119h322.667v124.667H0zM0 0h748v104H0zM748 522.336H0V419.669h748zM0 258.328h322.667v150.333H0z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n","import { useEffect, useMemo } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ElementPopupPlaceholderImage } from \"../PlaceholderImages\";\n\nconst ElementPopup = ({ iframeURL }) => {\n const { t } = useTranslation();\n\n /**\n * Currently embed() function doesn't have an unembed handler.\n * When iframe link changes, we don't have an option to reinitiate it.\n * So we forcefully recreate the element with `key` and call embed() again\n */\n const elementSelectorId = useMemo(\n () => `popup-button-${Math.random().toString().substring(2, 10)}`,\n [iframeURL]\n );\n\n useEffect(() => {\n const element = document.getElementById(elementSelectorId);\n if (!element) return;\n\n const appName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n window[appName]?.embed(element, iframeURL);\n }, [iframeURL]);\n\n return (\n <div className=\"relative h-full w-full overflow-hidden\">\n <ElementPopupPlaceholderImage className=\"neeto-ui-text-gray-100 absolute inset-0 h-auto w-full p-10\" />\n <Button\n className=\"absolute start-[48.5294117647%] top-[39.0804597701%]\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelectorId}\n key={elementSelectorId}\n label={t(\"neetoMolecules.productEmbed.elementPopup.label\")}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { useEffect, useMemo } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nimport { FloatingPopupPlaceholderImage } from \"../PlaceholderImages\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n /**\n * Currently embed() function doesn't have an unembed handler.\n * When iframe link changes, we don't have an option to reinitiate it.\n * So we forcefully recreate the element with `key` and call embed() again\n */\n const elementSelectorId = useMemo(\n () => `popup-button-${Math.random().toString().substring(2, 10)}`,\n [iframeURL]\n );\n\n useEffect(() => {\n const element = document.getElementById(elementSelectorId);\n if (!element) return;\n\n const appName = globalProps.appName.replace(/^neeto/i, \"neeto\");\n window[appName]?.embed(element, iframeURL);\n }, [iframeURL]);\n\n useEffect(() => {\n const btn = document.getElementById(elementSelectorId);\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full overflow-hidden\">\n <FloatingPopupPlaceholderImage className=\"neeto-ui-text-gray-100 h-auto w-full p-10\" />\n <Button\n data-testid=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id={elementSelectorId}\n key={elementSelectorId}\n label={btnText}\n className={classNames(\"absolute bottom-0 m-4\", {\n \"start-0\": btnPosition === \"bottomLeft\",\n \"end-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import { useEffect } from \"react\";\n\nexport default function useIframeHeightReset(iframeRef, dynamicHeight) {\n useEffect(() => {\n if (!dynamicHeight?.value && iframeRef?.current) {\n iframeRef.current.style.height = \"\";\n }\n }, [dynamicHeight?.value, iframeRef]);\n}\n","import { useRef } from \"react\";\n\nimport useIframeHeightReset from \"../hooks/useIframeHeightReset\";\n\nconst Iframe = ({ iframeURL, customization }) => {\n const { height, width, iframeTitle, dynamicHeight } = customization;\n\n const iframeRef = useRef(null);\n useIframeHeightReset(iframeRef, dynamicHeight);\n\n return (\n <iframe\n {...{ height, width }}\n allowFullScreen\n className=\"m-auto border-0\"\n ref={iframeRef}\n src={iframeURL}\n title={iframeTitle}\n />\n );\n};\n\nexport default Iframe;\n","import { useRef } from \"react\";\n\nimport useIframeHeightReset from \"../hooks/useIframeHeightReset\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { dynamicHeight } = customization;\n\n const iframeRef = useRef(null);\n useIframeHeightReset(iframeRef, dynamicHeight);\n\n return <iframe className=\"m-auto border-0\" ref={iframeRef} src={iframeURL} />;\n};\n\nexport default Inline;\n","import { EMBED_OPTIONS, SWITCH_OPTIONS } from \"../constants\";\n\nconst buildQueryParams = (customization = {}, existingQueryParams = {}) => {\n const activeOptions = Object.keys(SWITCH_OPTIONS).reduce((acc, key) => {\n const value = customization[key]?.value;\n if (value) acc[key] = value;\n\n return acc;\n }, {});\n\n return { ...existingQueryParams, ...activeOptions };\n};\n\nexport const buildIframeURL = ({\n previewURL,\n selectedEmbed,\n queryParams,\n customization,\n}) => {\n const url = new URL(previewURL);\n\n const params = buildQueryParams(customization, queryParams);\n\n Object.entries(params).forEach(([name, value]) => {\n url.searchParams.append(name, value);\n });\n\n if (\n selectedEmbed === EMBED_OPTIONS.FLOATING_POPUP ||\n selectedEmbed === EMBED_OPTIONS.ELEMENT_POPUP\n ) {\n url.searchParams.set(\"dynamicHeight\", \"true\");\n }\n\n return url.toString();\n};\n","import { Spinner } from \"neetoui\";\n\nimport BrowserPreview from \"components/BrowserPreview\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Iframe from \"./Iframe\";\nimport Inline from \"./Inline\";\nimport { buildIframeURL } from \"./utils\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\nimport useProductEmbedStore from \"../useProductEmbedStore\";\n\nconst Preview = ({\n isScriptLoading,\n selectedEmbed,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const { queryParams } = useProductEmbedStore.pick();\n\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n [EMBED_OPTIONS.IFRAME]: Iframe,\n };\n\n const previewURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n\n const iframeURL = buildIframeURL({\n previewURL,\n selectedEmbed,\n queryParams,\n customization,\n });\n\n const Component = preview[selectedEmbed];\n\n if (isScriptLoading) {\n return (\n <div className=\"flex min-h-0 flex-grow items-center justify-center overflow-y-auto\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <BrowserPreview\n className=\"h-full\"\n wrapperClassName=\"neeto-molecules-embed__browser-preview pointer-events-auto\"\n >\n <Component {...{ customization, iframeURL }} />\n </BrowserPreview>\n );\n};\n\nexport default Preview;\n","import { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Code from \"./Code\";\nimport {\n EMBED_CUSTOMIZATION_COMPONENTS,\n EMBED_TITLES,\n SCRIPT_ID,\n} from \"./constants\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization } from \"./utils\";\n\nconst EmbedRenderer = ({\n className,\n customEmbedScriptPath,\n customPreviewIframeUrl,\n id,\n options,\n extraArgs,\n otherCustomizations,\n inlineWrapperStyle,\n iframeStyle,\n supportedLanguages,\n selectedEmbed,\n}) => {\n const { t } = useTranslation();\n const location = useLocation();\n\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n\n const [customizations, setCustomizations] = useStateWithDependency(\n () => buildDefaultCustomization(options),\n [options?.iframe?.iframeUrl]\n );\n\n const { description } = customizations[selectedEmbed];\n const customization = customizations[selectedEmbed];\n const CustomizationComponent = EMBED_CUSTOMIZATION_COMPONENTS[selectedEmbed];\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n script.onload = () => setIsScriptLoading(false);\n document.head.appendChild(script);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedEmbed]: mergeLeft(props, prevState[selectedEmbed]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <Container\n data-testid=\"embed-product\"\n className={classNames(\n \"neeto-molecules-embed flex w-full flex-grow flex-col p-0 md:flex-row\",\n className\n )}\n >\n <div className=\"neeto-molecules-embed__left-sidebar px-5 py-8 md:h-full md:overflow-y-auto md:px-10\">\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-embed-selection-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToEmbedSelection\")}\n size=\"small\"\n style=\"link\"\n to={location.pathname}\n />\n <Header\n className=\"py-0\"\n data-testid={`${hyphenate(selectedEmbed)}-embed-title`}\n title={EMBED_TITLES[selectedEmbed]}\n />\n {description && (\n <Typography\n className=\"mt-2\"\n data-testid={`${hyphenate(selectedEmbed)}-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n <div className=\"mt-4 flex w-full flex-col gap-y-6\">\n <div className=\"flex flex-col gap-y-6\">\n <Code\n {...{\n customization,\n embedScriptLink,\n extraArgs,\n id,\n iframeStyle,\n inlineWrapperStyle,\n selectedEmbed,\n supportedLanguages,\n }}\n />\n <CustomizationComponent\n {...{\n customization,\n otherCustomizations,\n updateCustomization,\n }}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-molecules-embed__preview neeto-ui-bg-gray-50 flex min-h-dvh w-full min-w-0 flex-col gap-3 overflow-y-auto p-6 md:h-full md:min-h-0 md:flex-grow\">\n <Preview\n {...{\n customPreviewIframeUrl,\n customization,\n id,\n isScriptLoading,\n selectedEmbed,\n }}\n />\n </div>\n </Container>\n );\n};\n\nexport default EmbedRenderer;\n","import { hyphenate } from \"neetocist\";\nimport { handleMetaClick } from \"neetocommons/react-utils\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport { EMBED_ICONS } from \"./constants\";\n\nconst EmbedSelector = ({ options, goBackLink, title }) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n const location = useLocation();\n\n return (\n <Container className=\"neeto-molecules-embed-landing-page py-8\">\n {goBackLink && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={goBackLink}\n />\n )}\n <Header\n className=\"py-0\"\n data-testid=\"embed-selector-header\"\n title={t(\"neetoMolecules.productEmbed.title\")}\n />\n <div className=\"neeto-molecules-embed-landing-page__container mx-auto w-full max-w-5xl py-6 md:py-10\">\n <Typography className=\"mb-2\" style=\"h2\">\n {title ||\n t(\"neetoMolecules.productEmbed.embedSelectionTitle\", {\n productName: globalProps.appName,\n })}\n </Typography>\n <Typography className=\"mb-8\" style=\"body1\">\n {t(\"neetoMolecules.productEmbed.embedSelectionDescription\")}\n </Typography>\n <div className=\"neeto-molecules-embed-landing-page__cards-wrapper grid w-full grid-cols-1 flex-wrap gap-6 md:grid-cols-3\">\n {Object.entries(options).map(\n ([key, { label, description, embedIcon }]) => {\n const EmbedIcon = embedIcon || EMBED_ICONS[key];\n\n return (\n <button\n className=\"neeto-molecules-embed-landing-page__card flex w-full flex-col\"\n data-testid={`embed-selector-card-${hyphenate(key)}`}\n key={key}\n onClick={handleMetaClick(\n history,\n `${location.pathname}?type=${hyphenate(key)}`\n )}\n >\n <span className=\"neeto-molecules-embed-landing-page__card-icon mb-6 block\">\n <EmbedIcon className=\"neeto-ui-text-gray-200 h-auto w-full max-w-72\" />\n </span>\n <Typography className=\"mb-2\" style=\"h4\">\n {label}\n </Typography>\n <Typography style=\"body2\">{description}</Typography>\n </button>\n );\n }\n )}\n </div>\n </div>\n </Container>\n );\n};\n\nexport default EmbedSelector;\n","import { useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { useLocation } from \"react-router-dom\";\n\nimport EmbedRenderer from \"./EmbedRenderer\";\nimport EmbedSelector from \"./EmbedSelector\";\nimport \"./product-embed.scss\";\nimport useProductEmbedStore from \"./useProductEmbedStore\";\nimport { toCamelCasedString } from \"./utils\";\n\nconst ProductEmbed = ({\n title,\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n isQueryParamsEnabled = false,\n queryParamsProps = {},\n options = {},\n extraArgs = {},\n otherCustomizations = noop,\n inlineWrapperStyle = \"height: 90vh; width: 100%;\",\n iframeStyle = \"height: 100%; width: 100%;\",\n supportedLanguages = [\"html\"],\n}) => {\n const { search } = useLocation();\n\n const queryParams = new URLSearchParams(search);\n const selectedEmbed = toCamelCasedString(queryParams.get(\"type\"));\n\n const { setProductEmbedState } = useProductEmbedStore.pick();\n\n useEffect(() => {\n setProductEmbedState({ isQueryParamsEnabled, queryParamsProps });\n }, []);\n\n return selectedEmbed ? (\n <EmbedRenderer\n {...{\n className,\n customEmbedScriptPath,\n customPreviewIframeUrl,\n extraArgs,\n id,\n iframeStyle,\n inlineWrapperStyle,\n options,\n otherCustomizations,\n queryParamsProps,\n selectedEmbed,\n supportedLanguages,\n }}\n />\n ) : (\n <EmbedSelector {...{ goBackLink, options, title }} />\n );\n};\n\nconst customizationSwitchShape = PropTypes.shape({\n value: PropTypes.bool,\n label: PropTypes.string,\n helpIconProps: PropTypes.object,\n});\n\nProductEmbed.propTypes = {\n /**\n * To set the title in the embed selection page.\n */\n title: PropTypes.string,\n /**\n * To set custom classNames. (optional)\n */\n className: PropTypes.string,\n /**\n * To use a different embed script. Uses /javascript/embed.js by default. (optional)\n */\n customEmbedScriptPath: PropTypes.string,\n /**\n * To use a different iframeUrl in Product embed preview. Uses /embed/${id} by default. (optional)\n */\n customPreviewIframeUrl: PropTypes.string,\n /**\n * To specify extra arguments to pass to the embed script. (optional)\n */\n extraArgs: PropTypes.object,\n /**\n * To show the 'Back to share' button. (optional)\n */\n goBackLink: PropTypes.string,\n /**\n * To specify the entity ID.\n */\n id: PropTypes.string,\n /**\n * To specify the Embed options for the product.\n */\n options: PropTypes.shape({\n inline: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n dynamicHeight: customizationSwitchShape,\n hideTitle: customizationSwitchShape,\n alignContentLeft: customizationSwitchShape,\n transparentBackground: customizationSwitchShape,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n btnTextColor: PropTypes.string,\n btnText: PropTypes.string,\n btnPosition: PropTypes.string,\n btnColor: PropTypes.string,\n icon: PropTypes.func,\n showIcon: PropTypes.bool,\n }),\n elementPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n elementSelector: PropTypes.string,\n }),\n iframe: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\n embedIcon: PropTypes.func,\n width: PropTypes.number,\n height: PropTypes.number,\n iframeUrl: PropTypes.string,\n dynamicHeight: customizationSwitchShape,\n hideTitle: customizationSwitchShape,\n alignContentLeft: customizationSwitchShape,\n transparentBackground: customizationSwitchShape,\n }),\n }),\n /**\n * To enable query parameters\n */\n isQueryParamsEnabled: PropTypes.bool,\n /**\n * To specify the query parameters\n */\n queryParamsProps: PropTypes.shape({\n helpPopoverProps: PropTypes.shape({\n title: PropTypes.string,\n size: PropTypes.oneOf([\"default\", \"large\"]),\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n helpLinkProps: PropTypes.object,\n popoverProps: PropTypes.object,\n className: PropTypes.string,\n iconColor: PropTypes.string,\n icon: PropTypes.node,\n }),\n label: PropTypes.string,\n keyPlaceholder: PropTypes.string,\n valuePlaceholder: PropTypes.string,\n addButtonLabel: PropTypes.string,\n }),\n /**\n * To add other customization fields to all the embed options\n */\n otherCustomizations: PropTypes.func,\n /**\n * To override the styles of inline embed wrapper div\n */\n inlineWrapperStyle: PropTypes.string,\n /**\n * To override the styles of inline embed iframe\n */\n iframeStyle: PropTypes.string,\n /**\n * To specifies the supported languages, currently limited to `html` and `react`.\n */\n supportedLanguages: PropTypes.arrayOf(PropTypes.oneOf([\"html\", \"react\"])),\n};\n\nexport default ProductEmbed;\n"],"names":["FLOATING_BUTTON_POSITIONS","label","t","value","INITIAL_QUERY_PARAM","name","useProductEmbedStore","create","withImmutableActions","set","isQueryParamsEnabled","queryParams","queryParamsProps","helpPopoverProps","keyPlaceholder","valuePlaceholder","addButtonLabel","setProductEmbedState","setQueryParams","camelCasedAppName","globalProps","appName","replace","embedBaseScript","embedScriptLink","concat","embedEnv","railsEnv","TAB_STRING","embedQueryParam","parseExtraArgs","extraArgs","toPairs","map","_ref","_ref2","_slicedToArray","key","inlineEmbedCode","_ref3","customization","id","inlineWrapperStyle","iframeStyle","elementSelector","dynamicHeight","processedInlineWrapperStyle","removeHeightFromStyle","organization","subdomain","floatingPopupEmbedCode","_ref4","btnTextColor","showIcon","btnText","btnPosition","btnColor","icon","elementPopupEmbedCode","_ref5","iframeEmbedCode","_ref6","height","width","iframeTitle","iframeUrl","iframeSrc","buildIframeURL","heightAttribute","htmlCodeGenerators","inline","floatingPopup","elementPopup","iframe","embedFunctionName","embedScript","scriptLink","cleanupFunction","parseInlineStyle","styleString","split","rule","_rule$split$map","s","trim","_rule$split$map2","filter","Boolean","join","reactCodeGenerators","buildQueryParams","arguments","length","undefined","existingQueryParams","activeOptions","Object","keys","SWITCH_OPTIONS","reduce","acc","_customization$key","mergedQueryParams","_objectSpread","isEmpty","JSON","stringify","generateCode","options","_embeddedCodeOptions$","_reactCodeGenerators$","_htmlCodeGenerators$t","selectedLanguage","type","embeddedCodeOptions","_objectWithoutProperties","_excluded","codeOptions","call","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","DEFAULT_CUSTOMIZATION","buildQueryParamsFromInputFields","inputFields","filteredInputFields","toCamelCasedString","string","_","nextChar","toUpperCase","url","URL","location","origin","toString","parsedQueryParams","parse","entries","forEach","searchParams","append","style","DynamicQueryParams","updateCustomization","_useTranslation","useTranslation","_useProductEmbedStore","store","shallow","handleAddQueryParam","_toConsumableArray","handleRemoveQueryParam","index","newQueryParams","i","handleInputChange","field","param","_defineProperty","useEffect","_jsxs","children","className","_jsx","Label","isPresent","HelpPopover","Input","placeholder","onChange","e","target","Button","Delete","onClick","Plus","iconPosition","ElementPopup","otherCustomizations","_Fragment","helpText","error","FloatingPopup","Select","getOptionValue","option","ColorPicker","color","size","hex","Checkbox","checked","SwitchOptions","_ref$customization","visibleOptions","_ref3$","helpIconProps","rest","Switch","labelProps","Iframe","Inline","attribute","InlineEmbedIcon","other","assign","_objectDestructuringEmpty","fill","viewBox","xmlns","clipPath","rx","d","mask","cx","cy","r","stroke","strokeWidth","x","y","FloatingPopupIcon","opacity","ElementPopupIcon","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","IFRAME","EMBED_ICONS","EMBED_CUSTOMIZATION_COMPONENTS","EMBED_TITLES","SUPPORTED_LANGUAGES","SCRIPT_ID","hideTitle","alignContentLeft","transparentBackground","Code","selectedEmbed","supportedLanguages","supportedLanguagesOptions","filterBy","includes","_useState","useState","_useState2","setSelectedLanguage","code","Typography","strategy","Codeblock","codeblockProps","copyButtonProps","FloatingPopupPlaceholderImage","ElementPopupPlaceholderImage","iframeURL","elementSelectorId","useMemo","Math","random","substring","_window$appName","element","document","getElementById","window","embed","btn","backgroundColor","classNames","useIframeHeightReset","iframeRef","current","useRef","allowFullScreen","ref","src","title","previewURL","params","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","Component","Spinner","BrowserPreview","wrapperClassName","EmbedRenderer","_options$iframe","customEmbedScriptPath","useLocation","setIsScriptLoading","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","customizations","setCustomizations","description","CustomizationComponent","protocol","host","loadScript","script","createElement","onload","head","appendChild","props","prevState","mergeLeft","isScriptLoaded","Container","LeftArrow","to","pathname","Header","hyphenate","EmbedSelector","goBackLink","history","useHistory","productName","embedIcon","EmbedIcon","handleMetaClick","ProductEmbed","_ref$className","_ref$customEmbedScrip","_ref$goBackLink","_ref$isQueryParamsEna","_ref$queryParamsProps","_ref$options","_ref$extraArgs","_ref$otherCustomizati","noop","_ref$inlineWrapperSty","_ref$iframeStyle","_ref$supportedLanguag","_useLocation","search","URLSearchParams","get"],"mappings":"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"}
|