@bigbinary/neeto-molecules 1.15.35 → 1.15.37

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.
@@ -437,7 +437,7 @@ var css = ".neeto-molecules-product-embed-size-input.neeto-ui-input__wrapper .ne
437
437
  n(css,{});
438
438
 
439
439
  var embedBaseScript = function embedBaseScript(embedScriptLink) {
440
- return "<script>window.".concat(globalProps.appName, " = window.").concat(globalProps.appName, " || { embed: function(){(").concat(globalProps.appName, ".q=").concat(globalProps.appName, ".q||[]).push(arguments)} };</script>\n <script async\n src=").concat(embedScriptLink, ">\n </script>");
440
+ return "<script>window.".concat(globalProps.appName, " = window.").concat(globalProps.appName, " || { embed: function(){(").concat(globalProps.appName, ".q=").concat(globalProps.appName, ".q||[]).push(arguments)} };</script>\n <script async\n src=\"").concat(embedScriptLink, "\">\n </script>");
441
441
  };
442
442
  var embedEnv = function embedEnv() {
443
443
  return globalProps.railsEnv !== "production" ? "\n\t env: \"".concat(globalProps.railsEnv, "\",") : "";
@@ -1 +1 @@
1
- {"version":3,"file":"ProductEmbed.js","sources":["../src/components/ProductEmbed/Code.jsx","../src/components/ProductEmbed/constants.js","../src/components/ProductEmbed/Customization/ElementPopup.jsx","../src/components/ProductEmbed/Customization/constants.js","../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../src/components/ProductEmbed/Customization/Inline.jsx","../src/components/ProductEmbed/Customization/index.jsx","../src/components/ProductEmbed/Header.jsx","../src/components/ProductEmbed/Options.jsx","../src/components/ProductEmbed/Preview/BrowserIcon.jsx","../src/components/ProductEmbed/Preview/ElementPopup.jsx","../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../src/components/ProductEmbed/Preview/Inline.jsx","../src/components/ProductEmbed/Preview/index.jsx","../src/components/ProductEmbed/util.js","../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport Codeblock from \"components/Codeblock\";\n\nconst Code = ({ code }) => (\n <div\n className=\"relative w-full overflow-y-auto\"\n data-cy=\"embed-code-block\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock {...{ code }} />\n </div>\n);\n\nexport default Code;\n","import { t } from \"i18next\";\nimport { Code, Eye } from \"neetoicons\";\n\nexport const TAB_KEYS = { HTML: \"html\", PREVIEW: \"preview\" };\n\nexport const TABS = [\n {\n key: TAB_KEYS.HTML,\n label: t(\"neetoMolecules.productEmbed.tab.html\"),\n icon: Code,\n },\n {\n key: TAB_KEYS.PREVIEW,\n label: t(\"neetoMolecules.productEmbed.tab.preview\"),\n icon: Eye,\n },\n];\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\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: \"#6f14ed\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n};\n\nexport const SCRIPT_ID = \"embed-script\";\n","import React from \"react\";\n\nimport { Typography, Input, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ customization, updateCustomization }) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"element-popup-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.elementPopup.title\")}\n </Typography>\n <Callout data-cy=\"element-popup-description\">\n {t(\n \"neetoMolecules.productEmbed.customization.elementPopup.description\"\n )}\n </Callout>\n <Input\n className=\"w-full\"\n data-cy=\"element-id-input-field\"\n data-testid=\"element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.customization.elementPopup.warning\")\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.elementId\"\n )}\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n","import React from \"react\";\n\nimport {\n Typography,\n Label,\n Input,\n Checkbox,\n Select,\n ColorPicker,\n} from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\n\nconst FloatingPopup = ({ customization, updateCustomization }) => {\n const { t } = useTranslation();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"popup-customization-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.floatingPopup.title\")}\n </Typography>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-cy=\"show-icon-checkbox\"\n data-testid=\"show-icon-checkbox\"\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.showCalIcon\"\n )}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n <div className=\"space-y-2\">\n <Input\n data-cy=\"button-text-input-field\"\n data-testid=\"button-text-input-field\"\n value={btnText}\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.text\"\n )}\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"space-y-2\">\n <Select\n data-cy=\"button-position-select-field\"\n data-testid=\"button-position-select-field\"\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.pos\"\n )}\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.color\"\n )}\n </Label>\n <ColorPicker\n color={btnColor}\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-text-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.textColor\"\n )}\n </Label>\n <ColorPicker\n color={btnTextColor}\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nimport { Typography, Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Inline = ({ customization, updateCustomization }) => {\n const { height, width, elementSelector } = customization;\n\n const { t } = useTranslation();\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n return (\n <div className=\"flex flex-col gap-y-6\">\n <Typography data-cy=\"customization-text\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.inline.title\")}\n </Typography>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"window-size-text\">\n {t(\n \"neetoMolecules.productEmbed.customization.inline.sizeOfEmbedWindow\"\n )}\n </Label>\n <div className=\"flex justify-between gap-x-2\">\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-width-input-field\"\n data-testid=\"inline-width-input-field\"\n max={100}\n min={0}\n prefix=\"W\"\n suffix=\"%\"\n type=\"number\"\n value={width}\n onChange={e => handleInputChange(e, \"width\")}\n />\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-height-input-field\"\n data-testid=\"inline-height-input-field\"\n max={100}\n min={0}\n prefix=\"H\"\n suffix=\"%\"\n type=\"number\"\n value={height}\n onChange={e => handleInputChange(e, \"height\")}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.customization.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 onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Customization = ({ option, customization, updateCustomization }) => {\n const type = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n const Component = type[option];\n\n return <Component {...{ customization, updateCustomization }} />;\n};\n\nexport default Customization;\n","import React from \"react\";\n\nimport { Tab } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Header = ({ tab, setTab }) => (\n <div className=\"flex w-full pt-2\">\n <Tab noUnderline className=\"neeto-molecules-product-embed-tab\">\n {TABS.map(({ key, label, icon }) => (\n <Tab.Item\n {...{ icon }}\n active={tab === key}\n data-cy={`${key}-tab`}\n data-testid={`${key}-tab`}\n key={key}\n onClick={() => setTab(key)}\n >\n {label}\n </Tab.Item>\n ))}\n </Tab>\n </div>\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport { Radio, Typography } from \"neetoui\";\n\nconst Options = ({ options, selectedOption, setSelectedOption }) => (\n <Radio\n stacked\n containerClassName=\"w-full flex flex-col gap-y-6\"\n name=\"options\"\n >\n {Object.entries(options).map(([key, { label, description }]) => (\n <label\n className=\"neeto-ui-border-gray-300 neeto-ui-bg-white neeto-ui-rounded-lg w-full cursor-pointer border p-4\"\n data-cy={`${key}-embed-option-label`}\n data-testid={`${key}-embed-option-label`}\n htmlFor={key}\n key={key}\n >\n <div className=\"flex items-center\">\n <Radio.Item\n {...{ label }}\n checked={key === selectedOption}\n className=\"mb-0\"\n data-cy={`${key}-embed-radio-button`}\n data-testid={`${key}-embed-radio-button`}\n id={key}\n name=\"options\"\n value={key}\n onChange={event => setSelectedOption(event.target.value)}\n />\n </div>\n <Typography\n className=\"w-full pl-6 pt-1\"\n data-cy={`${key}-embed-option-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n </label>\n ))}\n </Radio>\n);\n\nexport default Options;\n","import React from \"react\";\n\nconst BrowserIcon = () => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 52 12\"\n width=\"52\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FF5F57\"\n stroke=\"#E14640\"\n />\n <path\n d=\"M31.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FFBD2E\"\n stroke=\"#DFA123\"\n />\n <path\n d=\"M51.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#28CA42\"\n stroke=\"#1DAD2C\"\n />\n </svg>\n);\n\nexport default BrowserIcon;\n","import React, { useEffect } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ iframeURL, customization }) => {\n const { t } = useTranslation();\n\n const { elementSelector } = customization;\n\n useEffect(() => {\n const element = document.getElementById(elementSelector);\n if (element) window[globalProps.appName]?.embed(element, iframeURL);\n }, []);\n\n return (\n <div className=\"relative flex h-full w-full items-center justify-center p-6\">\n <Button\n data-cy=\"preview-element-popup-button\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelector}\n size=\"small\"\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.label\"\n )}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n window[globalProps.appName]?.embed(btn, iframeURL);\n }, []);\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full\">\n <Button\n data-cy=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id=\"embedBtn\"\n label={btnText}\n className={classNames(\"absolute bottom-0 m-16\", {\n \"left-0\": btnPosition === \"bottomLeft\",\n \"right-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { height, width } = customization;\n\n return (\n <iframe\n className=\"m-auto\"\n height={`${height}%`}\n src={iframeURL}\n width={`${width}%`}\n />\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport { Spinner } from \"neetoui\";\n\nimport BrowserIcon from \"./BrowserIcon\";\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Preview = ({\n isScriptLoading,\n selectedOption,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n\n const iframeURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n const Component = preview[selectedOption];\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 <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-300 neeto-ui-bg-white relative flex w-full flex-col overflow-hidden border\">\n <div className=\"neeto-ui-border-gray-300 flex-shrink-0 border-b p-3\">\n <BrowserIcon />\n </div>\n <div className=\"flex min-h-0 flex-grow overflow-y-auto\">\n <Component {...{ customization, iframeURL }} />\n </div>\n </div>\n );\n};\n\nexport default Preview;\n","import { mergeDeepLeft, toPairs } from \"ramda\";\n\nimport { DEFAULT_CUSTOMIZATION } from \"./constants\";\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${globalProps.appName} = window.${globalProps.appName} || { embed: function(){(${globalProps.appName}.q=${globalProps.appName}.q||[]).push(arguments)} };</script>\n <script async\n src=${embedScriptLink}>\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n\\t env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(([key, value]) => `\\n\\t ${key}: \"${value}\"`);\n\nconst inlineEmbedCode = ({ customization, id, embedScriptLink, extraArgs }) => {\n const { elementSelector, width = 100, height = 100 } = customization;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"min-width: 90vw; height: 90vh;\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: { height: \"${height}%\", width: \"${width}%\"},${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\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 ${globalProps.appName}.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}\", ${icon ? `\\n\\t\\tshowIcon: ${showIcon},` : \"\"}\n },${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}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nexport const embedCode = ({\n type,\n customization,\n id,\n embedScriptLink,\n extraArgs = {},\n}) => {\n switch (type) {\n case \"inline\":\n return inlineEmbedCode({ customization, id, embedScriptLink, extraArgs });\n case \"floatingPopup\":\n return floatingPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n case \"elementPopup\":\n return elementPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n default:\n return \"\";\n }\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n","import React, { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Code from \"./Code\";\nimport { EMBED_OPTIONS, SCRIPT_ID, TAB_KEYS } from \"./constants\";\nimport Customization from \"./Customization\";\nimport Header from \"./Header\";\nimport Options from \"./Options\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization, embedCode } from \"./util\";\n\nconst ProductEmbed = ({\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n options = {},\n extraArgs = {},\n}) => {\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n const [tab, setTab] = useState(TAB_KEYS.HTML);\n const [selectedOption, setSelectedOption] = useState(EMBED_OPTIONS.INLINE);\n const [customizations, setCustomizations] = useState(() =>\n buildDefaultCustomization(options)\n );\n\n const { t } = useTranslation();\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const code = embedCode({\n id,\n type: selectedOption,\n customization: customizations[selectedOption],\n embedScriptLink,\n extraArgs,\n });\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n document.head.appendChild(script);\n setIsScriptLoading(false);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedOption]: mergeLeft(props, prevState[selectedOption]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <div\n className={classNames(\"flex w-full flex-grow\", className)}\n data-testid=\"embed-product\"\n >\n <div className=\"neeto-molecules-embed-left-sidebar border-r\">\n {goBackLink && (\n <Button\n className=\"mb-4 px-0\"\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=\"icon\"\n to={goBackLink}\n />\n )}\n <Typography data-cy=\"embed-options-header-title\" style=\"h3\">\n {t(\"neetoMolecules.productEmbed.embedOptions.title\")}\n </Typography>\n <Typography\n className=\"mt-1\"\n data-cy=\"embed-options-header-description\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.productEmbed.embedOptions.description\")}\n </Typography>\n <div className=\"mt-6 flex w-full flex-col gap-y-6 pb-10\">\n <Options {...{ options, selectedOption, setSelectedOption }} />\n <Customization\n {...{ updateCustomization }}\n customization={customizations[selectedOption]}\n option={selectedOption}\n />\n </div>\n </div>\n <div className=\"neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6\">\n <Header {...{ setTab, tab }} />\n <div className=\"flex flex-grow overflow-y-auto\">\n {tab === TAB_KEYS.PREVIEW ? (\n <Preview\n {...{\n customPreviewIframeUrl,\n id,\n isScriptLoading,\n selectedOption,\n }}\n customization={customizations[selectedOption]}\n />\n ) : (\n <Code {...{ code }} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nProductEmbed.propTypes = {\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 width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\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 elementSelector: PropTypes.string,\n }),\n }),\n};\n\nexport default ProductEmbed;\n"],"names":["Code","_ref","code","React","createElement","className","Codeblock","TAB_KEYS","HTML","PREVIEW","TABS","key","label","t","icon","Eye","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","DEFAULT_CUSTOMIZATION","_defineProperty","width","height","elementSelector","showIcon","btnText","btnColor","btnTextColor","btnPosition","SCRIPT_ID","ElementPopup","customization","updateCustomization","_useTranslation","useTranslation","Typography","style","Callout","Input","value","error","onChange","e","target","FLOATING_BUTTON_POSITIONS","FloatingPopup","Checkbox","checked","Select","options","getOptionValue","option","Label","ColorPicker","color","hex","Inline","handleInputChange","_ref2","attribute","max","min","prefix","suffix","type","Customization","Component","Header","tab","setTab","Tab","noUnderline","map","Item","active","concat","onClick","Options","selectedOption","setSelectedOption","Radio","stacked","containerClassName","name","Object","entries","_ref3","_slicedToArray","_ref3$","description","htmlFor","id","event","BrowserIcon","fill","viewBox","xmlns","d","stroke","iframeURL","useEffect","_window$globalProps$a","element","document","getElementById","window","globalProps","appName","embed","Button","size","btn","backgroundColor","iconPosition","classNames","src","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","location","origin","Spinner","embedBaseScript","embedScriptLink","embedEnv","railsEnv","parseExtraArgs","extraArgs","toPairs","inlineEmbedCode","_customization$width","_customization$height","organization","subdomain","floatingPopupEmbedCode","_ref4","elementPopupEmbedCode","_ref5","embedCode","_ref6","_ref6$extraArgs","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","ProductEmbed","_ref$className","_ref$customEmbedScrip","customEmbedScriptPath","_ref$goBackLink","goBackLink","_ref$options","_ref$extraArgs","_useState","useState","_useState2","setIsScriptLoading","_useState3","_useState4","_useState5","_useState6","_useState7","_useState8","customizations","setCustomizations","protocol","host","loadScript","script","head","appendChild","props","prevState","_objectSpread","mergeLeft","isScriptLoaded","LeftArrow","to"],"mappings":"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"}
1
+ {"version":3,"file":"ProductEmbed.js","sources":["../src/components/ProductEmbed/Code.jsx","../src/components/ProductEmbed/constants.js","../src/components/ProductEmbed/Customization/ElementPopup.jsx","../src/components/ProductEmbed/Customization/constants.js","../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../src/components/ProductEmbed/Customization/Inline.jsx","../src/components/ProductEmbed/Customization/index.jsx","../src/components/ProductEmbed/Header.jsx","../src/components/ProductEmbed/Options.jsx","../src/components/ProductEmbed/Preview/BrowserIcon.jsx","../src/components/ProductEmbed/Preview/ElementPopup.jsx","../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../src/components/ProductEmbed/Preview/Inline.jsx","../src/components/ProductEmbed/Preview/index.jsx","../src/components/ProductEmbed/util.js","../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport Codeblock from \"components/Codeblock\";\n\nconst Code = ({ code }) => (\n <div\n className=\"relative w-full overflow-y-auto\"\n data-cy=\"embed-code-block\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock {...{ code }} />\n </div>\n);\n\nexport default Code;\n","import { t } from \"i18next\";\nimport { Code, Eye } from \"neetoicons\";\n\nexport const TAB_KEYS = { HTML: \"html\", PREVIEW: \"preview\" };\n\nexport const TABS = [\n {\n key: TAB_KEYS.HTML,\n label: t(\"neetoMolecules.productEmbed.tab.html\"),\n icon: Code,\n },\n {\n key: TAB_KEYS.PREVIEW,\n label: t(\"neetoMolecules.productEmbed.tab.preview\"),\n icon: Eye,\n },\n];\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\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: \"#6f14ed\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n};\n\nexport const SCRIPT_ID = \"embed-script\";\n","import React from \"react\";\n\nimport { Typography, Input, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ customization, updateCustomization }) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"element-popup-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.elementPopup.title\")}\n </Typography>\n <Callout data-cy=\"element-popup-description\">\n {t(\n \"neetoMolecules.productEmbed.customization.elementPopup.description\"\n )}\n </Callout>\n <Input\n className=\"w-full\"\n data-cy=\"element-id-input-field\"\n data-testid=\"element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.customization.elementPopup.warning\")\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.elementId\"\n )}\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n","import React from \"react\";\n\nimport {\n Typography,\n Label,\n Input,\n Checkbox,\n Select,\n ColorPicker,\n} from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\n\nconst FloatingPopup = ({ customization, updateCustomization }) => {\n const { t } = useTranslation();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"popup-customization-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.floatingPopup.title\")}\n </Typography>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-cy=\"show-icon-checkbox\"\n data-testid=\"show-icon-checkbox\"\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.showCalIcon\"\n )}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n <div className=\"space-y-2\">\n <Input\n data-cy=\"button-text-input-field\"\n data-testid=\"button-text-input-field\"\n value={btnText}\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.text\"\n )}\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"space-y-2\">\n <Select\n data-cy=\"button-position-select-field\"\n data-testid=\"button-position-select-field\"\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.pos\"\n )}\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.color\"\n )}\n </Label>\n <ColorPicker\n color={btnColor}\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-text-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.textColor\"\n )}\n </Label>\n <ColorPicker\n color={btnTextColor}\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nimport { Typography, Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Inline = ({ customization, updateCustomization }) => {\n const { height, width, elementSelector } = customization;\n\n const { t } = useTranslation();\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n return (\n <div className=\"flex flex-col gap-y-6\">\n <Typography data-cy=\"customization-text\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.inline.title\")}\n </Typography>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"window-size-text\">\n {t(\n \"neetoMolecules.productEmbed.customization.inline.sizeOfEmbedWindow\"\n )}\n </Label>\n <div className=\"flex justify-between gap-x-2\">\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-width-input-field\"\n data-testid=\"inline-width-input-field\"\n max={100}\n min={0}\n prefix=\"W\"\n suffix=\"%\"\n type=\"number\"\n value={width}\n onChange={e => handleInputChange(e, \"width\")}\n />\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-height-input-field\"\n data-testid=\"inline-height-input-field\"\n max={100}\n min={0}\n prefix=\"H\"\n suffix=\"%\"\n type=\"number\"\n value={height}\n onChange={e => handleInputChange(e, \"height\")}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.customization.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 onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Customization = ({ option, customization, updateCustomization }) => {\n const type = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n const Component = type[option];\n\n return <Component {...{ customization, updateCustomization }} />;\n};\n\nexport default Customization;\n","import React from \"react\";\n\nimport { Tab } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Header = ({ tab, setTab }) => (\n <div className=\"flex w-full pt-2\">\n <Tab noUnderline className=\"neeto-molecules-product-embed-tab\">\n {TABS.map(({ key, label, icon }) => (\n <Tab.Item\n {...{ icon }}\n active={tab === key}\n data-cy={`${key}-tab`}\n data-testid={`${key}-tab`}\n key={key}\n onClick={() => setTab(key)}\n >\n {label}\n </Tab.Item>\n ))}\n </Tab>\n </div>\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport { Radio, Typography } from \"neetoui\";\n\nconst Options = ({ options, selectedOption, setSelectedOption }) => (\n <Radio\n stacked\n containerClassName=\"w-full flex flex-col gap-y-6\"\n name=\"options\"\n >\n {Object.entries(options).map(([key, { label, description }]) => (\n <label\n className=\"neeto-ui-border-gray-300 neeto-ui-bg-white neeto-ui-rounded-lg w-full cursor-pointer border p-4\"\n data-cy={`${key}-embed-option-label`}\n data-testid={`${key}-embed-option-label`}\n htmlFor={key}\n key={key}\n >\n <div className=\"flex items-center\">\n <Radio.Item\n {...{ label }}\n checked={key === selectedOption}\n className=\"mb-0\"\n data-cy={`${key}-embed-radio-button`}\n data-testid={`${key}-embed-radio-button`}\n id={key}\n name=\"options\"\n value={key}\n onChange={event => setSelectedOption(event.target.value)}\n />\n </div>\n <Typography\n className=\"w-full pl-6 pt-1\"\n data-cy={`${key}-embed-option-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n </label>\n ))}\n </Radio>\n);\n\nexport default Options;\n","import React from \"react\";\n\nconst BrowserIcon = () => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 52 12\"\n width=\"52\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FF5F57\"\n stroke=\"#E14640\"\n />\n <path\n d=\"M31.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FFBD2E\"\n stroke=\"#DFA123\"\n />\n <path\n d=\"M51.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#28CA42\"\n stroke=\"#1DAD2C\"\n />\n </svg>\n);\n\nexport default BrowserIcon;\n","import React, { useEffect } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ iframeURL, customization }) => {\n const { t } = useTranslation();\n\n const { elementSelector } = customization;\n\n useEffect(() => {\n const element = document.getElementById(elementSelector);\n if (element) window[globalProps.appName]?.embed(element, iframeURL);\n }, []);\n\n return (\n <div className=\"relative flex h-full w-full items-center justify-center p-6\">\n <Button\n data-cy=\"preview-element-popup-button\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelector}\n size=\"small\"\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.label\"\n )}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n window[globalProps.appName]?.embed(btn, iframeURL);\n }, []);\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full\">\n <Button\n data-cy=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id=\"embedBtn\"\n label={btnText}\n className={classNames(\"absolute bottom-0 m-16\", {\n \"left-0\": btnPosition === \"bottomLeft\",\n \"right-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { height, width } = customization;\n\n return (\n <iframe\n className=\"m-auto\"\n height={`${height}%`}\n src={iframeURL}\n width={`${width}%`}\n />\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport { Spinner } from \"neetoui\";\n\nimport BrowserIcon from \"./BrowserIcon\";\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Preview = ({\n isScriptLoading,\n selectedOption,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n\n const iframeURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n const Component = preview[selectedOption];\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 <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-300 neeto-ui-bg-white relative flex w-full flex-col overflow-hidden border\">\n <div className=\"neeto-ui-border-gray-300 flex-shrink-0 border-b p-3\">\n <BrowserIcon />\n </div>\n <div className=\"flex min-h-0 flex-grow overflow-y-auto\">\n <Component {...{ customization, iframeURL }} />\n </div>\n </div>\n );\n};\n\nexport default Preview;\n","import { mergeDeepLeft, toPairs } from \"ramda\";\n\nimport { DEFAULT_CUSTOMIZATION } from \"./constants\";\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${globalProps.appName} = window.${globalProps.appName} || { embed: function(){(${globalProps.appName}.q=${globalProps.appName}.q||[]).push(arguments)} };</script>\n <script async\n src=\"${embedScriptLink}\">\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n\\t env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(([key, value]) => `\\n\\t ${key}: \"${value}\"`);\n\nconst inlineEmbedCode = ({ customization, id, embedScriptLink, extraArgs }) => {\n const { elementSelector, width = 100, height = 100 } = customization;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"min-width: 90vw; height: 90vh;\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: { height: \"${height}%\", width: \"${width}%\"},${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\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 ${globalProps.appName}.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}\", ${icon ? `\\n\\t\\tshowIcon: ${showIcon},` : \"\"}\n },${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}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nexport const embedCode = ({\n type,\n customization,\n id,\n embedScriptLink,\n extraArgs = {},\n}) => {\n switch (type) {\n case \"inline\":\n return inlineEmbedCode({ customization, id, embedScriptLink, extraArgs });\n case \"floatingPopup\":\n return floatingPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n case \"elementPopup\":\n return elementPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n default:\n return \"\";\n }\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n","import React, { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Code from \"./Code\";\nimport { EMBED_OPTIONS, SCRIPT_ID, TAB_KEYS } from \"./constants\";\nimport Customization from \"./Customization\";\nimport Header from \"./Header\";\nimport Options from \"./Options\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization, embedCode } from \"./util\";\n\nconst ProductEmbed = ({\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n options = {},\n extraArgs = {},\n}) => {\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n const [tab, setTab] = useState(TAB_KEYS.HTML);\n const [selectedOption, setSelectedOption] = useState(EMBED_OPTIONS.INLINE);\n const [customizations, setCustomizations] = useState(() =>\n buildDefaultCustomization(options)\n );\n\n const { t } = useTranslation();\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const code = embedCode({\n id,\n type: selectedOption,\n customization: customizations[selectedOption],\n embedScriptLink,\n extraArgs,\n });\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n document.head.appendChild(script);\n setIsScriptLoading(false);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedOption]: mergeLeft(props, prevState[selectedOption]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <div\n className={classNames(\"flex w-full flex-grow\", className)}\n data-testid=\"embed-product\"\n >\n <div className=\"neeto-molecules-embed-left-sidebar border-r\">\n {goBackLink && (\n <Button\n className=\"mb-4 px-0\"\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=\"icon\"\n to={goBackLink}\n />\n )}\n <Typography data-cy=\"embed-options-header-title\" style=\"h3\">\n {t(\"neetoMolecules.productEmbed.embedOptions.title\")}\n </Typography>\n <Typography\n className=\"mt-1\"\n data-cy=\"embed-options-header-description\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.productEmbed.embedOptions.description\")}\n </Typography>\n <div className=\"mt-6 flex w-full flex-col gap-y-6 pb-10\">\n <Options {...{ options, selectedOption, setSelectedOption }} />\n <Customization\n {...{ updateCustomization }}\n customization={customizations[selectedOption]}\n option={selectedOption}\n />\n </div>\n </div>\n <div className=\"neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6\">\n <Header {...{ setTab, tab }} />\n <div className=\"flex flex-grow overflow-y-auto\">\n {tab === TAB_KEYS.PREVIEW ? (\n <Preview\n {...{\n customPreviewIframeUrl,\n id,\n isScriptLoading,\n selectedOption,\n }}\n customization={customizations[selectedOption]}\n />\n ) : (\n <Code {...{ code }} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nProductEmbed.propTypes = {\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 width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\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 elementSelector: PropTypes.string,\n }),\n }),\n};\n\nexport default ProductEmbed;\n"],"names":["Code","_ref","code","React","createElement","className","Codeblock","TAB_KEYS","HTML","PREVIEW","TABS","key","label","t","icon","Eye","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","DEFAULT_CUSTOMIZATION","_defineProperty","width","height","elementSelector","showIcon","btnText","btnColor","btnTextColor","btnPosition","SCRIPT_ID","ElementPopup","customization","updateCustomization","_useTranslation","useTranslation","Typography","style","Callout","Input","value","error","onChange","e","target","FLOATING_BUTTON_POSITIONS","FloatingPopup","Checkbox","checked","Select","options","getOptionValue","option","Label","ColorPicker","color","hex","Inline","handleInputChange","_ref2","attribute","max","min","prefix","suffix","type","Customization","Component","Header","tab","setTab","Tab","noUnderline","map","Item","active","concat","onClick","Options","selectedOption","setSelectedOption","Radio","stacked","containerClassName","name","Object","entries","_ref3","_slicedToArray","_ref3$","description","htmlFor","id","event","BrowserIcon","fill","viewBox","xmlns","d","stroke","iframeURL","useEffect","_window$globalProps$a","element","document","getElementById","window","globalProps","appName","embed","Button","size","btn","backgroundColor","iconPosition","classNames","src","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","location","origin","Spinner","embedBaseScript","embedScriptLink","embedEnv","railsEnv","parseExtraArgs","extraArgs","toPairs","inlineEmbedCode","_customization$width","_customization$height","organization","subdomain","floatingPopupEmbedCode","_ref4","elementPopupEmbedCode","_ref5","embedCode","_ref6","_ref6$extraArgs","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","ProductEmbed","_ref$className","_ref$customEmbedScrip","customEmbedScriptPath","_ref$goBackLink","goBackLink","_ref$options","_ref$extraArgs","_useState","useState","_useState2","setIsScriptLoading","_useState3","_useState4","_useState5","_useState6","_useState7","_useState8","customizations","setCustomizations","protocol","host","loadScript","script","head","appendChild","props","prevState","_objectSpread","mergeLeft","isScriptLoaded","LeftArrow","to"],"mappings":"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"}
@@ -3,23 +3,23 @@ import { _ as _defineProperty } from './defineProperty-549061a7.js';
3
3
  import { _ as _slicedToArray } from './slicedToArray-b4278ecd.js';
4
4
  import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
5
5
  import React__default, { useState, useEffect } from 'react';
6
+ import { Tooltip, Typography, Checkbox, Input, Modal, Spinner, Button } from '@bigbinary/neetoui';
7
+ import { useTranslation } from 'react-i18next';
8
+ import { n } from './inject-css-c86de496.js';
6
9
  import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
7
- import { Modal, Typography, Spinner, Tooltip, Checkbox, Button, Input } from '@bigbinary/neetoui';
8
10
  import { not } from 'ramda';
9
- import { useTranslation } from 'react-i18next';
10
11
  import CopyToClipboardButton from './CopyToClipboardButton.js';
11
- import { n } from './inject-css-c86de496.js';
12
12
  import 'classnames';
13
13
  import '@bigbinary/neeto-commons-frontend/utils/general';
14
14
  import '@bigbinary/neeto-icons';
15
15
 
16
+ var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
17
+ n(css,{});
18
+
16
19
  var ONE_SECOND = 1;
17
20
  var ONE_MINUTE = 60 * ONE_SECOND;
18
21
  var ONE_HOUR = 60 * ONE_MINUTE;
19
22
 
20
- var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
21
- n(css,{});
22
-
23
23
  var getTimeValues = function getTimeValues(playbackTimeInSec) {
24
24
  var hour = Math.floor(playbackTimeInSec / ONE_HOUR);
25
25
  playbackTimeInSec = playbackTimeInSec % ONE_HOUR;
@@ -48,36 +48,28 @@ var shouldRenderHoursInput = function shouldRenderHoursInput(duration) {
48
48
  return hours > 0;
49
49
  };
50
50
 
51
- var _excluded = ["recordingUrl", "totalDuration", "currentTimestamp", "buttonProps", "isLoading"];
52
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
53
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
54
- var ShareRecording = function ShareRecording(_ref) {
51
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
52
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
53
+ var ShareModalBody = function ShareModalBody(_ref) {
55
54
  var recordingUrl = _ref.recordingUrl,
56
55
  totalDuration = _ref.totalDuration,
57
- currentTimestamp = _ref.currentTimestamp,
58
- _ref$buttonProps = _ref.buttonProps,
59
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
60
- _ref$isLoading = _ref.isLoading,
61
- isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
62
- otherProps = _objectWithoutProperties(_ref, _excluded);
56
+ getCurrentTimestamp = _ref.getCurrentTimestamp,
57
+ isOpen = _ref.isOpen;
63
58
  var _useTranslation = useTranslation(),
64
59
  t = _useTranslation.t;
65
- var _useState = useState(false),
60
+ var currentTimestamp = getCurrentTimestamp();
61
+ var _useState = useState(""),
66
62
  _useState2 = _slicedToArray(_useState, 2),
67
- isOpen = _useState2[0],
68
- setIsOpen = _useState2[1];
69
- var _useState3 = useState(""),
63
+ shareLink = _useState2[0],
64
+ setShareLink = _useState2[1];
65
+ var _useState3 = useState(currentTimestamp),
70
66
  _useState4 = _slicedToArray(_useState3, 2),
71
- shareLink = _useState4[0],
72
- setShareLink = _useState4[1];
73
- var _useState5 = useState(0),
67
+ currentPlaybackTime = _useState4[0],
68
+ setCurrentPlaybackTime = _useState4[1];
69
+ var _useState5 = useState(currentTimestamp > 0),
74
70
  _useState6 = _slicedToArray(_useState5, 2),
75
- currentPlaybackTime = _useState6[0],
76
- setCurrentPlaybackTime = _useState6[1];
77
- var _useState7 = useState(currentTimestamp > 0),
78
- _useState8 = _slicedToArray(_useState7, 2),
79
- isPlaybackTimeCheckboxChecked = _useState8[0],
80
- setIsPlaybackTimeCheckboxChecked = _useState8[1];
71
+ isPlaybackTimeCheckboxChecked = _useState6[0],
72
+ setIsPlaybackTimeCheckboxChecked = _useState6[1];
81
73
  var _getTimeValues = getTimeValues(currentPlaybackTime),
82
74
  hour = _getTimeValues.hour,
83
75
  minute = _getTimeValues.minute,
@@ -88,11 +80,6 @@ var ShareRecording = function ShareRecording(_ref) {
88
80
  var intendedTimeInSec = currentPlaybackTime + valueInSec - offset;
89
81
  setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));
90
82
  };
91
- var handleClick = function handleClick() {
92
- var _buttonProps$onClick;
93
- setIsOpen(true);
94
- buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
95
- };
96
83
  var renderTimeInput = function renderTimeInput(_ref3) {
97
84
  var value = _ref3.value,
98
85
  onChange = _ref3.onChange,
@@ -114,26 +101,12 @@ var ShareRecording = function ShareRecording(_ref) {
114
101
  setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);
115
102
  }, [isOpen]);
116
103
  useEffect(function () {
117
- var playbackUrl = buildUrl(recordingUrl, _objectSpread({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
118
- t: currentPlaybackTime
104
+ var playbackUrl = buildUrl(recordingUrl, _objectSpread$1({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
105
+ time: currentPlaybackTime
119
106
  }));
120
107
  setShareLink(playbackUrl);
121
108
  }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);
122
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Modal, _extends({}, _objectSpread({
123
- isOpen: isOpen
124
- }, otherProps), {
125
- "data-cy": "share-modal",
126
- size: "large",
127
- onClose: function onClose() {
128
- return setIsOpen(false);
129
- }
130
- }), /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
131
- style: "h2"
132
- }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default.createElement(Modal.Body, {
133
- className: "flex flex-col space-y-2"
134
- }, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
135
- className: "mx-auto"
136
- }) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
109
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
137
110
  className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2"
138
111
  }, /*#__PURE__*/React__default.createElement(Tooltip, {
139
112
  content: shareLink
@@ -185,7 +158,52 @@ var ShareRecording = function ShareRecording(_ref) {
185
158
  offset: second * ONE_SECOND
186
159
  });
187
160
  }
188
- })))))), /*#__PURE__*/React__default.createElement(Button, _extends({
161
+ }))));
162
+ };
163
+
164
+ var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "buttonProps", "isLoading"];
165
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
166
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
167
+ var ShareRecording = function ShareRecording(_ref) {
168
+ var recordingUrl = _ref.recordingUrl,
169
+ totalDuration = _ref.totalDuration,
170
+ getCurrentTimestamp = _ref.getCurrentTimestamp,
171
+ _ref$buttonProps = _ref.buttonProps,
172
+ buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
173
+ _ref$isLoading = _ref.isLoading,
174
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
175
+ otherProps = _objectWithoutProperties(_ref, _excluded);
176
+ var _useTranslation = useTranslation(),
177
+ t = _useTranslation.t;
178
+ var _useState = useState(false),
179
+ _useState2 = _slicedToArray(_useState, 2),
180
+ isOpen = _useState2[0],
181
+ setIsOpen = _useState2[1];
182
+ var handleClick = function handleClick() {
183
+ var _buttonProps$onClick;
184
+ setIsOpen(true);
185
+ buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
186
+ };
187
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Modal, _extends({}, _objectSpread({
188
+ isOpen: isOpen
189
+ }, otherProps), {
190
+ "data-cy": "share-modal",
191
+ size: "large",
192
+ onClose: function onClose() {
193
+ return setIsOpen(false);
194
+ }
195
+ }), /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
196
+ style: "h2"
197
+ }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default.createElement(Modal.Body, {
198
+ className: "flex flex-col space-y-2"
199
+ }, isLoading ? /*#__PURE__*/React__default.createElement(Spinner, {
200
+ className: "mx-auto"
201
+ }) : /*#__PURE__*/React__default.createElement(ShareModalBody, {
202
+ getCurrentTimestamp: getCurrentTimestamp,
203
+ isOpen: isOpen,
204
+ recordingUrl: recordingUrl,
205
+ totalDuration: totalDuration
206
+ }))), /*#__PURE__*/React__default.createElement(Button, _extends({
189
207
  "data-cy": "share-button",
190
208
  label: t("neetoMolecules.common.actions.share"),
191
209
  style: "secondary"
@@ -1 +1 @@
1
- {"version":3,"file":"ShareRecording.js","sources":["../src/components/ShareRecording/constants.js","../src/components/ShareRecording/utils.js","../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport {\n Modal,\n Typography,\n Input,\n Checkbox,\n Tooltip,\n Spinner,\n Button,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n currentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] = useState(0);\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { t: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * Current playback time of the recorded content in seconds.\n */\n currentTimestamp: PropTypes.number.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareRecording","_ref","recordingUrl","totalDuration","currentTimestamp","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","_useState3","_useState4","shareLink","setShareLink","_useState5","_useState6","currentPlaybackTime","setCurrentPlaybackTime","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","handleClick","_buttonProps$onClick","onClick","call","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","Fragment","Modal","_extends","size","onClose","Header","Typography","style","Body","Spinner","Tooltip","content","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ShareRecording.js","sources":["../src/components/ShareRecording/constants.js","../src/components/ShareRecording/utils.js","../src/components/ShareRecording/ShareModalBody.jsx","../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareModalBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n );\n};\n\nexport default ShareModalBody;\n","import React, { useState } from \"react\";\n\nimport { Modal, Typography, Spinner, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./share-modal.scss\";\nimport ShareModalBody from \"./ShareModalBody\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <ShareModalBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareModalBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","time","Fragment","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","ShareRecording","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","setIsOpen","handleClick","_buttonProps$onClick","onClick","call","Modal","_extends","size","onClose","Header","Body","Spinner","Button"],"mappings":"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"}
@@ -444,7 +444,7 @@ var css = ".neeto-molecules-product-embed-size-input.neeto-ui-input__wrapper .ne
444
444
  injectCss.n(css,{});
445
445
 
446
446
  var embedBaseScript = function embedBaseScript(embedScriptLink) {
447
- return "<script>window.".concat(globalProps.appName, " = window.").concat(globalProps.appName, " || { embed: function(){(").concat(globalProps.appName, ".q=").concat(globalProps.appName, ".q||[]).push(arguments)} };</script>\n <script async\n src=").concat(embedScriptLink, ">\n </script>");
447
+ return "<script>window.".concat(globalProps.appName, " = window.").concat(globalProps.appName, " || { embed: function(){(").concat(globalProps.appName, ".q=").concat(globalProps.appName, ".q||[]).push(arguments)} };</script>\n <script async\n src=\"").concat(embedScriptLink, "\">\n </script>");
448
448
  };
449
449
  var embedEnv = function embedEnv() {
450
450
  return globalProps.railsEnv !== "production" ? "\n\t env: \"".concat(globalProps.railsEnv, "\",") : "";
@@ -1 +1 @@
1
- {"version":3,"file":"ProductEmbed.js","sources":["../../src/components/ProductEmbed/Code.jsx","../../src/components/ProductEmbed/constants.js","../../src/components/ProductEmbed/Customization/ElementPopup.jsx","../../src/components/ProductEmbed/Customization/constants.js","../../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../../src/components/ProductEmbed/Customization/Inline.jsx","../../src/components/ProductEmbed/Customization/index.jsx","../../src/components/ProductEmbed/Header.jsx","../../src/components/ProductEmbed/Options.jsx","../../src/components/ProductEmbed/Preview/BrowserIcon.jsx","../../src/components/ProductEmbed/Preview/ElementPopup.jsx","../../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../../src/components/ProductEmbed/Preview/Inline.jsx","../../src/components/ProductEmbed/Preview/index.jsx","../../src/components/ProductEmbed/util.js","../../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport Codeblock from \"components/Codeblock\";\n\nconst Code = ({ code }) => (\n <div\n className=\"relative w-full overflow-y-auto\"\n data-cy=\"embed-code-block\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock {...{ code }} />\n </div>\n);\n\nexport default Code;\n","import { t } from \"i18next\";\nimport { Code, Eye } from \"neetoicons\";\n\nexport const TAB_KEYS = { HTML: \"html\", PREVIEW: \"preview\" };\n\nexport const TABS = [\n {\n key: TAB_KEYS.HTML,\n label: t(\"neetoMolecules.productEmbed.tab.html\"),\n icon: Code,\n },\n {\n key: TAB_KEYS.PREVIEW,\n label: t(\"neetoMolecules.productEmbed.tab.preview\"),\n icon: Eye,\n },\n];\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\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: \"#6f14ed\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n};\n\nexport const SCRIPT_ID = \"embed-script\";\n","import React from \"react\";\n\nimport { Typography, Input, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ customization, updateCustomization }) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"element-popup-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.elementPopup.title\")}\n </Typography>\n <Callout data-cy=\"element-popup-description\">\n {t(\n \"neetoMolecules.productEmbed.customization.elementPopup.description\"\n )}\n </Callout>\n <Input\n className=\"w-full\"\n data-cy=\"element-id-input-field\"\n data-testid=\"element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.customization.elementPopup.warning\")\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.elementId\"\n )}\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n","import React from \"react\";\n\nimport {\n Typography,\n Label,\n Input,\n Checkbox,\n Select,\n ColorPicker,\n} from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\n\nconst FloatingPopup = ({ customization, updateCustomization }) => {\n const { t } = useTranslation();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"popup-customization-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.floatingPopup.title\")}\n </Typography>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-cy=\"show-icon-checkbox\"\n data-testid=\"show-icon-checkbox\"\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.showCalIcon\"\n )}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n <div className=\"space-y-2\">\n <Input\n data-cy=\"button-text-input-field\"\n data-testid=\"button-text-input-field\"\n value={btnText}\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.text\"\n )}\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"space-y-2\">\n <Select\n data-cy=\"button-position-select-field\"\n data-testid=\"button-position-select-field\"\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.pos\"\n )}\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.color\"\n )}\n </Label>\n <ColorPicker\n color={btnColor}\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-text-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.textColor\"\n )}\n </Label>\n <ColorPicker\n color={btnTextColor}\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nimport { Typography, Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Inline = ({ customization, updateCustomization }) => {\n const { height, width, elementSelector } = customization;\n\n const { t } = useTranslation();\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n return (\n <div className=\"flex flex-col gap-y-6\">\n <Typography data-cy=\"customization-text\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.inline.title\")}\n </Typography>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"window-size-text\">\n {t(\n \"neetoMolecules.productEmbed.customization.inline.sizeOfEmbedWindow\"\n )}\n </Label>\n <div className=\"flex justify-between gap-x-2\">\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-width-input-field\"\n data-testid=\"inline-width-input-field\"\n max={100}\n min={0}\n prefix=\"W\"\n suffix=\"%\"\n type=\"number\"\n value={width}\n onChange={e => handleInputChange(e, \"width\")}\n />\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-height-input-field\"\n data-testid=\"inline-height-input-field\"\n max={100}\n min={0}\n prefix=\"H\"\n suffix=\"%\"\n type=\"number\"\n value={height}\n onChange={e => handleInputChange(e, \"height\")}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.customization.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 onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Customization = ({ option, customization, updateCustomization }) => {\n const type = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n const Component = type[option];\n\n return <Component {...{ customization, updateCustomization }} />;\n};\n\nexport default Customization;\n","import React from \"react\";\n\nimport { Tab } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Header = ({ tab, setTab }) => (\n <div className=\"flex w-full pt-2\">\n <Tab noUnderline className=\"neeto-molecules-product-embed-tab\">\n {TABS.map(({ key, label, icon }) => (\n <Tab.Item\n {...{ icon }}\n active={tab === key}\n data-cy={`${key}-tab`}\n data-testid={`${key}-tab`}\n key={key}\n onClick={() => setTab(key)}\n >\n {label}\n </Tab.Item>\n ))}\n </Tab>\n </div>\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport { Radio, Typography } from \"neetoui\";\n\nconst Options = ({ options, selectedOption, setSelectedOption }) => (\n <Radio\n stacked\n containerClassName=\"w-full flex flex-col gap-y-6\"\n name=\"options\"\n >\n {Object.entries(options).map(([key, { label, description }]) => (\n <label\n className=\"neeto-ui-border-gray-300 neeto-ui-bg-white neeto-ui-rounded-lg w-full cursor-pointer border p-4\"\n data-cy={`${key}-embed-option-label`}\n data-testid={`${key}-embed-option-label`}\n htmlFor={key}\n key={key}\n >\n <div className=\"flex items-center\">\n <Radio.Item\n {...{ label }}\n checked={key === selectedOption}\n className=\"mb-0\"\n data-cy={`${key}-embed-radio-button`}\n data-testid={`${key}-embed-radio-button`}\n id={key}\n name=\"options\"\n value={key}\n onChange={event => setSelectedOption(event.target.value)}\n />\n </div>\n <Typography\n className=\"w-full pl-6 pt-1\"\n data-cy={`${key}-embed-option-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n </label>\n ))}\n </Radio>\n);\n\nexport default Options;\n","import React from \"react\";\n\nconst BrowserIcon = () => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 52 12\"\n width=\"52\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FF5F57\"\n stroke=\"#E14640\"\n />\n <path\n d=\"M31.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FFBD2E\"\n stroke=\"#DFA123\"\n />\n <path\n d=\"M51.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#28CA42\"\n stroke=\"#1DAD2C\"\n />\n </svg>\n);\n\nexport default BrowserIcon;\n","import React, { useEffect } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ iframeURL, customization }) => {\n const { t } = useTranslation();\n\n const { elementSelector } = customization;\n\n useEffect(() => {\n const element = document.getElementById(elementSelector);\n if (element) window[globalProps.appName]?.embed(element, iframeURL);\n }, []);\n\n return (\n <div className=\"relative flex h-full w-full items-center justify-center p-6\">\n <Button\n data-cy=\"preview-element-popup-button\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelector}\n size=\"small\"\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.label\"\n )}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n window[globalProps.appName]?.embed(btn, iframeURL);\n }, []);\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full\">\n <Button\n data-cy=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id=\"embedBtn\"\n label={btnText}\n className={classNames(\"absolute bottom-0 m-16\", {\n \"left-0\": btnPosition === \"bottomLeft\",\n \"right-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { height, width } = customization;\n\n return (\n <iframe\n className=\"m-auto\"\n height={`${height}%`}\n src={iframeURL}\n width={`${width}%`}\n />\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport { Spinner } from \"neetoui\";\n\nimport BrowserIcon from \"./BrowserIcon\";\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Preview = ({\n isScriptLoading,\n selectedOption,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n\n const iframeURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n const Component = preview[selectedOption];\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 <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-300 neeto-ui-bg-white relative flex w-full flex-col overflow-hidden border\">\n <div className=\"neeto-ui-border-gray-300 flex-shrink-0 border-b p-3\">\n <BrowserIcon />\n </div>\n <div className=\"flex min-h-0 flex-grow overflow-y-auto\">\n <Component {...{ customization, iframeURL }} />\n </div>\n </div>\n );\n};\n\nexport default Preview;\n","import { mergeDeepLeft, toPairs } from \"ramda\";\n\nimport { DEFAULT_CUSTOMIZATION } from \"./constants\";\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${globalProps.appName} = window.${globalProps.appName} || { embed: function(){(${globalProps.appName}.q=${globalProps.appName}.q||[]).push(arguments)} };</script>\n <script async\n src=${embedScriptLink}>\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n\\t env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(([key, value]) => `\\n\\t ${key}: \"${value}\"`);\n\nconst inlineEmbedCode = ({ customization, id, embedScriptLink, extraArgs }) => {\n const { elementSelector, width = 100, height = 100 } = customization;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"min-width: 90vw; height: 90vh;\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: { height: \"${height}%\", width: \"${width}%\"},${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\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 ${globalProps.appName}.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}\", ${icon ? `\\n\\t\\tshowIcon: ${showIcon},` : \"\"}\n },${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}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nexport const embedCode = ({\n type,\n customization,\n id,\n embedScriptLink,\n extraArgs = {},\n}) => {\n switch (type) {\n case \"inline\":\n return inlineEmbedCode({ customization, id, embedScriptLink, extraArgs });\n case \"floatingPopup\":\n return floatingPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n case \"elementPopup\":\n return elementPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n default:\n return \"\";\n }\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n","import React, { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Code from \"./Code\";\nimport { EMBED_OPTIONS, SCRIPT_ID, TAB_KEYS } from \"./constants\";\nimport Customization from \"./Customization\";\nimport Header from \"./Header\";\nimport Options from \"./Options\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization, embedCode } from \"./util\";\n\nconst ProductEmbed = ({\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n options = {},\n extraArgs = {},\n}) => {\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n const [tab, setTab] = useState(TAB_KEYS.HTML);\n const [selectedOption, setSelectedOption] = useState(EMBED_OPTIONS.INLINE);\n const [customizations, setCustomizations] = useState(() =>\n buildDefaultCustomization(options)\n );\n\n const { t } = useTranslation();\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const code = embedCode({\n id,\n type: selectedOption,\n customization: customizations[selectedOption],\n embedScriptLink,\n extraArgs,\n });\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n document.head.appendChild(script);\n setIsScriptLoading(false);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedOption]: mergeLeft(props, prevState[selectedOption]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <div\n className={classNames(\"flex w-full flex-grow\", className)}\n data-testid=\"embed-product\"\n >\n <div className=\"neeto-molecules-embed-left-sidebar border-r\">\n {goBackLink && (\n <Button\n className=\"mb-4 px-0\"\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=\"icon\"\n to={goBackLink}\n />\n )}\n <Typography data-cy=\"embed-options-header-title\" style=\"h3\">\n {t(\"neetoMolecules.productEmbed.embedOptions.title\")}\n </Typography>\n <Typography\n className=\"mt-1\"\n data-cy=\"embed-options-header-description\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.productEmbed.embedOptions.description\")}\n </Typography>\n <div className=\"mt-6 flex w-full flex-col gap-y-6 pb-10\">\n <Options {...{ options, selectedOption, setSelectedOption }} />\n <Customization\n {...{ updateCustomization }}\n customization={customizations[selectedOption]}\n option={selectedOption}\n />\n </div>\n </div>\n <div className=\"neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6\">\n <Header {...{ setTab, tab }} />\n <div className=\"flex flex-grow overflow-y-auto\">\n {tab === TAB_KEYS.PREVIEW ? (\n <Preview\n {...{\n customPreviewIframeUrl,\n id,\n isScriptLoading,\n selectedOption,\n }}\n customization={customizations[selectedOption]}\n />\n ) : (\n <Code {...{ code }} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nProductEmbed.propTypes = {\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 width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\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 elementSelector: PropTypes.string,\n }),\n }),\n};\n\nexport default ProductEmbed;\n"],"names":["Code","_ref","code","React","createElement","className","Codeblock","TAB_KEYS","HTML","PREVIEW","TABS","key","label","t","icon","Eye","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","DEFAULT_CUSTOMIZATION","_defineProperty","width","height","elementSelector","showIcon","btnText","btnColor","btnTextColor","btnPosition","SCRIPT_ID","ElementPopup","customization","updateCustomization","_useTranslation","useTranslation","Typography","style","Callout","Input","value","error","onChange","e","target","FLOATING_BUTTON_POSITIONS","FloatingPopup","Checkbox","checked","Select","options","getOptionValue","option","Label","ColorPicker","color","hex","Inline","handleInputChange","_ref2","attribute","max","min","prefix","suffix","type","Customization","Component","Header","tab","setTab","Tab","noUnderline","map","Item","active","concat","onClick","Options","selectedOption","setSelectedOption","Radio","stacked","containerClassName","name","Object","entries","_ref3","_slicedToArray","_ref3$","description","htmlFor","id","event","BrowserIcon","fill","viewBox","xmlns","d","stroke","iframeURL","useEffect","_window$globalProps$a","element","document","getElementById","window","globalProps","appName","embed","Button","size","btn","backgroundColor","iconPosition","classNames","src","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","location","origin","Spinner","embedBaseScript","embedScriptLink","embedEnv","railsEnv","parseExtraArgs","extraArgs","toPairs","inlineEmbedCode","_customization$width","_customization$height","organization","subdomain","floatingPopupEmbedCode","_ref4","elementPopupEmbedCode","_ref5","embedCode","_ref6","_ref6$extraArgs","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","ProductEmbed","_ref$className","_ref$customEmbedScrip","customEmbedScriptPath","_ref$goBackLink","goBackLink","_ref$options","_ref$extraArgs","_useState","useState","_useState2","setIsScriptLoading","_useState3","_useState4","_useState5","_useState6","_useState7","_useState8","customizations","setCustomizations","protocol","host","loadScript","script","head","appendChild","props","prevState","_objectSpread","mergeLeft","isScriptLoaded","LeftArrow","to"],"mappings":"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"}
1
+ {"version":3,"file":"ProductEmbed.js","sources":["../../src/components/ProductEmbed/Code.jsx","../../src/components/ProductEmbed/constants.js","../../src/components/ProductEmbed/Customization/ElementPopup.jsx","../../src/components/ProductEmbed/Customization/constants.js","../../src/components/ProductEmbed/Customization/FloatingPopup.jsx","../../src/components/ProductEmbed/Customization/Inline.jsx","../../src/components/ProductEmbed/Customization/index.jsx","../../src/components/ProductEmbed/Header.jsx","../../src/components/ProductEmbed/Options.jsx","../../src/components/ProductEmbed/Preview/BrowserIcon.jsx","../../src/components/ProductEmbed/Preview/ElementPopup.jsx","../../src/components/ProductEmbed/Preview/FloatingPopup.jsx","../../src/components/ProductEmbed/Preview/Inline.jsx","../../src/components/ProductEmbed/Preview/index.jsx","../../src/components/ProductEmbed/util.js","../../src/components/ProductEmbed/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport Codeblock from \"components/Codeblock\";\n\nconst Code = ({ code }) => (\n <div\n className=\"relative w-full overflow-y-auto\"\n data-cy=\"embed-code-block\"\n data-testid=\"embed-code-block\"\n >\n <Codeblock {...{ code }} />\n </div>\n);\n\nexport default Code;\n","import { t } from \"i18next\";\nimport { Code, Eye } from \"neetoicons\";\n\nexport const TAB_KEYS = { HTML: \"html\", PREVIEW: \"preview\" };\n\nexport const TABS = [\n {\n key: TAB_KEYS.HTML,\n label: t(\"neetoMolecules.productEmbed.tab.html\"),\n icon: Code,\n },\n {\n key: TAB_KEYS.PREVIEW,\n label: t(\"neetoMolecules.productEmbed.tab.preview\"),\n icon: Eye,\n },\n];\n\nexport const EMBED_OPTIONS = {\n INLINE: \"inline\",\n FLOATING_POPUP: \"floatingPopup\",\n ELEMENT_POPUP: \"elementPopup\",\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: \"#6f14ed\",\n btnTextColor: \"#fff\",\n btnPosition: \"bottomRight\",\n },\n [EMBED_OPTIONS.ELEMENT_POPUP]: {\n elementSelector: \"open-popup-button\",\n },\n};\n\nexport const SCRIPT_ID = \"embed-script\";\n","import React from \"react\";\n\nimport { Typography, Input, Callout } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ customization, updateCustomization }) => {\n const { elementSelector } = customization;\n const { t } = useTranslation();\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"element-popup-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.elementPopup.title\")}\n </Typography>\n <Callout data-cy=\"element-popup-description\">\n {t(\n \"neetoMolecules.productEmbed.customization.elementPopup.description\"\n )}\n </Callout>\n <Input\n className=\"w-full\"\n data-cy=\"element-id-input-field\"\n data-testid=\"element-id-input-field\"\n value={elementSelector}\n error={\n !elementSelector &&\n t(\"neetoMolecules.productEmbed.customization.elementPopup.warning\")\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.elementId\"\n )}\n onChange={e => updateCustomization({ elementSelector: e.target.value })}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import { t } from \"i18next\";\n\nexport const FLOATING_BUTTON_POSITIONS = [\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomLeft\"),\n value: \"bottomLeft\",\n },\n {\n label: t(\"neetoMolecules.productEmbed.customization.position.bottomRight\"),\n value: \"bottomRight\",\n },\n];\n","import React from \"react\";\n\nimport {\n Typography,\n Label,\n Input,\n Checkbox,\n Select,\n ColorPicker,\n} from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FLOATING_BUTTON_POSITIONS } from \"./constants\";\n\nconst FloatingPopup = ({ customization, updateCustomization }) => {\n const { t } = useTranslation();\n\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n return (\n <div className=\"space-y-6\">\n <Typography data-cy=\"popup-customization-header\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.floatingPopup.title\")}\n </Typography>\n {icon && (\n <Checkbox\n checked={showIcon}\n data-cy=\"show-icon-checkbox\"\n data-testid=\"show-icon-checkbox\"\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.showCalIcon\"\n )}\n onChange={e => updateCustomization({ showIcon: e.target.checked })}\n />\n )}\n <div className=\"space-y-2\">\n <Input\n data-cy=\"button-text-input-field\"\n data-testid=\"button-text-input-field\"\n value={btnText}\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.text\"\n )}\n onChange={e => updateCustomization({ btnText: e.target.value })}\n />\n </div>\n <div className=\"space-y-2\">\n <Select\n data-cy=\"button-position-select-field\"\n data-testid=\"button-position-select-field\"\n options={FLOATING_BUTTON_POSITIONS}\n value={btnPosition}\n getOptionValue={option =>\n typeof option === \"string\" ? option : option.value\n }\n label={t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.pos\"\n )}\n onChange={e => updateCustomization({ btnPosition: e.value })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.color\"\n )}\n </Label>\n <ColorPicker\n color={btnColor}\n onChange={e => updateCustomization({ btnColor: e.hex })}\n />\n </div>\n <div\n className=\"flex items-center justify-between gap-x-2\"\n data-cy=\"button-text-color-label\"\n >\n <Label>\n {t(\n \"neetoMolecules.productEmbed.customization.floatingPopup.button.textColor\"\n )}\n </Label>\n <ColorPicker\n color={btnTextColor}\n onChange={e => updateCustomization({ btnTextColor: e.hex })}\n />\n </div>\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nimport { Typography, Input, Label } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Inline = ({ customization, updateCustomization }) => {\n const { height, width, elementSelector } = customization;\n\n const { t } = useTranslation();\n\n const handleInputChange = ({ target: { value } }, attribute) =>\n updateCustomization({ [attribute]: value });\n\n return (\n <div className=\"flex flex-col gap-y-6\">\n <Typography data-cy=\"customization-text\" style=\"h4\">\n {t(\"neetoMolecules.productEmbed.customization.inline.title\")}\n </Typography>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"window-size-text\">\n {t(\n \"neetoMolecules.productEmbed.customization.inline.sizeOfEmbedWindow\"\n )}\n </Label>\n <div className=\"flex justify-between gap-x-2\">\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-width-input-field\"\n data-testid=\"inline-width-input-field\"\n max={100}\n min={0}\n prefix=\"W\"\n suffix=\"%\"\n type=\"number\"\n value={width}\n onChange={e => handleInputChange(e, \"width\")}\n />\n <Input\n className=\"neeto-molecules-product-embed-size-input\"\n data-cy=\"inline-height-input-field\"\n data-testid=\"inline-height-input-field\"\n max={100}\n min={0}\n prefix=\"H\"\n suffix=\"%\"\n type=\"number\"\n value={height}\n onChange={e => handleInputChange(e, \"height\")}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <Label data-cy=\"inline-element-id-input-label\">\n {t(\"neetoMolecules.productEmbed.customization.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 onChange={e => handleInputChange(e, \"elementSelector\")}\n />\n </div>\n </div>\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Customization = ({ option, customization, updateCustomization }) => {\n const type = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n const Component = type[option];\n\n return <Component {...{ customization, updateCustomization }} />;\n};\n\nexport default Customization;\n","import React from \"react\";\n\nimport { Tab } from \"neetoui\";\n\nimport { TABS } from \"./constants\";\n\nconst Header = ({ tab, setTab }) => (\n <div className=\"flex w-full pt-2\">\n <Tab noUnderline className=\"neeto-molecules-product-embed-tab\">\n {TABS.map(({ key, label, icon }) => (\n <Tab.Item\n {...{ icon }}\n active={tab === key}\n data-cy={`${key}-tab`}\n data-testid={`${key}-tab`}\n key={key}\n onClick={() => setTab(key)}\n >\n {label}\n </Tab.Item>\n ))}\n </Tab>\n </div>\n);\n\nexport default Header;\n","import React from \"react\";\n\nimport { Radio, Typography } from \"neetoui\";\n\nconst Options = ({ options, selectedOption, setSelectedOption }) => (\n <Radio\n stacked\n containerClassName=\"w-full flex flex-col gap-y-6\"\n name=\"options\"\n >\n {Object.entries(options).map(([key, { label, description }]) => (\n <label\n className=\"neeto-ui-border-gray-300 neeto-ui-bg-white neeto-ui-rounded-lg w-full cursor-pointer border p-4\"\n data-cy={`${key}-embed-option-label`}\n data-testid={`${key}-embed-option-label`}\n htmlFor={key}\n key={key}\n >\n <div className=\"flex items-center\">\n <Radio.Item\n {...{ label }}\n checked={key === selectedOption}\n className=\"mb-0\"\n data-cy={`${key}-embed-radio-button`}\n data-testid={`${key}-embed-radio-button`}\n id={key}\n name=\"options\"\n value={key}\n onChange={event => setSelectedOption(event.target.value)}\n />\n </div>\n <Typography\n className=\"w-full pl-6 pt-1\"\n data-cy={`${key}-embed-option-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n </label>\n ))}\n </Radio>\n);\n\nexport default Options;\n","import React from \"react\";\n\nconst BrowserIcon = () => (\n <svg\n fill=\"none\"\n height=\"12\"\n viewBox=\"0 0 52 12\"\n width=\"52\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FF5F57\"\n stroke=\"#E14640\"\n />\n <path\n d=\"M31.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#FFBD2E\"\n stroke=\"#DFA123\"\n />\n <path\n d=\"M51.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z\"\n fill=\"#28CA42\"\n stroke=\"#1DAD2C\"\n />\n </svg>\n);\n\nexport default BrowserIcon;\n","import React, { useEffect } from \"react\";\n\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ElementPopup = ({ iframeURL, customization }) => {\n const { t } = useTranslation();\n\n const { elementSelector } = customization;\n\n useEffect(() => {\n const element = document.getElementById(elementSelector);\n if (element) window[globalProps.appName]?.embed(element, iframeURL);\n }, []);\n\n return (\n <div className=\"relative flex h-full w-full items-center justify-center p-6\">\n <Button\n data-cy=\"preview-element-popup-button\"\n data-testid=\"preview-element-popup-button\"\n id={elementSelector}\n size=\"small\"\n label={t(\n \"neetoMolecules.productEmbed.customization.elementPopup.label\"\n )}\n />\n </div>\n );\n};\n\nexport default ElementPopup;\n","import React, { useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Button } from \"neetoui\";\n\nconst FloatingPopup = ({ iframeURL, customization }) => {\n const { btnTextColor, showIcon, btnText, btnPosition, btnColor, icon } =\n customization;\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n window[globalProps.appName]?.embed(btn, iframeURL);\n }, []);\n\n useEffect(() => {\n const btn = document.getElementById(\"embedBtn\");\n btn.style.backgroundColor = btnColor;\n btn.style.color = btnTextColor;\n }, [btnColor, btnTextColor]);\n\n return (\n <div className=\"relative h-full w-full\">\n <Button\n data-cy=\"popup-preview-button\"\n icon={icon && showIcon ? icon : null}\n iconPosition=\"left\"\n id=\"embedBtn\"\n label={btnText}\n className={classNames(\"absolute bottom-0 m-16\", {\n \"left-0\": btnPosition === \"bottomLeft\",\n \"right-0\": btnPosition === \"bottomRight\",\n })}\n />\n </div>\n );\n};\n\nexport default FloatingPopup;\n","import React from \"react\";\n\nconst Inline = ({ iframeURL, customization }) => {\n const { height, width } = customization;\n\n return (\n <iframe\n className=\"m-auto\"\n height={`${height}%`}\n src={iframeURL}\n width={`${width}%`}\n />\n );\n};\n\nexport default Inline;\n","import React from \"react\";\n\nimport { Spinner } from \"neetoui\";\n\nimport BrowserIcon from \"./BrowserIcon\";\nimport ElementPopup from \"./ElementPopup\";\nimport FloatingPopup from \"./FloatingPopup\";\nimport Inline from \"./Inline\";\n\nimport { EMBED_OPTIONS } from \"../constants\";\n\nconst Preview = ({\n isScriptLoading,\n selectedOption,\n id,\n customization,\n customPreviewIframeUrl = \"\",\n}) => {\n const preview = {\n [EMBED_OPTIONS.INLINE]: Inline,\n [EMBED_OPTIONS.FLOATING_POPUP]: FloatingPopup,\n [EMBED_OPTIONS.ELEMENT_POPUP]: ElementPopup,\n };\n\n const iframeURL = customPreviewIframeUrl || `${location.origin}/embed/${id}`;\n const Component = preview[selectedOption];\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 <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-300 neeto-ui-bg-white relative flex w-full flex-col overflow-hidden border\">\n <div className=\"neeto-ui-border-gray-300 flex-shrink-0 border-b p-3\">\n <BrowserIcon />\n </div>\n <div className=\"flex min-h-0 flex-grow overflow-y-auto\">\n <Component {...{ customization, iframeURL }} />\n </div>\n </div>\n );\n};\n\nexport default Preview;\n","import { mergeDeepLeft, toPairs } from \"ramda\";\n\nimport { DEFAULT_CUSTOMIZATION } from \"./constants\";\n\nconst embedBaseScript = embedScriptLink =>\n `<script>window.${globalProps.appName} = window.${globalProps.appName} || { embed: function(){(${globalProps.appName}.q=${globalProps.appName}.q||[]).push(arguments)} };</script>\n <script async\n src=\"${embedScriptLink}\">\n </script>`;\n\nconst embedEnv = () =>\n globalProps.railsEnv !== \"production\"\n ? `\\n\\t env: \"${globalProps.railsEnv}\",`\n : \"\";\n\nconst parseExtraArgs = extraArgs =>\n toPairs(extraArgs).map(([key, value]) => `\\n\\t ${key}: \"${value}\"`);\n\nconst inlineEmbedCode = ({ customization, id, embedScriptLink, extraArgs }) => {\n const { elementSelector, width = 100, height = 100 } = customization;\n\n return `\n <!-- ${globalProps.appName} inline embed code begins -->\n <div style=\"min-width: 90vw; height: 90vh;\" id=\"${elementSelector}\">\n <!-- ${globalProps.appName} widget will be added here -->\n </div>\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"inline\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",\n styles: { height: \"${height}%\", width: \"${width}%\"},${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} inline embed code ends -->`;\n};\n\nconst floatingPopupEmbedCode = ({\n customization,\n id,\n embedScriptLink,\n extraArgs,\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 ${globalProps.appName}.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}\", ${icon ? `\\n\\t\\tshowIcon: ${showIcon},` : \"\"}\n },${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}) => {\n const { elementSelector } = customization;\n\n return `\n <!-- ${globalProps.appName} element-click embed code begins -->\n ${embedBaseScript(embedScriptLink)}\n <script>\n ${globalProps.appName}.embed({\n type: \"elementClick\",\n id: \"${id}\",\n organization: \"${globalProps.organization.subdomain}\",\n elementSelector: \"#${elementSelector}\",${embedEnv()}${parseExtraArgs(\n extraArgs\n )}\n });\n </script>\n <!-- ${globalProps.appName} element-click embed code ends -->`;\n};\n\nexport const embedCode = ({\n type,\n customization,\n id,\n embedScriptLink,\n extraArgs = {},\n}) => {\n switch (type) {\n case \"inline\":\n return inlineEmbedCode({ customization, id, embedScriptLink, extraArgs });\n case \"floatingPopup\":\n return floatingPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n case \"elementPopup\":\n return elementPopupEmbedCode({\n customization,\n id,\n embedScriptLink,\n extraArgs,\n });\n default:\n return \"\";\n }\n};\n\nexport const buildDefaultCustomization = defaultCustomizations =>\n mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);\n","import React, { useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Code from \"./Code\";\nimport { EMBED_OPTIONS, SCRIPT_ID, TAB_KEYS } from \"./constants\";\nimport Customization from \"./Customization\";\nimport Header from \"./Header\";\nimport Options from \"./Options\";\nimport Preview from \"./Preview\";\nimport \"./product-embed.scss\";\nimport { buildDefaultCustomization, embedCode } from \"./util\";\n\nconst ProductEmbed = ({\n className = \"\",\n customEmbedScriptPath = \"\",\n customPreviewIframeUrl = \"\",\n goBackLink = \"\",\n id,\n options = {},\n extraArgs = {},\n}) => {\n const [isScriptLoading, setIsScriptLoading] = useState(true);\n const [tab, setTab] = useState(TAB_KEYS.HTML);\n const [selectedOption, setSelectedOption] = useState(EMBED_OPTIONS.INLINE);\n const [customizations, setCustomizations] = useState(() =>\n buildDefaultCustomization(options)\n );\n\n const { t } = useTranslation();\n\n const embedScriptLink =\n customEmbedScriptPath ||\n `${window.location.protocol}//${window.location.host}/javascript/embed.js`;\n\n const code = embedCode({\n id,\n type: selectedOption,\n customization: customizations[selectedOption],\n embedScriptLink,\n extraArgs,\n });\n\n const loadScript = () => {\n const script = document.createElement(\"script\");\n script.id = SCRIPT_ID;\n script.src = embedScriptLink;\n document.head.appendChild(script);\n setIsScriptLoading(false);\n };\n\n const updateCustomization = props =>\n setCustomizations(prevState => ({\n ...prevState,\n [selectedOption]: mergeLeft(props, prevState[selectedOption]),\n }));\n\n useEffect(() => {\n const isScriptLoaded = document.getElementById(SCRIPT_ID);\n if (isScriptLoaded) setIsScriptLoading(false);\n else loadScript();\n }, []);\n\n return (\n <div\n className={classNames(\"flex w-full flex-grow\", className)}\n data-testid=\"embed-product\"\n >\n <div className=\"neeto-molecules-embed-left-sidebar border-r\">\n {goBackLink && (\n <Button\n className=\"mb-4 px-0\"\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=\"icon\"\n to={goBackLink}\n />\n )}\n <Typography data-cy=\"embed-options-header-title\" style=\"h3\">\n {t(\"neetoMolecules.productEmbed.embedOptions.title\")}\n </Typography>\n <Typography\n className=\"mt-1\"\n data-cy=\"embed-options-header-description\"\n style=\"body3\"\n >\n {t(\"neetoMolecules.productEmbed.embedOptions.description\")}\n </Typography>\n <div className=\"mt-6 flex w-full flex-col gap-y-6 pb-10\">\n <Options {...{ options, selectedOption, setSelectedOption }} />\n <Customization\n {...{ updateCustomization }}\n customization={customizations[selectedOption]}\n option={selectedOption}\n />\n </div>\n </div>\n <div className=\"neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6\">\n <Header {...{ setTab, tab }} />\n <div className=\"flex flex-grow overflow-y-auto\">\n {tab === TAB_KEYS.PREVIEW ? (\n <Preview\n {...{\n customPreviewIframeUrl,\n id,\n isScriptLoading,\n selectedOption,\n }}\n customization={customizations[selectedOption]}\n />\n ) : (\n <Code {...{ code }} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nProductEmbed.propTypes = {\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 width: PropTypes.number,\n height: PropTypes.number,\n elementSelector: PropTypes.string,\n }),\n floatingPopup: PropTypes.shape({\n label: PropTypes.string,\n description: PropTypes.string,\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 elementSelector: PropTypes.string,\n }),\n }),\n};\n\nexport default ProductEmbed;\n"],"names":["Code","_ref","code","React","createElement","className","Codeblock","TAB_KEYS","HTML","PREVIEW","TABS","key","label","t","icon","Eye","EMBED_OPTIONS","INLINE","FLOATING_POPUP","ELEMENT_POPUP","DEFAULT_CUSTOMIZATION","_defineProperty","width","height","elementSelector","showIcon","btnText","btnColor","btnTextColor","btnPosition","SCRIPT_ID","ElementPopup","customization","updateCustomization","_useTranslation","useTranslation","Typography","style","Callout","Input","value","error","onChange","e","target","FLOATING_BUTTON_POSITIONS","FloatingPopup","Checkbox","checked","Select","options","getOptionValue","option","Label","ColorPicker","color","hex","Inline","handleInputChange","_ref2","attribute","max","min","prefix","suffix","type","Customization","Component","Header","tab","setTab","Tab","noUnderline","map","Item","active","concat","onClick","Options","selectedOption","setSelectedOption","Radio","stacked","containerClassName","name","Object","entries","_ref3","_slicedToArray","_ref3$","description","htmlFor","id","event","BrowserIcon","fill","viewBox","xmlns","d","stroke","iframeURL","useEffect","_window$globalProps$a","element","document","getElementById","window","globalProps","appName","embed","Button","size","btn","backgroundColor","iconPosition","classNames","src","Preview","isScriptLoading","_ref$customPreviewIfr","customPreviewIframeUrl","preview","location","origin","Spinner","embedBaseScript","embedScriptLink","embedEnv","railsEnv","parseExtraArgs","extraArgs","toPairs","inlineEmbedCode","_customization$width","_customization$height","organization","subdomain","floatingPopupEmbedCode","_ref4","elementPopupEmbedCode","_ref5","embedCode","_ref6","_ref6$extraArgs","buildDefaultCustomization","defaultCustomizations","mergeDeepLeft","ProductEmbed","_ref$className","_ref$customEmbedScrip","customEmbedScriptPath","_ref$goBackLink","goBackLink","_ref$options","_ref$extraArgs","_useState","useState","_useState2","setIsScriptLoading","_useState3","_useState4","_useState5","_useState6","_useState7","_useState8","customizations","setCustomizations","protocol","host","loadScript","script","head","appendChild","props","prevState","_objectSpread","mergeLeft","isScriptLoaded","LeftArrow","to"],"mappings":"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"}
@@ -5,12 +5,12 @@ var defineProperty = require('./defineProperty-886ed289.js');
5
5
  var slicedToArray = require('./slicedToArray-f320d9e7.js');
6
6
  var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
7
7
  var React = require('react');
8
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
9
8
  var neetoui = require('@bigbinary/neetoui');
10
- var ramda = require('ramda');
11
9
  var reactI18next = require('react-i18next');
12
- var CopyToClipboardButton = require('./CopyToClipboardButton.js');
13
10
  var injectCss = require('./inject-css-80a5faa3.js');
11
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
12
+ var ramda = require('ramda');
13
+ var CopyToClipboardButton = require('./CopyToClipboardButton.js');
14
14
  require('classnames');
15
15
  require('@bigbinary/neeto-commons-frontend/utils/general');
16
16
  require('@bigbinary/neeto-icons');
@@ -19,13 +19,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
 
20
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
 
22
+ var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
23
+ injectCss.n(css,{});
24
+
22
25
  var ONE_SECOND = 1;
23
26
  var ONE_MINUTE = 60 * ONE_SECOND;
24
27
  var ONE_HOUR = 60 * ONE_MINUTE;
25
28
 
26
- var css = ".neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper{position:relative}.neeto-molecules-share-timestamp-input .neeto-ui-input__wrapper:not(:last-child):after{content:\":\";font-weight:bolder;position:absolute;right:-8px;top:4px}";
27
- injectCss.n(css,{});
28
-
29
29
  var getTimeValues = function getTimeValues(playbackTimeInSec) {
30
30
  var hour = Math.floor(playbackTimeInSec / ONE_HOUR);
31
31
  playbackTimeInSec = playbackTimeInSec % ONE_HOUR;
@@ -54,36 +54,28 @@ var shouldRenderHoursInput = function shouldRenderHoursInput(duration) {
54
54
  return hours > 0;
55
55
  };
56
56
 
57
- var _excluded = ["recordingUrl", "totalDuration", "currentTimestamp", "buttonProps", "isLoading"];
58
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
59
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
60
- var ShareRecording = function ShareRecording(_ref) {
57
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
58
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
59
+ var ShareModalBody = function ShareModalBody(_ref) {
61
60
  var recordingUrl = _ref.recordingUrl,
62
61
  totalDuration = _ref.totalDuration,
63
- currentTimestamp = _ref.currentTimestamp,
64
- _ref$buttonProps = _ref.buttonProps,
65
- buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
66
- _ref$isLoading = _ref.isLoading,
67
- isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
68
- otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
62
+ getCurrentTimestamp = _ref.getCurrentTimestamp,
63
+ isOpen = _ref.isOpen;
69
64
  var _useTranslation = reactI18next.useTranslation(),
70
65
  t = _useTranslation.t;
71
- var _useState = React.useState(false),
66
+ var currentTimestamp = getCurrentTimestamp();
67
+ var _useState = React.useState(""),
72
68
  _useState2 = slicedToArray._slicedToArray(_useState, 2),
73
- isOpen = _useState2[0],
74
- setIsOpen = _useState2[1];
75
- var _useState3 = React.useState(""),
69
+ shareLink = _useState2[0],
70
+ setShareLink = _useState2[1];
71
+ var _useState3 = React.useState(currentTimestamp),
76
72
  _useState4 = slicedToArray._slicedToArray(_useState3, 2),
77
- shareLink = _useState4[0],
78
- setShareLink = _useState4[1];
79
- var _useState5 = React.useState(0),
73
+ currentPlaybackTime = _useState4[0],
74
+ setCurrentPlaybackTime = _useState4[1];
75
+ var _useState5 = React.useState(currentTimestamp > 0),
80
76
  _useState6 = slicedToArray._slicedToArray(_useState5, 2),
81
- currentPlaybackTime = _useState6[0],
82
- setCurrentPlaybackTime = _useState6[1];
83
- var _useState7 = React.useState(currentTimestamp > 0),
84
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
85
- isPlaybackTimeCheckboxChecked = _useState8[0],
86
- setIsPlaybackTimeCheckboxChecked = _useState8[1];
77
+ isPlaybackTimeCheckboxChecked = _useState6[0],
78
+ setIsPlaybackTimeCheckboxChecked = _useState6[1];
87
79
  var _getTimeValues = getTimeValues(currentPlaybackTime),
88
80
  hour = _getTimeValues.hour,
89
81
  minute = _getTimeValues.minute,
@@ -94,11 +86,6 @@ var ShareRecording = function ShareRecording(_ref) {
94
86
  var intendedTimeInSec = currentPlaybackTime + valueInSec - offset;
95
87
  setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));
96
88
  };
97
- var handleClick = function handleClick() {
98
- var _buttonProps$onClick;
99
- setIsOpen(true);
100
- buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
101
- };
102
89
  var renderTimeInput = function renderTimeInput(_ref3) {
103
90
  var value = _ref3.value,
104
91
  onChange = _ref3.onChange,
@@ -120,26 +107,12 @@ var ShareRecording = function ShareRecording(_ref) {
120
107
  setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);
121
108
  }, [isOpen]);
122
109
  React.useEffect(function () {
123
- var playbackUrl = utils.buildUrl(recordingUrl, _objectSpread({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
124
- t: currentPlaybackTime
110
+ var playbackUrl = utils.buildUrl(recordingUrl, _objectSpread$1({}, isPlaybackTimeCheckboxChecked && currentPlaybackTime > 0 && {
111
+ time: currentPlaybackTime
125
112
  }));
126
113
  setShareLink(playbackUrl);
127
114
  }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);
128
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, _extends._extends({}, _objectSpread({
129
- isOpen: isOpen
130
- }, otherProps), {
131
- "data-cy": "share-modal",
132
- size: "large",
133
- onClose: function onClose() {
134
- return setIsOpen(false);
135
- }
136
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
137
- style: "h2"
138
- }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
139
- className: "flex flex-col space-y-2"
140
- }, isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
141
- className: "mx-auto"
142
- }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
115
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
143
116
  className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2"
144
117
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
145
118
  content: shareLink
@@ -191,7 +164,52 @@ var ShareRecording = function ShareRecording(_ref) {
191
164
  offset: second * ONE_SECOND
192
165
  });
193
166
  }
194
- })))))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
167
+ }))));
168
+ };
169
+
170
+ var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "buttonProps", "isLoading"];
171
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
172
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
173
+ var ShareRecording = function ShareRecording(_ref) {
174
+ var recordingUrl = _ref.recordingUrl,
175
+ totalDuration = _ref.totalDuration,
176
+ getCurrentTimestamp = _ref.getCurrentTimestamp,
177
+ _ref$buttonProps = _ref.buttonProps,
178
+ buttonProps = _ref$buttonProps === void 0 ? {} : _ref$buttonProps,
179
+ _ref$isLoading = _ref.isLoading,
180
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
181
+ otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
182
+ var _useTranslation = reactI18next.useTranslation(),
183
+ t = _useTranslation.t;
184
+ var _useState = React.useState(false),
185
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
186
+ isOpen = _useState2[0],
187
+ setIsOpen = _useState2[1];
188
+ var handleClick = function handleClick() {
189
+ var _buttonProps$onClick;
190
+ setIsOpen(true);
191
+ buttonProps === null || buttonProps === void 0 ? void 0 : (_buttonProps$onClick = buttonProps.onClick) === null || _buttonProps$onClick === void 0 ? void 0 : _buttonProps$onClick.call(buttonProps);
192
+ };
193
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, _extends._extends({}, _objectSpread({
194
+ isOpen: isOpen
195
+ }, otherProps), {
196
+ "data-cy": "share-modal",
197
+ size: "large",
198
+ onClose: function onClose() {
199
+ return setIsOpen(false);
200
+ }
201
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
202
+ style: "h2"
203
+ }, t("neetoMolecules.shareRecording.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
204
+ className: "flex flex-col space-y-2"
205
+ }, isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, {
206
+ className: "mx-auto"
207
+ }) : /*#__PURE__*/React__default["default"].createElement(ShareModalBody, {
208
+ getCurrentTimestamp: getCurrentTimestamp,
209
+ isOpen: isOpen,
210
+ recordingUrl: recordingUrl,
211
+ totalDuration: totalDuration
212
+ }))), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
195
213
  "data-cy": "share-button",
