@bigbinary/neeto-molecules 5.1.27 → 5.1.29

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.
Files changed (33) hide show
  1. package/dist/TimezoneMismatchModal.js +1 -1
  2. package/dist/TimezoneMismatchModal.js.map +1 -1
  3. package/dist/cjs/TimezoneMismatchModal.js +1 -1
  4. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  5. package/dist/cjs/v2/ErrorPage.js +1 -1
  6. package/dist/cjs/v2/ErrorPage.js.map +1 -1
  7. package/dist/cjs/v2/KeyboardShortcuts.js +10 -8
  8. package/dist/cjs/v2/KeyboardShortcuts.js.map +1 -1
  9. package/dist/cjs/v2/NeetoWidget.js +12 -12
  10. package/dist/cjs/v2/NeetoWidget.js.map +1 -1
  11. package/dist/cjs/v2/Onboarding.js +6 -8
  12. package/dist/cjs/v2/Onboarding.js.map +1 -1
  13. package/dist/cjs/v2/PublishBlock.js +24 -15
  14. package/dist/cjs/v2/PublishBlock.js.map +1 -1
  15. package/dist/cjs/v2/ResponsiveDevicePicker.js +6 -4
  16. package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -1
  17. package/dist/cjs/v2/TimezoneMismatchModal.js +1 -1
  18. package/dist/cjs/v2/TimezoneMismatchModal.js.map +1 -1
  19. package/dist/v2/ErrorPage.js +1 -1
  20. package/dist/v2/ErrorPage.js.map +1 -1
  21. package/dist/v2/KeyboardShortcuts.js +11 -9
  22. package/dist/v2/KeyboardShortcuts.js.map +1 -1
  23. package/dist/v2/NeetoWidget.js +12 -12
  24. package/dist/v2/NeetoWidget.js.map +1 -1
  25. package/dist/v2/Onboarding.js +6 -8
  26. package/dist/v2/Onboarding.js.map +1 -1
  27. package/dist/v2/PublishBlock.js +25 -16
  28. package/dist/v2/PublishBlock.js.map +1 -1
  29. package/dist/v2/ResponsiveDevicePicker.js +6 -4
  30. package/dist/v2/ResponsiveDevicePicker.js.map +1 -1
  31. package/dist/v2/TimezoneMismatchModal.js +1 -1
  32. package/dist/v2/TimezoneMismatchModal.js.map +1 -1
  33. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoWidget.js","sources":["../../../src/v2/components/NeetoWidget/constants.js","../../../src/v2/components/NeetoWidget/ChatWidgetBody.jsx","../../../src/v2/components/NeetoWidget/SyntaxHighlighter.jsx","../../../src/v2/components/NeetoWidget/CodeBlock.jsx","../../../src/v2/components/NeetoWidget/utils.js","../../../src/v2/components/NeetoWidget/api.js","../../../src/v2/components/NeetoWidget/mutations.js","../../../src/v2/components/NeetoWidget/CodeSnippet.jsx","../../../src/v2/components/NeetoWidget/hooks/useForceUpdate.js","../../../src/v2/components/NeetoWidget/queries.js","../../../src/v2/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../../src/v2/components/NeetoWidget/EmbedCode.jsx","../../../src/v2/components/NeetoWidget/Main.jsx","../../../src/v2/components/NeetoWidget/index.js"],"sourcesContent":["// The `standardize-help-urls` rule expects a single-product `helpUrls.js` with a\n// `HELP_DOCS_BASE_URL` matching `help.neeto<product>.com` and `/p/<permalink>`\n// links. NeetoWidget links out to multiple products' (neetoChat / neetoEngage /\n// neetoReplay) `/articles/...` help pages, which has no single docs base to\n// satisfy the rule, so the URLs are kept inline (as in v1).\n/* eslint-disable @bigbinary/neeto/standardize-help-urls */\nimport { 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 engage: \"engage\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n engage: \"https://help.neetoengage.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 engage: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.engage\"\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://d3nshle8hzelnq.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 ENGAGE_WIDGET_KB_BASE_URL = \"https://help.neetoengage.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 engage: `${ENGAGE_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/folders/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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.engage) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.engageHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.engage }}\n components={{\n p: <Typography className=\"mb-2\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.engage}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import { memo, 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 }}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default memo(SyntaxHighlighter);\n","import { Button, Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\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=\"border-border bg-muted flex w-full flex-wrap items-center justify-between gap-2 rounded-lg rounded-b-none border p-3\">\n {title && (\n <Typography\n className=\"m-0 flex-shrink-0\"\n data-testid=\"code-block-title-text\"\n variant=\"h4\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"max-w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ms-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n variant=\"secondary\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n </div>\n </div>\n <div className=\"relative\">\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-3 right-3\"\n value={codeString}\n variant=\"secondary\"\n tooltipContent={t(\n \"neetoMolecules.widget.installation.snippet.copy\"\n )}\n />\n )}\n <SyntaxHighlighter\n className=\"m-0 rounded-lg rounded-t-none pt-4\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\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 addEngageOptions = () => `neetoEngageOptions: {\n elementId: \"neetoengage-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(addEngageOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.engage)\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 = () => false;\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 { useState } from \"react\";\n\nimport { Typography, Button, Sheet, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { Input, MultiEmailInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { Formik, Form } from \"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 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].value\n );\n const emailMutation = useEmailEmbedCode(onClose);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework)\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: \"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 <Sheet {...{ onClose }} aria-describedby={undefined} isOpen={isPaneOpen}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form>\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoMolecules.widget.email.title\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-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 variant=\"body2\">{body}</Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Sheet.Body>\n <Sheet.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 variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Form>\n </Formik>\n </Sheet>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: 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/v2/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 { Switch, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n position=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `Neeto${capitalize(widget)}`,\n })}\n >\n <span>\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onCheckedChange={() => updateSelectedWidgets(widget)}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import { memo, useState, useRef, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/v2/react-utils/usePrevious\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\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].value\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 = [primaryApp];\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\" variant=\"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\" variant=\"body2\" />,\n mail: (\n <Button\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n configureLink: (\n <Button\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n configureLink: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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 as=\"span\" variant=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <Button\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n Link: (\n <Button\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\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=\"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=\"rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n components={{\n p: <Typography variant=\"body2\" />,\n Link: (\n <Button\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n i18nKey={\n enabledWidgets.chat\n ? \"neetoMolecules.widget.installation.instructions.userIdentity.chat\"\n : \"neetoMolecules.widget.installation.instructions.userIdentity.replay\"\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=\"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 variant=\"body2\" />,\n Link: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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 memo(EmbedCode);\n","import { Callout } from \"@bigbinary/neeto-atoms\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\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 variant=\"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","engage","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","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","ENGAGE_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","_jsxs","_Fragment","children","includes","_jsx","Trans","i18nKey","helpLink","components","p","Typography","className","variant","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","tooltipContent","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addEngageOptions","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","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","mutationFn","emailData","CodeSnippet","isPaneOpen","onClose","_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","Sheet","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Title","Body","MultiEmailInput","name","placeholder","Input","type","_objectSpread","Footer","disabled","isPending","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","queryKey","queryFn","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","useMutationWithInvalidation","keysToInvalidate","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","position","content","productName","Switch","checked","onCheckedChange","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","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","isOnlyChatWidgetSelected","prop","item","clientApplicationName","toLowerCase","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","getEmbedCodeString","isNotEmpty","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","as","weight","widgetNpmLink","Link","Spinner","queryClient","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","NeetoWidget"],"mappings":"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"}
