@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.
Files changed (224) hide show
  1. package/dist/BrowserSupport.js +3 -3
  2. package/dist/Builder.js +4 -4
  3. package/dist/CalendarView.js +5 -5
  4. package/dist/{Chevron-c64ff676.js → Chevron-be0c2de2.js} +4 -4
  5. package/dist/{Chevron-c64ff676.js.map → Chevron-be0c2de2.js.map} +1 -1
  6. package/dist/Codeblock.js +4 -4
  7. package/dist/Columns.js +5 -5
  8. package/dist/ConfigurePageSidebar.js +5 -5
  9. package/dist/CopyToClipboardButton.js +4 -4
  10. package/dist/Currency.js +2 -2
  11. package/dist/CustomDomain.js +5 -5
  12. package/dist/CustomDomainDashboard.js +6 -6
  13. package/dist/DateFormat.js +1 -1
  14. package/dist/DateRangeFilter.js +2 -2
  15. package/dist/DeleteArchiveModal.js +1 -1
  16. package/dist/DocumentEditor.js +3 -3
  17. package/dist/DynamicVariables.js +3 -3
  18. package/dist/EmailForm.js +5 -5
  19. package/dist/EmojiPicker.js +2 -2
  20. package/dist/EmojiReactions.js +1 -1
  21. package/dist/ErrorPage.js +1 -1
  22. package/dist/FloatingActionMenu.js +5 -5
  23. package/dist/Header.js +4 -4
  24. package/dist/HelpPopover.js +2 -2
  25. package/dist/IconPicker.js +3 -3
  26. package/dist/ImageWithFallback.js +4 -4
  27. package/dist/InlineInput.js +8 -7
  28. package/dist/InlineInput.js.map +1 -1
  29. package/dist/Insights.js +3 -3
  30. package/dist/IntegrationCard.js +3 -3
  31. package/dist/IntegrationDisconnectAlert.js +2 -2
  32. package/dist/IpRestriction.js +3 -3
  33. package/dist/KeyboardShortcuts.js +2 -2
  34. package/dist/LoginPage.js +7 -6
  35. package/dist/LoginPage.js.map +1 -1
  36. package/dist/MadeWith.js +2 -2
  37. package/dist/MenuBar.js +3 -3
  38. package/dist/Metadata.js +1 -1
  39. package/dist/MoreDropdown.js +3 -3
  40. package/dist/NavigationHeader.js +5 -5
  41. package/dist/NeetoWidget.js +4 -4
  42. package/dist/Onboarding.js +2 -2
  43. package/dist/OptionFields.js +4 -4
  44. package/dist/PageLoader.js +2 -2
  45. package/dist/PhoneNumber.js +4 -4
  46. package/dist/ProductEmbed.js +5 -5
  47. package/dist/PublishBlock.js +2 -2
  48. package/dist/Rename.js +5 -5
  49. package/dist/ResponsiveDevicePicker.js +5 -5
  50. package/dist/Schedule.js +8 -29
  51. package/dist/Schedule.js.map +1 -1
  52. package/dist/Scrollable.js +3 -3
  53. package/dist/Search.js +4 -4
  54. package/dist/Security.js +5 -5
  55. package/dist/SendToFields.js +3 -3
  56. package/dist/Settings.js +4 -4
  57. package/dist/ShareRecordingPane.js +4 -4
  58. package/dist/ShareViaEmail.js +5 -5
  59. package/dist/ShareViaLink.js +4 -4
  60. package/dist/Sidebar.js +5 -5
  61. package/dist/SubHeader.js +5 -5
  62. package/dist/SuffixedInput.js +4 -4
  63. package/dist/Taxonomy.js +6 -6
  64. package/dist/ThemeSidebar.js +14 -13
  65. package/dist/ThemeSidebar.js.map +1 -1
  66. package/dist/TimeFormat.js +1 -1
  67. package/dist/TimezoneMismatchModal.js +1 -1
  68. package/dist/ToggleFeatureCard.js +4 -4
  69. package/dist/cjs/BrowserSupport.js +9 -6
  70. package/dist/cjs/BrowserSupport.js.map +1 -1
  71. package/dist/cjs/Builder.js +21 -17
  72. package/dist/cjs/Builder.js.map +1 -1
  73. package/dist/cjs/CalendarView.js +19 -15
  74. package/dist/cjs/CalendarView.js.map +1 -1
  75. package/dist/cjs/{Chevron-8a4ed9cd.js → Chevron-059c442a.js} +15 -12
  76. package/dist/cjs/{Chevron-8a4ed9cd.js.map → Chevron-059c442a.js.map} +1 -1
  77. package/dist/cjs/Codeblock.js +7 -6
  78. package/dist/cjs/Codeblock.js.map +1 -1
  79. package/dist/cjs/Columns.js +5 -5
  80. package/dist/cjs/ConfigurePageSidebar.js +8 -7
  81. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  82. package/dist/cjs/CopyToClipboardButton.js +12 -8
  83. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  84. package/dist/cjs/Currency.js +8 -6
  85. package/dist/cjs/Currency.js.map +1 -1
  86. package/dist/cjs/CustomDomain.js +8 -7
  87. package/dist/cjs/CustomDomain.js.map +1 -1
  88. package/dist/cjs/CustomDomainDashboard.js +13 -11
  89. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  90. package/dist/cjs/DateFormat.js +4 -3
  91. package/dist/cjs/DateFormat.js.map +1 -1
  92. package/dist/cjs/DateRangeFilter.js +6 -4
  93. package/dist/cjs/DateRangeFilter.js.map +1 -1
  94. package/dist/cjs/DeleteArchiveModal.js +3 -2
  95. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  96. package/dist/cjs/DocumentEditor.js +12 -9
  97. package/dist/cjs/DocumentEditor.js.map +1 -1
  98. package/dist/cjs/DynamicVariables.js +9 -6
  99. package/dist/cjs/DynamicVariables.js.map +1 -1
  100. package/dist/cjs/EmailForm.js +12 -10
  101. package/dist/cjs/EmailForm.js.map +1 -1
  102. package/dist/cjs/EmojiPicker.js +6 -4
  103. package/dist/cjs/EmojiPicker.js.map +1 -1
  104. package/dist/cjs/EmojiReactions.js +3 -2
  105. package/dist/cjs/EmojiReactions.js.map +1 -1
  106. package/dist/cjs/ErrorPage.js +3 -2
  107. package/dist/cjs/ErrorPage.js.map +1 -1
  108. package/dist/cjs/FloatingActionMenu.js +27 -22
  109. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  110. package/dist/cjs/Header.js +11 -8
  111. package/dist/cjs/Header.js.map +1 -1
  112. package/dist/cjs/HelpPopover.js +8 -6
  113. package/dist/cjs/HelpPopover.js.map +1 -1
  114. package/dist/cjs/IconPicker.js +11 -8
  115. package/dist/cjs/IconPicker.js.map +1 -1
  116. package/dist/cjs/ImageWithFallback.js +15 -11
  117. package/dist/cjs/ImageWithFallback.js.map +1 -1
  118. package/dist/cjs/InlineInput.js +25 -18
  119. package/dist/cjs/InlineInput.js.map +1 -1
  120. package/dist/cjs/Insights.js +3 -3
  121. package/dist/cjs/IntegrationCard.js +9 -7
  122. package/dist/cjs/IntegrationCard.js.map +1 -1
  123. package/dist/cjs/IntegrationDisconnectAlert.js +6 -4
  124. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  125. package/dist/cjs/IpRestriction.js +5 -4
  126. package/dist/cjs/IpRestriction.js.map +1 -1
  127. package/dist/cjs/KeyboardShortcuts.js +9 -7
  128. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  129. package/dist/cjs/LoginPage.js +11 -7
  130. package/dist/cjs/LoginPage.js.map +1 -1
  131. package/dist/cjs/MadeWith.js +6 -4
  132. package/dist/cjs/MadeWith.js.map +1 -1
  133. package/dist/cjs/MenuBar.js +22 -19
  134. package/dist/cjs/MenuBar.js.map +1 -1
  135. package/dist/cjs/Metadata.js +5 -4
  136. package/dist/cjs/Metadata.js.map +1 -1
  137. package/dist/cjs/MoreDropdown.js +18 -15
  138. package/dist/cjs/MoreDropdown.js.map +1 -1
  139. package/dist/cjs/NavigationHeader.js +9 -8
  140. package/dist/cjs/NavigationHeader.js.map +1 -1
  141. package/dist/cjs/NeetoWidget.js +15 -12
  142. package/dist/cjs/NeetoWidget.js.map +1 -1
  143. package/dist/cjs/Onboarding.js +9 -7
  144. package/dist/cjs/Onboarding.js.map +1 -1
  145. package/dist/cjs/OptionFields.js +21 -17
  146. package/dist/cjs/OptionFields.js.map +1 -1
  147. package/dist/cjs/PageLoader.js +6 -4
  148. package/dist/cjs/PageLoader.js.map +1 -1
  149. package/dist/cjs/PhoneNumber.js +23 -19
  150. package/dist/cjs/PhoneNumber.js.map +1 -1
  151. package/dist/cjs/ProductEmbed.js +24 -21
  152. package/dist/cjs/ProductEmbed.js.map +1 -1
  153. package/dist/cjs/PublishBlock.js +13 -11
  154. package/dist/cjs/PublishBlock.js.map +1 -1
  155. package/dist/cjs/Rename.js +17 -13
  156. package/dist/cjs/Rename.js.map +1 -1
  157. package/dist/cjs/ResponsiveDevicePicker.js +12 -8
  158. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  159. package/dist/cjs/Schedule.js +24 -39
  160. package/dist/cjs/Schedule.js.map +1 -1
  161. package/dist/cjs/Scrollable.js +9 -6
  162. package/dist/cjs/Scrollable.js.map +1 -1
  163. package/dist/cjs/Search.js +12 -8
  164. package/dist/cjs/Search.js.map +1 -1
  165. package/dist/cjs/Security.js +12 -9
  166. package/dist/cjs/Security.js.map +1 -1
  167. package/dist/cjs/SendToFields.js +12 -9
  168. package/dist/cjs/SendToFields.js.map +1 -1
  169. package/dist/cjs/Settings.js +14 -11
  170. package/dist/cjs/Settings.js.map +1 -1
  171. package/dist/cjs/ShareRecordingPane.js +16 -12
  172. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  173. package/dist/cjs/ShareViaEmail.js +15 -10
  174. package/dist/cjs/ShareViaEmail.js.map +1 -1
  175. package/dist/cjs/ShareViaLink.js +8 -7
  176. package/dist/cjs/ShareViaLink.js.map +1 -1
  177. package/dist/cjs/Sidebar.js +16 -12
  178. package/dist/cjs/Sidebar.js.map +1 -1
  179. package/dist/cjs/SubHeader.js +14 -11
  180. package/dist/cjs/SubHeader.js.map +1 -1
  181. package/dist/cjs/SuffixedInput.js +10 -7
  182. package/dist/cjs/SuffixedInput.js.map +1 -1
  183. package/dist/cjs/Taxonomy.js +19 -17
  184. package/dist/cjs/Taxonomy.js.map +1 -1
  185. package/dist/cjs/ThemeSidebar.js +33 -26
  186. package/dist/cjs/ThemeSidebar.js.map +1 -1
  187. package/dist/cjs/TimeFormat.js +1 -1
  188. package/dist/cjs/TimezoneMismatchModal.js +3 -2
  189. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  190. package/dist/cjs/ToggleFeatureCard.js +17 -13
  191. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  192. package/dist/cjs/{index-8a9dd202.js → index-9b0c3047.js} +7 -5
  193. package/dist/cjs/{index-8a9dd202.js.map → index-9b0c3047.js.map} +1 -1
  194. package/dist/cjs/{useColumns-a1c3668f.js → useColumns-9978cf70.js} +18 -14
  195. package/dist/cjs/{useColumns-a1c3668f.js.map → useColumns-9978cf70.js.map} +1 -1
  196. package/dist/{index-b9d0db95.js → index-8fd0cad5.js} +3 -3
  197. package/dist/{index-b9d0db95.js.map → index-8fd0cad5.js.map} +1 -1
  198. package/dist/{useColumns-d17d1f72.js → useColumns-751e9192.js} +5 -5
  199. package/dist/{useColumns-d17d1f72.js.map → useColumns-751e9192.js.map} +1 -1
  200. package/package.json +5 -2
  201. package/dist/cjs/defineProperty-886ed289.js +0 -47
  202. package/dist/cjs/defineProperty-886ed289.js.map +0 -1
  203. package/dist/cjs/extends-1b35a664.js +0 -19
  204. package/dist/cjs/extends-1b35a664.js.map +0 -1
  205. package/dist/cjs/index-c55ad2bc.js +0 -375
  206. package/dist/cjs/index-c55ad2bc.js.map +0 -1
  207. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
  208. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
  209. package/dist/cjs/slicedToArray-f320d9e7.js +0 -61
  210. package/dist/cjs/slicedToArray-f320d9e7.js.map +0 -1
  211. package/dist/cjs/toConsumableArray-9abb3858.js +0 -22
  212. package/dist/cjs/toConsumableArray-9abb3858.js.map +0 -1
  213. package/dist/defineProperty-549061a7.js +0 -43
  214. package/dist/defineProperty-549061a7.js.map +0 -1
  215. package/dist/extends-093996c9.js +0 -17
  216. package/dist/extends-093996c9.js.map +0 -1
  217. package/dist/index-9720867c.js +0 -372
  218. package/dist/index-9720867c.js.map +0 -1
  219. package/dist/objectWithoutProperties-a0edb288.js +0 -31
  220. package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
  221. package/dist/slicedToArray-b4278ecd.js +0 -57
  222. package/dist/slicedToArray-b4278ecd.js.map +0 -1
  223. package/dist/toConsumableArray-1cc38429.js +0 -20
  224. 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":"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"}
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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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defineProperty = require('./defineProperty-886ed289.js');
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('./extends-1b35a664.js');
12
- var slicedToArray = require('./slicedToArray-f320d9e7.js');
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('./objectWithoutProperties-2fed2d7d.js');
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 = defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, 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}"));
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 = slicedToArray._slicedToArray(_ref, 1),
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 = slicedToArray._slicedToArray(_useState, 2),
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 = slicedToArray._slicedToArray(_useState, 2),
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) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
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 = slicedToArray._slicedToArray(_useState, 2),
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 = slicedToArray._slicedToArray(_useState3, 2),
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, _extends._extends({
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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"}