@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.
- package/dist/NeetoWidget.js +26 -26
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/SendToFields.js +5 -6
- package/dist/SendToFields.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +27 -27
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/SendToFields.js +5 -6
- package/dist/cjs/SendToFields.js.map +1 -1
- package/package.json +3 -2
package/dist/NeetoWidget.js
CHANGED
|
@@ -11,10 +11,10 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
11
11
|
import classnames from 'classnames';
|
|
12
12
|
import { capitalize, noop, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
13
13
|
import usePrevious from '@bigbinary/neeto-commons-frontend/react-utils/usePrevious';
|
|
14
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
14
15
|
import Toastr from '@bigbinary/neetoui/Toastr';
|
|
15
16
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
16
17
|
import PageLoader from './PageLoader.js';
|
|
17
|
-
import Button from '@bigbinary/neetoui/Button';
|
|
18
18
|
import Select from '@bigbinary/neetoui/Select';
|
|
19
19
|
import CopyToClipboardButton from './CopyToClipboardButton.js';
|
|
20
20
|
import Prism from 'prismjs';
|
|
@@ -119,10 +119,10 @@ var ChatWidgetBody = function ChatWidgetBody(_ref) {
|
|
|
119
119
|
className: "mb-2",
|
|
120
120
|
style: "body2"
|
|
121
121
|
}),
|
|
122
|
-
a: /*#__PURE__*/React__default.createElement(
|
|
123
|
-
className: "neeto-ui-text-primary-800",
|
|
122
|
+
a: /*#__PURE__*/React__default.createElement(Button, {
|
|
124
123
|
href: WIDGET_HELP_LINKS.changelog,
|
|
125
124
|
rel: "noreferrer",
|
|
125
|
+
style: "link",
|
|
126
126
|
target: "_blank"
|
|
127
127
|
})
|
|
128
128
|
}
|
|
@@ -136,10 +136,10 @@ var ChatWidgetBody = function ChatWidgetBody(_ref) {
|
|
|
136
136
|
className: "mb-2",
|
|
137
137
|
style: "body2"
|
|
138
138
|
}),
|
|
139
|
-
a: /*#__PURE__*/React__default.createElement(
|
|
140
|
-
className: "neeto-ui-text-primary-800",
|
|
139
|
+
a: /*#__PURE__*/React__default.createElement(Button, {
|
|
141
140
|
href: WIDGET_HELP_LINKS.chat,
|
|
142
141
|
rel: "noreferrer",
|
|
142
|
+
style: "link",
|
|
143
143
|
target: "_blank"
|
|
144
144
|
})
|
|
145
145
|
}
|
|
@@ -153,10 +153,10 @@ var ChatWidgetBody = function ChatWidgetBody(_ref) {
|
|
|
153
153
|
className: "mb-2",
|
|
154
154
|
style: "body2"
|
|
155
155
|
}),
|
|
156
|
-
a: /*#__PURE__*/React__default.createElement(
|
|
157
|
-
className: "neeto-ui-text-primary-800",
|
|
156
|
+
a: /*#__PURE__*/React__default.createElement(Button, {
|
|
158
157
|
href: WIDGET_HELP_LINKS.replay,
|
|
159
158
|
rel: "noreferrer",
|
|
159
|
+
style: "link",
|
|
160
160
|
target: "_blank"
|
|
161
161
|
})
|
|
162
162
|
}
|
|
@@ -200,7 +200,7 @@ var CodeBlock = function CodeBlock(_ref) {
|
|
|
200
200
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
201
201
|
className: classnames(["relative", className])
|
|
202
202
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
203
|
-
className: "neeto-ui-
|
|
203
|
+
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"
|
|
204
204
|
}, title && /*#__PURE__*/React__default.createElement(Typography, {
|
|
205
205
|
className: "m-0 flex-shrink-0",
|
|
206
206
|
"data-cy": "code-block-title-text",
|
|
@@ -394,7 +394,7 @@ var CodeSnippet = function CodeSnippet(_ref) {
|
|
|
394
394
|
var props = {
|
|
395
395
|
codeString: codeToDisplay,
|
|
396
396
|
showCopyButton: false,
|
|
397
|
-
className: "neeto-ui-
|
|
397
|
+
className: "neeto-ui-rounded-lg"
|
|
398
398
|
};
|
|
399
399
|
if (emailType === EMAIL_TYPES.userIdentity) {
|
|
400
400
|
props = assoc("frameworkProps", {
|
|
@@ -641,10 +641,10 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
641
641
|
className: "mb-2",
|
|
642
642
|
style: "body2"
|
|
643
643
|
}),
|
|
644
|
-
mail: /*#__PURE__*/React__default.createElement(
|
|
645
|
-
className: "neeto-ui-text-primary-800",
|
|
644
|
+
mail: /*#__PURE__*/React__default.createElement(Button, {
|
|
646
645
|
href: "mailto:".concat(INSTALLATION_HELP_EMAIL),
|
|
647
646
|
rel: "noreferrer",
|
|
647
|
+
style: "link",
|
|
648
648
|
target: "_blank"
|
|
649
649
|
})
|
|
650
650
|
}
|
|
@@ -664,9 +664,9 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
664
664
|
className: "mb-2",
|
|
665
665
|
style: "body2"
|
|
666
666
|
}),
|
|
667
|
-
configureLink: /*#__PURE__*/React__default.createElement(
|
|
668
|
-
className: "neeto-ui-text-primary-800",
|
|
667
|
+
configureLink: /*#__PURE__*/React__default.createElement(Button, {
|
|
669
668
|
rel: "noreferrer",
|
|
669
|
+
style: "link",
|
|
670
670
|
target: "_blank",
|
|
671
671
|
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
672
672
|
})
|
|
@@ -692,10 +692,10 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
692
692
|
className: "mb-2",
|
|
693
693
|
style: "body2"
|
|
694
694
|
}),
|
|
695
|
-
configureLink: /*#__PURE__*/React__default.createElement(
|
|
696
|
-
className: "neeto-ui-text-primary-800",
|
|
695
|
+
configureLink: /*#__PURE__*/React__default.createElement(Button, {
|
|
697
696
|
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
698
697
|
rel: "noreferrer",
|
|
698
|
+
style: "link",
|
|
699
699
|
target: "_blank"
|
|
700
700
|
})
|
|
701
701
|
}
|
|
@@ -729,16 +729,16 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
729
729
|
style: "body2",
|
|
730
730
|
weight: "semibold"
|
|
731
731
|
}),
|
|
732
|
-
widgetNpmLink: /*#__PURE__*/React__default.createElement(
|
|
733
|
-
className: "neeto-ui-text-primary-800",
|
|
732
|
+
widgetNpmLink: /*#__PURE__*/React__default.createElement(Button, {
|
|
734
733
|
href: USE_NEETO_WIDGET_NPM_PAGE_URL,
|
|
735
734
|
rel: "noreferrer",
|
|
735
|
+
style: "link",
|
|
736
736
|
target: "_blank"
|
|
737
737
|
}),
|
|
738
|
-
Link: /*#__PURE__*/React__default.createElement(
|
|
739
|
-
className: "neeto-ui-text-primary-800",
|
|
738
|
+
Link: /*#__PURE__*/React__default.createElement(Button, {
|
|
740
739
|
href: WIDGET_KB_HELP_URL[primaryApp],
|
|
741
740
|
rel: "noreferrer",
|
|
741
|
+
style: "link",
|
|
742
742
|
target: "_blank"
|
|
743
743
|
})
|
|
744
744
|
};
|
|
@@ -762,7 +762,7 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
762
762
|
className: "mx-auto mb-2 w-full",
|
|
763
763
|
"data-testid": "embed-code-block"
|
|
764
764
|
}, /*#__PURE__*/React__default.createElement(CodeBlock, {
|
|
765
|
-
className: "neeto-ui-
|
|
765
|
+
className: "neeto-ui-rounded-lg",
|
|
766
766
|
codeString: getEmbedCodeString(),
|
|
767
767
|
sendViaEmail: function sendViaEmail() {
|
|
768
768
|
return handleSendViaEmail(EMAIL_TYPES.embedCode);
|
|
@@ -781,7 +781,7 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
781
781
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
782
782
|
className: "mx-auto mb-2 w-full"
|
|
783
783
|
}, /*#__PURE__*/React__default.createElement(CodeBlock, {
|
|
784
|
-
className: "neeto-ui-
|
|
784
|
+
className: "neeto-ui-rounded-lg",
|
|
785
785
|
frameworkProps: {
|
|
786
786
|
selectedFramework: selectedFramework,
|
|
787
787
|
setSelectedFramework: setSelectedFramework
|
|
@@ -797,9 +797,9 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
797
797
|
p: /*#__PURE__*/React__default.createElement(Typography, {
|
|
798
798
|
style: "body2"
|
|
799
799
|
}),
|
|
800
|
-
Link: /*#__PURE__*/React__default.createElement(
|
|
801
|
-
className: "neeto-ui-text-primary-800",
|
|
800
|
+
Link: /*#__PURE__*/React__default.createElement(Button, {
|
|
802
801
|
rel: "noreferrer",
|
|
802
|
+
style: "link",
|
|
803
803
|
target: "_blank",
|
|
804
804
|
href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
|
|
805
805
|
})
|
|
@@ -809,7 +809,7 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
809
809
|
}, /*#__PURE__*/React__default.createElement("div", {
|
|
810
810
|
className: "mx-auto mb-2 w-full"
|
|
811
811
|
}, /*#__PURE__*/React__default.createElement(CodeBlock, {
|
|
812
|
-
className: "neeto-ui-
|
|
812
|
+
className: "neeto-ui-rounded-lg",
|
|
813
813
|
codeString: SAMPLE_CONTEXT_CODE_STRING,
|
|
814
814
|
title: t("neetoMolecules.widget.title.sessionContext"),
|
|
815
815
|
sendViaEmail: function sendViaEmail() {
|
|
@@ -821,10 +821,10 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
821
821
|
p: /*#__PURE__*/React__default.createElement(Typography, {
|
|
822
822
|
style: "body2"
|
|
823
823
|
}),
|
|
824
|
-
Link: /*#__PURE__*/React__default.createElement(
|
|
825
|
-
className: "neeto-ui-text-primary-800",
|
|
824
|
+
Link: /*#__PURE__*/React__default.createElement(Button, {
|
|
826
825
|
href: NEETO_REPLAY_CONFIGURE_URL,
|
|
827
826
|
rel: "noreferrer",
|
|
827
|
+
style: "link",
|
|
828
828
|
target: "_blank"
|
|
829
829
|
})
|
|
830
830
|
}
|
package/dist/NeetoWidget.js.map
CHANGED
|
@@ -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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"}
|
package/dist/SendToFields.js
CHANGED
|
@@ -20,7 +20,6 @@ import Papa from 'papaparse';
|
|
|
20
20
|
import { prop } from 'ramda';
|
|
21
21
|
import { string } from 'yup';
|
|
22
22
|
|
|
23
|
-
var ALLOWED_FILE_TYPES = [".csv"];
|
|
24
23
|
var CSV_FILE_SIZE_IN_KB = 32;
|
|
25
24
|
var ONE_KILOBYTE_IN_BYTES = 1024;
|
|
26
25
|
var DOWNLOAD_SAMPLE_EMAIL_CSV_FILE = "https://d2v7kzglnr2dnh.cloudfront.net/others/sample-bulk-email.csv";
|
|
@@ -55,12 +54,13 @@ var Requirements$1 = /*#__PURE__*/React__default.memo(Requirements);
|
|
|
55
54
|
var BulkUploadPane = function BulkUploadPane(_ref) {
|
|
56
55
|
var _fileRejections$;
|
|
57
56
|
var isOpen = _ref.isOpen,
|
|
58
|
-
fileType = _ref.fileType,
|
|
59
57
|
fileSize = _ref.fileSize,
|
|
60
58
|
onClose = _ref.onClose,
|
|
61
59
|
handleFileSubmit = _ref.handleFileSubmit;
|
|
62
60
|
var _useDropzone = useDropzone({
|
|
63
|
-
accept:
|
|
61
|
+
accept: {
|
|
62
|
+
"text/csv": []
|
|
63
|
+
},
|
|
64
64
|
maxFiles: 1,
|
|
65
65
|
maxSize: fileSize * ONE_KILOBYTE_IN_BYTES,
|
|
66
66
|
onDrop: function onDrop(files) {
|
|
@@ -126,10 +126,10 @@ var BulkUploadPane = function BulkUploadPane(_ref) {
|
|
|
126
126
|
})), /*#__PURE__*/React__default.createElement(Typography, {
|
|
127
127
|
className: "neeto-ui-text-gray-700",
|
|
128
128
|
style: "body3"
|
|
129
|
-
},
|
|
129
|
+
}, /*#__PURE__*/React__default.createElement(Trans, {
|
|
130
130
|
i18nKey: "neetoMolecules.shareViaLink.bulkUploadPane.supportedFormat",
|
|
131
131
|
values: {
|
|
132
|
-
fileType:
|
|
132
|
+
fileType: "csv"
|
|
133
133
|
},
|
|
134
134
|
components: {
|
|
135
135
|
code: /*#__PURE__*/React__default.createElement("code", {
|
|
@@ -255,7 +255,6 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
255
255
|
name: "sendToCc"
|
|
256
256
|
}, bccInputProps))), /*#__PURE__*/React__default.createElement(BulkUploadPane, {
|
|
257
257
|
fileSize: CSV_FILE_SIZE_IN_KB,
|
|
258
|
-
fileType: ALLOWED_FILE_TYPES,
|
|
259
258
|
handleFileSubmit: handleCSVFile,
|
|
260
259
|
isOpen: isBulkUploadPaneOpen,
|
|
261
260
|
onClose: function onClose() {
|