1
+ {"version":3,"file":"NeetoWidget.js","sources":["../../../src/v2/components/NeetoWidget/constants.js","../../../src/v2/components/NeetoWidget/ChatWidgetBody.jsx","../../../src/v2/components/NeetoWidget/SyntaxHighlighter.jsx","../../../src/v2/components/NeetoWidget/CodeBlock.jsx","../../../src/v2/components/NeetoWidget/utils.js","../../../src/v2/components/NeetoWidget/api.js","../../../src/v2/components/NeetoWidget/mutations.js","../../../src/v2/components/NeetoWidget/CodeSnippet.jsx","../../../src/v2/components/NeetoWidget/hooks/useForceUpdate.js","../../../src/v2/components/NeetoWidget/queries.js","../../../src/v2/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../../src/v2/components/NeetoWidget/EmbedCode.jsx","../../../src/v2/components/NeetoWidget/Main.jsx","../../../src/v2/components/NeetoWidget/index.js"],"sourcesContent":["// The `standardize-help-urls` rule expects a single-product `helpUrls.js` with a\n// `HELP_DOCS_BASE_URL` matching `help.neeto<product>.com` and `/p/<permalink>`\n// links. NeetoWidget links out to multiple products' (neetoChat / neetoEngage /\n// neetoReplay) `/articles/...` help pages, which has no single docs base to\n// satisfy the rule, so the URLs are kept inline (as in v1).\n/* eslint-disable @bigbinary/neeto/standardize-help-urls */\nimport { 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 engage: \"engage\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n engage: \"https://help.neetoengage.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 engage: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.engage\"\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://d3nshle8hzelnq.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 ENGAGE_WIDGET_KB_BASE_URL = \"https://help.neetoengage.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 engage: `${ENGAGE_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/folders/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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.engage) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.engageHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.engage }}\n components={{\n p: <Typography className=\"mb-2\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.engage}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n a: (\n <Button\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import { memo, 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 }}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default memo(SyntaxHighlighter);\n","import { Button, Select, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\n\nconst CodeBlock = ({\n title = <Trans i18nKey=\"neetoMolecules.codeblock.codeSnippet\" />,\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=\"border-border bg-muted flex w-full flex-wrap items-center justify-between gap-2 rounded-lg rounded-b-none border p-3\">\n {title && (\n <Typography\n as=\"h4\"\n className=\"flex-shrink-0\"\n data-testid=\"code-block-title-text\"\n variant=\"h6\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"max-w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ms-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n variant=\"outline\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n </div>\n </div>\n <div className=\"relative\">\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-3 right-3\"\n value={codeString}\n variant=\"secondary\"\n tooltipContent={t(\n \"neetoMolecules.widget.installation.snippet.copy\"\n )}\n />\n )}\n <SyntaxHighlighter\n className=\"!m-0 min-h-16 rounded-lg rounded-t-none pt-4\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\n </div>\n );\n};\n\nCodeBlock.propTypes = {\n title: PropTypes.node,\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 addEngageOptions = () => `neetoEngageOptions: {\n elementId: \"neetoengage-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(addEngageOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.engage)\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 = () => false;\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 { useState } from \"react\";\n\nimport { Typography, Button, Sheet, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { Input, MultiEmailInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { Formik, Form } from \"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 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].value\n );\n const emailMutation = useEmailEmbedCode(onClose);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework)\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: \"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 <Sheet {...{ onClose }} aria-describedby={undefined} isOpen={isPaneOpen}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form className=\"flex min-h-0 flex-1 flex-col\">\n <Sheet.Header>\n <Sheet.Title>{t(\"neetoMolecules.widget.email.title\")}</Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"flex w-full flex-col gap-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\n as=\"div\"\n className=\"min-w-0 break-words [&_a]:inline [&_a]:break-all [&_a]:whitespace-normal [&_a_span]:inline\"\n variant=\"body2\"\n >\n {body}\n </Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Sheet.Body>\n <Sheet.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 variant=\"ghost\"\n onClick={onClose}\n />\n </Sheet.Footer>\n </Form>\n </Formik>\n </Sheet>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: PropTypes.func,\n codeString: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.node,\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/v2/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 { Switch, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { capitalize } from \"neetocist\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n position=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `Neeto${capitalize(widget)}`,\n })}\n >\n <span>\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onCheckedChange={() => updateSelectedWidgets(widget)}\n />\n </span>\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import { memo, useState, useRef, useEffect } from \"react\";\n\nimport { Button, Toastr, Typography, Spinner } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/v2/react-utils/usePrevious\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\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].value\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 = [primaryApp];\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\" variant=\"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\" variant=\"body2\" />,\n mail: (\n <Button\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n configureLink: (\n <Button\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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\" variant=\"body2\" />,\n configureLink: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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 as=\"span\" variant=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <Button\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n Link: (\n <Button\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\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=\"rounded-lg\"\n codeString={getEmbedCodeString()}\n sendViaEmail={() => handleSendViaEmail(EMAIL_TYPES.embedCode)}\n title={t(\"neetoMolecules.widget.title.embedCode\")}\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=\"rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n components={{\n p: <Typography variant=\"body2\" />,\n Link: (\n <Button\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n i18nKey={\n enabledWidgets.chat\n ? \"neetoMolecules.widget.installation.instructions.userIdentity.chat\"\n : \"neetoMolecules.widget.installation.instructions.userIdentity.replay\"\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=\"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 variant=\"body2\" />,\n Link: (\n <Button\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n variant=\"link\"\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 memo(EmbedCode);\n","import { Callout } from \"@bigbinary/neeto-atoms\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\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 variant=\"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","engage","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","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","ENGAGE_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","_jsxs","_Fragment","children","includes","_jsx","Trans","i18nKey","helpLink","components","p","Typography","className","variant","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","as","Select","options","onChange","onClick","CopyToClipboardButton","tooltipContent","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addEngageOptions","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","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","mutationFn","emailData","CodeSnippet","isPaneOpen","onClose","_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","Sheet","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Title","Body","MultiEmailInput","name","placeholder","Input","type","_objectSpread","Footer","disabled","isPending","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","queryKey","queryFn","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","useMutationWithInvalidation","keysToInvalidate","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","position","content","productName","Switch","checked","onCheckedChange","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","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","isOnlyChatWidgetSelected","prop","item","clientApplicationName","toLowerCase","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","getEmbedCodeString","isNotEmpty","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","weight","widgetNpmLink","Link","Spinner","queryClient","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","NeetoWidget"],"mappings":"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"}
@@ -48,12 +48,10 @@ var HelpScreen = function HelpScreen(_ref) {
48
48
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
49
49
  className: "flex flex-col gap-y-3",
50
50
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
51
- as: "h1",
52
51
  "data-testid": "onboarding-help-title",
53
- variant: "h1",
52
+ variant: "h2",
54
53
  children: t("neetoMolecules.onboarding.helpScreen.title")
55
54
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
56
- className: "leading-normal",
57
55
  "data-testid": "onboarding-help-description",
58
56
  variant: "body1",
59
57
  children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
@@ -170,14 +168,14 @@ var CompletedScreen = function CompletedScreen(_ref) {
170
168
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
171
169
  className: "text-center",
172
170
  "data-testid": "onboarding-congratulations-emoji",
173
- variant: "h1",
171
+ variant: "h2",
174
172
  children: "\uD83C\uDF89"
175
173
  }), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Typography, {
176
174
  className: "text-center",
177
175
  "data-testid": "onboarding-congratulations-title",
178
- variant: "h1",
176
+ variant: "h2",
179
177
  children: [/*#__PURE__*/jsxRuntime.jsx("span", {
180
- className: "text-success",
178
+ className: "text-success-foreground",
181
179
  children: t("neetoMolecules.onboarding.congratulations")
182
180
  }), /*#__PURE__*/jsxRuntime.jsx("br", {}), t("neetoMolecules.onboarding.readyToUse", {
183
181
  appName: neetoCist.capitalize(initializers.globalProps.appName)
@@ -208,12 +206,12 @@ var WelcomeScreen = reactUtils.withT(function (_ref) {
208
206
  children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
209
207
  className: "text-center",
210
208
  "data-testid": "onboarding-welcome-title",
211
- variant: "h1",
209
+ variant: "h2",
212
210
  children: t("neetoMolecules.onboarding.helpScreen.welcomeToTitle", {
213
211
  appName: neetoCist.capitalize(initializers.globalProps.appName)
214
212
  })
215
213
  }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
216
- className: "text-center leading-normal",
214
+ className: "text-center",
217
215
  "data-testid": "onboarding-welcome-description",
218
216
  variant: "body1",
219
217
  children: t("neetoMolecules.onboarding.letUsCustomize", {
@@ -1 +1 @@
1
- {"version":3,"file":"Onboarding.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-right.js","../../../src/v2/components/Onboarding/constants.js","../../../src/v2/components/Onboarding/HelpScreen.jsx","../../../src/v2/components/Onboarding/utils.jsx","../../../src/v2/components/Onboarding/hooks/useWindowDimensions.js","../../../src/v2/components/Onboarding/CompletedScreen.jsx","../../../src/v2/components/Onboarding/WelcomeScreen.jsx","../../../src/v2/components/Onboarding/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"m12 5 7 7-7 7\", key: \"xquz4c\" }]\n];\nconst ArrowRight = createLucideIcon(\"arrow-right\", __iconNode);\n\nexport { __iconNode, ArrowRight as default };\n//# sourceMappingURL=arrow-right.js.map\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { ArrowRight } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\n\nconst HelpScreen = ({ setCurrentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6\",\n helpScreenClassName\n )}\n >\n <div className=\"flex flex-col gap-y-3\">\n <Typography as=\"h1\" data-testid=\"onboarding-help-title\" variant=\"h1\">\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography\n className=\"leading-normal\"\n data-testid=\"onboarding-help-description\"\n variant=\"body1\"\n >\n <Trans i18nKey=\"neetoMolecules.onboarding.helpScreen.description\" />\n </Typography>\n <div className=\"w-full pt-3\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-testid=\"onboarding-help-button\"\n icon={() => <ArrowRight className=\"rtl:scale-x-[-1]\" size={16} />}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(GENERAL_ONBOARDING_STEPS.FINISH)}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n) => {\n const helpStep = {\n key: GENERAL_ONBOARDING_STEPS.HELP,\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n\nexport const getWindowDimensions = () =>\n typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 100, height: 100 };\n","import { useState, useLayoutEffect } from \"react\";\n\nimport { getWindowDimensions } from \"../utils\";\n\nconst useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState({\n width: 100,\n height: 100,\n });\n\n useLayoutEffect(() => {\n setWindowDimensions(getWindowDimensions());\n\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return windowDimensions;\n};\n\nexport default useWindowDimensions;\n","import { useState, useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport Confetti from \"react-confetti\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useWindowDimensions from \"./hooks/useWindowDimensions.js\";\n\nconst CompletedScreen = ({\n completeButtonProps,\n completedScreenSuccessMessage,\n className,\n}) => {\n const { t } = useTranslation();\n\n const [dropConfetti, setDropConfetti] = useState(true);\n const { height, width } = useWindowDimensions();\n\n useEffect(() => {\n const timer = setTimeout(() => setDropConfetti(false), 10000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n <div\n data-testid=\"onboarding-congratulations-wrapper\"\n className={classnames(\n \"flex h-dvh w-full grow flex-col items-center overflow-y-auto\",\n className\n )}\n >\n <Confetti {...{ height, width }} recycle={dropConfetti} />\n {isPresent(completedScreenSuccessMessage) ? (\n completedScreenSuccessMessage\n ) : (\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-emoji\"\n variant=\"h1\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-title\"\n variant=\"h1\"\n >\n <span className=\"text-success\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n )}\n <Button\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n );\n};\n\nexport default CompletedScreen;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ArrowRight } from \"lucide-react\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, nextStep, className }) => (\n <div\n data-testid=\"onboarding-welcome-wrapper\"\n className={classnames(\n \"flex h-dvh w-full grow flex-col items-center overflow-y-auto\",\n className\n )}\n >\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-title\"\n variant=\"h1\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center leading-normal\"\n data-testid=\"onboarding-welcome-description\"\n variant=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-testid=\"onboarding-welcome-button\"\n icon={() => <ArrowRight className=\"rtl:scale-x-[-1]\" size={16} />}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Stepper } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport \"./onboarding.css\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = GENERAL_ONBOARDING_STEPS.WELCOME,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n welcomeScreenClassName = \"\",\n completedScreenClassName = \"\",\n completedScreenSuccessMessage,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(currentStep);\n\n const [direction, setDirection] = useState(\"\");\n\n const getOnboardingStepIndex = stepKey =>\n steps.findIndex(step => step.key === stepKey);\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n setDirection(\n getOnboardingStepIndex(currentStep) >\n getOnboardingStepIndex(prevStep.current)\n ? \"forward\"\n : \"backward\"\n );\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {\n return (\n <WelcomeScreen\n {...{ currentStep, setCurrentStep }}\n className={welcomeScreenClassName}\n nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return (\n <CompletedScreen\n {...{ completeButtonProps, completedScreenSuccessMessage }}\n className={completedScreenClassName}\n />\n );\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\n \"relative flex h-dvh w-full flex-col overflow-y-auto\",\n { \"grow items-center\": !isStepperVisible }\n )}\n >\n {isStepperVisible && (\n <div className=\"border-border bg-background flex w-full shrink-0 border-b px-4 py-2 lg:justify-center\">\n <Stepper\n {...{ steps }}\n activeIndex={findIndexBy({ key: currentStep }, steps)}\n onStepClick={disableStepClick ? undefined : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"min-h-0 w-full grow overflow-y-auto\", {\n \"neeto-molecules-onboarding-content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding-content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep !== step.key,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.string,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["createLucideIcon","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","_ref","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","t","_useBreakpoints","useBreakpoints","isSize","_jsxs","className","classNames","children","_jsx","Typography","as","variant","Trans","i18nKey","alt","src","Button","icon","ArrowRight","size","iconPosition","label","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","_objectSpread","id","getWindowDimensions","window","width","innerWidth","height","innerHeight","useWindowDimensions","_useState","useState","_useState2","_slicedToArray","windowDimensions","setWindowDimensions","useLayoutEffect","handleResize","addEventListener","removeEventListener","CompletedScreen","completeButtonProps","completedScreenSuccessMessage","dropConfetti","setDropConfetti","_useWindowDimensions","useEffect","timer","setTimeout","clearTimeout","classnames","Confetti","recycle","isPresent","appName","capitalize","globalProps","WelcomeScreen","withT","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","_ref$welcomeScreenCla","welcomeScreenClassName","_ref$completedScreenC","completedScreenClassName","steps","useMemo","prevStep","useRef","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","onStepClick","undefined","hidden"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"Onboarding.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/arrow-right.js","../../../src/v2/components/Onboarding/constants.js","../../../src/v2/components/Onboarding/HelpScreen.jsx","../../../src/v2/components/Onboarding/utils.jsx","../../../src/v2/components/Onboarding/hooks/useWindowDimensions.js","../../../src/v2/components/Onboarding/CompletedScreen.jsx","../../../src/v2/components/Onboarding/WelcomeScreen.jsx","../../../src/v2/components/Onboarding/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"m12 5 7 7-7 7\", key: \"xquz4c\" }]\n];\nconst ArrowRight = createLucideIcon(\"arrow-right\", __iconNode);\n\nexport { __iconNode, ArrowRight as default };\n//# sourceMappingURL=arrow-right.js.map\n","export const GENERAL_ONBOARDING_STEPS = {\n WELCOME: \"welcome\",\n HELP: \"help\",\n FINISH: \"finish\",\n};\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { ArrowRight } from \"lucide-react\";\nimport useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\n\nconst HelpScreen = ({ setCurrentStep, helpScreenClassName }) => {\n const { t } = useTranslation();\n const { isSize } = useBreakpoints();\n\n return (\n <div\n className={classNames(\n \"mx-auto flex w-full max-w-3xl flex-col items-start gap-y-6 px-6 pt-16 pb-6\",\n helpScreenClassName\n )}\n >\n <div className=\"flex flex-col gap-y-3\">\n <Typography data-testid=\"onboarding-help-title\" variant=\"h2\">\n {t(\"neetoMolecules.onboarding.helpScreen.title\")}\n </Typography>\n <Typography data-testid=\"onboarding-help-description\" variant=\"body1\">\n <Trans i18nKey=\"neetoMolecules.onboarding.helpScreen.description\" />\n </Typography>\n <div className=\"w-full pt-3\">\n {isSize(\"mobile\") ? (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-mobile_fgsI9Cx-IC.svg\"\n />\n ) : (\n <img\n alt=\"\"\n src=\"https://ik.imagekit.io/d9mvewbju/Commons/NeetoMolecules/help-support-desktop_CSOh3DrKTR.svg\"\n />\n )}\n </div>\n </div>\n <Button\n data-testid=\"onboarding-help-button\"\n icon={() => <ArrowRight className=\"rtl:scale-x-[-1]\" size={16} />}\n iconPosition=\"right\"\n label={t(\"neetoMolecules.onboarding.helpScreen.continueButton\")}\n onClick={() => setCurrentStep(GENERAL_ONBOARDING_STEPS.FINISH)}\n />\n </div>\n );\n};\n\nexport default HelpScreen;\n","import { t } from \"i18next\";\n\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport HelpScreen from \"./HelpScreen\";\n\nexport const createSteps = (\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n) => {\n const helpStep = {\n key: GENERAL_ONBOARDING_STEPS.HELP,\n label: t(\"neetoMolecules.onboarding.helpLabel\"),\n element: (\n <HelpScreen {...{ currentStep, helpScreenClassName, setCurrentStep }} />\n ),\n };\n\n return onboardingSteps\n .concat(helpStep)\n .map((step, idx) => ({ ...step, id: idx + 1 }));\n};\n\nexport const getWindowDimensions = () =>\n typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 100, height: 100 };\n","import { useState, useLayoutEffect } from \"react\";\n\nimport { getWindowDimensions } from \"../utils\";\n\nconst useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState({\n width: 100,\n height: 100,\n });\n\n useLayoutEffect(() => {\n setWindowDimensions(getWindowDimensions());\n\n function handleResize() {\n setWindowDimensions(getWindowDimensions());\n }\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return windowDimensions;\n};\n\nexport default useWindowDimensions;\n","import { useState, useEffect } from \"react\";\n\nimport { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport Confetti from \"react-confetti\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useWindowDimensions from \"./hooks/useWindowDimensions.js\";\n\nconst CompletedScreen = ({\n completeButtonProps,\n completedScreenSuccessMessage,\n className,\n}) => {\n const { t } = useTranslation();\n\n const [dropConfetti, setDropConfetti] = useState(true);\n const { height, width } = useWindowDimensions();\n\n useEffect(() => {\n const timer = setTimeout(() => setDropConfetti(false), 10000);\n\n return () => clearTimeout(timer);\n }, []);\n\n return (\n <div\n data-testid=\"onboarding-congratulations-wrapper\"\n className={classnames(\n \"flex h-dvh w-full grow flex-col items-center overflow-y-auto\",\n className\n )}\n >\n <Confetti {...{ height, width }} recycle={dropConfetti} />\n {isPresent(completedScreenSuccessMessage) ? (\n completedScreenSuccessMessage\n ) : (\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-emoji\"\n variant=\"h2\"\n >\n 🎉\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-congratulations-title\"\n variant=\"h2\"\n >\n <span className=\"text-success-foreground\">\n {t(\"neetoMolecules.onboarding.congratulations\")}\n </span>\n <br />\n {t(\"neetoMolecules.onboarding.readyToUse\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n )}\n <Button\n data-testid=\"onboarding-congratulations-button\"\n label={t(\"neetoMolecules.onboarding.helpScreen.startUsingButton\", {\n appName: globalProps.appName,\n })}\n {...completeButtonProps}\n />\n </div>\n );\n};\n\nexport default CompletedScreen;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ArrowRight } from \"lucide-react\";\nimport { capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst WelcomeScreen = withT(({ t, setCurrentStep, nextStep, className }) => (\n <div\n data-testid=\"onboarding-welcome-wrapper\"\n className={classnames(\n \"flex h-dvh w-full grow flex-col items-center overflow-y-auto\",\n className\n )}\n >\n <div className=\"mx-auto mb-6 flex w-full max-w-2xl flex-col gap-y-2 px-6 pt-16\">\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-title\"\n variant=\"h2\"\n >\n {t(\"neetoMolecules.onboarding.helpScreen.welcomeToTitle\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n <Typography\n className=\"text-center\"\n data-testid=\"onboarding-welcome-description\"\n variant=\"body1\"\n >\n {t(\"neetoMolecules.onboarding.letUsCustomize\", {\n appName: capitalize(globalProps.appName),\n })}\n </Typography>\n </div>\n <Button\n data-testid=\"onboarding-welcome-button\"\n icon={() => <ArrowRight className=\"rtl:scale-x-[-1]\" size={16} />}\n label={t(\"neetoMolecules.onboarding.getStarted\")}\n onClick={() => setCurrentStep(nextStep)}\n />\n </div>\n));\n\nexport default WelcomeScreen;\n","import { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Stepper } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { findIndexBy, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport CompletedScreen from \"./CompletedScreen\";\nimport { GENERAL_ONBOARDING_STEPS } from \"./constants\";\nimport \"./onboarding.css\";\nimport { createSteps } from \"./utils\";\nimport WelcomeScreen from \"./WelcomeScreen\";\n\nconst Onboarding = ({\n currentStep = GENERAL_ONBOARDING_STEPS.WELCOME,\n setCurrentStep = noop,\n onboardingSteps = [],\n completeButtonProps = {},\n helpScreenClassName = \"\",\n isAnimated = true,\n disableStepClick = false,\n welcomeScreenClassName = \"\",\n completedScreenClassName = \"\",\n completedScreenSuccessMessage,\n}) => {\n const steps = useMemo(\n () =>\n createSteps(\n onboardingSteps,\n setCurrentStep,\n currentStep,\n helpScreenClassName\n ),\n [onboardingSteps]\n );\n\n const prevStep = useRef(currentStep);\n\n const [direction, setDirection] = useState(\"\");\n\n const getOnboardingStepIndex = stepKey =>\n steps.findIndex(step => step.key === stepKey);\n\n useEffect(() => {\n if (currentStep === prevStep.current) return;\n\n setDirection(\n getOnboardingStepIndex(currentStep) >\n getOnboardingStepIndex(prevStep.current)\n ? \"forward\"\n : \"backward\"\n );\n prevStep.current = currentStep;\n }, [currentStep]);\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.WELCOME) {\n return (\n <WelcomeScreen\n {...{ currentStep, setCurrentStep }}\n className={welcomeScreenClassName}\n nextStep={steps[0].key}\n />\n );\n }\n\n if (currentStep === GENERAL_ONBOARDING_STEPS.FINISH) {\n return (\n <CompletedScreen\n {...{ completeButtonProps, completedScreenSuccessMessage }}\n className={completedScreenClassName}\n />\n );\n }\n\n const handleStepChange = index => setCurrentStep(steps[index].key);\n\n const isStepperVisible = steps.length > 1;\n\n return (\n <div\n className={classNames(\n \"relative flex h-dvh w-full flex-col overflow-y-auto\",\n { \"grow items-center\": !isStepperVisible }\n )}\n >\n {isStepperVisible && (\n <div className=\"border-border bg-background flex w-full shrink-0 border-b px-4 py-2 lg:justify-center\">\n <Stepper\n {...{ steps }}\n activeIndex={findIndexBy({ key: currentStep }, steps)}\n onStepClick={disableStepClick ? undefined : handleStepChange}\n />\n </div>\n )}\n {steps.map((step, index) => (\n <div\n key={index}\n className={classNames(\"min-h-0 w-full grow overflow-y-auto\", {\n \"neeto-molecules-onboarding-content--forward overflow-x-hidden\":\n isAnimated && direction === \"forward\",\n \"neeto-molecules-onboarding-content--backward overflow-x-hidden\":\n isAnimated && direction === \"backward\",\n hidden: currentStep !== step.key,\n })}\n >\n {step?.element}\n </div>\n ))}\n </div>\n );\n};\n\nOnboarding.propTypes = {\n /**\n * To specify the current step of the onboarding\n */\n currentStep: PropTypes.string,\n /**\n * List of Custom components for the onboarding\n */\n onboardingSteps: PropTypes.array,\n /**\n * Props for the complete button\n */\n completeButtonProps: PropTypes.object,\n /**\n * To set the step of the onboarding\n */\n setCurrentStep: PropTypes.func,\n /**\n * To pass additional classes to the help screen\n */\n helpScreenClassName: PropTypes.string,\n /**\n * A boolean value to enable or disable the animation for the stepper.\n */\n isAnimated: PropTypes.bool,\n};\n\nexport default Onboarding;\n"],"names":["createLucideIcon","GENERAL_ONBOARDING_STEPS","WELCOME","HELP","FINISH","HelpScreen","_ref","setCurrentStep","helpScreenClassName","_useTranslation","useTranslation","t","_useBreakpoints","useBreakpoints","isSize","_jsxs","className","classNames","children","_jsx","Typography","variant","Trans","i18nKey","alt","src","Button","icon","ArrowRight","size","iconPosition","label","onClick","createSteps","onboardingSteps","currentStep","helpStep","key","element","concat","map","step","idx","_objectSpread","id","getWindowDimensions","window","width","innerWidth","height","innerHeight","useWindowDimensions","_useState","useState","_useState2","_slicedToArray","windowDimensions","setWindowDimensions","useLayoutEffect","handleResize","addEventListener","removeEventListener","CompletedScreen","completeButtonProps","completedScreenSuccessMessage","dropConfetti","setDropConfetti","_useWindowDimensions","useEffect","timer","setTimeout","clearTimeout","classnames","Confetti","recycle","isPresent","appName","capitalize","globalProps","WelcomeScreen","withT","nextStep","Onboarding","_ref$currentStep","_ref$setCurrentStep","noop","_ref$onboardingSteps","_ref$completeButtonPr","_ref$helpScreenClassN","_ref$isAnimated","isAnimated","_ref$disableStepClick","disableStepClick","_ref$welcomeScreenCla","welcomeScreenClassName","_ref$completedScreenC","completedScreenClassName","steps","useMemo","prevStep","useRef","direction","setDirection","getOnboardingStepIndex","stepKey","findIndex","current","handleStepChange","index","isStepperVisible","length","Stepper","activeIndex","findIndexBy","onStepClick","undefined","hidden"],"mappings":"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","x_google_ignoreList":[0]}