@bigbinary/neeto-molecules 3.0.1 → 3.0.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoWidget.js","sources":["../../src/components/NeetoWidget/constants.js","../../src/components/NeetoWidget/ChatWidgetBody.jsx","../../src/components/NeetoWidget/SyntaxHighlighter.jsx","../../src/components/NeetoWidget/CodeBlock.jsx","../../src/components/NeetoWidget/utils.js","../../src/components/NeetoWidget/api.js","../../src/components/NeetoWidget/mutations.js","../../src/components/NeetoWidget/CodeSnippet.jsx","../../src/components/NeetoWidget/hooks/useForceUpdate.js","../../src/components/NeetoWidget/queries.js","../../src/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../src/components/NeetoWidget/SelectionSwitches/index.jsx","../../src/components/NeetoWidget/EmbedCode.jsx","../../src/components/NeetoWidget/Main.jsx","../../src/components/NeetoWidget/index.js"],"sourcesContent":["import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const NEETO_WIDGET_USER_IDENTITY_KEY = \"NeetoWidgetUserIdentity\";\nexport const SESSION_CONTEXT_KEY = \"NeetoReplayWidgetSessionContext\";\n\nexport const INSTALLATION_HELP_EMAIL = \"support@neeto.com\";\n\nexport const SAMPLE_CONTEXT_CODE_STRING = `window.${SESSION_CONTEXT_KEY} = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}`;\n\nexport const WIDGET_TYPES = {\n changelog: \"changelog\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n changelog: \"https://help.neetochangelog.com/articles/installation\",\n chat: \"https://help.neetochat.com/articles/installation-using-javascript-snippet\",\n replay: \"https://help.neetoreplay.com/articles/install-widget\",\n};\n\nexport const WIDGET_DESCRIPTIONS = {\n changelog: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.changelog\"\n ),\n chat: t(\"neetoMolecules.widget.email.body.values.embedCode.description.chat\"),\n replay: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.replay\"\n ),\n};\n\nexport const WIDGET_TYPES_VALUES = values(WIDGET_TYPES);\n\nexport const QUERY_KEYS = {\n apiKey: \"neetoWidgetApiKey\",\n configuration: \"neetoWidgetConfiguration\",\n};\n\nexport const DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds\n\nexport const EMAIL_TYPES = {\n embedCode: \"embedCode\",\n userIdentity: \"userIdentity\",\n sessionContext: \"sessionContext\",\n null: \"\",\n};\n\nexport const RAILS_ENV = {\n production: \"production\",\n staging: \"staging\",\n development: \"development\",\n};\n\nexport const NEETO_WIDGET_SCRIPT_URL = {\n staging: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js\",\n production: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget.js\",\n};\n\nexport const AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({\n rails: \"rails\",\n django: \"django\",\n php: \"php\",\n});\n\nexport const FRAMEWORK_SELECT_OPTIONS = [\n { label: \"Ruby(Rails)\", value: AVAILABLE_FRAMEWORK_OPTIONS.rails },\n { label: \"Python(Django)\", value: AVAILABLE_FRAMEWORK_OPTIONS.django },\n { label: \"PHP\", value: AVAILABLE_FRAMEWORK_OPTIONS.php },\n];\n\nexport const SAMPLE_USER_IDENTITY_CODE_STRING = {\n [AVAILABLE_FRAMEWORK_OPTIONS.rails]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"<%= current_user.id %>\", // User identifier\"\n name: \"<%= current_user.name %>\", // Full name\n email: \"<%= current_user.email %>\", // Email address\n started_at: \"<%= current_user.created_at.to_i %>\" // Signup date as a Unix timestamp ,\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.django]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"{{ request.user.id|escapejs }}\", // User identifier\n name: \"{{ request.user.name|escapejs }}\", // Full name\n email: \"{{ request.user.email|escapejs }}\", // Email address\n started_at: \"{{ request.user.created_at|date:'U' }}\" // Signup date as a Unix timestamp\"\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.php]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: <?php echo json_encode($current_user->id) ?>, // User identifier\n name: <?php echo json_encode($current_user->name) ?>, // Full name\n email: <?php echo json_encode($current_user->email) ?>, // Email address\n started_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp\" ,\n}`,\n};\nexport const WIDGET_CONFIG_URL = \"/api/widget/v1/neeto_widget_tokens\";\nexport const EMBED_CODE_EMAIL_URL = \"/api/widget/v1/email_snippets\";\nexport const CHAT_WIDGET_KB_BASE_URL = \"https://help.neetochat.com\";\nexport const CHANGELOG_WIDGET_KB_BASE_URL = \"https://help.neetochangelog.com\";\nexport const REPLAY_WIDGET_KB_BASE_URL = \"https://help.neetoreplay.com\";\nexport const NEETO_REPLAY_CONFIGURE_URL = `${REPLAY_WIDGET_KB_BASE_URL}/articles/configure-widget`;\nexport const NEETO_CHAT_USER_IDENTITY_URL = `${CHAT_WIDGET_KB_BASE_URL}/articles/info-about-logged-in-users`;\nexport const WIDGET_KB_HELP_URL = {\n changelog: `${CHANGELOG_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/categories/installation`,\n replay: `${REPLAY_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n};\nexport const USE_NEETO_WIDGET_NPM_PAGE_URL =\n \"https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget\";\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.changelog) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.changelogHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.changelog }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.changelog}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.chat) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.chatHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.chat }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.replay) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.replayHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.replay }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import React, { useEffect } from \"react\";\n\nimport Prism from \"prismjs\";\nimport \"prismjs/themes/prism-tomorrow.css\";\n\nconst SyntaxHighlighter = ({ className, code, language }) => {\n useEffect(() => {\n Prism.highlightAll();\n }, [code]);\n\n return (\n <pre className={className}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default React.memo(SyntaxHighlighter);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Button, Select, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nconst CodeBlock = ({\n title = (\n <div>\n <Trans i18nKey=\"neetoMolecules.codeblock.codeSnippet\" />\n </div>\n ),\n codeString,\n showCopyButton = true,\n className = \"\",\n sendViaEmail = undefined,\n frameworkProps = {},\n}) => {\n const { t } = useTranslation();\n const { selectedFramework, setSelectedFramework } = frameworkProps ?? {};\n\n return (\n <div className={classnames([\"relative\", className])}>\n <div className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg flex w-full flex-wrap items-center justify-between gap-2 rounded-b-none p-3\">\n {title && (\n <Typography\n className=\"m-0 flex-shrink-0\"\n data-cy=\"code-block-title-text\"\n style=\"h4\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ml-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n style=\"text\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n {showCopyButton && (\n <CopyToClipboardButton\n label={t(\"neetoMolecules.widget.installation.snippet.copy\")}\n style=\"primary\"\n value={codeString}\n />\n )}\n </div>\n </div>\n <SyntaxHighlighter\n className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-lg m-0 rounded-t-none\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\n );\n};\n\nCodeBlock.propTypes = {\n title: PropTypes.object,\n codeString: PropTypes.string,\n showCopyButton: PropTypes.bool,\n className: PropTypes.string,\n sendViaEmail: PropTypes.func,\n frameworkProps: PropTypes.object,\n};\n\nexport default CodeBlock;\n","import i18next, { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { identity, last, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n NEETO_WIDGET_USER_IDENTITY_KEY,\n SESSION_CONTEXT_KEY,\n RAILS_ENV,\n NEETO_WIDGET_SCRIPT_URL,\n SAMPLE_USER_IDENTITY_CODE_STRING,\n WIDGET_DESCRIPTIONS,\n} from \"./constants\";\n\nconst buildEmbedWidgetScript = () => {\n const widgetScriptUrl =\n window.globalProps.railsEnv === RAILS_ENV.production\n ? NEETO_WIDGET_SCRIPT_URL.production\n : NEETO_WIDGET_SCRIPT_URL.staging;\n\n return `<script src=\"${widgetScriptUrl}\"></script>`;\n};\n\nconst indentAndFormat = (str, formatter = identity) =>\n str.split(\"\\n\").map(formatter).join(\"\\n \");\n\nconst getCommentedCommand = (command, isEnabled) =>\n isEnabled ? command : `/// ${command}`;\n\nconst embedWidgetEnvironment = () => {\n switch (window.globalProps.railsEnv) {\n case RAILS_ENV.production:\n return \"\";\n case RAILS_ENV.development:\n return `environment: \"${RAILS_ENV.development}\",`;\n case RAILS_ENV.staging:\n return `environment: \"${RAILS_ENV.staging}\",`;\n default:\n return \"/* Unidentified RAILS_ENV, */\";\n }\n};\n\nconst embedWidgetApiKey = apiKey => `apiKey: \"${apiKey}\",`;\n\nconst addChangelogOptions = () => `neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},`;\n\nconst wrapBlockInOnLoad = codeBlock =>\n `window.addEventListener(\"load\", () => ${codeBlock});`;\n\nconst embedWidgetFunctionCall = (enabledWidgets, apiKey) => `embedNeetoWidget({\n ${embedWidgetEnvironment()}\n ${indentAndFormat(embedWidgetApiKey(apiKey))}\n ${indentAndFormat(addChangelogOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.changelog)\n )}\n})`;\n\nconst filterMarkedCommands = queryString =>\n queryString\n .split(\"\\n\")\n .filter(line => !line.includes(\"///\") && line.trim())\n .join(\"\\n\");\n\nexport const getSampleUserIdentity = (enabledWidgets, selectedFramework) => {\n const splitCodeLines =\n SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split(\"\\n\");\n\n return filterMarkedCommands(\n splitCodeLines\n .map(cmd => {\n const isEmailKey = cmd.includes(\"email\");\n const isObjectStartLine = cmd === splitCodeLines[0];\n const isObjectEndLine = cmd === last(splitCodeLines);\n const isLineHidden =\n !isEmailKey && !isObjectStartLine && !isObjectEndLine;\n if (\n (!enabledWidgets.chat && isLineHidden) ||\n (!enabledWidgets.chat && !enabledWidgets.replay)\n ) {\n return null;\n }\n\n return cmd;\n })\n .join(\"\\n\")\n );\n};\n\nexport const sampleConsolidatedCodeString = (enabledWidgets, apiKey) =>\n filterMarkedCommands(`${buildEmbedWidgetScript()}\n<script>\n ${\n enabledWidgets.chat || enabledWidgets.replay\n ? `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {};`\n : \"\"\n }\n ${enabledWidgets.replay ? `window.${SESSION_CONTEXT_KEY} = {};` : \"\"}\n\n ${indentAndFormat(\n wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))\n )}\n</script>`);\n\nexport const getEmailWidgetSnippetFormInitialValues = subject => ({\n emails: \"\",\n subject,\n});\n\nexport const getSortedPrefixedWidgets = widgets => {\n const sortedWidgets = widgets\n .sort()\n .map(widget => `neeto${capitalize(widget)}`);\n\n return sortedWidgets.length === 1\n ? sortedWidgets\n : t(\"neetoMolecules.widget.email.widgetList\", {\n widgets: sortedWidgets,\n });\n};\n\nexport const getWidgetDescriptions = widgets => {\n const values = Object.entries(WIDGET_DESCRIPTIONS).filter(([widget]) =>\n widgets.includes(widget)\n );\n\n return pluck(1, values);\n};\n\nexport const getEmailWidgetSnippetValidationSchema = () =>\n yup.object({\n emails: yup\n .array()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.emails.label\")),\n subject: yup\n .string()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.subject.label\")),\n });\n\nexport const getWidgetApiKeyUrl = () =>\n `api/widget/v1/api_keys/${window.globalProps.organization.subdomain}`;\n\nexport const shouldShowSwitches = () => {\n const email = globalProps.user?.email || \"\";\n if (window.globalProps.railsEnv === RAILS_ENV.production) {\n return email.toLowerCase().endsWith(\"@bigbinary.com\");\n }\n\n return true;\n};\n","import axios from \"axios\";\n\nimport { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from \"./constants\";\nimport { getWidgetApiKeyUrl } from \"./utils\";\n\nexport const queryWidgetApiKey = () =>\n axios.get(getWidgetApiKeyUrl(), { showToastr: false });\n\nexport const emailWidgetSnippet = data =>\n axios.post(EMBED_CODE_EMAIL_URL, data);\n\nexport const fetchWidgetConfiguration = () => axios.get(WIDGET_CONFIG_URL);\n\nexport const updateWidgetConfiguration = ({ id, payload }) =>\n axios.put(`${WIDGET_CONFIG_URL}/${id}`, payload);\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport { emailWidgetSnippet } from \"./api\";\n\nexport const useEmailEmbedCode = onSuccess =>\n useMutation({\n mutationFn: emailData => emailWidgetSnippet(emailData),\n onSuccess,\n });\n","import React, { useState } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { Typography, Button, Pane, Toastr } from \"neetoui\";\nimport { Input, MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { pluck, any, assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CodeBlock from \"./CodeBlock\";\nimport { EMAIL_TYPES, FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport { useEmailEmbedCode } from \"./mutations\";\nimport {\n getEmailWidgetSnippetFormInitialValues,\n getEmailWidgetSnippetValidationSchema,\n getSampleUserIdentity,\n} from \"./utils\";\n\nconst CodeSnippet = ({\n isPaneOpen,\n onClose,\n onSent = noop,\n codeString,\n subject = \"\",\n body = \"\",\n emailType = EMAIL_TYPES.embedCode,\n enabledWidgets = {},\n}) => {\n const { t } = useTranslation();\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n const emailMutation = useEmailEmbedCode(onSent);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework.value)\n : codeString;\n\n const handleSubmit = formData => {\n if (any(({ valid }) => !valid, formData.emails)) {\n Toastr.error(t(\"neetoMolecules.widget.email.fields.emails.invalidError\"));\n\n return;\n }\n\n emailMutation.mutate({\n subject: formData.subject,\n emails: pluck(\"value\", formData.emails),\n message: body.ref?.current.innerHTML ?? body,\n snippet: codeToDisplay,\n });\n };\n\n const renderCodeBlockProps = () => {\n let props = {\n codeString: codeToDisplay,\n showCopyButton: false,\n className: \"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\",\n };\n if (emailType === EMAIL_TYPES.userIdentity) {\n props = assoc(\n \"frameworkProps\",\n { selectedFramework, setSelectedFramework },\n props\n );\n }\n\n return props;\n };\n\n return (\n <Pane {...{ onClose }} isOpen={isPaneOpen}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.widget.email.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <MultiEmailInput\n required\n label={t(\"neetoMolecules.widget.email.fields.emails.label\")}\n name=\"emails\"\n placeholder={t(\n \"neetoMolecules.widget.email.fields.emails.placeholder\"\n )}\n />\n <Input\n required\n label={t(\"neetoMolecules.widget.email.fields.subject.label\")}\n name=\"subject\"\n type=\"text\"\n />\n <Typography style=\"body2\">{body}</Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n disabled={emailMutation.isPending}\n label={t(\"neetoMolecules.widget.email.actions.send\")}\n loading={emailMutation.isPending}\n type=\"submit\"\n />\n <Button\n label={t(\"neetoMolecules.widget.email.actions.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Form>\n </Formik>\n </Pane>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: PropTypes.func,\n onSent: PropTypes.func,\n codeString: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n};\n\nexport default CodeSnippet;\n","import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport {\n queryWidgetApiKey,\n fetchWidgetConfiguration,\n updateWidgetConfiguration,\n} from \"./api\";\nimport { DEFAULT_QUERY_STALE_TIME, QUERY_KEYS } from \"./constants\";\n\nexport const useFetchApiKey = () =>\n useQuery({\n queryKey: [QUERY_KEYS.apiKey],\n queryFn: () => {\n if (\n window.globalProps.railsEnv === \"heroku\" ||\n !window.globalProps.ssoEnabled\n ) {\n return Promise.resolve({ widgetApiKey: \"placeholder-api-key\" });\n }\n\n return queryWidgetApiKey();\n },\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useFetchConfigurations = () =>\n useQuery({\n queryKey: [QUERY_KEYS.configuration],\n queryFn: fetchWidgetConfiguration,\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useUpdateConfigurations = (options = {}) =>\n useMutationWithInvalidation(updateWidgetConfiguration, {\n keysToInvalidate: [[QUERY_KEYS.configuration]],\n ...options,\n });\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Switch, Tooltip } from \"neetoui\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n placement=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `neeto${capitalize(widget)}`,\n })}\n >\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onChange={() => updateSelectedWidgets(widget)}\n />\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React from \"react\";\n\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport { Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport TooltipSwitch from \"./TooltipSwitch\";\n\nimport { WIDGET_TYPES_VALUES } from \"../constants\";\n\nconst SelectionSwitches = ({\n selectedWidgets,\n updateSelectedWidgets,\n primaryApp,\n enabledClientApps,\n}) => {\n const primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp)\n ? primaryApp\n : \"\";\n\n return (\n <div className=\"mb-4 flex w-full flex-wrap items-center justify-between gap-6\">\n <div className=\"flex items-center space-x-2\">\n {isNotEmpty(primaryWidget) && (\n <TooltipSwitch\n {...{ enabledClientApps, selectedWidgets, updateSelectedWidgets }}\n widget={primaryWidget}\n />\n )}\n <Label>neeto{capitalize(primaryWidget)}</Label>\n </div>\n <div className=\"flex flex-wrap items-center gap-6 sm:justify-end\">\n {WIDGET_TYPES_VALUES.map(\n (widget, index) =>\n primaryApp !== widget && (\n <div className=\"flex items-center space-x-2\" key={index}>\n <TooltipSwitch\n {...{\n enabledClientApps,\n selectedWidgets,\n updateSelectedWidgets,\n widget,\n }}\n />\n <Label>neeto{capitalize(widget)}</Label>\n </div>\n )\n )}\n </div>\n </div>\n );\n};\n\nSelectionSwitches.propTypes = {\n selectedWidgets: PropTypes.arrayOf(PropTypes.string),\n updateSelectedWidgets: PropTypes.func,\n primaryApp: PropTypes.string,\n};\nexport default SelectionSwitches;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/react-utils/usePrevious\";\nimport { Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport ChatWidgetBody from \"./ChatWidgetBody\";\nimport CodeBlock from \"./CodeBlock\";\nimport CodeSnippet from \"./CodeSnippet\";\nimport {\n EMAIL_TYPES,\n SAMPLE_CONTEXT_CODE_STRING,\n INSTALLATION_HELP_EMAIL,\n FRAMEWORK_SELECT_OPTIONS,\n NEETO_CHAT_USER_IDENTITY_URL,\n NEETO_REPLAY_CONFIGURE_URL,\n WIDGET_TYPES,\n WIDGET_KB_HELP_URL,\n USE_NEETO_WIDGET_NPM_PAGE_URL,\n} from \"./constants\";\nimport useForceUpdate from \"./hooks/useForceUpdate\";\nimport {\n useFetchApiKey,\n useFetchConfigurations,\n useUpdateConfigurations,\n} from \"./queries\";\nimport SelectionSwitches from \"./SelectionSwitches\";\nimport {\n getSampleUserIdentity,\n getSortedPrefixedWidgets,\n getWidgetDescriptions,\n sampleConsolidatedCodeString,\n shouldShowSwitches,\n} from \"./utils\";\n\nconst EmbedCode = ({\n showSessionContext,\n showUserIdentity,\n primaryApp = \"\",\n maxWidth = \"max-w-3xl\",\n}) => {\n const [emailType, setEmailType] = useState(EMAIL_TYPES.null);\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n\n const { t } = useTranslation();\n const bodyRef = useRef();\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n forceUpdate();\n }, []);\n\n const { data: { widgetApiKey = \"\" } = {}, isLoading: isLoadingApiKey } =\n useFetchApiKey();\n\n const {\n data: { neetoWidgetTokens = [] } = {},\n isLoading: isLoadingConfigurations,\n } = useFetchConfigurations();\n\n const { mutate: updateWidgetConfiguration } = useUpdateConfigurations();\n\n const previousEmailType = usePrevious(emailType);\n\n const selectedWidgets = neetoWidgetTokens\n .filter(\n item =>\n item.enabled &&\n (shouldShowSwitches() ||\n item.clientApplicationName.toLowerCase() === primaryApp)\n )\n .map(item => item.clientApplicationName.toLowerCase());\n\n const isOnlyChatWidgetSelected =\n selectedWidgets.length === 1 && selectedWidgets[0] === WIDGET_TYPES.chat;\n\n const enabledClientApps = neetoWidgetTokens\n .filter(prop(\"clientApplicationEnabled\"))\n .map(item => item.clientApplicationName.toLowerCase());\n\n const enabledWidgets = fromPairs(\n selectedWidgets.map(widget => [widget, true])\n );\n\n const shouldShowUserIdentity =\n showUserIdentity ?? (enabledWidgets.chat || enabledWidgets.replay);\n\n const shouldShowSessionContext = showSessionContext ?? enabledWidgets.replay;\n\n const updateSelectedWidgets = widget => {\n const widgetId = neetoWidgetTokens.find(\n item => item.clientApplicationName.toLowerCase() === widget\n ).id;\n const isEnabled = !selectedWidgets.includes(widget);\n\n updateWidgetConfiguration(\n { id: widgetId, payload: { enabled: isEnabled } },\n {\n onSuccess: () => {\n const productName = `neeto${capitalize(widget)}`;\n const response = isEnabled\n ? \"neetoMolecules.widget.installation.enabled\"\n : \"neetoMolecules.widget.installation.disabled\";\n\n Toastr.success(t(response, { productName }));\n },\n }\n );\n };\n\n const getEmbedCodeString = () =>\n isNotEmpty(widgetApiKey)\n ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey)\n : \"\";\n\n const getSnippetProps = selectedEmailType => {\n switch (selectedEmailType) {\n case EMAIL_TYPES.embedCode:\n return {\n codeString: getEmbedCodeString(),\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.embedCode\",\n { widgetList: getSortedPrefixedWidgets(selectedWidgets) }\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.mainText\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n }}\n values={{\n val: getWidgetDescriptions(selectedWidgets),\n }}\n />\n <ChatWidgetBody widgets={selectedWidgets} />\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.supportText\"\n values={{ helpEmail: INSTALLATION_HELP_EMAIL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n mail: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.userIdentity:\n return {\n emailType: EMAIL_TYPES.userIdentity,\n enabledWidgets,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.userIdentity\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.userIdentity\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n values={{\n userIdentityKbUrl: enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL,\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.sessionContext:\n return {\n codeString: SAMPLE_CONTEXT_CODE_STRING,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.sessionContext\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.sessionContext\"\n values={{ sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.null:\n return previousEmailType !== EMAIL_TYPES.null\n ? getSnippetProps(previousEmailType)\n : {};\n default:\n throw new Error(t(\"neetoMolecules.widget.email.invalidType\"));\n }\n };\n\n const handleSendViaEmail = selectedEmail => {\n if (isEmpty(selectedWidgets)) {\n Toastr.error(\n t(\"neetoMolecules.widget.installation.snippet.disabledError\")\n );\n\n return;\n }\n\n setEmailType(selectedEmail);\n };\n\n const getSelectedWidgetsInstructionsKey = () => {\n if (isEmpty(selectedWidgets)) {\n return \"neetoMolecules.widget.installation.instructions.placement.noneOfThese\";\n }\n\n if (isOnlyChatWidgetSelected) {\n return \"neetoMolecules.widget.installation.instructions.placement.selectedChatWidget\";\n }\n\n return \"neetoMolecules.widget.installation.instructions.placement.selectedWidgets\";\n };\n\n const embedHelpTextTranslationComponents = {\n fontBold: <Typography component=\"span\" style=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"h-full w-full\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto mb-10 w-full flex-col items-center justify-start\">\n <div className={classnames(\"mx-auto\", maxWidth)}>\n {shouldShowSwitches() && (\n <SelectionSwitches\n {...{\n enabledClientApps,\n primaryApp,\n selectedWidgets,\n updateSelectedWidgets,\n }}\n />\n )}\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\" data-testid=\"embed-code-block\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={getEmbedCodeString()}\n sendViaEmail={() => handleSendViaEmail(EMAIL_TYPES.embedCode)}\n title={<div>{t(\"neetoMolecules.widget.title.embedCode\")}</div>}\n />\n </div>\n <div className=\"w-full\">\n <Trans\n components={embedHelpTextTranslationComponents}\n i18nKey={getSelectedWidgetsInstructionsKey()}\n values={{ widgetList: getSortedPrefixedWidgets(selectedWidgets) }}\n />\n </div>\n </div>\n {shouldShowUserIdentity ? (\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework.value\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.userIdentity\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n />\n </div>\n ) : null}\n {shouldShowSessionContext ? (\n <div className=\"w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={SAMPLE_CONTEXT_CODE_STRING}\n title={t(\"neetoMolecules.widget.title.sessionContext\")}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.sessionContext)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.sessionContext\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ) : null}\n </div>\n <CodeSnippet\n isPaneOpen={!!emailType && isNotEmpty(selectedWidgets)}\n onClose={() => setEmailType(EMAIL_TYPES.null)}\n {...getSnippetProps(emailType)}\n />\n </div>\n );\n};\n\nEmbedCode.propTypes = {\n primaryApp: PropTypes.string,\n maxWidth: PropTypes.string,\n};\n\nexport default React.memo(EmbedCode);\n","import React from \"react\";\n\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Info } from \"neetoicons\";\nimport { Callout } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmbedCode from \"./EmbedCode\";\n\nconst queryClient = new QueryClient();\n\nconst Main = props => {\n const { t } = useTranslation();\n\n const shouldRenderEmbedCode = window.globalProps.ssoEnabled;\n\n return shouldRenderEmbedCode ? (\n <QueryClientProvider client={queryClient}>\n <EmbedCode {...props} />\n </QueryClientProvider>\n ) : (\n <Callout icon={Info} style=\"info\">\n {t(\"neetoMolecules.widget.developmentInfo\")}\n </Callout>\n );\n};\n\nMain.propTypes = {\n /**\n * This specifies which is the primary widget which is shown on the left side of selection tabs.\n */\n primaryApp: PropTypes.string,\n};\n\nexport default Main;\n","import { WIDGET_TYPES } from \"./constants\";\nimport Main from \"./Main\";\n\nconst NeetoWidget = { EmbedCode: Main, WIDGET_TYPES };\n\nexport default NeetoWidget;\n"],"names":["NEETO_WIDGET_USER_IDENTITY_KEY","SESSION_CONTEXT_KEY","INSTALLATION_HELP_EMAIL","SAMPLE_CONTEXT_CODE_STRING","concat","WIDGET_TYPES","changelog","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","WIDGET_TYPES_VALUES","values","QUERY_KEYS","apiKey","configuration","DEFAULT_QUERY_STALE_TIME","EMAIL_TYPES","embedCode","userIdentity","sessionContext","RAILS_ENV","production","staging","development","NEETO_WIDGET_SCRIPT_URL","AVAILABLE_FRAMEWORK_OPTIONS","Object","freeze","rails","django","php","FRAMEWORK_SELECT_OPTIONS","label","value","SAMPLE_USER_IDENTITY_CODE_STRING","_defineProperty","WIDGET_CONFIG_URL","EMBED_CODE_EMAIL_URL","CHAT_WIDGET_KB_BASE_URL","CHANGELOG_WIDGET_KB_BASE_URL","REPLAY_WIDGET_KB_BASE_URL","NEETO_REPLAY_CONFIGURE_URL","NEETO_CHAT_USER_IDENTITY_URL","WIDGET_KB_HELP_URL","USE_NEETO_WIDGET_NPM_PAGE_URL","ChatWidgetBody","_ref","widgets","React","createElement","Fragment","includes","Trans","i18nKey","helpLink","components","p","Typography","className","style","a","href","rel","target","SyntaxHighlighter","code","language","useEffect","Prism","highlightAll","memo","CodeBlock","_ref$title","title","codeString","_ref$showCopyButton","showCopyButton","_ref$className","_ref$sendViaEmail","sendViaEmail","undefined","_ref$frameworkProps","frameworkProps","_useTranslation","useTranslation","_ref2","selectedFramework","setSelectedFramework","classnames","Select","options","onChange","Button","onClick","CopyToClipboardButton","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addChangelogOptions","wrapBlockInOnLoad","codeBlock","embedWidgetFunctionCall","enabledWidgets","cmd","filterMarkedCommands","queryString","filter","line","trim","getSampleUserIdentity","splitCodeLines","isEmailKey","isObjectStartLine","isObjectEndLine","last","isLineHidden","sampleConsolidatedCodeString","getEmailWidgetSnippetFormInitialValues","subject","emails","getSortedPrefixedWidgets","sortedWidgets","sort","widget","capitalize","getWidgetDescriptions","entries","_slicedToArray","pluck","getEmailWidgetSnippetValidationSchema","yup","object","array","required","i18next","string","getWidgetApiKeyUrl","organization","subdomain","shouldShowSwitches","_globalProps$user","email","user","toLowerCase","endsWith","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","mutationFn","emailData","CodeSnippet","isPaneOpen","onClose","_ref$onSent","onSent","noop","_ref$subject","_ref$body","body","_ref$emailType","emailType","_ref$enabledWidgets","_useState","useState","_useState2","emailMutation","codeToDisplay","handleSubmit","formData","_body$ref$current$inn","_body$ref","any","valid","Toastr","error","mutate","message","ref","current","innerHTML","snippet","renderCodeBlockProps","props","assoc","Pane","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Body","MultiEmailInput","name","placeholder","Input","type","Footer","disabled","isPending","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","queryKey","queryFn","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","useMutationWithInvalidation","_objectSpread","keysToInvalidate","TooltipSwitch","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","placement","content","productName","Switch","checked","SelectionSwitches","primaryApp","primaryWidget","isNotEmpty","Label","index","key","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","_ref$maxWidth","maxWidth","setEmailType","_useState3","_useState4","bodyRef","useRef","forceUpdate","_useFetchApiKey","_useFetchApiKey$data","_useFetchApiKey$data2","_useFetchApiKey$data3","isLoadingApiKey","isLoading","_useFetchConfiguratio","_useFetchConfiguratio2","_useFetchConfiguratio3","_useFetchConfiguratio4","neetoWidgetTokens","isLoadingConfigurations","_useUpdateConfigurati","previousEmailType","usePrevious","item","enabled","clientApplicationName","isOnlyChatWidgetSelected","prop","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","widgetId","find","response","success","getEmbedCodeString","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","component","weight","widgetNpmLink","Link","PageLoader","_extends","queryClient","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","icon","Info","NeetoWidget"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoWidget.js","sources":["../../src/components/NeetoWidget/constants.js","../../src/components/NeetoWidget/ChatWidgetBody.jsx","../../src/components/NeetoWidget/SyntaxHighlighter.jsx","../../src/components/NeetoWidget/CodeBlock.jsx","../../src/components/NeetoWidget/utils.js","../../src/components/NeetoWidget/api.js","../../src/components/NeetoWidget/mutations.js","../../src/components/NeetoWidget/CodeSnippet.jsx","../../src/components/NeetoWidget/hooks/useForceUpdate.js","../../src/components/NeetoWidget/queries.js","../../src/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../src/components/NeetoWidget/SelectionSwitches/index.jsx","../../src/components/NeetoWidget/EmbedCode.jsx","../../src/components/NeetoWidget/Main.jsx","../../src/components/NeetoWidget/index.js"],"sourcesContent":["import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const NEETO_WIDGET_USER_IDENTITY_KEY = \"NeetoWidgetUserIdentity\";\nexport const SESSION_CONTEXT_KEY = \"NeetoReplayWidgetSessionContext\";\n\nexport const INSTALLATION_HELP_EMAIL = \"support@neeto.com\";\n\nexport const SAMPLE_CONTEXT_CODE_STRING = `window.${SESSION_CONTEXT_KEY} = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}`;\n\nexport const WIDGET_TYPES = {\n changelog: \"changelog\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n changelog: \"https://help.neetochangelog.com/articles/installation\",\n chat: \"https://help.neetochat.com/articles/installation-using-javascript-snippet\",\n replay: \"https://help.neetoreplay.com/articles/install-widget\",\n};\n\nexport const WIDGET_DESCRIPTIONS = {\n changelog: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.changelog\"\n ),\n chat: t(\"neetoMolecules.widget.email.body.values.embedCode.description.chat\"),\n replay: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.replay\"\n ),\n};\n\nexport const WIDGET_TYPES_VALUES = values(WIDGET_TYPES);\n\nexport const QUERY_KEYS = {\n apiKey: \"neetoWidgetApiKey\",\n configuration: \"neetoWidgetConfiguration\",\n};\n\nexport const DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds\n\nexport const EMAIL_TYPES = {\n embedCode: \"embedCode\",\n userIdentity: \"userIdentity\",\n sessionContext: \"sessionContext\",\n null: \"\",\n};\n\nexport const RAILS_ENV = {\n production: \"production\",\n staging: \"staging\",\n development: \"development\",\n};\n\nexport const NEETO_WIDGET_SCRIPT_URL = {\n staging: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js\",\n production: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget.js\",\n};\n\nexport const AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({\n rails: \"rails\",\n django: \"django\",\n php: \"php\",\n});\n\nexport const FRAMEWORK_SELECT_OPTIONS = [\n { label: \"Ruby(Rails)\", value: AVAILABLE_FRAMEWORK_OPTIONS.rails },\n { label: \"Python(Django)\", value: AVAILABLE_FRAMEWORK_OPTIONS.django },\n { label: \"PHP\", value: AVAILABLE_FRAMEWORK_OPTIONS.php },\n];\n\nexport const SAMPLE_USER_IDENTITY_CODE_STRING = {\n [AVAILABLE_FRAMEWORK_OPTIONS.rails]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"<%= current_user.id %>\", // User identifier\"\n name: \"<%= current_user.name %>\", // Full name\n email: \"<%= current_user.email %>\", // Email address\n started_at: \"<%= current_user.created_at.to_i %>\" // Signup date as a Unix timestamp ,\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.django]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"{{ request.user.id|escapejs }}\", // User identifier\n name: \"{{ request.user.name|escapejs }}\", // Full name\n email: \"{{ request.user.email|escapejs }}\", // Email address\n started_at: \"{{ request.user.created_at|date:'U' }}\" // Signup date as a Unix timestamp\"\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.php]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: <?php echo json_encode($current_user->id) ?>, // User identifier\n name: <?php echo json_encode($current_user->name) ?>, // Full name\n email: <?php echo json_encode($current_user->email) ?>, // Email address\n started_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp\" ,\n}`,\n};\nexport const WIDGET_CONFIG_URL = \"/api/widget/v1/neeto_widget_tokens\";\nexport const EMBED_CODE_EMAIL_URL = \"/api/widget/v1/email_snippets\";\nexport const CHAT_WIDGET_KB_BASE_URL = \"https://help.neetochat.com\";\nexport const CHANGELOG_WIDGET_KB_BASE_URL = \"https://help.neetochangelog.com\";\nexport const REPLAY_WIDGET_KB_BASE_URL = \"https://help.neetoreplay.com\";\nexport const NEETO_REPLAY_CONFIGURE_URL = `${REPLAY_WIDGET_KB_BASE_URL}/articles/configure-widget`;\nexport const NEETO_CHAT_USER_IDENTITY_URL = `${CHAT_WIDGET_KB_BASE_URL}/articles/info-about-logged-in-users`;\nexport const WIDGET_KB_HELP_URL = {\n changelog: `${CHANGELOG_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/categories/installation`,\n replay: `${REPLAY_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n};\nexport const USE_NEETO_WIDGET_NPM_PAGE_URL =\n \"https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget\";\n","import React from \"react\";\n\nimport { Button, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.changelog) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.changelogHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.changelog }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.changelog}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.chat) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.chatHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.chat }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.replay) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.replayHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.replay }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import React, { useEffect } from \"react\";\n\nimport Prism from \"prismjs\";\nimport \"prismjs/themes/prism-tomorrow.css\";\n\nconst SyntaxHighlighter = ({ className, code, language }) => {\n useEffect(() => {\n Prism.highlightAll();\n }, [code]);\n\n return (\n <pre className={className}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default React.memo(SyntaxHighlighter);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Button, Select, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nconst CodeBlock = ({\n title = (\n <div>\n <Trans i18nKey=\"neetoMolecules.codeblock.codeSnippet\" />\n </div>\n ),\n codeString,\n showCopyButton = true,\n className = \"\",\n sendViaEmail = undefined,\n frameworkProps = {},\n}) => {\n const { t } = useTranslation();\n const { selectedFramework, setSelectedFramework } = frameworkProps ?? {};\n\n return (\n <div className={classnames([\"relative\", className])}>\n <div className=\"neeto-ui-rounded-lg neeto-ui-border-gray-200 neeto-ui-bg-gray-50 flex w-full flex-wrap items-center justify-between gap-2 rounded-b-none border p-3\">\n {title && (\n <Typography\n className=\"m-0 flex-shrink-0\"\n data-cy=\"code-block-title-text\"\n style=\"h4\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ml-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n style=\"text\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n {showCopyButton && (\n <CopyToClipboardButton\n label={t(\"neetoMolecules.widget.installation.snippet.copy\")}\n style=\"primary\"\n value={codeString}\n />\n )}\n </div>\n </div>\n <SyntaxHighlighter\n className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-lg m-0 rounded-t-none\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\n );\n};\n\nCodeBlock.propTypes = {\n title: PropTypes.object,\n codeString: PropTypes.string,\n showCopyButton: PropTypes.bool,\n className: PropTypes.string,\n sendViaEmail: PropTypes.func,\n frameworkProps: PropTypes.object,\n};\n\nexport default CodeBlock;\n","import i18next, { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { identity, last, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n NEETO_WIDGET_USER_IDENTITY_KEY,\n SESSION_CONTEXT_KEY,\n RAILS_ENV,\n NEETO_WIDGET_SCRIPT_URL,\n SAMPLE_USER_IDENTITY_CODE_STRING,\n WIDGET_DESCRIPTIONS,\n} from \"./constants\";\n\nconst buildEmbedWidgetScript = () => {\n const widgetScriptUrl =\n window.globalProps.railsEnv === RAILS_ENV.production\n ? NEETO_WIDGET_SCRIPT_URL.production\n : NEETO_WIDGET_SCRIPT_URL.staging;\n\n return `<script src=\"${widgetScriptUrl}\"></script>`;\n};\n\nconst indentAndFormat = (str, formatter = identity) =>\n str.split(\"\\n\").map(formatter).join(\"\\n \");\n\nconst getCommentedCommand = (command, isEnabled) =>\n isEnabled ? command : `/// ${command}`;\n\nconst embedWidgetEnvironment = () => {\n switch (window.globalProps.railsEnv) {\n case RAILS_ENV.production:\n return \"\";\n case RAILS_ENV.development:\n return `environment: \"${RAILS_ENV.development}\",`;\n case RAILS_ENV.staging:\n return `environment: \"${RAILS_ENV.staging}\",`;\n default:\n return \"/* Unidentified RAILS_ENV, */\";\n }\n};\n\nconst embedWidgetApiKey = apiKey => `apiKey: \"${apiKey}\",`;\n\nconst addChangelogOptions = () => `neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},`;\n\nconst wrapBlockInOnLoad = codeBlock =>\n `window.addEventListener(\"load\", () => ${codeBlock});`;\n\nconst embedWidgetFunctionCall = (enabledWidgets, apiKey) => `embedNeetoWidget({\n ${embedWidgetEnvironment()}\n ${indentAndFormat(embedWidgetApiKey(apiKey))}\n ${indentAndFormat(addChangelogOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.changelog)\n )}\n})`;\n\nconst filterMarkedCommands = queryString =>\n queryString\n .split(\"\\n\")\n .filter(line => !line.includes(\"///\") && line.trim())\n .join(\"\\n\");\n\nexport const getSampleUserIdentity = (enabledWidgets, selectedFramework) => {\n const splitCodeLines =\n SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split(\"\\n\");\n\n return filterMarkedCommands(\n splitCodeLines\n .map(cmd => {\n const isEmailKey = cmd.includes(\"email\");\n const isObjectStartLine = cmd === splitCodeLines[0];\n const isObjectEndLine = cmd === last(splitCodeLines);\n const isLineHidden =\n !isEmailKey && !isObjectStartLine && !isObjectEndLine;\n if (\n (!enabledWidgets.chat && isLineHidden) ||\n (!enabledWidgets.chat && !enabledWidgets.replay)\n ) {\n return null;\n }\n\n return cmd;\n })\n .join(\"\\n\")\n );\n};\n\nexport const sampleConsolidatedCodeString = (enabledWidgets, apiKey) =>\n filterMarkedCommands(`${buildEmbedWidgetScript()}\n<script>\n ${\n enabledWidgets.chat || enabledWidgets.replay\n ? `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {};`\n : \"\"\n }\n ${enabledWidgets.replay ? `window.${SESSION_CONTEXT_KEY} = {};` : \"\"}\n\n ${indentAndFormat(\n wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))\n )}\n</script>`);\n\nexport const getEmailWidgetSnippetFormInitialValues = subject => ({\n emails: \"\",\n subject,\n});\n\nexport const getSortedPrefixedWidgets = widgets => {\n const sortedWidgets = widgets\n .sort()\n .map(widget => `neeto${capitalize(widget)}`);\n\n return sortedWidgets.length === 1\n ? sortedWidgets\n : t(\"neetoMolecules.widget.email.widgetList\", {\n widgets: sortedWidgets,\n });\n};\n\nexport const getWidgetDescriptions = widgets => {\n const values = Object.entries(WIDGET_DESCRIPTIONS).filter(([widget]) =>\n widgets.includes(widget)\n );\n\n return pluck(1, values);\n};\n\nexport const getEmailWidgetSnippetValidationSchema = () =>\n yup.object({\n emails: yup\n .array()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.emails.label\")),\n subject: yup\n .string()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.subject.label\")),\n });\n\nexport const getWidgetApiKeyUrl = () =>\n `api/widget/v1/api_keys/${window.globalProps.organization.subdomain}`;\n\nexport const shouldShowSwitches = () => {\n const email = globalProps.user?.email || \"\";\n if (window.globalProps.railsEnv === RAILS_ENV.production) {\n return email.toLowerCase().endsWith(\"@bigbinary.com\");\n }\n\n return true;\n};\n","import axios from \"axios\";\n\nimport { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from \"./constants\";\nimport { getWidgetApiKeyUrl } from \"./utils\";\n\nexport const queryWidgetApiKey = () =>\n axios.get(getWidgetApiKeyUrl(), { showToastr: false });\n\nexport const emailWidgetSnippet = data =>\n axios.post(EMBED_CODE_EMAIL_URL, data);\n\nexport const fetchWidgetConfiguration = () => axios.get(WIDGET_CONFIG_URL);\n\nexport const updateWidgetConfiguration = ({ id, payload }) =>\n axios.put(`${WIDGET_CONFIG_URL}/${id}`, payload);\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport { emailWidgetSnippet } from \"./api\";\n\nexport const useEmailEmbedCode = onSuccess =>\n useMutation({\n mutationFn: emailData => emailWidgetSnippet(emailData),\n onSuccess,\n });\n","import React, { useState } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { Typography, Button, Pane, Toastr } from \"neetoui\";\nimport { Input, MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { pluck, any, assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CodeBlock from \"./CodeBlock\";\nimport { EMAIL_TYPES, FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport { useEmailEmbedCode } from \"./mutations\";\nimport {\n getEmailWidgetSnippetFormInitialValues,\n getEmailWidgetSnippetValidationSchema,\n getSampleUserIdentity,\n} from \"./utils\";\n\nconst CodeSnippet = ({\n isPaneOpen,\n onClose,\n onSent = noop,\n codeString,\n subject = \"\",\n body = \"\",\n emailType = EMAIL_TYPES.embedCode,\n enabledWidgets = {},\n}) => {\n const { t } = useTranslation();\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n const emailMutation = useEmailEmbedCode(onSent);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework.value)\n : codeString;\n\n const handleSubmit = formData => {\n if (any(({ valid }) => !valid, formData.emails)) {\n Toastr.error(t(\"neetoMolecules.widget.email.fields.emails.invalidError\"));\n\n return;\n }\n\n emailMutation.mutate({\n subject: formData.subject,\n emails: pluck(\"value\", formData.emails),\n message: body.ref?.current.innerHTML ?? body,\n snippet: codeToDisplay,\n });\n };\n\n const renderCodeBlockProps = () => {\n let props = {\n codeString: codeToDisplay,\n showCopyButton: false,\n className: \"neeto-ui-rounded-lg\",\n };\n if (emailType === EMAIL_TYPES.userIdentity) {\n props = assoc(\n \"frameworkProps\",\n { selectedFramework, setSelectedFramework },\n props\n );\n }\n\n return props;\n };\n\n return (\n <Pane {...{ onClose }} isOpen={isPaneOpen}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.widget.email.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <MultiEmailInput\n required\n label={t(\"neetoMolecules.widget.email.fields.emails.label\")}\n name=\"emails\"\n placeholder={t(\n \"neetoMolecules.widget.email.fields.emails.placeholder\"\n )}\n />\n <Input\n required\n label={t(\"neetoMolecules.widget.email.fields.subject.label\")}\n name=\"subject\"\n type=\"text\"\n />\n <Typography style=\"body2\">{body}</Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n disabled={emailMutation.isPending}\n label={t(\"neetoMolecules.widget.email.actions.send\")}\n loading={emailMutation.isPending}\n type=\"submit\"\n />\n <Button\n label={t(\"neetoMolecules.widget.email.actions.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Form>\n </Formik>\n </Pane>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: PropTypes.func,\n onSent: PropTypes.func,\n codeString: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n};\n\nexport default CodeSnippet;\n","import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport {\n queryWidgetApiKey,\n fetchWidgetConfiguration,\n updateWidgetConfiguration,\n} from \"./api\";\nimport { DEFAULT_QUERY_STALE_TIME, QUERY_KEYS } from \"./constants\";\n\nexport const useFetchApiKey = () =>\n useQuery({\n queryKey: [QUERY_KEYS.apiKey],\n queryFn: () => {\n if (\n window.globalProps.railsEnv === \"heroku\" ||\n !window.globalProps.ssoEnabled\n ) {\n return Promise.resolve({ widgetApiKey: \"placeholder-api-key\" });\n }\n\n return queryWidgetApiKey();\n },\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useFetchConfigurations = () =>\n useQuery({\n queryKey: [QUERY_KEYS.configuration],\n queryFn: fetchWidgetConfiguration,\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useUpdateConfigurations = (options = {}) =>\n useMutationWithInvalidation(updateWidgetConfiguration, {\n keysToInvalidate: [[QUERY_KEYS.configuration]],\n ...options,\n });\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Switch, Tooltip } from \"neetoui\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n placement=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `neeto${capitalize(widget)}`,\n })}\n >\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onChange={() => updateSelectedWidgets(widget)}\n />\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React from \"react\";\n\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport { Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport TooltipSwitch from \"./TooltipSwitch\";\n\nimport { WIDGET_TYPES_VALUES } from \"../constants\";\n\nconst SelectionSwitches = ({\n selectedWidgets,\n updateSelectedWidgets,\n primaryApp,\n enabledClientApps,\n}) => {\n const primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp)\n ? primaryApp\n : \"\";\n\n return (\n <div className=\"mb-4 flex w-full flex-wrap items-center justify-between gap-6\">\n <div className=\"flex items-center space-x-2\">\n {isNotEmpty(primaryWidget) && (\n <TooltipSwitch\n {...{ enabledClientApps, selectedWidgets, updateSelectedWidgets }}\n widget={primaryWidget}\n />\n )}\n <Label>neeto{capitalize(primaryWidget)}</Label>\n </div>\n <div className=\"flex flex-wrap items-center gap-6 sm:justify-end\">\n {WIDGET_TYPES_VALUES.map(\n (widget, index) =>\n primaryApp !== widget && (\n <div className=\"flex items-center space-x-2\" key={index}>\n <TooltipSwitch\n {...{\n enabledClientApps,\n selectedWidgets,\n updateSelectedWidgets,\n widget,\n }}\n />\n <Label>neeto{capitalize(widget)}</Label>\n </div>\n )\n )}\n </div>\n </div>\n );\n};\n\nSelectionSwitches.propTypes = {\n selectedWidgets: PropTypes.arrayOf(PropTypes.string),\n updateSelectedWidgets: PropTypes.func,\n primaryApp: PropTypes.string,\n};\nexport default SelectionSwitches;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/react-utils/usePrevious\";\nimport { Button, Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport ChatWidgetBody from \"./ChatWidgetBody\";\nimport CodeBlock from \"./CodeBlock\";\nimport CodeSnippet from \"./CodeSnippet\";\nimport {\n EMAIL_TYPES,\n SAMPLE_CONTEXT_CODE_STRING,\n INSTALLATION_HELP_EMAIL,\n FRAMEWORK_SELECT_OPTIONS,\n NEETO_CHAT_USER_IDENTITY_URL,\n NEETO_REPLAY_CONFIGURE_URL,\n WIDGET_TYPES,\n WIDGET_KB_HELP_URL,\n USE_NEETO_WIDGET_NPM_PAGE_URL,\n} from \"./constants\";\nimport useForceUpdate from \"./hooks/useForceUpdate\";\nimport {\n useFetchApiKey,\n useFetchConfigurations,\n useUpdateConfigurations,\n} from \"./queries\";\nimport SelectionSwitches from \"./SelectionSwitches\";\nimport {\n getSampleUserIdentity,\n getSortedPrefixedWidgets,\n getWidgetDescriptions,\n sampleConsolidatedCodeString,\n shouldShowSwitches,\n} from \"./utils\";\n\nconst EmbedCode = ({\n showSessionContext,\n showUserIdentity,\n primaryApp = \"\",\n maxWidth = \"max-w-3xl\",\n}) => {\n const [emailType, setEmailType] = useState(EMAIL_TYPES.null);\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n\n const { t } = useTranslation();\n const bodyRef = useRef();\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n forceUpdate();\n }, []);\n\n const { data: { widgetApiKey = \"\" } = {}, isLoading: isLoadingApiKey } =\n useFetchApiKey();\n\n const {\n data: { neetoWidgetTokens = [] } = {},\n isLoading: isLoadingConfigurations,\n } = useFetchConfigurations();\n\n const { mutate: updateWidgetConfiguration } = useUpdateConfigurations();\n\n const previousEmailType = usePrevious(emailType);\n\n const selectedWidgets = neetoWidgetTokens\n .filter(\n item =>\n item.enabled &&\n (shouldShowSwitches() ||\n item.clientApplicationName.toLowerCase() === primaryApp)\n )\n .map(item => item.clientApplicationName.toLowerCase());\n\n const isOnlyChatWidgetSelected =\n selectedWidgets.length === 1 && selectedWidgets[0] === WIDGET_TYPES.chat;\n\n const enabledClientApps = neetoWidgetTokens\n .filter(prop(\"clientApplicationEnabled\"))\n .map(item => item.clientApplicationName.toLowerCase());\n\n const enabledWidgets = fromPairs(\n selectedWidgets.map(widget => [widget, true])\n );\n\n const shouldShowUserIdentity =\n showUserIdentity ?? (enabledWidgets.chat || enabledWidgets.replay);\n\n const shouldShowSessionContext = showSessionContext ?? enabledWidgets.replay;\n\n const updateSelectedWidgets = widget => {\n const widgetId = neetoWidgetTokens.find(\n item => item.clientApplicationName.toLowerCase() === widget\n ).id;\n const isEnabled = !selectedWidgets.includes(widget);\n\n updateWidgetConfiguration(\n { id: widgetId, payload: { enabled: isEnabled } },\n {\n onSuccess: () => {\n const productName = `neeto${capitalize(widget)}`;\n const response = isEnabled\n ? \"neetoMolecules.widget.installation.enabled\"\n : \"neetoMolecules.widget.installation.disabled\";\n\n Toastr.success(t(response, { productName }));\n },\n }\n );\n };\n\n const getEmbedCodeString = () =>\n isNotEmpty(widgetApiKey)\n ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey)\n : \"\";\n\n const getSnippetProps = selectedEmailType => {\n switch (selectedEmailType) {\n case EMAIL_TYPES.embedCode:\n return {\n codeString: getEmbedCodeString(),\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.embedCode\",\n { widgetList: getSortedPrefixedWidgets(selectedWidgets) }\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.mainText\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n }}\n values={{\n val: getWidgetDescriptions(selectedWidgets),\n }}\n />\n <ChatWidgetBody widgets={selectedWidgets} />\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.supportText\"\n values={{ helpEmail: INSTALLATION_HELP_EMAIL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n mail: (\n <Button\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.userIdentity:\n return {\n emailType: EMAIL_TYPES.userIdentity,\n enabledWidgets,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.userIdentity\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.userIdentity\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <Button\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n values={{\n userIdentityKbUrl: enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL,\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.sessionContext:\n return {\n codeString: SAMPLE_CONTEXT_CODE_STRING,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.sessionContext\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.sessionContext\"\n values={{ sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.null:\n return previousEmailType !== EMAIL_TYPES.null\n ? getSnippetProps(previousEmailType)\n : {};\n default:\n throw new Error(t(\"neetoMolecules.widget.email.invalidType\"));\n }\n };\n\n const handleSendViaEmail = selectedEmail => {\n if (isEmpty(selectedWidgets)) {\n Toastr.error(\n t(\"neetoMolecules.widget.installation.snippet.disabledError\")\n );\n\n return;\n }\n\n setEmailType(selectedEmail);\n };\n\n const getSelectedWidgetsInstructionsKey = () => {\n if (isEmpty(selectedWidgets)) {\n return \"neetoMolecules.widget.installation.instructions.placement.noneOfThese\";\n }\n\n if (isOnlyChatWidgetSelected) {\n return \"neetoMolecules.widget.installation.instructions.placement.selectedChatWidget\";\n }\n\n return \"neetoMolecules.widget.installation.instructions.placement.selectedWidgets\";\n };\n\n const embedHelpTextTranslationComponents = {\n fontBold: <Typography component=\"span\" style=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <Button\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n Link: (\n <Button\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"h-full w-full\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto mb-10 w-full flex-col items-center justify-start\">\n <div className={classnames(\"mx-auto\", maxWidth)}>\n {shouldShowSwitches() && (\n <SelectionSwitches\n {...{\n enabledClientApps,\n primaryApp,\n selectedWidgets,\n updateSelectedWidgets,\n }}\n />\n )}\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\" data-testid=\"embed-code-block\">\n <CodeBlock\n className=\"neeto-ui-rounded-lg\"\n codeString={getEmbedCodeString()}\n sendViaEmail={() => handleSendViaEmail(EMAIL_TYPES.embedCode)}\n title={<div>{t(\"neetoMolecules.widget.title.embedCode\")}</div>}\n />\n </div>\n <div className=\"w-full\">\n <Trans\n components={embedHelpTextTranslationComponents}\n i18nKey={getSelectedWidgetsInstructionsKey()}\n values={{ widgetList: getSortedPrefixedWidgets(selectedWidgets) }}\n />\n </div>\n </div>\n {shouldShowUserIdentity ? (\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework.value\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.userIdentity\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <Button\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n />\n </div>\n ) : null}\n {shouldShowSessionContext ? (\n <div className=\"w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-rounded-lg\"\n codeString={SAMPLE_CONTEXT_CODE_STRING}\n title={t(\"neetoMolecules.widget.title.sessionContext\")}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.sessionContext)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.sessionContext\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ) : null}\n </div>\n <CodeSnippet\n isPaneOpen={!!emailType && isNotEmpty(selectedWidgets)}\n onClose={() => setEmailType(EMAIL_TYPES.null)}\n {...getSnippetProps(emailType)}\n />\n </div>\n );\n};\n\nEmbedCode.propTypes = {\n primaryApp: PropTypes.string,\n maxWidth: PropTypes.string,\n};\n\nexport default React.memo(EmbedCode);\n","import React from \"react\";\n\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { Info } from \"neetoicons\";\nimport { Callout } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmbedCode from \"./EmbedCode\";\n\nconst queryClient = new QueryClient();\n\nconst Main = props => {\n const { t } = useTranslation();\n\n const shouldRenderEmbedCode = window.globalProps.ssoEnabled;\n\n return shouldRenderEmbedCode ? (\n <QueryClientProvider client={queryClient}>\n <EmbedCode {...props} />\n </QueryClientProvider>\n ) : (\n <Callout icon={Info} style=\"info\">\n {t(\"neetoMolecules.widget.developmentInfo\")}\n </Callout>\n );\n};\n\nMain.propTypes = {\n /**\n * This specifies which is the primary widget which is shown on the left side of selection tabs.\n */\n primaryApp: PropTypes.string,\n};\n\nexport default Main;\n","import { WIDGET_TYPES } from \"./constants\";\nimport Main from \"./Main\";\n\nconst NeetoWidget = { EmbedCode: Main, WIDGET_TYPES };\n\nexport default NeetoWidget;\n"],"names":["NEETO_WIDGET_USER_IDENTITY_KEY","SESSION_CONTEXT_KEY","INSTALLATION_HELP_EMAIL","SAMPLE_CONTEXT_CODE_STRING","concat","WIDGET_TYPES","changelog","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","WIDGET_TYPES_VALUES","values","QUERY_KEYS","apiKey","configuration","DEFAULT_QUERY_STALE_TIME","EMAIL_TYPES","embedCode","userIdentity","sessionContext","RAILS_ENV","production","staging","development","NEETO_WIDGET_SCRIPT_URL","AVAILABLE_FRAMEWORK_OPTIONS","Object","freeze","rails","django","php","FRAMEWORK_SELECT_OPTIONS","label","value","SAMPLE_USER_IDENTITY_CODE_STRING","_defineProperty","WIDGET_CONFIG_URL","EMBED_CODE_EMAIL_URL","CHAT_WIDGET_KB_BASE_URL","CHANGELOG_WIDGET_KB_BASE_URL","REPLAY_WIDGET_KB_BASE_URL","NEETO_REPLAY_CONFIGURE_URL","NEETO_CHAT_USER_IDENTITY_URL","WIDGET_KB_HELP_URL","USE_NEETO_WIDGET_NPM_PAGE_URL","ChatWidgetBody","_ref","widgets","React","createElement","Fragment","includes","Trans","i18nKey","helpLink","components","p","Typography","className","style","a","Button","href","rel","target","SyntaxHighlighter","code","language","useEffect","Prism","highlightAll","memo","CodeBlock","_ref$title","title","codeString","_ref$showCopyButton","showCopyButton","_ref$className","_ref$sendViaEmail","sendViaEmail","undefined","_ref$frameworkProps","frameworkProps","_useTranslation","useTranslation","_ref2","selectedFramework","setSelectedFramework","classnames","Select","options","onChange","onClick","CopyToClipboardButton","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addChangelogOptions","wrapBlockInOnLoad","codeBlock","embedWidgetFunctionCall","enabledWidgets","cmd","filterMarkedCommands","queryString","filter","line","trim","getSampleUserIdentity","splitCodeLines","isEmailKey","isObjectStartLine","isObjectEndLine","last","isLineHidden","sampleConsolidatedCodeString","getEmailWidgetSnippetFormInitialValues","subject","emails","getSortedPrefixedWidgets","sortedWidgets","sort","widget","capitalize","getWidgetDescriptions","entries","_slicedToArray","pluck","getEmailWidgetSnippetValidationSchema","yup","object","array","required","i18next","string","getWidgetApiKeyUrl","organization","subdomain","shouldShowSwitches","_globalProps$user","email","user","toLowerCase","endsWith","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","mutationFn","emailData","CodeSnippet","isPaneOpen","onClose","_ref$onSent","onSent","noop","_ref$subject","_ref$body","body","_ref$emailType","emailType","_ref$enabledWidgets","_useState","useState","_useState2","emailMutation","codeToDisplay","handleSubmit","formData","_body$ref$current$inn","_body$ref","any","valid","Toastr","error","mutate","message","ref","current","innerHTML","snippet","renderCodeBlockProps","props","assoc","Pane","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Body","MultiEmailInput","name","placeholder","Input","type","Footer","disabled","isPending","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","queryKey","queryFn","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","useMutationWithInvalidation","_objectSpread","keysToInvalidate","TooltipSwitch","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","placement","content","productName","Switch","checked","SelectionSwitches","primaryApp","primaryWidget","isNotEmpty","Label","index","key","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","_ref$maxWidth","maxWidth","setEmailType","_useState3","_useState4","bodyRef","useRef","forceUpdate","_useFetchApiKey","_useFetchApiKey$data","_useFetchApiKey$data2","_useFetchApiKey$data3","isLoadingApiKey","isLoading","_useFetchConfiguratio","_useFetchConfiguratio2","_useFetchConfiguratio3","_useFetchConfiguratio4","neetoWidgetTokens","isLoadingConfigurations","_useUpdateConfigurati","previousEmailType","usePrevious","item","enabled","clientApplicationName","isOnlyChatWidgetSelected","prop","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","widgetId","find","response","success","getEmbedCodeString","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","component","weight","widgetNpmLink","Link","PageLoader","_extends","queryClient","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","icon","Info","NeetoWidget"],"mappings":"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"}
@@ -40,7 +40,6 @@ var Download__default = /*#__PURE__*/_interopDefaultLegacy(Download);
40
40
  var Callout__default = /*#__PURE__*/_interopDefaultLegacy(Callout);
