@bigbinary/neeto-molecules 1.17.7 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserSupport.js +3 -3
- package/dist/Builder.js +4 -4
- package/dist/CalendarView.js +5 -5
- package/dist/{Chevron-c64ff676.js → Chevron-be0c2de2.js} +4 -4
- package/dist/{Chevron-c64ff676.js.map → Chevron-be0c2de2.js.map} +1 -1
- package/dist/Codeblock.js +4 -4
- package/dist/Columns.js +5 -5
- package/dist/ConfigurePageSidebar.js +5 -5
- package/dist/CopyToClipboardButton.js +4 -4
- package/dist/Currency.js +2 -2
- package/dist/CustomDomain.js +5 -5
- package/dist/CustomDomainDashboard.js +6 -6
- package/dist/DateFormat.js +1 -1
- package/dist/DateRangeFilter.js +2 -2
- package/dist/DeleteArchiveModal.js +1 -1
- package/dist/DocumentEditor.js +3 -3
- package/dist/DynamicVariables.js +3 -3
- package/dist/EmailForm.js +5 -5
- package/dist/EmojiPicker.js +2 -2
- package/dist/EmojiReactions.js +1 -1
- package/dist/ErrorPage.js +1 -1
- package/dist/FloatingActionMenu.js +5 -5
- package/dist/Header.js +4 -4
- package/dist/HelpPopover.js +2 -2
- package/dist/IconPicker.js +3 -3
- package/dist/ImageWithFallback.js +4 -4
- package/dist/InlineInput.js +8 -7
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +3 -3
- package/dist/IntegrationCard.js +3 -3
- package/dist/IntegrationDisconnectAlert.js +2 -2
- package/dist/IpRestriction.js +3 -3
- package/dist/KeyboardShortcuts.js +2 -2
- package/dist/LoginPage.js +7 -6
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +2 -2
- package/dist/MenuBar.js +3 -3
- package/dist/Metadata.js +1 -1
- package/dist/MoreDropdown.js +3 -3
- package/dist/NavigationHeader.js +5 -5
- package/dist/NeetoWidget.js +4 -4
- package/dist/Onboarding.js +2 -2
- package/dist/OptionFields.js +4 -4
- package/dist/PageLoader.js +2 -2
- package/dist/PhoneNumber.js +4 -4
- package/dist/ProductEmbed.js +5 -5
- package/dist/PublishBlock.js +2 -2
- package/dist/Rename.js +5 -5
- package/dist/ResponsiveDevicePicker.js +5 -5
- package/dist/Schedule.js +8 -29
- package/dist/Schedule.js.map +1 -1
- package/dist/Scrollable.js +3 -3
- package/dist/Search.js +4 -4
- package/dist/Security.js +5 -5
- package/dist/SendToFields.js +3 -3
- package/dist/Settings.js +4 -4
- package/dist/ShareRecordingPane.js +4 -4
- package/dist/ShareViaEmail.js +5 -5
- package/dist/ShareViaLink.js +4 -4
- package/dist/Sidebar.js +5 -5
- package/dist/SubHeader.js +5 -5
- package/dist/SuffixedInput.js +4 -4
- package/dist/Taxonomy.js +6 -6
- package/dist/ThemeSidebar.js +14 -13
- package/dist/ThemeSidebar.js.map +1 -1
- package/dist/TimeFormat.js +1 -1
- package/dist/TimezoneMismatchModal.js +1 -1
- package/dist/ToggleFeatureCard.js +4 -4
- package/dist/cjs/BrowserSupport.js +9 -6
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/Builder.js +21 -17
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +19 -15
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-8a4ed9cd.js → Chevron-059c442a.js} +15 -12
- package/dist/cjs/{Chevron-8a4ed9cd.js.map → Chevron-059c442a.js.map} +1 -1
- package/dist/cjs/Codeblock.js +7 -6
- package/dist/cjs/Codeblock.js.map +1 -1
- package/dist/cjs/Columns.js +5 -5
- package/dist/cjs/ConfigurePageSidebar.js +8 -7
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +12 -8
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/Currency.js +8 -6
- package/dist/cjs/Currency.js.map +1 -1
- package/dist/cjs/CustomDomain.js +8 -7
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +13 -11
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/DateFormat.js +4 -3
- package/dist/cjs/DateFormat.js.map +1 -1
- package/dist/cjs/DateRangeFilter.js +6 -4
- package/dist/cjs/DateRangeFilter.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js +3 -2
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +12 -9
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +9 -6
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +12 -10
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +6 -4
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js +3 -2
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +3 -2
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +27 -22
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Header.js +11 -8
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/HelpPopover.js +8 -6
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js +11 -8
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/ImageWithFallback.js +15 -11
- package/dist/cjs/ImageWithFallback.js.map +1 -1
- package/dist/cjs/InlineInput.js +25 -18
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/Insights.js +3 -3
- package/dist/cjs/IntegrationCard.js +9 -7
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IntegrationDisconnectAlert.js +6 -4
- package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
- package/dist/cjs/IpRestriction.js +5 -4
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +9 -7
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +11 -7
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MadeWith.js +6 -4
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/MenuBar.js +22 -19
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js +5 -4
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +18 -15
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +9 -8
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +15 -12
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +9 -7
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +21 -17
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +6 -4
- package/dist/cjs/PageLoader.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +23 -19
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +24 -21
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +13 -11
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/Rename.js +17 -13
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/ResponsiveDevicePicker.js +12 -8
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/Schedule.js +24 -39
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Scrollable.js +9 -6
- package/dist/cjs/Scrollable.js.map +1 -1
- package/dist/cjs/Search.js +12 -8
- package/dist/cjs/Search.js.map +1 -1
- package/dist/cjs/Security.js +12 -9
- package/dist/cjs/Security.js.map +1 -1
- package/dist/cjs/SendToFields.js +12 -9
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/Settings.js +14 -11
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +16 -12
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +15 -10
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +8 -7
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +16 -12
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/SubHeader.js +14 -11
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/SuffixedInput.js +10 -7
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +19 -17
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/ThemeSidebar.js +33 -26
- package/dist/cjs/ThemeSidebar.js.map +1 -1
- package/dist/cjs/TimeFormat.js +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +3 -2
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +17 -13
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/{index-8a9dd202.js → index-9b0c3047.js} +7 -5
- package/dist/cjs/{index-8a9dd202.js.map → index-9b0c3047.js.map} +1 -1
- package/dist/cjs/{useColumns-a1c3668f.js → useColumns-9978cf70.js} +18 -14
- package/dist/cjs/{useColumns-a1c3668f.js.map → useColumns-9978cf70.js.map} +1 -1
- package/dist/{index-b9d0db95.js → index-8fd0cad5.js} +3 -3
- package/dist/{index-b9d0db95.js.map → index-8fd0cad5.js.map} +1 -1
- package/dist/{useColumns-d17d1f72.js → useColumns-751e9192.js} +5 -5
- package/dist/{useColumns-d17d1f72.js.map → useColumns-751e9192.js.map} +1 -1
- package/package.json +5 -2
- package/dist/cjs/defineProperty-886ed289.js +0 -47
- package/dist/cjs/defineProperty-886ed289.js.map +0 -1
- package/dist/cjs/extends-1b35a664.js +0 -19
- package/dist/cjs/extends-1b35a664.js.map +0 -1
- package/dist/cjs/index-c55ad2bc.js +0 -375
- package/dist/cjs/index-c55ad2bc.js.map +0 -1
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
- package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
- package/dist/cjs/slicedToArray-f320d9e7.js +0 -61
- package/dist/cjs/slicedToArray-f320d9e7.js.map +0 -1
- package/dist/cjs/toConsumableArray-9abb3858.js +0 -22
- package/dist/cjs/toConsumableArray-9abb3858.js.map +0 -1
- package/dist/defineProperty-549061a7.js +0 -43
- package/dist/defineProperty-549061a7.js.map +0 -1
- package/dist/extends-093996c9.js +0 -17
- package/dist/extends-093996c9.js.map +0 -1
- package/dist/index-9720867c.js +0 -372
- package/dist/index-9720867c.js.map +0 -1
- package/dist/objectWithoutProperties-a0edb288.js +0 -31
- package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
- package/dist/slicedToArray-b4278ecd.js +0 -57
- package/dist/slicedToArray-b4278ecd.js.map +0 -1
- package/dist/toConsumableArray-1cc38429.js +0 -20
- package/dist/toConsumableArray-1cc38429.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationHeader.js","sources":["../../src/components/NavigationHeader/constants.jsx","../../src/components/NavigationHeader/LeftBlock.jsx","../../src/components/NavigationHeader/Navigation.jsx","../../src/components/NavigationHeader/RightBlock.jsx","../../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-center gap-2 md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link capitalize no-underline\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{ gridTemplateColumns: `repeat(${numberOfChildren}, 1fr)` }}\n >\n {leftActionBlock}\n {navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","React","createElement","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","className","Tooltip","Link","to","isPresent","Rename","_extends","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,yBAAyB,GAAG;AACvCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAEC,SAAC,CAAC,sCAAsC,CAAC;AAClDC,IAAAA,QAAQ,EAAE,QAAA;GACX;AACDC,EAAAA,OAAO,EAAE,GAAG;AACZC,EAAAA,IAAI,eAAEC,yBAAA,CAAAC,aAAA,CAACC,eAAI,EAAE,IAAA,CAAA;AACf,CAAC;;ACAD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJaC,qBAAqB,GAAAD,IAAA,CAAtCE,eAAe;IACfR,OAAO,GAAAM,IAAA,CAAPN,OAAO;IACPS,WAAW,GAAAH,IAAA,CAAXG,WAAW;IACXC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;AAER,EAAA,IAAMF,eAAe,GAAGG,oBAAc,CACpChB,yBAAyB,EACzBY,qBACF,CAAC,CAAA;EAED,oBACEL,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACES,IAAAA,SAAS,EAAC,kCAAkC;AAC5C,IAAA,SAAA,EAAQ,8BAA8B;IACtC,aAAY,EAAA,8BAAA;AAA8B,GAAA,eAE1CV,yBAAA,CAAAC,aAAA,CAACU,eAAO,EAAA;AACNhB,IAAAA,OAAO,EAAEW,eAAe,CAACZ,OAAO,CAACC,OAAQ;AACzCE,IAAAA,QAAQ,EAAES,eAAe,CAACZ,OAAO,CAACG,QAAAA;AAAS,GAAA,eAE3CG,yBAAA,CAAAC,aAAA,CAACW,mBAAI,EAAA;AAAC,IAAA,SAAA,EAAQ,aAAa;AAAC,IAAA,aAAA,EAAY,aAAa;AAACC,IAAAA,EAAE,EAAEf,OAAAA;GACxDE,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKS,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,EAC7DJ,eAAe,CAACP,IACd,CACD,CACC,CAAC,EACTe,mBAAS,CAACP,WAAW,CAAC,iBACrBP,yBAAA,CAAAC,aAAA,CAACc,MAAM,EAAAC,iBAAA,CAAA;IACLC,aAAa,EAAEV,WAAW,CAACU,aAAc;IACzCC,KAAK,EAAEX,WAAW,CAACW,KAAAA;AAAM,GAAA,EACrBX,WAAW,CAChB,CACF,EACAC,QACE,CAAC,CAAA;AAEV,CAAC;;AC1CD,IAAMW,eAAe,GAAG,SAAlBA,eAAeA,CAAAf,IAAA,EAAA;AAAA,EAAA,IAAMgB,WAAW,GAAAhB,IAAA,CAAXgB,WAAW,CAAA;EAAA,oBACpCpB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACES,IAAAA,SAAS,EAAC,iEAAiE;AAC3E,IAAA,SAAA,EAAQ,oCAAoC;IAC5C,aAAY,EAAA,oCAAA;AAAoC,GAAA,EAE/CU,WAAW,CAACC,GAAG,CAAC,UAAAC,UAAU,EAAA;AAAA,IAAA,oBACzBtB,yBAAA,CAAAC,aAAA,CAACsB,sBAAO,EAAAP,iBAAA,CAAA;AACNQ,MAAAA,eAAe,EAAC,QAAQ;AACxBd,MAAAA,SAAS,EAAC,iEAAiE;MAC3E,SAAAe,EAAAA,EAAAA,CAAAA,MAAA,CAAYC,sBAAc,CAACJ,UAAU,CAACK,GAAG,CAAC,EAAO,MAAA,CAAA;MACjDA,GAAG,EAAEL,UAAU,CAACK,GAAAA;AAAI,KAAA,EAChBL,UAAU,CAEdtB,eAAAA,yBAAA,CAAAC,aAAA,CAAC2B,kBAAU,EAAA;AAACC,MAAAA,UAAU,EAAC,QAAQ;AAACC,MAAAA,KAAK,EAAC,IAAI;AAACC,MAAAA,MAAM,EAAC,UAAA;AAAU,KAAA,EACzDT,UAAU,CAACU,KACF,CACL,CAAC,CAAA;AAAA,GACX,CACE,CAAC,CAAA;AAAA,CACP;;;;;ACjBD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA7B,IAAA,EAkBV;AAAA,EAAA,IAjBJ8B,kBAAkB,GAAA9B,IAAA,CAAlB8B,kBAAkB;IAClBC,eAAe,GAAA/B,IAAA,CAAf+B,eAAe;IACfC,yBAAyB,GAAAhC,IAAA,CAAzBgC,yBAAyB;IACzBC,YAAY,GAAAjC,IAAA,CAAZiC,YAAY;IACZC,WAAW,GAAAlC,IAAA,CAAXkC,WAAW;IACXC,iBAAiB,GAAAnC,IAAA,CAAjBmC,iBAAiB;IACjBC,YAAY,GAAApC,IAAA,CAAZoC,YAAY;IACZC,aAAa,GAAArC,IAAA,CAAbqC,aAAa;IACbC,wBAAwB,GAAAtC,IAAA,CAAxBsC,wBAAwB;IACxBC,mBAAmB,GAAAvC,IAAA,CAAnBuC,mBAAmB;IACnBC,sBAAsB,GAAAxC,IAAA,CAAtBwC,sBAAsB;IACtBC,gBAAgB,GAAAzC,IAAA,CAAhByC,gBAAgB;IAChBC,mBAAmB,GAAA1C,IAAA,CAAnB0C,mBAAmB;IACnBC,WAAW,GAAA3C,IAAA,CAAX2C,WAAW;IACXC,iBAAiB,GAAA5C,IAAA,CAAjB4C,iBAAiB;IACjBC,uBAAuB,GAAA7C,IAAA,CAAvB6C,uBAAuB;IAAAC,qBAAA,GAAA9C,IAAA,CACvB+C,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA,CAAA;AAEvB,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBzD,CAAC,GAAAwD,eAAA,CAADxD,CAAC,CAAA;AAET,EAAA,IAAM0D,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAMC,eAAe,GAAAD,KAAA,CAAfC,eAAe;MAAEC,gBAAgB,GAAAF,KAAA,CAAhBE,gBAAgB,CAAA;AAAA,IAAA,OAC7D,CAACvB,kBAAkB,iBACjBlC,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAA0D,QAAA,EACE1D,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACuD,eAAe,EAAA;AAAC3C,MAAAA,EAAE,EAAEsB,eAAAA;KAAkB,CAAC,EACvCC,yBAAyB,iBACxBpC,yBAAA,CAAAC,aAAA,CAACwD,gBAAgB,EAAA;AACfE,MAAAA,OAAO,EAAErB,WAAY;MACrBsB,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMvB,YAAY,EAAE,CAAA;AAAA,OAAA;AAAC,KAC/B,CAEH,CACH,CAAA;AAAA,GAAA,CAAA;AAEH,EAAA,IAAMwB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAMC,aAAa,GAAAD,KAAA,CAAbC,aAAa;MAAEC,oBAAoB,GAAAF,KAAA,CAApBE,oBAAoB,CAAA;AAAA,IAAA,oBACjEhE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAA0D,QAAA,EAAA,IAAA,EACGd,sBAAsB,iBACrB5C,yBAAA,CAAAC,aAAA,CAAC8D,aAAa,EAAA/C,iBAAA,CAAA;AACZiD,MAAAA,QAAQ,EAAE1B,iBAAkB;AAC5BoB,MAAAA,OAAO,EAAEnB,YAAa;MACtBoB,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMnB,aAAa,EAAE,CAAA;AAAA,OAAA;KAC1BU,EAAAA,kBAAkB,CACvB,CACF,eACDnD,yBAAA,CAAAC,aAAA,CAAC+D,oBAAoB,EAAA;AACnBC,MAAAA,QAAQ,EAAEvB,wBAAyB;AACnC7B,MAAAA,EAAE,EAAE8B,mBAAoB;MACxBjC,SAAS,EAAEwD,8BAAU,CAAC;AACpB,QAAA,mCAAmC,EAAE,CAACtB,sBAAAA;OACvC,CAAA;AAAE,KACJ,CACD,CAAC,CAAA;GACJ,CAAA;AAED,EAAA,oBACE5C,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAA0D,QAAA,EAAA,IAAA,eACE1D,yBAAA,CAAAC,aAAA,CAACkE,YAAY,EAAA;AAAOb,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAAEO,IAAAA,oBAAoB,EAApBA,oBAAAA;GAAyB,CAAC,eAClE7D,yBAAA,CAAAC,aAAA,CAACkE,YAAY,CAACC,KAAK,EAAA;AACjBC,IAAAA,MAAM,EAAExB,gBAAiB;AACzByB,IAAAA,YAAY,EAAEhC,WAAY;AAC1BiC,IAAAA,OAAO,EACLtB,uBAAuB,IACvBrD,CAAC,CAAC,kDAAkD,CACrD;AACD4E,IAAAA,KAAK,EACHxB,iBAAiB,IAAIpD,CAAC,CAAC,4CAA4C,CACpE;IACD6E,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAM3B,mBAAmB,CAAC,KAAK,CAAC,CAAA;KAAC;AAC1C4B,IAAAA,QAAQ,EAAE3B,WAAAA;AAAY,GACvB,CACD,CAAC,CAAA;AAEP,CAAC;;ACxED,IAAM4B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAvE,IAAA,EAIhB;AAAA,EAAA,IAHJwE,eAAe,GAAAxE,IAAA,CAAfwE,eAAe;IACfC,eAAe,GAAAzE,IAAA,CAAfyE,eAAe;IACfC,gBAAgB,GAAA1E,IAAA,CAAhB0E,gBAAgB,CAAA;AAEhB,EAAA,IAAMC,gBAAgB,GAAGC,YAAM,CAC7BC,YAAM,CAACnE,mBAAS,EAAE,CAAC8D,eAAe,EAAEC,eAAe,EAAEC,gBAAgB,CAAC,CACxE,CAAC,CAAA;EAED,oBACE9E,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACES,IAAAA,SAAS,EAAC,6KAA6K;AACvL,IAAA,SAAA,EAAQ,mBAAmB;IAC3B,aAAY,EAAA,mBAAA;GAEZV,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACES,IAAAA,SAAS,EAAC,mBAAmB;AAC7BoB,IAAAA,KAAK,EAAE;MAAEoD,mBAAmB,EAAA,SAAA,CAAAzD,MAAA,CAAYsD,gBAAgB,EAAA,QAAA,CAAA;AAAS,KAAA;AAAE,GAAA,EAElEH,eAAe,EACfC,eAAe,EACfC,gBACE,CACF,CAAC,CAAA;AAEV,EAAC;AAEDH,gBAAgB,CAACQ,eAAe,GAAGhF,SAAS,CAAA;AAC5CwE,gBAAgB,CAACxD,eAAe,GAAGA,eAAe,CAAA;AAClDwD,gBAAgB,CAACS,gBAAgB,GAAGnD,UAAU;;;;"}
|
|
1
|
+
{"version":3,"file":"NavigationHeader.js","sources":["../../src/components/NavigationHeader/constants.jsx","../../src/components/NavigationHeader/LeftBlock.jsx","../../src/components/NavigationHeader/Navigation.jsx","../../src/components/NavigationHeader/RightBlock.jsx","../../src/components/NavigationHeader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Home } from \"neetoicons\";\n\nexport const DEFAULT_HOME_BUTTON_PROPS = {\n tooltip: {\n content: t(\"neetoMolecules.navigationHeader.home\"),\n position: \"bottom\",\n },\n homeUrl: \"/\",\n icon: <Home />,\n};\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeDeepRight } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport Rename from \"components/Rename\";\n\nimport { DEFAULT_HOME_BUTTON_PROPS } from \"./constants\";\n\nconst LeftBlock = ({\n homeButtonProps: customHomeButtonProps,\n homeUrl,\n renameProps,\n children,\n}) => {\n const homeButtonProps = mergeDeepRight(\n DEFAULT_HOME_BUTTON_PROPS,\n customHomeButtonProps\n );\n\n return (\n <div\n className=\"flex items-center gap-1 md:gap-2\"\n data-cy=\"navigation-header-left-block\"\n data-testid=\"navigation-header-left-block\"\n >\n <Tooltip\n content={homeButtonProps.tooltip.content}\n position={homeButtonProps.tooltip.position}\n >\n <Link data-cy=\"home-button\" data-testid=\"home-button\" to={homeUrl}>\n <div className=\"neeto-ui-rounded hover:neeto-ui-bg-gray-200 p-1\">\n {homeButtonProps.icon}\n </div>\n </Link>\n </Tooltip>\n {isPresent(renameProps) && (\n <Rename\n dropdownItems={renameProps.dropdownItems}\n value={renameProps.value}\n {...renameProps}\n />\n )}\n {children}\n </div>\n );\n};\n\nLeftBlock.propTypes = {\n /**\n * Object containing the home button icon and the props to be passed to the tooltip of the home button.\n */\n homeButtonProps: PropTypes.shape({\n tooltip: PropTypes.shape({\n content: PropTypes.string,\n postition: PropTypes.string,\n }),\n icon: PropTypes.node,\n }),\n /**\n * URL to navigate when the home button is clicked.\n */\n homeUrl: PropTypes.string.isRequired,\n /**\n * Props to be passed to the `Rename` component. Please check the `Rename` component props for more details\n */\n renameProps: PropTypes.object,\n /**\n * To render extra content in the block.\n */\n children: PropTypes.node,\n};\n\nexport default LeftBlock;\n","import React from \"react\";\n\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { NavLink } from \"react-router-dom\";\n\nconst NavigationLinks = ({ headerLinks }) => (\n <div\n className=\"flex w-full items-center justify-center gap-2 md:gap-3 lg:gap-6\"\n data-cy=\"navigation-header-navigation-links\"\n data-testid=\"navigation-header-navigation-links\"\n >\n {headerLinks.map(headerLink => (\n <NavLink\n activeClassName=\"active\"\n className=\"neeto-molecules-navigation-header__link capitalize no-underline\"\n data-cy={`${joinHyphenCase(headerLink.key)}-tab`}\n key={headerLink.key}\n {...headerLink}\n >\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {headerLink.label}\n </Typography>\n </NavLink>\n ))}\n </div>\n);\n\nNavigationLinks.propTypes = {\n /**\n * Links to be rendered in the center of the navigation header. It is an array of objects.\n * Each object should have the properties `key`, `to` and `label`. Other props will be passed on to the `Navlink` component from\n `react-router-dom`.\n */\n headerLinks: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n to: PropTypes.string,\n label: PropTypes.string,\n })\n ),\n};\n\nexport default NavigationLinks;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport PublishBlock from \"components/PublishBlock\";\n\nimport \"./navigation-header.scss\";\n\nconst RightBlock = ({\n isDraftBlockHidden,\n previewDraftUrl,\n isResetDraftButtonVisible,\n onResetClick,\n isResetting,\n isPublishDisabled,\n isPublishing,\n handlePublish,\n isPublishPreviewDisabled,\n previewPublishedUrl,\n isPublishButtonVisible,\n isResetAlertOpen,\n setIsResetAlertOpen,\n handleReset,\n publishAlertTitle,\n publishAlertDescription,\n publishButtonProps = {},\n}) => {\n const { t } = useTranslation();\n\n const renderDraftButtons = ({ ViewDraftButton, ResetDraftButton }) =>\n !isDraftBlockHidden && (\n <>\n <ViewDraftButton to={previewDraftUrl} />\n {isResetDraftButtonVisible && (\n <ResetDraftButton\n loading={isResetting}\n onClick={() => onResetClick()}\n />\n )}\n </>\n );\n\n const renderPublishButtons = ({ PublishButton, PublishPreviewButton }) => (\n <>\n {isPublishButtonVisible && (\n <PublishButton\n disabled={isPublishDisabled}\n loading={isPublishing}\n onClick={() => handlePublish()}\n {...publishButtonProps}\n />\n )}\n <PublishPreviewButton\n disabled={isPublishPreviewDisabled}\n to={previewPublishedUrl}\n className={classNames({\n \"standalone-publish-preview-button\": !isPublishButtonVisible,\n })}\n />\n </>\n );\n\n return (\n <>\n <PublishBlock {...{ renderDraftButtons, renderPublishButtons }} />\n <PublishBlock.Alert\n isOpen={isResetAlertOpen}\n isSubmitting={isResetting}\n message={\n publishAlertDescription ||\n t(\"neetoMolecules.navigationHeader.resetDescription\")\n }\n title={\n publishAlertTitle || t(\"neetoMolecules.navigationHeader.resetTitle\")\n }\n onClose={() => setIsResetAlertOpen(false)}\n onSubmit={handleReset}\n />\n </>\n );\n};\n\nRightBlock.propTypes = {\n /**\n * To show/hide the draft block.\n */\n isDraftBlockHidden: PropTypes.bool,\n /**\n * Draft preview URL, when the draft button is clicked user will be redirected to this URL.\n */\n previewDraftUrl: PropTypes.string,\n /**\n * Boolean to control the visibility of reset draft button.\n */\n isResetDraftButtonVisible: PropTypes.bool,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n onResetClick: PropTypes.func,\n /**\n * Setting this to `true` will show a spinner on the reset button. Use when the reset process is in progress.\n */\n isResetting: PropTypes.bool,\n /**\n * To disable the publish button.\n */\n isPublishDisabled: PropTypes.bool,\n /**\n * Setting this to `true` will show a spinner on the publish button. Use when the publish process is in progress.\n */\n isPublishing: PropTypes.bool,\n /**\n * Callback function that will be called when the publish button is clicked.\n */\n handlePublish: PropTypes.func,\n /**\n * To disable the publish preview button.\n */\n isPublishPreviewDisabled: PropTypes.bool,\n /**\n * Publish preview URL, when the preview publish button is clicked user will be redirected to this URL.\n */\n previewPublishedUrl: PropTypes.string,\n /**\n * Boolean to control whether the user have the ability to publish.\n */\n isPublishButtonVisible: PropTypes.bool,\n /**\n * Boolean to control whether the reset alert is open.\n */\n isResetAlertOpen: PropTypes.bool,\n /**\n * Handler to control the `isResetAlert` state variable.\n */\n setIsResetAlertOpen: PropTypes.func,\n /**\n * Callback function that will be called when the reset button is clicked.\n */\n handleReset: PropTypes.func,\n /**\n * Description to be shown in the publish alert\n */\n publishAlertDescription: PropTypes.string,\n /**\n * Title of the publish alert\n */\n publishAlertTitle: PropTypes.string,\n /**\n * Props to be passed to the publish button\n */\n publishButtonProps: PropTypes.object,\n};\n\nexport default RightBlock;\n","import React from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { filter, length } from \"ramda\";\n\nimport LeftBlock from \"./LeftBlock\";\nimport NavigationLinks from \"./Navigation\";\nimport RightBlock from \"./RightBlock\";\n\nconst NavigationHeader = ({\n leftActionBlock,\n navigationLinks,\n rightActionBlock,\n}) => {\n const numberOfChildren = length(\n filter(isPresent, [leftActionBlock, navigationLinks, rightActionBlock])\n );\n\n return (\n <div\n className=\"neeto-molecules-navigation-header neeto-ui-border-gray-200 neeto-ui-bg-white flex h-16 w-full flex-shrink-0 items-center overflow-x-auto border-b px-2 py-2 md:px-4 lg:px-6\"\n data-cy=\"navigation-header\"\n data-testid=\"navigation-header\"\n >\n <div\n className=\"grid w-full gap-4\"\n style={{ gridTemplateColumns: `repeat(${numberOfChildren}, 1fr)` }}\n >\n {leftActionBlock}\n {navigationLinks}\n {rightActionBlock}\n </div>\n </div>\n );\n};\n\nNavigationHeader.LeftActionBlock = LeftBlock;\nNavigationHeader.NavigationLinks = NavigationLinks;\nNavigationHeader.RightActionBlock = RightBlock;\n\nNavigationHeader.propTypes = {\n /**\n * To specify the content to be rendered in the left side of the `NavigationHeader`.\n */\n leftActionBlock: PropTypes.node,\n /**\n * To specify the content to be rendered at the center of the `NavigationHeader`.\n */\n navigationLinks: PropTypes.node,\n /**\n * To specify the content to be rendered in the right side of the `NavigationHeader`.\n */\n rightActionBlock: PropTypes.node,\n};\n\nexport default NavigationHeader;\n"],"names":["DEFAULT_HOME_BUTTON_PROPS","tooltip","content","t","position","homeUrl","icon","React","createElement","Home","LeftBlock","_ref","customHomeButtonProps","homeButtonProps","renameProps","children","mergeDeepRight","className","Tooltip","Link","to","isPresent","Rename","_extends","dropdownItems","value","NavigationLinks","headerLinks","map","headerLink","NavLink","activeClassName","concat","joinHyphenCase","key","Typography","lineHeight","style","weight","label","RightBlock","isDraftBlockHidden","previewDraftUrl","isResetDraftButtonVisible","onResetClick","isResetting","isPublishDisabled","isPublishing","handlePublish","isPublishPreviewDisabled","previewPublishedUrl","isPublishButtonVisible","isResetAlertOpen","setIsResetAlertOpen","handleReset","publishAlertTitle","publishAlertDescription","_ref$publishButtonPro","publishButtonProps","_useTranslation","useTranslation","renderDraftButtons","_ref2","ViewDraftButton","ResetDraftButton","Fragment","loading","onClick","renderPublishButtons","_ref3","PublishButton","PublishPreviewButton","disabled","classNames","PublishBlock","Alert","isOpen","isSubmitting","message","title","onClose","onSubmit","NavigationHeader","leftActionBlock","navigationLinks","rightActionBlock","numberOfChildren","length","filter","gridTemplateColumns","LeftActionBlock","RightActionBlock"],"mappings":"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"}
|
package/dist/cjs/NeetoWidget.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var i18next = require('i18next');
|
|
5
5
|
var ramda = require('ramda');
|
|
6
6
|
var React = require('react');
|
|
@@ -8,8 +8,8 @@ var neetoIcons = require('@bigbinary/neeto-icons');
|
|
|
8
8
|
var neetoui = require('@bigbinary/neetoui');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
10
|
var reactQuery = require('react-query');
|
|
11
|
-
var _extends = require('
|
|
12
|
-
var
|
|
11
|
+
var _extends = require('@babel/runtime/helpers/extends');
|
|
12
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
13
13
|
var classnames = require('classnames');
|
|
14
14
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
15
15
|
var usePrevious = require('@bigbinary/neeto-commons-frontend/react-utils/usePrevious');
|
|
@@ -22,7 +22,7 @@ var formik$1 = require('@bigbinary/neetoui/formik');
|
|
|
22
22
|
var axios = require('axios');
|
|
23
23
|
var yup = require('yup');
|
|
24
24
|
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
25
|
-
require('
|
|
25
|
+
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
26
26
|
require('./inject-css-80a5faa3.js');
|
|
27
27
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
28
28
|
|
|
@@ -46,8 +46,11 @@ function _interopNamespace(e) {
|
|
|
46
46
|
return Object.freeze(n);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
49
50
|
var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
|
|
50
51
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
52
|
+
var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
53
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
51
54
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
52
55
|
var usePrevious__default = /*#__PURE__*/_interopDefaultLegacy(usePrevious);
|
|
53
56
|
var Prism__default = /*#__PURE__*/_interopDefaultLegacy(Prism);
|
|
@@ -111,7 +114,7 @@ var FRAMEWORK_SELECT_OPTIONS = [{
|
|
|
111
114
|
label: "PHP",
|
|
112
115
|
value: AVAILABLE_FRAMEWORK_OPTIONS.php
|
|
113
116
|
}];
|
|
114
|
-
var SAMPLE_USER_IDENTITY_CODE_STRING =
|
|
117
|
+
var SAMPLE_USER_IDENTITY_CODE_STRING = _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, AVAILABLE_FRAMEWORK_OPTIONS.rails, "window.".concat(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}")), AVAILABLE_FRAMEWORK_OPTIONS.django, "window.".concat(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}")), AVAILABLE_FRAMEWORK_OPTIONS.php, "window.".concat(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}"));
|
|
115
118
|
var WIDGET_CONFIG_URL = "/api/widget/v1/neeto_widget_tokens";
|
|
116
119
|
var EMBED_CODE_EMAIL_URL = "/api/widget/v1/email_snippets";
|
|
117
120
|
var CHAT_WIDGET_KB_BASE_URL = "https://help.neetochat.com";
|
|
@@ -321,7 +324,7 @@ var getSortedPrefixedWidgets = function getSortedPrefixedWidgets(widgets) {
|
|
|
321
324
|
};
|
|
322
325
|
var getWidgetDescriptions = function getWidgetDescriptions(widgets) {
|
|
323
326
|
var values = Object.entries(WIDGET_DESCRIPTIONS).filter(function (_ref) {
|
|
324
|
-
var _ref2 =
|
|
327
|
+
var _ref2 = _slicedToArray__default["default"](_ref, 1),
|
|
325
328
|
widget = _ref2[0];
|
|
326
329
|
return widgets.includes(widget);
|
|
327
330
|
});
|
|
@@ -387,7 +390,7 @@ var CodeSnippet = function CodeSnippet(_ref) {
|
|
|
387
390
|
var _useTranslation = reactI18next.useTranslation(),
|
|
388
391
|
t = _useTranslation.t;
|
|
389
392
|
var _useState = React.useState(FRAMEWORK_SELECT_OPTIONS[0]),
|
|
390
|
-
_useState2 =
|
|
393
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
391
394
|
selectedFramework = _useState2[0],
|
|
392
395
|
setSelectedFramework = _useState2[1];
|
|
393
396
|
var emailMutation = useEmailEmbedCode(onSent);
|
|
@@ -462,7 +465,7 @@ var CodeSnippet = function CodeSnippet(_ref) {
|
|
|
462
465
|
var useForceUpdate = function useForceUpdate() {
|
|
463
466
|
// eslint-disable-next-line react/hook-use-state
|
|
464
467
|
var _useState = React.useState(0),
|
|
465
|
-
_useState2 =
|
|
468
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
466
469
|
setValue = _useState2[1];
|
|
467
470
|
return function () {
|
|
468
471
|
return setValue(function (value) {
|
|
@@ -472,7 +475,7 @@ var useForceUpdate = function useForceUpdate() {
|
|
|
472
475
|
};
|
|
473
476
|
|
|
474
477
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
475
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
478
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
476
479
|
var useFetchApiKey = function useFetchApiKey() {
|
|
477
480
|
return reactQuery.useQuery(QUERY_KEYS.apiKey, function () {
|
|
478
481
|
if (window.globalProps.railsEnv === "heroku" || !window.globalProps.ssoEnabled) {
|
|
@@ -559,11 +562,11 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
559
562
|
_ref$maxWidth = _ref.maxWidth,
|
|
560
563
|
maxWidth = _ref$maxWidth === void 0 ? "max-w-3xl" : _ref$maxWidth;
|
|
561
564
|
var _useState = React.useState(EMAIL_TYPES["null"]),
|
|
562
|
-
_useState2 =
|
|
565
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
563
566
|
emailType = _useState2[0],
|
|
564
567
|
setEmailType = _useState2[1];
|
|
565
568
|
var _useState3 = React.useState(FRAMEWORK_SELECT_OPTIONS[0]),
|
|
566
|
-
_useState4 =
|
|
569
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
567
570
|
selectedFramework = _useState4[0],
|
|
568
571
|
setSelectedFramework = _useState4[1];
|
|
569
572
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -845,7 +848,7 @@ var EmbedCode = function EmbedCode(_ref) {
|
|
|
845
848
|
target: "_blank"
|
|
846
849
|
})
|
|
847
850
|
}
|
|
848
|
-
})) : null), /*#__PURE__*/React__default["default"].createElement(CodeSnippet,
|
|
851
|
+
})) : null), /*#__PURE__*/React__default["default"].createElement(CodeSnippet, _extends__default["default"]({
|
|
849
852
|
isPaneOpen: !!emailType && neetoCist.isNotEmpty(selectedWidgets),
|
|
850
853
|
onClose: function onClose() {
|
|
851
854
|
return setEmailType(EMAIL_TYPES["null"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoWidget.js","sources":["../../src/components/NeetoWidget/constants.js","../../src/components/NeetoWidget/ChatWidgetBody.jsx","../../src/components/NeetoWidget/SyntaxHighlighter.jsx","../../src/components/NeetoWidget/CodeBlock.jsx","../../src/components/NeetoWidget/utils.js","../../src/components/NeetoWidget/api.js","../../src/components/NeetoWidget/mutations.js","../../src/components/NeetoWidget/CodeSnippet.jsx","../../src/components/NeetoWidget/hooks/useForceUpdate.js","../../src/components/NeetoWidget/queries.js","../../src/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../src/components/NeetoWidget/SelectionSwitches/index.jsx","../../src/components/NeetoWidget/EmbedCode.jsx","../../src/components/NeetoWidget/Main.jsx","../../src/components/NeetoWidget/index.js"],"sourcesContent":["import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const NEETO_WIDGET_USER_IDENTITY_KEY = \"NeetoWidgetUserIdentity\";\nexport const SESSION_CONTEXT_KEY = \"NeetoReplayWidgetSessionContext\";\n\nexport const INSTALLATION_HELP_EMAIL = \"support@neeto.com\";\n\nexport const SAMPLE_CONTEXT_CODE_STRING = `window.${SESSION_CONTEXT_KEY} = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}`;\n\nexport const WIDGET_TYPES = {\n changelog: \"changelog\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n changelog: \"https://help.neetochangelog.com/articles/installation\",\n chat: \"https://help.neetochat.com/articles/installation-using-javascript-snippet\",\n replay: \"https://help.neetoreplay.com/articles/install-widget\",\n};\n\nexport const WIDGET_DESCRIPTIONS = {\n changelog: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.changelog\"\n ),\n chat: t(\"neetoMolecules.widget.email.body.values.embedCode.description.chat\"),\n replay: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.replay\"\n ),\n};\n\nexport const WIDGET_TYPES_VALUES = values(WIDGET_TYPES);\n\nexport const QUERY_KEYS = {\n apiKey: \"neetoWidgetApiKey\",\n configuration: \"neetoWidgetConfiguration\",\n};\n\nexport const DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds\n\nexport const EMAIL_TYPES = {\n embedCode: \"embedCode\",\n userIdentity: \"userIdentity\",\n sessionContext: \"sessionContext\",\n null: \"\",\n};\n\nexport const RAILS_ENV = {\n production: \"production\",\n staging: \"staging\",\n development: \"development\",\n};\n\nexport const NEETO_WIDGET_SCRIPT_URL = {\n staging: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js\",\n production: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget.js\",\n};\n\nexport const AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({\n rails: \"rails\",\n django: \"django\",\n php: \"php\",\n});\n\nexport const FRAMEWORK_SELECT_OPTIONS = [\n { label: \"Ruby(Rails)\", value: AVAILABLE_FRAMEWORK_OPTIONS.rails },\n { label: \"Python(Django)\", value: AVAILABLE_FRAMEWORK_OPTIONS.django },\n { label: \"PHP\", value: AVAILABLE_FRAMEWORK_OPTIONS.php },\n];\n\nexport const SAMPLE_USER_IDENTITY_CODE_STRING = {\n [AVAILABLE_FRAMEWORK_OPTIONS.rails]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"<%= current_user.id %>\", // User identifier\"\n name: \"<%= current_user.name %>\", // Full name\n email: \"<%= current_user.email %>\", // Email address\n started_at: \"<%= current_user.created_at.to_i %>\" // Signup date as a Unix timestamp ,\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.django]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"{{ request.user.id|escapejs }}\", // User identifier\n name: \"{{ request.user.name|escapejs }}\", // Full name\n email: \"{{ request.user.email|escapejs }}\", // Email address\n started_at: \"{{ request.user.created_at|date:'U' }}\" // Signup date as a Unix timestamp\"\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.php]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: <?php echo json_encode($current_user->id) ?>, // User identifier\n name: <?php echo json_encode($current_user->name) ?>, // Full name\n email: <?php echo json_encode($current_user->email) ?>, // Email address\n started_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp\" ,\n}`,\n};\nexport const WIDGET_CONFIG_URL = \"/api/widget/v1/neeto_widget_tokens\";\nexport const EMBED_CODE_EMAIL_URL = \"/api/widget/v1/email_snippets\";\nexport const CHAT_WIDGET_KB_BASE_URL = \"https://help.neetochat.com\";\nexport const CHANGELOG_WIDGET_KB_BASE_URL = \"https://help.neetochangelog.com\";\nexport const REPLAY_WIDGET_KB_BASE_URL = \"https://help.neetoreplay.com\";\nexport const NEETO_REPLAY_CONFIGURE_URL = `${REPLAY_WIDGET_KB_BASE_URL}/articles/configure-widget`;\nexport const NEETO_CHAT_USER_IDENTITY_URL = `${CHAT_WIDGET_KB_BASE_URL}/articles/info-about-logged-in-users`;\nexport const WIDGET_KB_HELP_URL = {\n changelog: `${CHANGELOG_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/categories/installation`,\n replay: `${REPLAY_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n};\nexport const USE_NEETO_WIDGET_NPM_PAGE_URL =\n \"https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget\";\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.changelog) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.changelogHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.changelog }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.changelog}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.chat) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.chatHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.chat }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.replay) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.replayHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.replay }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import React, { useEffect } from \"react\";\n\nimport Prism from \"prismjs\";\nimport \"prismjs/themes/prism-tomorrow.css\";\n\nconst SyntaxHighlighter = ({ className, code, language }) => {\n useEffect(() => {\n Prism.highlightAll();\n }, [code]);\n\n return (\n <pre className={className}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default React.memo(SyntaxHighlighter);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Button, Select, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nconst CodeBlock = ({\n title = (\n <div>\n <Trans i18nKey=\"neetoMolecules.codeblock.codeSnippet\" />\n </div>\n ),\n codeString,\n showCopyButton = true,\n className = \"\",\n sendViaEmail = undefined,\n frameworkProps = {},\n}) => {\n const { t } = useTranslation();\n const { selectedFramework, setSelectedFramework } = frameworkProps ?? {};\n\n return (\n <div className={classnames([\"relative\", className])}>\n <div className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg flex w-full flex-wrap items-center justify-between gap-2 rounded-b-none p-3\">\n {title && (\n <Typography\n className=\"m-0 flex-shrink-0\"\n data-cy=\"code-block-title-text\"\n style=\"h4\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ml-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n style=\"text\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n {showCopyButton && (\n <CopyToClipboardButton\n label={t(\"neetoMolecules.widget.installation.snippet.copy\")}\n style=\"primary\"\n value={codeString}\n />\n )}\n </div>\n </div>\n <SyntaxHighlighter\n className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-lg m-0 rounded-t-none\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\n );\n};\n\nCodeBlock.propTypes = {\n title: PropTypes.object,\n codeString: PropTypes.string,\n showCopyButton: PropTypes.bool,\n className: PropTypes.string,\n sendViaEmail: PropTypes.func,\n frameworkProps: PropTypes.object,\n};\n\nexport default CodeBlock;\n","import i18next, { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { identity, last, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n NEETO_WIDGET_USER_IDENTITY_KEY,\n SESSION_CONTEXT_KEY,\n RAILS_ENV,\n NEETO_WIDGET_SCRIPT_URL,\n SAMPLE_USER_IDENTITY_CODE_STRING,\n WIDGET_DESCRIPTIONS,\n} from \"./constants\";\n\nconst buildEmbedWidgetScript = () => {\n const widgetScriptUrl =\n window.globalProps.railsEnv === RAILS_ENV.production\n ? NEETO_WIDGET_SCRIPT_URL.production\n : NEETO_WIDGET_SCRIPT_URL.staging;\n\n return `<script src=\"${widgetScriptUrl}\"></script>`;\n};\n\nconst indentAndFormat = (str, formatter = identity) =>\n str.split(\"\\n\").map(formatter).join(\"\\n \");\n\nconst getCommentedCommand = (command, isEnabled) =>\n isEnabled ? command : `/// ${command}`;\n\nconst embedWidgetEnvironment = () => {\n switch (window.globalProps.railsEnv) {\n case RAILS_ENV.production:\n return \"\";\n case RAILS_ENV.development:\n return `environment: \"${RAILS_ENV.development}\",`;\n case RAILS_ENV.staging:\n return `environment: \"${RAILS_ENV.staging}\",`;\n default:\n return \"/* Unidentified RAILS_ENV, */\";\n }\n};\n\nconst embedWidgetApiKey = apiKey => `apiKey: \"${apiKey}\",`;\n\nconst addChangelogOptions = () => `neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},`;\n\nconst wrapBlockInOnLoad = codeBlock =>\n `window.addEventListener(\"load\", () => ${codeBlock});`;\n\nconst embedWidgetFunctionCall = (enabledWidgets, apiKey) => `embedNeetoWidget({\n ${embedWidgetEnvironment()}\n ${indentAndFormat(embedWidgetApiKey(apiKey))}\n ${indentAndFormat(addChangelogOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.changelog)\n )}\n})`;\n\nconst filterMarkedCommands = queryString =>\n queryString\n .split(\"\\n\")\n .filter(line => !line.includes(\"///\") && line.trim())\n .join(\"\\n\");\n\nexport const getSampleUserIdentity = (enabledWidgets, selectedFramework) => {\n const splitCodeLines =\n SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split(\"\\n\");\n\n return filterMarkedCommands(\n splitCodeLines\n .map(cmd => {\n const isEmailKey = cmd.includes(\"email\");\n const isObjectStartLine = cmd === splitCodeLines[0];\n const isObjectEndLine = cmd === last(splitCodeLines);\n const isLineHidden =\n !isEmailKey && !isObjectStartLine && !isObjectEndLine;\n if (\n (!enabledWidgets.chat && isLineHidden) ||\n (!enabledWidgets.chat && !enabledWidgets.replay)\n ) {\n return null;\n }\n\n return cmd;\n })\n .join(\"\\n\")\n );\n};\n\nexport const sampleConsolidatedCodeString = (enabledWidgets, apiKey) =>\n filterMarkedCommands(`${buildEmbedWidgetScript()}\n<script>\n ${\n enabledWidgets.chat || enabledWidgets.replay\n ? `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {};`\n : \"\"\n }\n ${enabledWidgets.replay ? `window.${SESSION_CONTEXT_KEY} = {};` : \"\"}\n\n ${indentAndFormat(\n wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))\n )}\n</script>`);\n\nexport const getEmailWidgetSnippetFormInitialValues = subject => ({\n emails: \"\",\n subject,\n});\n\nexport const getSortedPrefixedWidgets = widgets => {\n const sortedWidgets = widgets\n .sort()\n .map(widget => `neeto${capitalize(widget)}`);\n\n return sortedWidgets.length === 1\n ? sortedWidgets\n : t(\"neetoMolecules.widget.email.widgetList\", {\n widgets: sortedWidgets,\n });\n};\n\nexport const getWidgetDescriptions = widgets => {\n const values = Object.entries(WIDGET_DESCRIPTIONS).filter(([widget]) =>\n widgets.includes(widget)\n );\n\n return pluck(1, values);\n};\n\nexport const getEmailWidgetSnippetValidationSchema = () =>\n yup.object({\n emails: yup\n .array()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.emails.label\")),\n subject: yup\n .string()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.subject.label\")),\n });\n\nexport const getWidgetApiKeyUrl = () =>\n `api/widget/v1/api_keys/${window.globalProps.organization.subdomain}`;\n\nexport const shouldShowSwitches = () => {\n const email = globalProps.user?.email || \"\";\n if (window.globalProps.railsEnv === RAILS_ENV.production) {\n return email.toLowerCase().endsWith(\"@bigbinary.com\");\n }\n\n return true;\n};\n","import axios from \"axios\";\n\nimport { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from \"./constants\";\nimport { getWidgetApiKeyUrl } from \"./utils\";\n\nexport const queryWidgetApiKey = () =>\n axios.get(getWidgetApiKeyUrl(), { showToastr: false });\n\nexport const emailWidgetSnippet = data =>\n axios.post(EMBED_CODE_EMAIL_URL, data);\n\nexport const fetchWidgetConfiguration = () => axios.get(WIDGET_CONFIG_URL);\n\nexport const updateWidgetConfiguration = ({ id, payload }) =>\n axios.put(`${WIDGET_CONFIG_URL}/${id}`, payload);\n","import { useMutation } from \"react-query\";\n\nimport { emailWidgetSnippet } from \"./api\";\n\nexport const useEmailEmbedCode = onSuccess =>\n useMutation(emailData => emailWidgetSnippet(emailData), { onSuccess });\n","import React, { useState } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { Typography, Button, Pane, Toastr } from \"neetoui\";\nimport { Input, MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { pluck, any, assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CodeBlock from \"./CodeBlock\";\nimport { EMAIL_TYPES, FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport { useEmailEmbedCode } from \"./mutations\";\nimport {\n getEmailWidgetSnippetFormInitialValues,\n getEmailWidgetSnippetValidationSchema,\n getSampleUserIdentity,\n} from \"./utils\";\n\nconst CodeSnippet = ({\n isPaneOpen,\n onClose,\n onSent = noop,\n codeString,\n subject = \"\",\n body = \"\",\n emailType = EMAIL_TYPES.embedCode,\n enabledWidgets = {},\n}) => {\n const { t } = useTranslation();\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n const emailMutation = useEmailEmbedCode(onSent);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework.value)\n : codeString;\n\n const handleSubmit = formData => {\n if (any(({ valid }) => !valid, formData.emails)) {\n Toastr.error(t(\"neetoMolecules.widget.email.fields.emails.invalidError\"));\n\n return;\n }\n\n emailMutation.mutate({\n subject: formData.subject,\n emails: pluck(\"value\", formData.emails),\n message: body.ref?.current.innerHTML ?? body,\n snippet: codeToDisplay,\n });\n };\n\n const renderCodeBlockProps = () => {\n let props = {\n codeString: codeToDisplay,\n showCopyButton: false,\n className: \"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\",\n };\n if (emailType === EMAIL_TYPES.userIdentity) {\n props = assoc(\n \"frameworkProps\",\n { selectedFramework, setSelectedFramework },\n props\n );\n }\n\n return props;\n };\n\n return (\n <Pane isOpen={isPaneOpen} {...{ onClose }}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.widget.email.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <MultiEmailInput\n required\n label={t(\"neetoMolecules.widget.email.fields.emails.label\")}\n name=\"emails\"\n placeholder={t(\n \"neetoMolecules.widget.email.fields.emails.placeholder\"\n )}\n />\n <Input\n required\n label={t(\"neetoMolecules.widget.email.fields.subject.label\")}\n name=\"subject\"\n type=\"text\"\n />\n <Typography style=\"body2\">{body}</Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n disabled={emailMutation.isLoading}\n label={t(\"neetoMolecules.widget.email.actions.send\")}\n loading={emailMutation.isLoading}\n type=\"submit\"\n />\n <Button\n label={t(\"neetoMolecules.widget.email.actions.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Form>\n </Formik>\n </Pane>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: PropTypes.func,\n onSent: PropTypes.func,\n codeString: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n};\n\nexport default CodeSnippet;\n","import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n","import { useQuery, useQueryClient, useMutation } from \"react-query\";\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 QUERY_KEYS.apiKey,\n () => {\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(QUERY_KEYS.configuration, fetchWidgetConfiguration, {\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useUpdateConfigurations = (options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation(updateWidgetConfiguration, {\n ...options,\n onSuccess: () => queryClient.invalidateQueries(QUERY_KEYS.configuration),\n });\n};\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Switch, Tooltip } from \"neetoui\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n placement=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `neeto${capitalize(widget)}`,\n })}\n >\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onChange={() => updateSelectedWidgets(widget)}\n />\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React from \"react\";\n\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport { Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport TooltipSwitch from \"./TooltipSwitch\";\n\nimport { WIDGET_TYPES_VALUES } from \"../constants\";\n\nconst SelectionSwitches = ({\n selectedWidgets,\n updateSelectedWidgets,\n primaryApp,\n enabledClientApps,\n}) => {\n const primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp)\n ? primaryApp\n : \"\";\n\n return (\n <div className=\"mb-4 flex w-full flex-wrap items-center justify-between gap-6\">\n <div className=\"flex items-center space-x-2\">\n {isNotEmpty(primaryWidget) && (\n <TooltipSwitch\n {...{ enabledClientApps, selectedWidgets, updateSelectedWidgets }}\n widget={primaryWidget}\n />\n )}\n <Label>neeto{capitalize(primaryWidget)}</Label>\n </div>\n <div className=\"flex flex-wrap items-center gap-6 sm:justify-end\">\n {WIDGET_TYPES_VALUES.map(\n (widget, index) =>\n primaryApp !== widget && (\n <div className=\"flex items-center space-x-2\" key={index}>\n <TooltipSwitch\n {...{\n enabledClientApps,\n selectedWidgets,\n updateSelectedWidgets,\n widget,\n }}\n />\n <Label>neeto{capitalize(widget)}</Label>\n </div>\n )\n )}\n </div>\n </div>\n );\n};\n\nSelectionSwitches.propTypes = {\n selectedWidgets: PropTypes.arrayOf(PropTypes.string),\n updateSelectedWidgets: PropTypes.func,\n primaryApp: PropTypes.string,\n};\nexport default SelectionSwitches;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/react-utils/usePrevious\";\nimport { Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport ChatWidgetBody from \"./ChatWidgetBody\";\nimport CodeBlock from \"./CodeBlock\";\nimport CodeSnippet from \"./CodeSnippet\";\nimport {\n EMAIL_TYPES,\n SAMPLE_CONTEXT_CODE_STRING,\n INSTALLATION_HELP_EMAIL,\n FRAMEWORK_SELECT_OPTIONS,\n NEETO_CHAT_USER_IDENTITY_URL,\n NEETO_REPLAY_CONFIGURE_URL,\n WIDGET_TYPES,\n WIDGET_KB_HELP_URL,\n USE_NEETO_WIDGET_NPM_PAGE_URL,\n} from \"./constants\";\nimport useForceUpdate from \"./hooks/useForceUpdate\";\nimport {\n useFetchApiKey,\n useFetchConfigurations,\n useUpdateConfigurations,\n} from \"./queries\";\nimport SelectionSwitches from \"./SelectionSwitches\";\nimport {\n getSampleUserIdentity,\n getSortedPrefixedWidgets,\n getWidgetDescriptions,\n sampleConsolidatedCodeString,\n shouldShowSwitches,\n} from \"./utils\";\n\nconst EmbedCode = ({\n showSessionContext,\n showUserIdentity,\n primaryApp = \"\",\n maxWidth = \"max-w-3xl\",\n}) => {\n const [emailType, setEmailType] = useState(EMAIL_TYPES.null);\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n\n const { t } = useTranslation();\n const bodyRef = useRef();\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n forceUpdate();\n }, []);\n\n const { data: { widgetApiKey = \"\" } = {}, isLoading: isLoadingApiKey } =\n useFetchApiKey();\n\n const {\n data: { neetoWidgetTokens = [] } = {},\n isLoading: isLoadingConfigurations,\n } = useFetchConfigurations();\n\n const { mutate: updateWidgetConfiguration } = useUpdateConfigurations();\n\n const previousEmailType = usePrevious(emailType);\n\n const selectedWidgets = neetoWidgetTokens\n .filter(\n item =>\n item.enabled &&\n (shouldShowSwitches() ||\n item.clientApplicationName.toLowerCase() === primaryApp)\n )\n .map(item => item.clientApplicationName.toLowerCase());\n\n const isOnlyChatWidgetSelected =\n selectedWidgets.length === 1 && selectedWidgets[0] === WIDGET_TYPES.chat;\n\n const enabledClientApps = neetoWidgetTokens\n .filter(prop(\"clientApplicationEnabled\"))\n .map(item => item.clientApplicationName.toLowerCase());\n\n const enabledWidgets = fromPairs(\n selectedWidgets.map(widget => [widget, true])\n );\n\n const shouldShowUserIdentity =\n showUserIdentity ?? (enabledWidgets.chat || enabledWidgets.replay);\n\n const shouldShowSessionContext = showSessionContext ?? enabledWidgets.replay;\n\n const updateSelectedWidgets = widget => {\n const widgetId = neetoWidgetTokens.find(\n item => item.clientApplicationName.toLowerCase() === widget\n ).id;\n const isEnabled = !selectedWidgets.includes(widget);\n\n updateWidgetConfiguration(\n { id: widgetId, payload: { enabled: isEnabled } },\n {\n onSuccess: () => {\n const productName = `neeto${capitalize(widget)}`;\n const response = isEnabled\n ? \"neetoMolecules.widget.installation.enabled\"\n : \"neetoMolecules.widget.installation.disabled\";\n\n Toastr.success(t(response, { productName }));\n },\n }\n );\n };\n\n const getEmbedCodeString = () =>\n isNotEmpty(widgetApiKey)\n ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey)\n : \"\";\n\n const getSnippetProps = selectedEmailType => {\n switch (selectedEmailType) {\n case EMAIL_TYPES.embedCode:\n return {\n codeString: getEmbedCodeString(),\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.embedCode\",\n { widgetList: getSortedPrefixedWidgets(selectedWidgets) }\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.mainText\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n }}\n values={{\n val: getWidgetDescriptions(selectedWidgets),\n }}\n />\n <ChatWidgetBody widgets={selectedWidgets} />\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.supportText\"\n values={{ helpEmail: INSTALLATION_HELP_EMAIL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n mail: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.userIdentity:\n return {\n emailType: EMAIL_TYPES.userIdentity,\n enabledWidgets,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.userIdentity\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.userIdentity\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n values={{\n userIdentityKbUrl: enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL,\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.sessionContext:\n return {\n codeString: SAMPLE_CONTEXT_CODE_STRING,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.sessionContext\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.sessionContext\"\n values={{ sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.null:\n return previousEmailType !== EMAIL_TYPES.null\n ? getSnippetProps(previousEmailType)\n : {};\n default:\n throw new Error(t(\"neetoMolecules.widget.email.invalidType\"));\n }\n };\n\n const handleSendViaEmail = selectedEmail => {\n if (isEmpty(selectedWidgets)) {\n Toastr.error(\n t(\"neetoMolecules.widget.installation.snippet.disabledError\")\n );\n\n return;\n }\n\n setEmailType(selectedEmail);\n };\n\n const getSelectedWidgetsInstructionsKey = () => {\n if (isEmpty(selectedWidgets)) {\n return \"neetoMolecules.widget.installation.instructions.placement.noneOfThese\";\n }\n\n if (isOnlyChatWidgetSelected) {\n return \"neetoMolecules.widget.installation.instructions.placement.selectedChatWidget\";\n }\n\n return \"neetoMolecules.widget.installation.instructions.placement.selectedWidgets\";\n };\n\n const embedHelpTextTranslationComponents = {\n fontBold: <Typography component=\"span\" style=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"h-full w-full\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto mb-10 w-full flex-col items-center justify-start\">\n <div className={classnames(\"mx-auto\", maxWidth)}>\n {shouldShowSwitches() && (\n <SelectionSwitches\n {...{\n enabledClientApps,\n primaryApp,\n selectedWidgets,\n updateSelectedWidgets,\n }}\n />\n )}\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\" data-testid=\"embed-code-block\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={getEmbedCodeString()}\n sendViaEmail={() => handleSendViaEmail(EMAIL_TYPES.embedCode)}\n title={<div>{t(\"neetoMolecules.widget.title.embedCode\")}</div>}\n />\n </div>\n <div className=\"w-full\">\n <Trans\n components={embedHelpTextTranslationComponents}\n i18nKey={getSelectedWidgetsInstructionsKey()}\n values={{ widgetList: getSortedPrefixedWidgets(selectedWidgets) }}\n />\n </div>\n </div>\n {shouldShowUserIdentity ? (\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework.value\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.userIdentity\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n />\n </div>\n ) : null}\n {shouldShowSessionContext ? (\n <div className=\"w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={SAMPLE_CONTEXT_CODE_STRING}\n title={t(\"neetoMolecules.widget.title.sessionContext\")}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.sessionContext)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.sessionContext\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ) : null}\n </div>\n <CodeSnippet\n isPaneOpen={!!emailType && isNotEmpty(selectedWidgets)}\n onClose={() => setEmailType(EMAIL_TYPES.null)}\n {...getSnippetProps(emailType)}\n />\n </div>\n );\n};\n\nEmbedCode.propTypes = {\n primaryApp: PropTypes.string,\n maxWidth: PropTypes.string,\n};\n\nexport default React.memo(EmbedCode);\n","import React from \"react\";\n\nimport { Info } from \"neetoicons\";\nimport { Callout } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"react-query\";\n\nimport EmbedCode from \"./EmbedCode\";\n\nconst queryClient = new QueryClient();\n\nconst Main = props => {\n const { t } = useTranslation();\n\n const shouldRenderEmbedCode = window.globalProps.ssoEnabled;\n\n return shouldRenderEmbedCode ? (\n <QueryClientProvider client={queryClient}>\n <EmbedCode {...props} />\n </QueryClientProvider>\n ) : (\n <Callout icon={Info} style=\"info\">\n {t(\"neetoMolecules.widget.developmentInfo\")}\n </Callout>\n );\n};\n\nMain.propTypes = {\n /**\n * This specifies which is the primary widget which is shown on the left side of selection tabs.\n */\n primaryApp: PropTypes.string,\n};\n\nexport default Main;\n","import { WIDGET_TYPES } from \"./constants\";\nimport Main from \"./Main\";\n\nconst NeetoWidget = { EmbedCode: Main, WIDGET_TYPES };\n\nexport default NeetoWidget;\n"],"names":["NEETO_WIDGET_USER_IDENTITY_KEY","SESSION_CONTEXT_KEY","INSTALLATION_HELP_EMAIL","SAMPLE_CONTEXT_CODE_STRING","concat","WIDGET_TYPES","changelog","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","WIDGET_TYPES_VALUES","values","QUERY_KEYS","apiKey","configuration","DEFAULT_QUERY_STALE_TIME","EMAIL_TYPES","embedCode","userIdentity","sessionContext","RAILS_ENV","production","staging","development","NEETO_WIDGET_SCRIPT_URL","AVAILABLE_FRAMEWORK_OPTIONS","Object","freeze","rails","django","php","FRAMEWORK_SELECT_OPTIONS","label","value","SAMPLE_USER_IDENTITY_CODE_STRING","_defineProperty","WIDGET_CONFIG_URL","EMBED_CODE_EMAIL_URL","CHAT_WIDGET_KB_BASE_URL","CHANGELOG_WIDGET_KB_BASE_URL","REPLAY_WIDGET_KB_BASE_URL","NEETO_REPLAY_CONFIGURE_URL","NEETO_CHAT_USER_IDENTITY_URL","WIDGET_KB_HELP_URL","USE_NEETO_WIDGET_NPM_PAGE_URL","ChatWidgetBody","_ref","widgets","React","createElement","Fragment","includes","Trans","i18nKey","helpLink","components","p","Typography","className","style","a","href","rel","target","SyntaxHighlighter","code","language","useEffect","Prism","highlightAll","memo","CodeBlock","_ref$title","title","codeString","_ref$showCopyButton","showCopyButton","_ref$className","_ref$sendViaEmail","sendViaEmail","undefined","_ref$frameworkProps","frameworkProps","_useTranslation","useTranslation","_ref2","selectedFramework","setSelectedFramework","classnames","Select","options","onChange","Button","onClick","CopyToClipboardButton","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addChangelogOptions","wrapBlockInOnLoad","codeBlock","embedWidgetFunctionCall","enabledWidgets","cmd","filterMarkedCommands","queryString","filter","line","trim","getSampleUserIdentity","splitCodeLines","isEmailKey","isObjectStartLine","isObjectEndLine","last","isLineHidden","sampleConsolidatedCodeString","getEmailWidgetSnippetFormInitialValues","subject","emails","getSortedPrefixedWidgets","sortedWidgets","sort","widget","capitalize","getWidgetDescriptions","entries","_slicedToArray","pluck","getEmailWidgetSnippetValidationSchema","yup","object","array","required","i18next","string","getWidgetApiKeyUrl","organization","subdomain","shouldShowSwitches","_globalProps$user","email","user","toLowerCase","endsWith","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","emailData","CodeSnippet","isPaneOpen","onClose","_ref$onSent","onSent","noop","_ref$subject","_ref$body","body","_ref$emailType","emailType","_ref$enabledWidgets","_useState","useState","_useState2","emailMutation","codeToDisplay","handleSubmit","formData","_body$ref$current$inn","_body$ref","any","valid","Toastr","error","mutate","message","ref","current","innerHTML","snippet","renderCodeBlockProps","props","assoc","Pane","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Body","MultiEmailInput","name","placeholder","Input","type","Footer","disabled","isLoading","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","queryClient","useQueryClient","_objectSpread","invalidateQueries","TooltipSwitch","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","placement","content","productName","Switch","checked","SelectionSwitches","primaryApp","primaryWidget","isNotEmpty","Label","index","key","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","_ref$maxWidth","maxWidth","setEmailType","_useState3","_useState4","bodyRef","useRef","forceUpdate","_useFetchApiKey","_useFetchApiKey$data","_useFetchApiKey$data2","_useFetchApiKey$data3","isLoadingApiKey","_useFetchConfiguratio","_useFetchConfiguratio2","_useFetchConfiguratio3","_useFetchConfiguratio4","neetoWidgetTokens","isLoadingConfigurations","_useUpdateConfigurati","previousEmailType","usePrevious","item","enabled","clientApplicationName","isOnlyChatWidgetSelected","prop","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","widgetId","find","response","success","getEmbedCodeString","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","component","weight","widgetNpmLink","Link","PageLoader","_extends","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","icon","Info","NeetoWidget"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeetoWidget.js","sources":["../../src/components/NeetoWidget/constants.js","../../src/components/NeetoWidget/ChatWidgetBody.jsx","../../src/components/NeetoWidget/SyntaxHighlighter.jsx","../../src/components/NeetoWidget/CodeBlock.jsx","../../src/components/NeetoWidget/utils.js","../../src/components/NeetoWidget/api.js","../../src/components/NeetoWidget/mutations.js","../../src/components/NeetoWidget/CodeSnippet.jsx","../../src/components/NeetoWidget/hooks/useForceUpdate.js","../../src/components/NeetoWidget/queries.js","../../src/components/NeetoWidget/SelectionSwitches/TooltipSwitch.jsx","../../src/components/NeetoWidget/SelectionSwitches/index.jsx","../../src/components/NeetoWidget/EmbedCode.jsx","../../src/components/NeetoWidget/Main.jsx","../../src/components/NeetoWidget/index.js"],"sourcesContent":["import { t } from \"i18next\";\nimport { values } from \"ramda\";\n\nexport const NEETO_WIDGET_USER_IDENTITY_KEY = \"NeetoWidgetUserIdentity\";\nexport const SESSION_CONTEXT_KEY = \"NeetoReplayWidgetSessionContext\";\n\nexport const INSTALLATION_HELP_EMAIL = \"support@neeto.com\";\n\nexport const SAMPLE_CONTEXT_CODE_STRING = `window.${SESSION_CONTEXT_KEY} = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}`;\n\nexport const WIDGET_TYPES = {\n changelog: \"changelog\",\n chat: \"chat\",\n replay: \"replay\",\n};\n\nexport const WIDGET_HELP_LINKS = {\n changelog: \"https://help.neetochangelog.com/articles/installation\",\n chat: \"https://help.neetochat.com/articles/installation-using-javascript-snippet\",\n replay: \"https://help.neetoreplay.com/articles/install-widget\",\n};\n\nexport const WIDGET_DESCRIPTIONS = {\n changelog: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.changelog\"\n ),\n chat: t(\"neetoMolecules.widget.email.body.values.embedCode.description.chat\"),\n replay: t(\n \"neetoMolecules.widget.email.body.values.embedCode.description.replay\"\n ),\n};\n\nexport const WIDGET_TYPES_VALUES = values(WIDGET_TYPES);\n\nexport const QUERY_KEYS = {\n apiKey: \"neetoWidgetApiKey\",\n configuration: \"neetoWidgetConfiguration\",\n};\n\nexport const DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds\n\nexport const EMAIL_TYPES = {\n embedCode: \"embedCode\",\n userIdentity: \"userIdentity\",\n sessionContext: \"sessionContext\",\n null: \"\",\n};\n\nexport const RAILS_ENV = {\n production: \"production\",\n staging: \"staging\",\n development: \"development\",\n};\n\nexport const NEETO_WIDGET_SCRIPT_URL = {\n staging: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js\",\n production: \"https://d13nryxs46eypn.cloudfront.net/neeto-widget.js\",\n};\n\nexport const AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({\n rails: \"rails\",\n django: \"django\",\n php: \"php\",\n});\n\nexport const FRAMEWORK_SELECT_OPTIONS = [\n { label: \"Ruby(Rails)\", value: AVAILABLE_FRAMEWORK_OPTIONS.rails },\n { label: \"Python(Django)\", value: AVAILABLE_FRAMEWORK_OPTIONS.django },\n { label: \"PHP\", value: AVAILABLE_FRAMEWORK_OPTIONS.php },\n];\n\nexport const SAMPLE_USER_IDENTITY_CODE_STRING = {\n [AVAILABLE_FRAMEWORK_OPTIONS.rails]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"<%= current_user.id %>\", // User identifier\"\n name: \"<%= current_user.name %>\", // Full name\n email: \"<%= current_user.email %>\", // Email address\n started_at: \"<%= current_user.created_at.to_i %>\" // Signup date as a Unix timestamp ,\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.django]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: \"{{ request.user.id|escapejs }}\", // User identifier\n name: \"{{ request.user.name|escapejs }}\", // Full name\n email: \"{{ request.user.email|escapejs }}\", // Email address\n started_at: \"{{ request.user.created_at|date:'U' }}\" // Signup date as a Unix timestamp\"\n}`,\n [AVAILABLE_FRAMEWORK_OPTIONS.php]: `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {\n user_identifier: <?php echo json_encode($current_user->id) ?>, // User identifier\n name: <?php echo json_encode($current_user->name) ?>, // Full name\n email: <?php echo json_encode($current_user->email) ?>, // Email address\n started_at: <?php echo strtotime($current_user->created_at) ?> // Signup date as a Unix timestamp\" ,\n}`,\n};\nexport const WIDGET_CONFIG_URL = \"/api/widget/v1/neeto_widget_tokens\";\nexport const EMBED_CODE_EMAIL_URL = \"/api/widget/v1/email_snippets\";\nexport const CHAT_WIDGET_KB_BASE_URL = \"https://help.neetochat.com\";\nexport const CHANGELOG_WIDGET_KB_BASE_URL = \"https://help.neetochangelog.com\";\nexport const REPLAY_WIDGET_KB_BASE_URL = \"https://help.neetoreplay.com\";\nexport const NEETO_REPLAY_CONFIGURE_URL = `${REPLAY_WIDGET_KB_BASE_URL}/articles/configure-widget`;\nexport const NEETO_CHAT_USER_IDENTITY_URL = `${CHAT_WIDGET_KB_BASE_URL}/articles/info-about-logged-in-users`;\nexport const WIDGET_KB_HELP_URL = {\n changelog: `${CHANGELOG_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n chat: `${CHAT_WIDGET_KB_BASE_URL}/categories/installation`,\n replay: `${REPLAY_WIDGET_KB_BASE_URL}/categories/widget-installation-usage`,\n};\nexport const USE_NEETO_WIDGET_NPM_PAGE_URL =\n \"https://www.npmjs.com/package/@bigbinary/react-use-neeto-widget\";\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { WIDGET_HELP_LINKS, WIDGET_TYPES } from \"./constants\";\n\nconst ChatWidgetBody = ({ widgets }) => (\n <>\n {widgets.includes(WIDGET_TYPES.changelog) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.changelogHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.changelog }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.changelog}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.chat) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.chatHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.chat }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.chat}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n {widgets.includes(WIDGET_TYPES.replay) && (\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.replayHelp\"\n values={{ helpLink: WIDGET_HELP_LINKS.replay }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n a: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_HELP_LINKS.replay}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n )}\n </>\n);\n\nexport default ChatWidgetBody;\n","import React, { useEffect } from \"react\";\n\nimport Prism from \"prismjs\";\nimport \"prismjs/themes/prism-tomorrow.css\";\n\nconst SyntaxHighlighter = ({ className, code, language }) => {\n useEffect(() => {\n Prism.highlightAll();\n }, [code]);\n\n return (\n <pre className={className}>\n <code className={`language-${language}`}>{code}</code>\n </pre>\n );\n};\n\nexport default React.memo(SyntaxHighlighter);\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Button, Select, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport SyntaxHighlighter from \"./SyntaxHighlighter\";\n\nconst CodeBlock = ({\n title = (\n <div>\n <Trans i18nKey=\"neetoMolecules.codeblock.codeSnippet\" />\n </div>\n ),\n codeString,\n showCopyButton = true,\n className = \"\",\n sendViaEmail = undefined,\n frameworkProps = {},\n}) => {\n const { t } = useTranslation();\n const { selectedFramework, setSelectedFramework } = frameworkProps ?? {};\n\n return (\n <div className={classnames([\"relative\", className])}>\n <div className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg flex w-full flex-wrap items-center justify-between gap-2 rounded-b-none p-3\">\n {title && (\n <Typography\n className=\"m-0 flex-shrink-0\"\n data-cy=\"code-block-title-text\"\n style=\"h4\"\n >\n {title}\n </Typography>\n )}\n {selectedFramework && (\n <Select\n className=\"w-40\"\n data-testid=\"framework-select\"\n options={FRAMEWORK_SELECT_OPTIONS}\n value={selectedFramework}\n onChange={setSelectedFramework}\n />\n )}\n <div className=\"ml-auto flex flex-shrink-0 items-center justify-end gap-2\">\n {sendViaEmail ? (\n <Button\n style=\"text\"\n label={t(\n \"neetoMolecules.widget.installation.snippet.sendViaEmail\"\n )}\n onClick={sendViaEmail}\n />\n ) : null}\n {showCopyButton && (\n <CopyToClipboardButton\n label={t(\"neetoMolecules.widget.installation.snippet.copy\")}\n style=\"primary\"\n value={codeString}\n />\n )}\n </div>\n </div>\n <SyntaxHighlighter\n className=\"neeto-ui-bg-gray-800 neeto-ui-rounded-lg m-0 rounded-t-none\"\n code={codeString}\n language=\"javascript\"\n />\n </div>\n );\n};\n\nCodeBlock.propTypes = {\n title: PropTypes.object,\n codeString: PropTypes.string,\n showCopyButton: PropTypes.bool,\n className: PropTypes.string,\n sendViaEmail: PropTypes.func,\n frameworkProps: PropTypes.object,\n};\n\nexport default CodeBlock;\n","import i18next, { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { identity, last, pluck } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport {\n NEETO_WIDGET_USER_IDENTITY_KEY,\n SESSION_CONTEXT_KEY,\n RAILS_ENV,\n NEETO_WIDGET_SCRIPT_URL,\n SAMPLE_USER_IDENTITY_CODE_STRING,\n WIDGET_DESCRIPTIONS,\n} from \"./constants\";\n\nconst buildEmbedWidgetScript = () => {\n const widgetScriptUrl =\n window.globalProps.railsEnv === RAILS_ENV.production\n ? NEETO_WIDGET_SCRIPT_URL.production\n : NEETO_WIDGET_SCRIPT_URL.staging;\n\n return `<script src=\"${widgetScriptUrl}\"></script>`;\n};\n\nconst indentAndFormat = (str, formatter = identity) =>\n str.split(\"\\n\").map(formatter).join(\"\\n \");\n\nconst getCommentedCommand = (command, isEnabled) =>\n isEnabled ? command : `/// ${command}`;\n\nconst embedWidgetEnvironment = () => {\n switch (window.globalProps.railsEnv) {\n case RAILS_ENV.production:\n return \"\";\n case RAILS_ENV.development:\n return `environment: \"${RAILS_ENV.development}\",`;\n case RAILS_ENV.staging:\n return `environment: \"${RAILS_ENV.staging}\",`;\n default:\n return \"/* Unidentified RAILS_ENV, */\";\n }\n};\n\nconst embedWidgetApiKey = apiKey => `apiKey: \"${apiKey}\",`;\n\nconst addChangelogOptions = () => `neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},`;\n\nconst wrapBlockInOnLoad = codeBlock =>\n `window.addEventListener(\"load\", () => ${codeBlock});`;\n\nconst embedWidgetFunctionCall = (enabledWidgets, apiKey) => `embedNeetoWidget({\n ${embedWidgetEnvironment()}\n ${indentAndFormat(embedWidgetApiKey(apiKey))}\n ${indentAndFormat(addChangelogOptions(), cmd =>\n getCommentedCommand(cmd, enabledWidgets.changelog)\n )}\n})`;\n\nconst filterMarkedCommands = queryString =>\n queryString\n .split(\"\\n\")\n .filter(line => !line.includes(\"///\") && line.trim())\n .join(\"\\n\");\n\nexport const getSampleUserIdentity = (enabledWidgets, selectedFramework) => {\n const splitCodeLines =\n SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split(\"\\n\");\n\n return filterMarkedCommands(\n splitCodeLines\n .map(cmd => {\n const isEmailKey = cmd.includes(\"email\");\n const isObjectStartLine = cmd === splitCodeLines[0];\n const isObjectEndLine = cmd === last(splitCodeLines);\n const isLineHidden =\n !isEmailKey && !isObjectStartLine && !isObjectEndLine;\n if (\n (!enabledWidgets.chat && isLineHidden) ||\n (!enabledWidgets.chat && !enabledWidgets.replay)\n ) {\n return null;\n }\n\n return cmd;\n })\n .join(\"\\n\")\n );\n};\n\nexport const sampleConsolidatedCodeString = (enabledWidgets, apiKey) =>\n filterMarkedCommands(`${buildEmbedWidgetScript()}\n<script>\n ${\n enabledWidgets.chat || enabledWidgets.replay\n ? `window.${NEETO_WIDGET_USER_IDENTITY_KEY} = {};`\n : \"\"\n }\n ${enabledWidgets.replay ? `window.${SESSION_CONTEXT_KEY} = {};` : \"\"}\n\n ${indentAndFormat(\n wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))\n )}\n</script>`);\n\nexport const getEmailWidgetSnippetFormInitialValues = subject => ({\n emails: \"\",\n subject,\n});\n\nexport const getSortedPrefixedWidgets = widgets => {\n const sortedWidgets = widgets\n .sort()\n .map(widget => `neeto${capitalize(widget)}`);\n\n return sortedWidgets.length === 1\n ? sortedWidgets\n : t(\"neetoMolecules.widget.email.widgetList\", {\n widgets: sortedWidgets,\n });\n};\n\nexport const getWidgetDescriptions = widgets => {\n const values = Object.entries(WIDGET_DESCRIPTIONS).filter(([widget]) =>\n widgets.includes(widget)\n );\n\n return pluck(1, values);\n};\n\nexport const getEmailWidgetSnippetValidationSchema = () =>\n yup.object({\n emails: yup\n .array()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.emails.label\")),\n subject: yup\n .string()\n .required()\n .label(i18next.t(\"neetoMolecules.widget.email.fields.subject.label\")),\n });\n\nexport const getWidgetApiKeyUrl = () =>\n `api/widget/v1/api_keys/${window.globalProps.organization.subdomain}`;\n\nexport const shouldShowSwitches = () => {\n const email = globalProps.user?.email || \"\";\n if (window.globalProps.railsEnv === RAILS_ENV.production) {\n return email.toLowerCase().endsWith(\"@bigbinary.com\");\n }\n\n return true;\n};\n","import axios from \"axios\";\n\nimport { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from \"./constants\";\nimport { getWidgetApiKeyUrl } from \"./utils\";\n\nexport const queryWidgetApiKey = () =>\n axios.get(getWidgetApiKeyUrl(), { showToastr: false });\n\nexport const emailWidgetSnippet = data =>\n axios.post(EMBED_CODE_EMAIL_URL, data);\n\nexport const fetchWidgetConfiguration = () => axios.get(WIDGET_CONFIG_URL);\n\nexport const updateWidgetConfiguration = ({ id, payload }) =>\n axios.put(`${WIDGET_CONFIG_URL}/${id}`, payload);\n","import { useMutation } from \"react-query\";\n\nimport { emailWidgetSnippet } from \"./api\";\n\nexport const useEmailEmbedCode = onSuccess =>\n useMutation(emailData => emailWidgetSnippet(emailData), { onSuccess });\n","import React, { useState } from \"react\";\n\nimport { Formik, Form } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { Typography, Button, Pane, Toastr } from \"neetoui\";\nimport { Input, MultiEmailInput } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { pluck, any, assoc } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CodeBlock from \"./CodeBlock\";\nimport { EMAIL_TYPES, FRAMEWORK_SELECT_OPTIONS } from \"./constants\";\nimport { useEmailEmbedCode } from \"./mutations\";\nimport {\n getEmailWidgetSnippetFormInitialValues,\n getEmailWidgetSnippetValidationSchema,\n getSampleUserIdentity,\n} from \"./utils\";\n\nconst CodeSnippet = ({\n isPaneOpen,\n onClose,\n onSent = noop,\n codeString,\n subject = \"\",\n body = \"\",\n emailType = EMAIL_TYPES.embedCode,\n enabledWidgets = {},\n}) => {\n const { t } = useTranslation();\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n const emailMutation = useEmailEmbedCode(onSent);\n\n const codeToDisplay =\n emailType === EMAIL_TYPES.userIdentity\n ? getSampleUserIdentity(enabledWidgets, selectedFramework.value)\n : codeString;\n\n const handleSubmit = formData => {\n if (any(({ valid }) => !valid, formData.emails)) {\n Toastr.error(t(\"neetoMolecules.widget.email.fields.emails.invalidError\"));\n\n return;\n }\n\n emailMutation.mutate({\n subject: formData.subject,\n emails: pluck(\"value\", formData.emails),\n message: body.ref?.current.innerHTML ?? body,\n snippet: codeToDisplay,\n });\n };\n\n const renderCodeBlockProps = () => {\n let props = {\n codeString: codeToDisplay,\n showCopyButton: false,\n className: \"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\",\n };\n if (emailType === EMAIL_TYPES.userIdentity) {\n props = assoc(\n \"frameworkProps\",\n { selectedFramework, setSelectedFramework },\n props\n );\n }\n\n return props;\n };\n\n return (\n <Pane isOpen={isPaneOpen} {...{ onClose }}>\n <Formik\n initialValues={getEmailWidgetSnippetFormInitialValues(subject)}\n validationSchema={getEmailWidgetSnippetValidationSchema()}\n onSubmit={handleSubmit}\n >\n <Form>\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.widget.email.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n <div className=\"w-full space-y-4\">\n <MultiEmailInput\n required\n label={t(\"neetoMolecules.widget.email.fields.emails.label\")}\n name=\"emails\"\n placeholder={t(\n \"neetoMolecules.widget.email.fields.emails.placeholder\"\n )}\n />\n <Input\n required\n label={t(\"neetoMolecules.widget.email.fields.subject.label\")}\n name=\"subject\"\n type=\"text\"\n />\n <Typography style=\"body2\">{body}</Typography>\n <CodeBlock {...renderCodeBlockProps()} />\n </div>\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n <Button\n disabled={emailMutation.isLoading}\n label={t(\"neetoMolecules.widget.email.actions.send\")}\n loading={emailMutation.isLoading}\n type=\"submit\"\n />\n <Button\n label={t(\"neetoMolecules.widget.email.actions.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </Form>\n </Formik>\n </Pane>\n );\n};\n\nCodeSnippet.propTypes = {\n isPaneOpen: PropTypes.bool,\n onClose: PropTypes.func,\n onSent: PropTypes.func,\n codeString: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n};\n\nexport default CodeSnippet;\n","import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n","import { useQuery, useQueryClient, useMutation } from \"react-query\";\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 QUERY_KEYS.apiKey,\n () => {\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(QUERY_KEYS.configuration, fetchWidgetConfiguration, {\n staleTime: DEFAULT_QUERY_STALE_TIME,\n });\n\nexport const useUpdateConfigurations = (options = {}) => {\n const queryClient = useQueryClient();\n\n return useMutation(updateWidgetConfiguration, {\n ...options,\n onSuccess: () => queryClient.invalidateQueries(QUERY_KEYS.configuration),\n });\n};\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Switch, Tooltip } from \"neetoui\";\n\nconst TooltipSwitch = withT(\n ({\n t,\n enabledClientApps,\n widget,\n selectedWidgets,\n updateSelectedWidgets,\n }) => (\n <Tooltip\n disabled={enabledClientApps.includes(widget)}\n placement=\"right\"\n content={t(\"neetoMolecules.widget.tooltips.productIsDisabled\", {\n productName: `neeto${capitalize(widget)}`,\n })}\n >\n <Switch\n checked={selectedWidgets.includes(widget)}\n disabled={!enabledClientApps.includes(widget)}\n onChange={() => updateSelectedWidgets(widget)}\n />\n </Tooltip>\n )\n);\n\nexport default TooltipSwitch;\n","import React from \"react\";\n\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport { Label } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport TooltipSwitch from \"./TooltipSwitch\";\n\nimport { WIDGET_TYPES_VALUES } from \"../constants\";\n\nconst SelectionSwitches = ({\n selectedWidgets,\n updateSelectedWidgets,\n primaryApp,\n enabledClientApps,\n}) => {\n const primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp)\n ? primaryApp\n : \"\";\n\n return (\n <div className=\"mb-4 flex w-full flex-wrap items-center justify-between gap-6\">\n <div className=\"flex items-center space-x-2\">\n {isNotEmpty(primaryWidget) && (\n <TooltipSwitch\n {...{ enabledClientApps, selectedWidgets, updateSelectedWidgets }}\n widget={primaryWidget}\n />\n )}\n <Label>neeto{capitalize(primaryWidget)}</Label>\n </div>\n <div className=\"flex flex-wrap items-center gap-6 sm:justify-end\">\n {WIDGET_TYPES_VALUES.map(\n (widget, index) =>\n primaryApp !== widget && (\n <div className=\"flex items-center space-x-2\" key={index}>\n <TooltipSwitch\n {...{\n enabledClientApps,\n selectedWidgets,\n updateSelectedWidgets,\n widget,\n }}\n />\n <Label>neeto{capitalize(widget)}</Label>\n </div>\n )\n )}\n </div>\n </div>\n );\n};\n\nSelectionSwitches.propTypes = {\n selectedWidgets: PropTypes.arrayOf(PropTypes.string),\n updateSelectedWidgets: PropTypes.func,\n primaryApp: PropTypes.string,\n};\nexport default SelectionSwitches;\n","import React, { useState, useRef, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { capitalize, isNotEmpty } from \"neetocist\";\nimport usePrevious from \"neetocommons/react-utils/usePrevious\";\nimport { Toastr, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { fromPairs, isEmpty, prop } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport ChatWidgetBody from \"./ChatWidgetBody\";\nimport CodeBlock from \"./CodeBlock\";\nimport CodeSnippet from \"./CodeSnippet\";\nimport {\n EMAIL_TYPES,\n SAMPLE_CONTEXT_CODE_STRING,\n INSTALLATION_HELP_EMAIL,\n FRAMEWORK_SELECT_OPTIONS,\n NEETO_CHAT_USER_IDENTITY_URL,\n NEETO_REPLAY_CONFIGURE_URL,\n WIDGET_TYPES,\n WIDGET_KB_HELP_URL,\n USE_NEETO_WIDGET_NPM_PAGE_URL,\n} from \"./constants\";\nimport useForceUpdate from \"./hooks/useForceUpdate\";\nimport {\n useFetchApiKey,\n useFetchConfigurations,\n useUpdateConfigurations,\n} from \"./queries\";\nimport SelectionSwitches from \"./SelectionSwitches\";\nimport {\n getSampleUserIdentity,\n getSortedPrefixedWidgets,\n getWidgetDescriptions,\n sampleConsolidatedCodeString,\n shouldShowSwitches,\n} from \"./utils\";\n\nconst EmbedCode = ({\n showSessionContext,\n showUserIdentity,\n primaryApp = \"\",\n maxWidth = \"max-w-3xl\",\n}) => {\n const [emailType, setEmailType] = useState(EMAIL_TYPES.null);\n const [selectedFramework, setSelectedFramework] = useState(\n FRAMEWORK_SELECT_OPTIONS[0]\n );\n\n const { t } = useTranslation();\n const bodyRef = useRef();\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n forceUpdate();\n }, []);\n\n const { data: { widgetApiKey = \"\" } = {}, isLoading: isLoadingApiKey } =\n useFetchApiKey();\n\n const {\n data: { neetoWidgetTokens = [] } = {},\n isLoading: isLoadingConfigurations,\n } = useFetchConfigurations();\n\n const { mutate: updateWidgetConfiguration } = useUpdateConfigurations();\n\n const previousEmailType = usePrevious(emailType);\n\n const selectedWidgets = neetoWidgetTokens\n .filter(\n item =>\n item.enabled &&\n (shouldShowSwitches() ||\n item.clientApplicationName.toLowerCase() === primaryApp)\n )\n .map(item => item.clientApplicationName.toLowerCase());\n\n const isOnlyChatWidgetSelected =\n selectedWidgets.length === 1 && selectedWidgets[0] === WIDGET_TYPES.chat;\n\n const enabledClientApps = neetoWidgetTokens\n .filter(prop(\"clientApplicationEnabled\"))\n .map(item => item.clientApplicationName.toLowerCase());\n\n const enabledWidgets = fromPairs(\n selectedWidgets.map(widget => [widget, true])\n );\n\n const shouldShowUserIdentity =\n showUserIdentity ?? (enabledWidgets.chat || enabledWidgets.replay);\n\n const shouldShowSessionContext = showSessionContext ?? enabledWidgets.replay;\n\n const updateSelectedWidgets = widget => {\n const widgetId = neetoWidgetTokens.find(\n item => item.clientApplicationName.toLowerCase() === widget\n ).id;\n const isEnabled = !selectedWidgets.includes(widget);\n\n updateWidgetConfiguration(\n { id: widgetId, payload: { enabled: isEnabled } },\n {\n onSuccess: () => {\n const productName = `neeto${capitalize(widget)}`;\n const response = isEnabled\n ? \"neetoMolecules.widget.installation.enabled\"\n : \"neetoMolecules.widget.installation.disabled\";\n\n Toastr.success(t(response, { productName }));\n },\n }\n );\n };\n\n const getEmbedCodeString = () =>\n isNotEmpty(widgetApiKey)\n ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey)\n : \"\";\n\n const getSnippetProps = selectedEmailType => {\n switch (selectedEmailType) {\n case EMAIL_TYPES.embedCode:\n return {\n codeString: getEmbedCodeString(),\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.embedCode\",\n { widgetList: getSortedPrefixedWidgets(selectedWidgets) }\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.mainText\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n }}\n values={{\n val: getWidgetDescriptions(selectedWidgets),\n }}\n />\n <ChatWidgetBody widgets={selectedWidgets} />\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.embedCode.supportText\"\n values={{ helpEmail: INSTALLATION_HELP_EMAIL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n mail: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={`mailto:${INSTALLATION_HELP_EMAIL}`}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.userIdentity:\n return {\n emailType: EMAIL_TYPES.userIdentity,\n enabledWidgets,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.userIdentity\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.userIdentity\"\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n values={{\n userIdentityKbUrl: enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL,\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.sessionContext:\n return {\n codeString: SAMPLE_CONTEXT_CODE_STRING,\n subject: t(\n \"neetoMolecules.widget.email.fields.subject.values.sessionContext\"\n ),\n body: (\n <div ref={bodyRef}>\n <Trans\n i18nKey=\"neetoMolecules.widget.email.body.values.sessionContext\"\n values={{ sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL }}\n components={{\n p: <Typography className=\"mb-2\" style=\"body2\" />,\n configureLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ),\n };\n case EMAIL_TYPES.null:\n return previousEmailType !== EMAIL_TYPES.null\n ? getSnippetProps(previousEmailType)\n : {};\n default:\n throw new Error(t(\"neetoMolecules.widget.email.invalidType\"));\n }\n };\n\n const handleSendViaEmail = selectedEmail => {\n if (isEmpty(selectedWidgets)) {\n Toastr.error(\n t(\"neetoMolecules.widget.installation.snippet.disabledError\")\n );\n\n return;\n }\n\n setEmailType(selectedEmail);\n };\n\n const getSelectedWidgetsInstructionsKey = () => {\n if (isEmpty(selectedWidgets)) {\n return \"neetoMolecules.widget.installation.instructions.placement.noneOfThese\";\n }\n\n if (isOnlyChatWidgetSelected) {\n return \"neetoMolecules.widget.installation.instructions.placement.selectedChatWidget\";\n }\n\n return \"neetoMolecules.widget.installation.instructions.placement.selectedWidgets\";\n };\n\n const embedHelpTextTranslationComponents = {\n fontBold: <Typography component=\"span\" style=\"body2\" weight=\"semibold\" />,\n widgetNpmLink: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={USE_NEETO_WIDGET_NPM_PAGE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={WIDGET_KB_HELP_URL[primaryApp]}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n };\n\n if (isLoadingApiKey || isLoadingConfigurations) {\n return (\n <div className=\"h-full w-full\">\n <PageLoader />\n </div>\n );\n }\n\n return (\n <div className=\"mx-auto mb-10 w-full flex-col items-center justify-start\">\n <div className={classnames(\"mx-auto\", maxWidth)}>\n {shouldShowSwitches() && (\n <SelectionSwitches\n {...{\n enabledClientApps,\n primaryApp,\n selectedWidgets,\n updateSelectedWidgets,\n }}\n />\n )}\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\" data-testid=\"embed-code-block\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={getEmbedCodeString()}\n sendViaEmail={() => handleSendViaEmail(EMAIL_TYPES.embedCode)}\n title={<div>{t(\"neetoMolecules.widget.title.embedCode\")}</div>}\n />\n </div>\n <div className=\"w-full\">\n <Trans\n components={embedHelpTextTranslationComponents}\n i18nKey={getSelectedWidgetsInstructionsKey()}\n values={{ widgetList: getSortedPrefixedWidgets(selectedWidgets) }}\n />\n </div>\n </div>\n {shouldShowUserIdentity ? (\n <div className=\"mb-8 w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n frameworkProps={{ selectedFramework, setSelectedFramework }}\n title={t(\"neetoMolecules.widget.title.userIdentity\")}\n codeString={getSampleUserIdentity(\n enabledWidgets,\n selectedFramework.value\n )}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.userIdentity)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.userIdentity\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n rel=\"noreferrer\"\n target=\"_blank\"\n href={\n enabledWidgets.chat\n ? NEETO_CHAT_USER_IDENTITY_URL\n : NEETO_REPLAY_CONFIGURE_URL\n }\n />\n ),\n }}\n />\n </div>\n ) : null}\n {shouldShowSessionContext ? (\n <div className=\"w-full flex-grow flex-col items-center justify-start\">\n <div className=\"mx-auto mb-2 w-full\">\n <CodeBlock\n className=\"neeto-ui-bg-primary-100 neeto-ui-rounded-lg\"\n codeString={SAMPLE_CONTEXT_CODE_STRING}\n title={t(\"neetoMolecules.widget.title.sessionContext\")}\n sendViaEmail={() =>\n handleSendViaEmail(EMAIL_TYPES.sessionContext)\n }\n />\n </div>\n <Trans\n i18nKey=\"neetoMolecules.widget.installation.instructions.sessionContext\"\n components={{\n p: <Typography style=\"body2\" />,\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={NEETO_REPLAY_CONFIGURE_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n ) : null}\n </div>\n <CodeSnippet\n isPaneOpen={!!emailType && isNotEmpty(selectedWidgets)}\n onClose={() => setEmailType(EMAIL_TYPES.null)}\n {...getSnippetProps(emailType)}\n />\n </div>\n );\n};\n\nEmbedCode.propTypes = {\n primaryApp: PropTypes.string,\n maxWidth: PropTypes.string,\n};\n\nexport default React.memo(EmbedCode);\n","import React from \"react\";\n\nimport { Info } from \"neetoicons\";\nimport { Callout } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\nimport { QueryClient, QueryClientProvider } from \"react-query\";\n\nimport EmbedCode from \"./EmbedCode\";\n\nconst queryClient = new QueryClient();\n\nconst Main = props => {\n const { t } = useTranslation();\n\n const shouldRenderEmbedCode = window.globalProps.ssoEnabled;\n\n return shouldRenderEmbedCode ? (\n <QueryClientProvider client={queryClient}>\n <EmbedCode {...props} />\n </QueryClientProvider>\n ) : (\n <Callout icon={Info} style=\"info\">\n {t(\"neetoMolecules.widget.developmentInfo\")}\n </Callout>\n );\n};\n\nMain.propTypes = {\n /**\n * This specifies which is the primary widget which is shown on the left side of selection tabs.\n */\n primaryApp: PropTypes.string,\n};\n\nexport default Main;\n","import { WIDGET_TYPES } from \"./constants\";\nimport Main from \"./Main\";\n\nconst NeetoWidget = { EmbedCode: Main, WIDGET_TYPES };\n\nexport default NeetoWidget;\n"],"names":["NEETO_WIDGET_USER_IDENTITY_KEY","SESSION_CONTEXT_KEY","INSTALLATION_HELP_EMAIL","SAMPLE_CONTEXT_CODE_STRING","concat","WIDGET_TYPES","changelog","chat","replay","WIDGET_HELP_LINKS","WIDGET_DESCRIPTIONS","t","WIDGET_TYPES_VALUES","values","QUERY_KEYS","apiKey","configuration","DEFAULT_QUERY_STALE_TIME","EMAIL_TYPES","embedCode","userIdentity","sessionContext","RAILS_ENV","production","staging","development","NEETO_WIDGET_SCRIPT_URL","AVAILABLE_FRAMEWORK_OPTIONS","Object","freeze","rails","django","php","FRAMEWORK_SELECT_OPTIONS","label","value","SAMPLE_USER_IDENTITY_CODE_STRING","_defineProperty","WIDGET_CONFIG_URL","EMBED_CODE_EMAIL_URL","CHAT_WIDGET_KB_BASE_URL","CHANGELOG_WIDGET_KB_BASE_URL","REPLAY_WIDGET_KB_BASE_URL","NEETO_REPLAY_CONFIGURE_URL","NEETO_CHAT_USER_IDENTITY_URL","WIDGET_KB_HELP_URL","USE_NEETO_WIDGET_NPM_PAGE_URL","ChatWidgetBody","_ref","widgets","React","createElement","Fragment","includes","Trans","i18nKey","helpLink","components","p","Typography","className","style","a","href","rel","target","SyntaxHighlighter","code","language","useEffect","Prism","highlightAll","memo","CodeBlock","_ref$title","title","codeString","_ref$showCopyButton","showCopyButton","_ref$className","_ref$sendViaEmail","sendViaEmail","undefined","_ref$frameworkProps","frameworkProps","_useTranslation","useTranslation","_ref2","selectedFramework","setSelectedFramework","classnames","Select","options","onChange","Button","onClick","CopyToClipboardButton","buildEmbedWidgetScript","widgetScriptUrl","window","globalProps","railsEnv","indentAndFormat","str","formatter","arguments","length","identity","split","map","join","getCommentedCommand","command","isEnabled","embedWidgetEnvironment","embedWidgetApiKey","addChangelogOptions","wrapBlockInOnLoad","codeBlock","embedWidgetFunctionCall","enabledWidgets","cmd","filterMarkedCommands","queryString","filter","line","trim","getSampleUserIdentity","splitCodeLines","isEmailKey","isObjectStartLine","isObjectEndLine","last","isLineHidden","sampleConsolidatedCodeString","getEmailWidgetSnippetFormInitialValues","subject","emails","getSortedPrefixedWidgets","sortedWidgets","sort","widget","capitalize","getWidgetDescriptions","entries","_slicedToArray","pluck","getEmailWidgetSnippetValidationSchema","yup","object","array","required","i18next","string","getWidgetApiKeyUrl","organization","subdomain","shouldShowSwitches","_globalProps$user","email","user","toLowerCase","endsWith","queryWidgetApiKey","axios","get","showToastr","emailWidgetSnippet","data","post","fetchWidgetConfiguration","updateWidgetConfiguration","id","payload","put","useEmailEmbedCode","onSuccess","useMutation","emailData","CodeSnippet","isPaneOpen","onClose","_ref$onSent","onSent","noop","_ref$subject","_ref$body","body","_ref$emailType","emailType","_ref$enabledWidgets","_useState","useState","_useState2","emailMutation","codeToDisplay","handleSubmit","formData","_body$ref$current$inn","_body$ref","any","valid","Toastr","error","mutate","message","ref","current","innerHTML","snippet","renderCodeBlockProps","props","assoc","Pane","isOpen","Formik","initialValues","validationSchema","onSubmit","Form","Header","Body","MultiEmailInput","name","placeholder","Input","type","Footer","disabled","isLoading","loading","useForceUpdate","setValue","useFetchApiKey","useQuery","ssoEnabled","Promise","resolve","widgetApiKey","staleTime","useFetchConfigurations","useUpdateConfigurations","queryClient","useQueryClient","_objectSpread","invalidateQueries","TooltipSwitch","withT","enabledClientApps","selectedWidgets","updateSelectedWidgets","Tooltip","placement","content","productName","Switch","checked","SelectionSwitches","primaryApp","primaryWidget","isNotEmpty","Label","index","key","EmbedCode","showSessionContext","showUserIdentity","_ref$primaryApp","_ref$maxWidth","maxWidth","setEmailType","_useState3","_useState4","bodyRef","useRef","forceUpdate","_useFetchApiKey","_useFetchApiKey$data","_useFetchApiKey$data2","_useFetchApiKey$data3","isLoadingApiKey","_useFetchConfiguratio","_useFetchConfiguratio2","_useFetchConfiguratio3","_useFetchConfiguratio4","neetoWidgetTokens","isLoadingConfigurations","_useUpdateConfigurati","previousEmailType","usePrevious","item","enabled","clientApplicationName","isOnlyChatWidgetSelected","prop","fromPairs","shouldShowUserIdentity","shouldShowSessionContext","widgetId","find","response","success","getEmbedCodeString","getSnippetProps","selectedEmailType","widgetList","val","helpEmail","mail","configureLink","userIdentityKbUrl","sessionContextKbUrl","Error","handleSendViaEmail","selectedEmail","isEmpty","getSelectedWidgetsInstructionsKey","embedHelpTextTranslationComponents","fontBold","component","weight","widgetNpmLink","Link","PageLoader","_extends","QueryClient","Main","shouldRenderEmbedCode","QueryClientProvider","client","Callout","icon","Info","NeetoWidget"],"mappings":"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"}
|