196
214
  label: t("neetoMolecules.common.actions.share"),
197
215
  style: "secondary"
@@ -1 +1 @@
1
- {"version":3,"file":"ShareRecording.js","sources":["../../src/components/ShareRecording/constants.js","../../src/components/ShareRecording/utils.js","../../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport {\n Modal,\n Typography,\n Input,\n Checkbox,\n Tooltip,\n Spinner,\n Button,\n} from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n currentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] = useState(0);\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { t: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * Current playback time of the recorded content in seconds.\n */\n currentTimestamp: PropTypes.number.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareRecording","_ref","recordingUrl","totalDuration","currentTimestamp","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","_useState3","_useState4","shareLink","setShareLink","_useState5","_useState6","currentPlaybackTime","setCurrentPlaybackTime","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","handleClick","_buttonProps$onClick","onClick","call","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","Fragment","Modal","_extends","size","onClose","Header","Typography","style","Body","Spinner","Tooltip","content","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ShareRecording.js","sources":["../../src/components/ShareRecording/constants.js","../../src/components/ShareRecording/utils.js","../../src/components/ShareRecording/ShareModalBody.jsx","../../src/components/ShareRecording/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\n\nexport const getTimeValues = playbackTimeInSec => {\n const hour = Math.floor(playbackTimeInSec / ONE_HOUR);\n playbackTimeInSec = playbackTimeInSec % ONE_HOUR;\n const minute = Math.floor(playbackTimeInSec / ONE_MINUTE);\n playbackTimeInSec = playbackTimeInSec % ONE_MINUTE;\n const second = Math.floor(playbackTimeInSec / ONE_SECOND);\n\n return { hour, minute, second };\n};\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n","import React, { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { ONE_HOUR, ONE_MINUTE, ONE_SECOND } from \"./constants\";\nimport \"./share-modal.scss\";\nimport { getTimeValues, padZero, shouldRenderHoursInput } from \"./utils\";\n\nconst ShareModalBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const { hour, minute, second } = getTimeValues(currentPlaybackTime);\n\n const handlePlaybackTimestampChange = ({ valueInSec, offset }) => {\n const intendedTimeInSec = currentPlaybackTime + valueInSec - offset;\n\n setCurrentPlaybackTime(Math.min(intendedTimeInSec, totalDuration));\n };\n\n const renderTimeInput = ({ value, onChange, max }) => (\n <Input\n {...{ max, onChange, value }}\n className=\"w-14\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n min={0}\n type=\"number\"\n unlimitedChars={false}\n />\n );\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n }, [isOpen]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <div\n className=\"neeto-molecules-share-timestamp-input flex items-center gap-x-3\"\n data-cy=\"time-inputs\"\n >\n {shouldRenderHoursInput(totalDuration) &&\n renderTimeInput({\n max: 99,\n value: padZero(hour),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_HOUR,\n offset: hour * ONE_HOUR,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(minute),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_MINUTE,\n offset: minute * ONE_MINUTE,\n }),\n })}\n {renderTimeInput({\n max: 59,\n value: padZero(second),\n onChange: e =>\n handlePlaybackTimestampChange({\n valueInSec: e.target.value * ONE_SECOND,\n offset: second * ONE_SECOND,\n }),\n })}\n </div>\n </div>\n </>\n );\n};\n\nexport default ShareModalBody;\n","import React, { useState } from \"react\";\n\nimport { Modal, Typography, Spinner, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./share-modal.scss\";\nimport ShareModalBody from \"./ShareModalBody\";\n\nconst ShareRecording = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n buttonProps = {},\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n buttonProps?.onClick?.();\n };\n\n return (\n <>\n <Modal\n {...{ isOpen, ...otherProps }}\n data-cy=\"share-modal\"\n size=\"large\"\n onClose={() => setIsOpen(false)}\n >\n <Modal.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <ShareModalBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Modal.Body>\n </Modal>\n <Button\n data-cy=\"share-button\"\n label={t(\"neetoMolecules.common.actions.share\")}\n style=\"secondary\"\n {...buttonProps}\n onClick={handleClick}\n />\n </>\n );\n};\n\nShareRecording.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Additional props for the button component.\n */\n buttonProps: PropTypes.object,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecording;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","getTimeValues","playbackTimeInSec","hour","Math","floor","minute","second","padZero","number","length","arguments","undefined","string","String","threshold","pow","concat","shouldRenderHoursInput","duration","hours","ShareModalBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","_getTimeValues","handlePlaybackTimestampChange","_ref2","valueInSec","offset","intendedTimeInSec","min","renderTimeInput","_ref3","value","onChange","max","React","createElement","Input","className","disabled","not","type","unlimitedChars","useEffect","playbackUrl","buildUrl","_objectSpread","time","Fragment","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","_ref4","target","e","ShareRecording","_ref$buttonProps","buttonProps","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","setIsOpen","handleClick","_buttonProps$onClick","onClick","call","Modal","_extends","size","onClose","Header","Body","Spinner","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG,CAAC,CAAA;AACpB,IAAMC,UAAU,GAAG,EAAE,GAAGD,UAAU,CAAA;AAClC,IAAME,QAAQ,GAAG,EAAE,GAAGD,UAAU;;ACAhC,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,iBAAiB,EAAI;EAChD,IAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,iBAAiB,GAAGF,QAAQ,CAAC,CAAA;EACrDE,iBAAiB,GAAGA,iBAAiB,GAAGF,QAAQ,CAAA;EAChD,IAAMM,MAAM,GAAGF,IAAI,CAACC,KAAK,CAACH,iBAAiB,GAAGH,UAAU,CAAC,CAAA;EACzDG,iBAAiB,GAAGA,iBAAiB,GAAGH,UAAU,CAAA;EAClD,IAAMQ,MAAM,GAAGH,IAAI,CAACC,KAAK,CAACH,iBAAiB,GAAGJ,UAAU,CAAC,CAAA;EAEzD,OAAO;AAAEK,IAAAA,IAAI,EAAJA,IAAI;AAAEG,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAA;AACjC,CAAC,CAAA;AAEM,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,MAAM,EAAiB;AAAA,EAAA,IAAfC,MAAM,GAAAC,SAAA,CAAAD,MAAA,GAAA,CAAA,IAAAC,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AACxC,EAAA,IAAIE,MAAM,GAAGC,MAAM,CAACL,MAAM,CAAC,CAAA;EAC3B,IAAMM,SAAS,GAAGX,IAAI,CAACY,GAAG,CAAC,EAAE,EAAEN,MAAM,GAAG,CAAC,CAAC,CAAA;EAE1C,IAAID,MAAM,GAAGM,SAAS,EAAE;IACtB,OAAOD,MAAM,CAACC,SAAS,CAAC,CAACL,MAAM,GAAGG,MAAM,CAACH,MAAM,EAAE;AAC/CG,MAAAA,MAAM,GAAAI,GAAAA,CAAAA,MAAA,CAAOR,MAAM,CAAE,CAAA;AACvB,KAAA;AACF,GAAA;AAEA,EAAA,OAAOI,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,IAAMK,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,QAAQ,EAAI;EAChD,IAAMC,KAAK,GAAGhB,IAAI,CAACC,KAAK,CAACc,QAAQ,GAAGnB,QAAQ,CAAC,CAAA;EAE7C,OAAOoB,KAAK,GAAG,CAAC,CAAA;AAClB,CAAC;;;;AChBD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAKd;AAAA,EAAA,IAJJC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,MAAM,GAAAJ,IAAA,CAANI,MAAM,CAAA;AAEN,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAMC,gBAAgB,GAAGL,mBAAmB,EAAE,CAAA;AAE9C,EAAA,IAAAM,SAAA,GAAkCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAI,UAAA,GACEL,cAAQ,CAACF,gBAAgB,CAAC;IAAAQ,UAAA,GAAAJ,4BAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AADrBE,IAAAA,mBAAmB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGlD,EAAA,IAAAG,UAAA,GACET,cAAQ,CAACF,gBAAgB,GAAG,CAAC,CAAC;IAAAY,UAAA,GAAAR,4BAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AADzBE,IAAAA,6BAA6B,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gCAAgC,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGtE,EAAA,IAAAG,cAAA,GAAiC5C,aAAa,CAACsC,mBAAmB,CAAC;IAA3DpC,IAAI,GAAA0C,cAAA,CAAJ1C,IAAI;IAAEG,MAAM,GAAAuC,cAAA,CAANvC,MAAM;IAAEC,MAAM,GAAAsC,cAAA,CAANtC,MAAM,CAAA;AAE5B,EAAA,IAAMuC,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAC,KAAA,EAA+B;AAAA,IAAA,IAAzBC,UAAU,GAAAD,KAAA,CAAVC,UAAU;MAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM,CAAA;AACzD,IAAA,IAAMC,iBAAiB,GAAGX,mBAAmB,GAAGS,UAAU,GAAGC,MAAM,CAAA;IAEnET,sBAAsB,CAACpC,IAAI,CAAC+C,GAAG,CAACD,iBAAiB,EAAE1B,aAAa,CAAC,CAAC,CAAA;GACnE,CAAA;AAED,EAAA,IAAM4B,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAMC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;MAAEC,GAAG,GAAAH,KAAA,CAAHG,GAAG,CAAA;AAAA,IAAA,oBAC7CC,yBAAA,CAAAC,aAAA,CAACC,aAAK,EAAA;AACEH,MAAAA,GAAG,EAAHA,GAAG;AAAED,MAAAA,QAAQ,EAARA,QAAQ;AAAED,MAAAA,KAAK,EAALA,KAAK;AAC1BM,MAAAA,SAAS,EAAC,MAAM;AAChBC,MAAAA,QAAQ,EAAEC,SAAG,CAACnB,6BAA6B,CAAE;AAC7CQ,MAAAA,GAAG,EAAE,CAAE;AACPY,MAAAA,IAAI,EAAC,QAAQ;AACbC,MAAAA,cAAc,EAAE,KAAA;AAAM,KACvB,CAAC,CAAA;GACH,CAAA;AAEDC,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIH,SAAG,CAACpC,MAAM,CAAC,EAAE,OAAA;AAEjBkB,IAAAA,gCAAgC,CAACd,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACtDU,sBAAsB,CAACV,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAG,CAAC,CAAC,CAAA;AACrE,GAAC,EAAE,CAACJ,MAAM,CAAC,CAAC,CAAA;AAEZuC,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMC,WAAW,GAAGC,cAAQ,CAAC5C,YAAY,EAAA6C,eAAA,CAAA,EAAA,EACnCzB,6BAA6B,IAC/BJ,mBAAmB,GAAG,CAAC,IAAI;AAAE8B,MAAAA,IAAI,EAAE9B,mBAAAA;AAAoB,KAAC,CAC3D,CAAC,CAAA;IAEFH,YAAY,CAAC8B,WAAW,CAAC,CAAA;GAC1B,EAAE,CAAC3C,YAAY,EAAEoB,6BAA6B,EAAEJ,mBAAmB,CAAC,CAAC,CAAA;EAEtE,oBACEkB,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAa,QAAA,EAAA,IAAA,eACEb,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,qFAAA;AAAqF,GAAA,eAClGH,yBAAA,CAAAC,aAAA,CAACa,eAAO,EAAA;AAACC,IAAAA,OAAO,EAAErC,SAAAA;AAAU,GAAA,eAC1BsB,yBAAA,CAAAC,aAAA,CAACe,kBAAU,EAAA;AAACb,IAAAA,SAAS,EAAC,UAAU;AAACc,IAAAA,KAAK,EAAC,OAAA;GACpCvC,EAAAA,SACS,CACL,CAAC,eACVsB,yBAAA,CAAAC,aAAA,CAACiB,qBAAqB,EAAA;AACpBf,IAAAA,SAAS,EAAC,eAAe;AACzBc,IAAAA,KAAK,EAAC,WAAW;AACjBpB,IAAAA,KAAK,EAAEnB,SAAAA;AAAU,GAClB,CACE,CAAC,eACNsB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,2BAAA;AAA2B,GAAA,eACxCH,yBAAA,CAAAC,aAAA,CAACkB,gBAAQ,EAAA;AACPC,IAAAA,OAAO,EAAElC,6BAA8B;AACvCiB,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,SAAA,EAAQ,eAAe;AACvBkB,IAAAA,KAAK,EAAEjD,CAAC,CAAC,6CAA6C,CAAE;IACxD0B,QAAQ,EAAE,SAAAA,QAAAA,CAAAwB,KAAA,EAAA;AAAA,MAAA,IAAaF,OAAO,GAAAE,KAAA,CAAjBC,MAAM,CAAIH,OAAO,CAAA;MAAA,OAC5BjC,gCAAgC,CAACiC,OAAO,CAAC,CAAA;AAAA,KAAA;AAC1C,GACF,CAAC,eACFpB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAC,iEAAiE;IAC3E,SAAQ,EAAA,aAAA;AAAa,GAAA,EAEpB1C,sBAAsB,CAACM,aAAa,CAAC,IACpC4B,eAAe,CAAC;AACdI,IAAAA,GAAG,EAAE,EAAE;AACPF,IAAAA,KAAK,EAAE9C,OAAO,CAACL,IAAI,CAAC;IACpBoD,QAAQ,EAAE,SAAAA,QAAAA,CAAA0B,CAAC,EAAA;AAAA,MAAA,OACTnC,6BAA6B,CAAC;AAC5BE,QAAAA,UAAU,EAAEiC,CAAC,CAACD,MAAM,CAAC1B,KAAK,GAAGtD,QAAQ;QACrCiD,MAAM,EAAE9C,IAAI,GAAGH,QAAAA;AACjB,OAAC,CAAC,CAAA;AAAA,KAAA;GACL,CAAC,EACHoD,eAAe,CAAC;AACfI,IAAAA,GAAG,EAAE,EAAE;AACPF,IAAAA,KAAK,EAAE9C,OAAO,CAACF,MAAM,CAAC;IACtBiD,QAAQ,EAAE,SAAAA,QAAAA,CAAA0B,CAAC,EAAA;AAAA,MAAA,OACTnC,6BAA6B,CAAC;AAC5BE,QAAAA,UAAU,EAAEiC,CAAC,CAACD,MAAM,CAAC1B,KAAK,GAAGvD,UAAU;QACvCkD,MAAM,EAAE3C,MAAM,GAAGP,UAAAA;AACnB,OAAC,CAAC,CAAA;AAAA,KAAA;GACL,CAAC,EACDqD,eAAe,CAAC;AACfI,IAAAA,GAAG,EAAE,EAAE;AACPF,IAAAA,KAAK,EAAE9C,OAAO,CAACD,MAAM,CAAC;IACtBgD,QAAQ,EAAE,SAAAA,QAAAA,CAAA0B,CAAC,EAAA;AAAA,MAAA,OACTnC,6BAA6B,CAAC;AAC5BE,QAAAA,UAAU,EAAEiC,CAAC,CAACD,MAAM,CAAC1B,KAAK,GAAGxD,UAAU;QACvCmD,MAAM,EAAE1C,MAAM,GAAGT,UAAAA;AACnB,OAAC,CAAC,CAAA;AAAA,KAAA;GACL,CACE,CACF,CACL,CAAC,CAAA;AAEP,CAAC;;;;;ACnHD,IAAMoF,cAAc,GAAG,SAAjBA,cAAcA,CAAA5D,IAAA,EAOd;AAAA,EAAA,IANJC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IAAA0D,gBAAA,GAAA7D,IAAA,CACnB8D,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,cAAA,GAAA/D,IAAA,CAChBgE,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;AACdE,IAAAA,UAAU,GAAAC,gDAAA,CAAAlE,IAAA,EAAAmE,SAAA,CAAA,CAAA;AAEb,EAAA,IAAA9D,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAE,SAAA,GAA4BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,4BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCL,IAAAA,MAAM,GAAAO,UAAA,CAAA,CAAA,CAAA;AAAEyD,IAAAA,SAAS,GAAAzD,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,EAAA,IAAM0D,WAAW,GAAG,SAAdA,WAAWA,GAAS;AAAA,IAAA,IAAAC,oBAAA,CAAA;IACxBF,SAAS,CAAC,IAAI,CAAC,CAAA;AACfN,IAAAA,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAQ,oBAAA,GAAXR,WAAW,CAAES,OAAO,MAAAD,IAAAA,IAAAA,oBAAA,uBAApBA,oBAAA,CAAAE,IAAA,CAAAV,WAAuB,CAAC,CAAA;GACzB,CAAA;AAED,EAAA,oBACE3B,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAa,QAAA,EAAA,IAAA,eACEb,yBAAA,CAAAC,aAAA,CAACqC,aAAK,EAAAC,iBAAA,KAAA5B,aAAA,CAAA;AACE1C,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAK6D,UAAU,CAAA,EAAA;AAC3B,IAAA,SAAA,EAAQ,aAAa;AACrBU,IAAAA,IAAI,EAAC,OAAO;IACZC,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMR,SAAS,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,CAAA,eAEhCjC,yBAAA,CAAAC,aAAA,CAACqC,aAAK,CAACI,MAAM,EAAA,IAAA,eACX1C,yBAAA,CAAAC,aAAA,CAACe,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAA;AAAI,GAAA,EACnB7C,CAAC,CAAC,qCAAqC,CAC9B,CACA,CAAC,eACf4B,yBAAA,CAAAC,aAAA,CAACqC,aAAK,CAACK,IAAI,EAAA;AAACxC,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAC5C0B,SAAS,gBACR7B,yBAAA,CAAAC,aAAA,CAAC2C,eAAO,EAAA;AAACzC,IAAAA,SAAS,EAAC,SAAA;AAAS,GAAE,CAAC,gBAE/BH,yBAAA,CAAAC,aAAA,CAACrC,cAAc,EAAA;AACPI,IAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEC,IAAAA,MAAM,EAANA,MAAM;AAAEH,IAAAA,YAAY,EAAZA,YAAY;AAAEC,IAAAA,aAAa,EAAbA,aAAAA;GAClD,CAEO,CACP,CAAC,eACRiC,yBAAA,CAAAC,aAAA,CAAC4C,cAAM,EAAAN,iBAAA,CAAA;AACL,IAAA,SAAA,EAAQ,cAAc;AACtBlB,IAAAA,KAAK,EAAEjD,CAAC,CAAC,qCAAqC,CAAE;AAChD6C,IAAAA,KAAK,EAAC,WAAA;AAAW,GAAA,EACbU,WAAW,EAAA;AACfS,IAAAA,OAAO,EAAEF,WAAAA;AAAY,GAAA,CACtB,CACD,CAAC,CAAA;AAEP;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "1.15.35",
3
+ "version": "1.15.37",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -15,7 +15,7 @@ import React from "react";
15
15
  * <ShareRecording
16
16
  * recordingUrl="https://example.com/recording"
17
17
  * totalDuration={3600} // Total duration in seconds (e.g., 1 hour)
18
- * currentTimestamp={300} // Current playback time in seconds
18
+ * getCurrentTimestamp={() => 300} // Current playback time in seconds
19
19
  * buttonProps={{
20
20
  * onClick: () => {
21
21
  * console.log("Share button has been clicked");
@@ -28,7 +28,7 @@ import React from "react";
28
28
  declare const ShareRecording: React.FC<{
29
29
  recordingUrl: string;
30
30
  totalDuration: number;
31
- currentTimestamp: number;
31
+ getCurrentTimestamp: () => number;
32
32
  buttonProps?: ButtonProps;
33
33
  isLoading?: boolean;
34
34
  }>;