41
41
  var Papa__default = /*#__PURE__*/_interopDefaultLegacy(Papa);
42
42
 
43
- var ALLOWED_FILE_TYPES = [".csv"];
44
43
  var CSV_FILE_SIZE_IN_KB = 32;
45
44
  var ONE_KILOBYTE_IN_BYTES = 1024;
46
45
  var DOWNLOAD_SAMPLE_EMAIL_CSV_FILE = "https://d2v7kzglnr2dnh.cloudfront.net/others/sample-bulk-email.csv";
@@ -75,12 +74,13 @@ var Requirements$1 = /*#__PURE__*/React__default["default"].memo(Requirements);
75
74
  var BulkUploadPane = function BulkUploadPane(_ref) {
76
75
  var _fileRejections$;
77
76
  var isOpen = _ref.isOpen,
78
- fileType = _ref.fileType,
79
77
  fileSize = _ref.fileSize,
80
78
  onClose = _ref.onClose,
81
79
  handleFileSubmit = _ref.handleFileSubmit;
82
80
  var _useDropzone = reactDropzone.useDropzone({
83
- accept: fileType,
81
+ accept: {
82
+ "text/csv": []
83
+ },
84
84
  maxFiles: 1,
85
85
  maxSize: fileSize * ONE_KILOBYTE_IN_BYTES,
86
86
  onDrop: function onDrop(files) {
@@ -146,10 +146,10 @@ var BulkUploadPane = function BulkUploadPane(_ref) {
146
146
  })), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
147
147
  className: "neeto-ui-text-gray-700",
148
148
  style: "body3"
149
- }, fileType && /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
149
+ }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
150
150
  i18nKey: "neetoMolecules.shareViaLink.bulkUploadPane.supportedFormat",
151
151
  values: {
152
- fileType: fileType
152
+ fileType: "csv"
153
153
  },
154
154
  components: {
155
155
  code: /*#__PURE__*/React__default["default"].createElement("code", {
@@ -275,7 +275,6 @@ var SendToFields = function SendToFields(_ref) {
275
275
  name: "sendToCc"
276
276
  }, bccInputProps))), /*#__PURE__*/React__default["default"].createElement(BulkUploadPane, {
277
277
  fileSize: CSV_FILE_SIZE_IN_KB,
278
- fileType: ALLOWED_FILE_TYPES,
279
278
  handleFileSubmit: handleCSVFile,
280
279
  isOpen: isBulkUploadPaneOpen,
281
280
  onClose: function onClose() {
@@ -1 +1 @@
1
- {"version":3,"file":"SendToFields.js","sources":["../../src/components/SendToFields/constants.js","../../src/components/SendToFields/Requirements.jsx","../../src/components/SendToFields/BulkUploadPane.jsx","../../src/components/SendToFields/utils.js","../../src/components/SendToFields/index.jsx"],"sourcesContent":["export const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nexport const ALLOWED_FILE_TYPES = [\".csv\"];\nexport const CSV_FILE_SIZE_IN_KB = 32;\nexport const ONE_KILOBYTE_IN_BYTES = 1024;\nexport const DOWNLOAD_SAMPLE_EMAIL_CSV_FILE =\n \"https://d2v7kzglnr2dnh.cloudfront.net/others/sample-bulk-email.csv\";\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Download } from \"neetoicons\";\nimport { Button, Callout } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { DOWNLOAD_SAMPLE_EMAIL_CSV_FILE } from \"./constants\";\n\nconst Requirements = withT(({ t, fileSize }) => (\n <Callout className=\"flex flex-col items-center py-6\" style=\"info\">\n <ul className=\"list-outside list-disc space-y-1 font-normal leading-normal\">\n {fileSize && (\n <li>\n {t(\"neetoMolecules.shareViaLink.requirements.fileTypeAndSize\", {\n limit: fileSize,\n })}\n </li>\n )}\n <li>\n <Trans\n components={{ strong: <strong className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.shareViaLink.requirements.shouldContainColumns\"\n />\n </li>\n </ul>\n <Button\n href={DOWNLOAD_SAMPLE_EMAIL_CSV_FILE}\n icon={Download}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaLink.bulkUploadPane.downloadSampleCSV\")}\n style=\"link\"\n />\n </Callout>\n));\n\nexport default React.memo(Requirements);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { Upload } from \"neetoicons\";\nimport { Button, Typography, Pane } from \"neetoui\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ONE_KILOBYTE_IN_BYTES } from \"./constants\";\nimport Requirements from \"./Requirements\";\n\nconst BulkUploadPane = ({\n isOpen,\n fileType,\n fileSize,\n onClose,\n handleFileSubmit,\n}) => {\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n accept: fileType,\n maxFiles: 1,\n maxSize: fileSize * ONE_KILOBYTE_IN_BYTES,\n onDrop: files => files[0] && handleFileSubmit(files[0]),\n });\n\n const errors = fileRejections[0]?.errors.map(({ message, code }) => (\n <Typography\n className=\"neeto-ui-text-error-500 items\"\n data-cy=\"file-input-error-message\"\n key={code}\n style=\"body3\"\n >\n {message}\n </Typography>\n ));\n\n const { t } = useTranslation();\n\n return (\n <Pane {...{ isOpen, onClose }} data-testid=\"bulk-upload-pane\">\n <div tabIndex={0}>\n <Pane.Header>\n <Typography\n data-testid=\"bulk-upload-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaLink.bulkUpload\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Requirements {...{ fileSize }} />\n <div\n {...getRootProps({\n className: classNames(\n \"flex flex-col p-2 border neeto-ui-border-primary-500 border-dashed neeto-ui-rounded-md transition duration-500 ease-in-out hover:neeto-ui-bg-gray-100 cursor-pointer items-center\",\n {\n \"neeto-ui-border-gray-100\": isDragActive,\n \"neeto-ui-border-error neeto-ui-bg-pastel-red hover:neeto-ui-bg-pastel-red\":\n fileRejections.length,\n }\n ),\n })}\n >\n <div className=\"flex flex-col items-center space-y-3 p-4\">\n <Upload className=\"neeto-ui-text-primary-500\" size={32} />\n <input\n {...getInputProps()}\n data-cy=\"csv-upload-input\"\n data-testid=\"csv-upload-input\"\n />\n {isDragActive ? (\n <Typography style=\"body2\">\n {t(\n \"neetoMolecules.shareViaLink.bulkUploadPane.dropFileHere\"\n )}\n </Typography>\n ) : (\n <div className=\"flex flex-col items-center space-y-1\">\n <div className=\"flex w-full items-center justify-center gap-x-1\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.bulkUploadPane.dragNDrop\"\n components={{\n Button: <Button style=\"link\" />,\n }}\n />\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"body3\"\n >\n {fileType && (\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.bulkUploadPane.supportedFormat\"\n values={{ fileType }}\n components={{\n code: (\n <code className=\"neeto-ui-typography neeto-ui-text-body3 neeto-ui-bg-white m-0 border-l-0 p-0\" />\n ),\n }}\n />\n )}{\" \"}\n {fileSize &&\n t(\n \"neetoMolecules.shareViaLink.bulkUploadPane.supportedSize\",\n { fileSize }\n )}\n </Typography>\n </div>\n )}\n </div>\n {errors}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"bulk-upload-cancel-button\"\n data-testid=\"bulk-upload-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n type=\"reset\"\n onClick={onClose}\n />\n </Pane.Footer>\n </div>\n </Pane>\n );\n};\n\nexport default BulkUploadPane;\n","import { t } from \"i18next\";\nimport { Toastr } from \"neetoui\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = (file, onSuccess) => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (isEmailFieldPresent) {\n const emails = results.data\n .filter(prop(\"email\"))\n .map(item => item.email.trim());\n onSuccess(createEmailOptions(emails));\n } else {\n Toastr.error(t(\"neetoMolecules.sendToFields.errors.invalidCsv\"));\n }\n },\n });\n};\n","import React, { useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Upload } from \"neetoicons\";\nimport { Button, Toastr } from \"neetoui\";\nimport { MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BulkUploadPane from \"./BulkUploadPane\";\nimport { ALLOWED_FILE_TYPES, CSV_FILE_SIZE_IN_KB, SIZES } from \"./constants\";\nimport { parseCsvEmails } from \"./utils\";\n\nconst SendToFields = ({\n emailInputProps,\n ccInputProps,\n bccInputProps,\n showUploadCsvButton = false,\n showCcBccButton = false,\n}) => {\n const [isBulkUploadPaneOpen, setIsBulkUploadPaneOpen] = useState(false);\n const sendToFieldRef = useRef();\n const {\n values: {\n showCopyEmails,\n [emailInputProps.name || \"sendTo\"]: existingSendToEmails,\n },\n setFieldValue,\n } = useFormikContext();\n const { t } = useTranslation();\n\n const handleCSVFile = file => {\n try {\n const onSuccess = values =>\n setFieldValue(emailInputProps.name || \"sendTo\", [\n ...existingSendToEmails,\n ...values,\n ]);\n\n parseCsvEmails(file, onSuccess);\n setIsBulkUploadPaneOpen(false);\n sendToFieldRef.current?.focus();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handelCcBccButtonClick = e => {\n e.stopPropagation();\n setFieldValue(\"showCopyEmails\", !showCopyEmails);\n };\n\n return (\n <div\n className=\"relative w-full flex-col gap-2\"\n data-testid=\"send-to-text-field\"\n >\n {showUploadCsvButton && (\n <Button\n className=\"absolute right-1 top-0\"\n data-testid=\"bulk-upload-button\"\n icon={Upload}\n label={t(\"neetoMolecules.shareViaLink.bulkUpload\")}\n size=\"small\"\n style=\"link\"\n onClick={() => setIsBulkUploadPaneOpen(true)}\n />\n )}\n <MultiEmailInput\n name=\"sendTo\"\n ref={sendToFieldRef}\n {...emailInputProps}\n suffix={\n showCcBccButton && (\n <Button\n data-cy=\"cc-bcc-button\"\n data-testid=\"cc-bcc-button\"\n label={t(\"neetoMolecules.emailForm.labels.ccBcc\")}\n size=\"small\"\n style=\"link\"\n onClick={handelCcBccButtonClick}\n />\n )\n }\n />\n {showCopyEmails && (\n <div className=\"mt-5 flex w-full flex-col gap-6\">\n <MultiEmailInput name=\"sendToBcc\" {...ccInputProps} />\n <MultiEmailInput name=\"sendToCc\" {...bccInputProps} />\n </div>\n )}\n <BulkUploadPane\n fileSize={CSV_FILE_SIZE_IN_KB}\n fileType={ALLOWED_FILE_TYPES}\n handleFileSubmit={handleCSVFile}\n isOpen={isBulkUploadPaneOpen}\n onClose={() => setIsBulkUploadPaneOpen(false)}\n />\n </div>\n );\n};\n\nconst inputPropTypes = PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n required: PropTypes.bool,\n});\n\nSendToFields.propTypes = {\n /**\n * Input props for sendTo input field.\n */\n emailInputProps: inputPropTypes,\n /**\n * Input props for CC input field.\n */\n ccInputProps: inputPropTypes,\n /**\n * Input props for BCC input field.\n */\n bccInputProps: inputPropTypes,\n /**\n * Flag to determine whether the 'FilePicker' button is displayed.\n */\n showUploadCsvButton: PropTypes.bool,\n /**\n * Flag to determine whether the 'Cc/Bcc' button is displayed.\n */\n showCcBccButton: PropTypes.bool,\n};\n\nexport default SendToFields;\n"],"names":["ALLOWED_FILE_TYPES","CSV_FILE_SIZE_IN_KB","ONE_KILOBYTE_IN_BYTES","DOWNLOAD_SAMPLE_EMAIL_CSV_FILE","Requirements","withT","_ref","t","fileSize","React","createElement","Callout","className","style","limit","Trans","components","strong","i18nKey","Button","href","icon","Download","iconPosition","label","memo","BulkUploadPane","_fileRejections$","isOpen","fileType","onClose","handleFileSubmit","_useDropzone","useDropzone","accept","maxFiles","maxSize","onDrop","files","getRootProps","getInputProps","isDragActive","fileRejections","errors","map","_ref2","message","code","Typography","key","_useTranslation","useTranslation","Pane","tabIndex","Header","weight","Body","classNames","length","Upload","size","_extends","values","Footer","type","onClick","isValidEmail","email","string","isValidSync","createEmailOptions","emails","arguments","undefined","value","valid","parseCsvEmails","file","onSuccess","Papa","parse","header","skipEmptyLines","transformHeader","h","toLowerCase","replace","complete","results","_results$meta$fields","isEmailFieldPresent","meta","fields","includes","data","filter","prop","item","trim","Toastr","error","SendToFields","emailInputProps","ccInputProps","bccInputProps","_ref$showUploadCsvBut","showUploadCsvButton","_ref$showCcBccButton","showCcBccButton","_useState","useState","_useState2","_slicedToArray","isBulkUploadPaneOpen","setIsBulkUploadPaneOpen","sendToFieldRef","useRef","_useFormikContext","useFormikContext","_useFormikContext$val","showCopyEmails","existingSendToEmails","name","setFieldValue","handleCSVFile","_sendToFieldRef$curre","concat","_toConsumableArray","current","focus","handelCcBccButtonClick","e","stopPropagation","MultiEmailInput","ref","suffix"],"mappings":"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"}
1
+ {"version":3,"file":"SendToFields.js","sources":["../../src/components/SendToFields/constants.js","../../src/components/SendToFields/Requirements.jsx","../../src/components/SendToFields/BulkUploadPane.jsx","../../src/components/SendToFields/utils.js","../../src/components/SendToFields/index.jsx"],"sourcesContent":["export const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\nexport const CSV_FILE_SIZE_IN_KB = 32;\nexport const ONE_KILOBYTE_IN_BYTES = 1024;\nexport const DOWNLOAD_SAMPLE_EMAIL_CSV_FILE =\n \"https://d2v7kzglnr2dnh.cloudfront.net/others/sample-bulk-email.csv\";\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Download } from \"neetoicons\";\nimport { Button, Callout } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { DOWNLOAD_SAMPLE_EMAIL_CSV_FILE } from \"./constants\";\n\nconst Requirements = withT(({ t, fileSize }) => (\n <Callout className=\"flex flex-col items-center py-6\" style=\"info\">\n <ul className=\"list-outside list-disc space-y-1 font-normal leading-normal\">\n {fileSize && (\n <li>\n {t(\"neetoMolecules.shareViaLink.requirements.fileTypeAndSize\", {\n limit: fileSize,\n })}\n </li>\n )}\n <li>\n <Trans\n components={{ strong: <strong className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.shareViaLink.requirements.shouldContainColumns\"\n />\n </li>\n </ul>\n <Button\n href={DOWNLOAD_SAMPLE_EMAIL_CSV_FILE}\n icon={Download}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaLink.bulkUploadPane.downloadSampleCSV\")}\n style=\"link\"\n />\n </Callout>\n));\n\nexport default React.memo(Requirements);\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { Upload } from \"neetoicons\";\nimport { Button, Typography, Pane } from \"neetoui\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { ONE_KILOBYTE_IN_BYTES } from \"./constants\";\nimport Requirements from \"./Requirements\";\n\nconst BulkUploadPane = ({ isOpen, fileSize, onClose, handleFileSubmit }) => {\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n accept: { \"text/csv\": [] },\n maxFiles: 1,\n maxSize: fileSize * ONE_KILOBYTE_IN_BYTES,\n onDrop: files => files[0] && handleFileSubmit(files[0]),\n });\n\n const errors = fileRejections[0]?.errors.map(({ message, code }) => (\n <Typography\n className=\"neeto-ui-text-error-500 items\"\n data-cy=\"file-input-error-message\"\n key={code}\n style=\"body3\"\n >\n {message}\n </Typography>\n ));\n\n const { t } = useTranslation();\n\n return (\n <Pane {...{ isOpen, onClose }} data-testid=\"bulk-upload-pane\">\n <div tabIndex={0}>\n <Pane.Header>\n <Typography\n data-testid=\"bulk-upload-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaLink.bulkUpload\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <Requirements {...{ fileSize }} />\n <div\n {...getRootProps({\n className: classNames(\n \"flex flex-col p-2 border neeto-ui-border-primary-500 border-dashed neeto-ui-rounded-md transition duration-500 ease-in-out hover:neeto-ui-bg-gray-100 cursor-pointer items-center\",\n {\n \"neeto-ui-border-gray-100\": isDragActive,\n \"neeto-ui-border-error neeto-ui-bg-pastel-red hover:neeto-ui-bg-pastel-red\":\n fileRejections.length,\n }\n ),\n })}\n >\n <div className=\"flex flex-col items-center space-y-3 p-4\">\n <Upload className=\"neeto-ui-text-primary-500\" size={32} />\n <input\n {...getInputProps()}\n data-cy=\"csv-upload-input\"\n data-testid=\"csv-upload-input\"\n />\n {isDragActive ? (\n <Typography style=\"body2\">\n {t(\n \"neetoMolecules.shareViaLink.bulkUploadPane.dropFileHere\"\n )}\n </Typography>\n ) : (\n <div className=\"flex flex-col items-center space-y-1\">\n <div className=\"flex w-full items-center justify-center gap-x-1\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.bulkUploadPane.dragNDrop\"\n components={{\n Button: <Button style=\"link\" />,\n }}\n />\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.bulkUploadPane.supportedFormat\"\n values={{ fileType: \"csv\" }}\n components={{\n code: (\n <code className=\"neeto-ui-typography neeto-ui-text-body3 neeto-ui-bg-white m-0 border-l-0 p-0\" />\n ),\n }}\n />{\" \"}\n {fileSize &&\n t(\n \"neetoMolecules.shareViaLink.bulkUploadPane.supportedSize\",\n { fileSize }\n )}\n </Typography>\n </div>\n )}\n </div>\n {errors}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer className=\"flex items-center space-x-2\">\n <Button\n data-cy=\"bulk-upload-cancel-button\"\n data-testid=\"bulk-upload-cancel-button\"\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n type=\"reset\"\n onClick={onClose}\n />\n </Pane.Footer>\n </div>\n </Pane>\n );\n};\n\nexport default BulkUploadPane;\n","import { t } from \"i18next\";\nimport { Toastr } from \"neetoui\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = (file, onSuccess) => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (isEmailFieldPresent) {\n const emails = results.data\n .filter(prop(\"email\"))\n .map(item => item.email.trim());\n onSuccess(createEmailOptions(emails));\n } else {\n Toastr.error(t(\"neetoMolecules.sendToFields.errors.invalidCsv\"));\n }\n },\n });\n};\n","import React, { useRef, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Upload } from \"neetoicons\";\nimport { Button, Toastr } from \"neetoui\";\nimport { MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport BulkUploadPane from \"./BulkUploadPane\";\nimport { CSV_FILE_SIZE_IN_KB, SIZES } from \"./constants\";\nimport { parseCsvEmails } from \"./utils\";\n\nconst SendToFields = ({\n emailInputProps,\n ccInputProps,\n bccInputProps,\n showUploadCsvButton = false,\n showCcBccButton = false,\n}) => {\n const [isBulkUploadPaneOpen, setIsBulkUploadPaneOpen] = useState(false);\n const sendToFieldRef = useRef();\n const {\n values: {\n showCopyEmails,\n [emailInputProps.name || \"sendTo\"]: existingSendToEmails,\n },\n setFieldValue,\n } = useFormikContext();\n const { t } = useTranslation();\n\n const handleCSVFile = file => {\n try {\n const onSuccess = values =>\n setFieldValue(emailInputProps.name || \"sendTo\", [\n ...existingSendToEmails,\n ...values,\n ]);\n\n parseCsvEmails(file, onSuccess);\n setIsBulkUploadPaneOpen(false);\n sendToFieldRef.current?.focus();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handelCcBccButtonClick = e => {\n e.stopPropagation();\n setFieldValue(\"showCopyEmails\", !showCopyEmails);\n };\n\n return (\n <div\n className=\"relative w-full flex-col gap-2\"\n data-testid=\"send-to-text-field\"\n >\n {showUploadCsvButton && (\n <Button\n className=\"absolute right-1 top-0\"\n data-testid=\"bulk-upload-button\"\n icon={Upload}\n label={t(\"neetoMolecules.shareViaLink.bulkUpload\")}\n size=\"small\"\n style=\"link\"\n onClick={() => setIsBulkUploadPaneOpen(true)}\n />\n )}\n <MultiEmailInput\n name=\"sendTo\"\n ref={sendToFieldRef}\n {...emailInputProps}\n suffix={\n showCcBccButton && (\n <Button\n data-cy=\"cc-bcc-button\"\n data-testid=\"cc-bcc-button\"\n label={t(\"neetoMolecules.emailForm.labels.ccBcc\")}\n size=\"small\"\n style=\"link\"\n onClick={handelCcBccButtonClick}\n />\n )\n }\n />\n {showCopyEmails && (\n <div className=\"mt-5 flex w-full flex-col gap-6\">\n <MultiEmailInput name=\"sendToBcc\" {...ccInputProps} />\n <MultiEmailInput name=\"sendToCc\" {...bccInputProps} />\n </div>\n )}\n <BulkUploadPane\n fileSize={CSV_FILE_SIZE_IN_KB}\n handleFileSubmit={handleCSVFile}\n isOpen={isBulkUploadPaneOpen}\n onClose={() => setIsBulkUploadPaneOpen(false)}\n />\n </div>\n );\n};\n\nconst inputPropTypes = PropTypes.shape({\n name: PropTypes.string,\n display: PropTypes.node,\n label: PropTypes.string,\n editButtonTooltip: PropTypes.string,\n editButtonDataCy: PropTypes.string,\n placeholder: PropTypes.string,\n dataCy: PropTypes.string,\n onChange: PropTypes.func,\n suffix: PropTypes.node,\n prefix: PropTypes.node,\n className: PropTypes.string,\n nakedInput: PropTypes.bool,\n size: PropTypes.oneOf(Object.values(SIZES)),\n type: PropTypes.string,\n maxLength: PropTypes.number,\n contentSize: PropTypes.number,\n unlimitedChars: PropTypes.bool,\n required: PropTypes.bool,\n});\n\nSendToFields.propTypes = {\n /**\n * Input props for sendTo input field.\n */\n emailInputProps: inputPropTypes,\n /**\n * Input props for CC input field.\n */\n ccInputProps: inputPropTypes,\n /**\n * Input props for BCC input field.\n */\n bccInputProps: inputPropTypes,\n /**\n * Flag to determine whether the 'FilePicker' button is displayed.\n */\n showUploadCsvButton: PropTypes.bool,\n /**\n * Flag to determine whether the 'Cc/Bcc' button is displayed.\n */\n showCcBccButton: PropTypes.bool,\n};\n\nexport default SendToFields;\n"],"names":["CSV_FILE_SIZE_IN_KB","ONE_KILOBYTE_IN_BYTES","DOWNLOAD_SAMPLE_EMAIL_CSV_FILE","Requirements","withT","_ref","t","fileSize","React","createElement","Callout","className","style","limit","Trans","components","strong","i18nKey","Button","href","icon","Download","iconPosition","label","memo","BulkUploadPane","_fileRejections$","isOpen","onClose","handleFileSubmit","_useDropzone","useDropzone","accept","maxFiles","maxSize","onDrop","files","getRootProps","getInputProps","isDragActive","fileRejections","errors","map","_ref2","message","code","Typography","key","_useTranslation","useTranslation","Pane","tabIndex","Header","weight","Body","classNames","length","Upload","size","_extends","values","fileType","Footer","type","onClick","isValidEmail","email","string","isValidSync","createEmailOptions","emails","arguments","undefined","value","valid","parseCsvEmails","file","onSuccess","Papa","parse","header","skipEmptyLines","transformHeader","h","toLowerCase","replace","complete","results","_results$meta$fields","isEmailFieldPresent","meta","fields","includes","data","filter","prop","item","trim","Toastr","error","SendToFields","emailInputProps","ccInputProps","bccInputProps","_ref$showUploadCsvBut","showUploadCsvButton","_ref$showCcBccButton","showCcBccButton","_useState","useState","_useState2","_slicedToArray","isBulkUploadPaneOpen","setIsBulkUploadPaneOpen","sendToFieldRef","useRef","_useFormikContext","useFormikContext","_useFormikContext$val","showCopyEmails","existingSendToEmails","name","setFieldValue","handleCSVFile","_sendToFieldRef$curre","concat","_toConsumableArray","current","focus","handelCcBccButtonClick","e","stopPropagation","MultiEmailInput","ref","suffix"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
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>",
@@ -53,7 +53,7 @@
53
53
  "platform": "1.3.6",
54
54
  "prismjs": "^1.29.0",
55
55
  "qrcode.react": "^3.1.0",
56
- "react-dropzone": "^11.2.4",
56
+ "react-dropzone": "14.2.3",
57
57
  "react-transition-group": "^4.4.5",
58
58
  "react-window": "^1.8.9"
59
59
  },
@@ -230,6 +230,7 @@
230
230
  "react-colorful": "5.6.1",
231
231
  "react-dom": "^18.2.0",
232
232
  "react-drag-listview": "2.0.0",
233
+ "react-dropzone": "14.2.3",
233
234
  "react-helmet": "^6.1.0",
234
235
  "react-i18next": "^12.3.1",
235
236
  "react-resizable": "3.0.4",