@bigbinary/neeto-molecules 1.1.9 → 1.1.11

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 (474) hide show
  1. package/dist/AutoSaveInput/autosaveinput.scss +15 -0
  2. package/dist/AutoSaveInput/constants.js +13 -0
  3. package/dist/AutoSaveInput/index.js +124 -0
  4. package/dist/AutoSaveInput/utils.js +10 -0
  5. package/dist/Breadcrumbs/breadcrumbs.scss +33 -0
  6. package/dist/Breadcrumbs/index.js +31 -0
  7. package/dist/BrowserSupport/Callout.js +15 -0
  8. package/dist/BrowserSupport/ContactUs.js +21 -0
  9. package/dist/BrowserSupport/DownloadLink.js +17 -0
  10. package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +17 -0
  11. package/dist/BrowserSupport/UnknownBrowser.js +13 -0
  12. package/dist/BrowserSupport/UnsupportedBrowser.js +24 -0
  13. package/dist/BrowserSupport/UnsupportedBrowserMessage.js +22 -0
  14. package/dist/BrowserSupport/UnsupportedBrowserVersion.js +27 -0
  15. package/dist/BrowserSupport/UnsupportedVersionMessage.js +30 -0
  16. package/dist/BrowserSupport/browsersupport.scss +71 -0
  17. package/dist/BrowserSupport/constants.js +63 -0
  18. package/dist/BrowserSupport/index.js +58 -0
  19. package/dist/BrowserSupport/utils.js +32 -0
  20. package/dist/CalendarView/CustomDatePicker.js +87 -0
  21. package/dist/CalendarView/Header.js +53 -0
  22. package/dist/CalendarView/constants.js +19 -0
  23. package/dist/CalendarView/index.js +83 -0
  24. package/dist/CalendarView/utils.js +50 -0
  25. package/dist/Codeblock/index.js +30 -0
  26. package/dist/{Columns.js → Columns/index.js} +13 -130
  27. package/dist/Columns/utils.js +20 -0
  28. package/dist/ConfirmationModal/constants.js +3 -0
  29. package/dist/{ConfirmationModal.js → ConfirmationModal/index.js} +7 -23
  30. package/dist/ConfirmationModal/utils.js +10 -0
  31. package/dist/Container/container.scss +21 -0
  32. package/dist/Container/index.js +23 -0
  33. package/dist/CopyToClipboardButton/constants.js +13 -0
  34. package/dist/CopyToClipboardButton/copyToClipboard.scss +22 -0
  35. package/dist/CopyToClipboardButton/index.js +59 -0
  36. package/dist/CustomDomain/index.js +98 -0
  37. package/dist/CustomDomainDashboard/DeleteAlert.js +28 -0
  38. package/dist/CustomDomainDashboard/Header.js +32 -0
  39. package/dist/CustomDomainDashboard/Manage/Record.js +42 -0
  40. package/dist/CustomDomainDashboard/Manage/StatusInfo.js +21 -0
  41. package/dist/CustomDomainDashboard/Manage/TagBlock.js +36 -0
  42. package/dist/CustomDomainDashboard/Manage/constants.js +4 -0
  43. package/dist/CustomDomainDashboard/Manage/index.js +124 -0
  44. package/dist/CustomDomainDashboard/Manage/utils.js +8 -0
  45. package/dist/CustomDomainDashboard/api.js +35 -0
  46. package/dist/CustomDomainDashboard/constants.js +2 -0
  47. package/dist/CustomDomainDashboard/index.js +118 -0
  48. package/dist/CustomDomainDashboard/useCustomDomainApi.js +71 -0
  49. package/dist/CustomDomainDashboard/utils.js +84 -0
  50. package/dist/{DateFormat.js → DateFormat/index.js} +8 -25
  51. package/dist/DateRangeFilter/index.js +60 -0
  52. package/dist/DateRangeFilter/utils.js +113 -0
  53. package/dist/DynamicVariables/dynamic-variables.scss +34 -0
  54. package/dist/DynamicVariables/index.js +59 -0
  55. package/dist/DynamicVariables/utils.js +37 -0
  56. package/dist/EmailForm/EmailForm.js +97 -0
  57. package/dist/EmailForm/EmailFormProvider.js +45 -0
  58. package/dist/EmailForm/EmailPreview.js +129 -0
  59. package/dist/EmailForm/ReplyToField.js +55 -0
  60. package/dist/EmailForm/SendToField.js +27 -0
  61. package/dist/EmailForm/SubjectField.js +64 -0
  62. package/dist/EmailForm/constants.js +33 -0
  63. package/dist/EmailForm/contexts/EmailForm.js +7 -0
  64. package/dist/EmailForm/index.js +4 -0
  65. package/dist/EmailForm/utils.js +10 -0
  66. package/dist/EmailPreview/index.js +2 -0
  67. package/dist/{ErrorPage.js → ErrorPage/constants.js} +36 -175
  68. package/dist/ErrorPage/index.js +78 -0
  69. package/dist/Header/Breadcrumbs.js +31 -0
  70. package/dist/Header/Dropdown.js +12 -0
  71. package/dist/Header/constants.js +6 -0
  72. package/dist/Header/header.scss +121 -0
  73. package/dist/Header/index.js +61 -0
  74. package/dist/IconPicker/Icon.js +34 -0
  75. package/dist/IconPicker/NoResults.js +12 -0
  76. package/dist/IconPicker/constants.js +8 -0
  77. package/dist/IconPicker/icon-picker.scss +1 -0
  78. package/dist/IconPicker/index.js +164 -0
  79. package/dist/ImageWithFallback/ImagePlaceholder.js +16 -0
  80. package/dist/ImageWithFallback/index.js +31 -0
  81. package/dist/IntegrationCard/Dropdown.js +45 -0
  82. package/dist/IntegrationCard/Status.js +25 -0
  83. package/dist/IntegrationCard/index.js +128 -0
  84. package/dist/IntegrationDisconnectAlert/index.js +36 -0
  85. package/dist/{IntegrationWalkthroughModal.js → IntegrationWalkthroughModal/index.js} +6 -8
  86. package/dist/IpRestriction/AllowedIpRanges.js +72 -0
  87. package/dist/IpRestriction/CurrentIp.js +26 -0
  88. package/dist/IpRestriction/FormRow.js +77 -0
  89. package/dist/IpRestriction/Row.js +86 -0
  90. package/dist/IpRestriction/apis/allowed_ip_ranges.js +28 -0
  91. package/dist/IpRestriction/apis/current_ip.js +11 -0
  92. package/dist/IpRestriction/apis/ip_restriction.js +16 -0
  93. package/dist/IpRestriction/constants.js +11 -0
  94. package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +34 -0
  95. package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +10 -0
  96. package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +18 -0
  97. package/dist/IpRestriction/index.js +102 -0
  98. package/dist/IpRestriction/utils.js +67 -0
  99. package/dist/KeyboardShortcuts/Pane/HotKey.js +44 -0
  100. package/dist/KeyboardShortcuts/Pane/HotKeyList.js +42 -0
  101. package/dist/KeyboardShortcuts/Pane/constants.js +25 -0
  102. package/dist/KeyboardShortcuts/Pane/index.js +61 -0
  103. package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +5 -0
  104. package/dist/KeyboardShortcuts/Pane/utils.js +66 -0
  105. package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +31 -0
  106. package/dist/KeyboardShortcuts/index.js +9 -0
  107. package/dist/LoginPage/Form.js +57 -0
  108. package/dist/LoginPage/constants.js +12 -0
  109. package/dist/LoginPage/index.js +103 -0
  110. package/dist/MenuBar/AddNew.js +25 -0
  111. package/dist/MenuBar/Block.js +60 -0
  112. package/dist/MenuBar/Item.js +32 -0
  113. package/dist/MenuBar/Search.js +39 -0
  114. package/dist/MenuBar/SubTitle.js +23 -0
  115. package/dist/MenuBar/index.js +46 -0
  116. package/dist/MenuBar/menubar.scss +154 -0
  117. package/dist/Metadata/Block.js +30 -0
  118. package/dist/Metadata/DetailsBlock.js +86 -0
  119. package/dist/Metadata/constants.js +9 -0
  120. package/dist/Metadata/index.js +29 -0
  121. package/dist/Metadata/metadata.scss +15 -0
  122. package/dist/MoreDropdown/constants.js +25 -0
  123. package/dist/{MoreDropdown.js → MoreDropdown/index.js} +9 -102
  124. package/dist/NavigationHeader/LeftBlock.js +32 -0
  125. package/dist/NavigationHeader/Navigation.js +24 -0
  126. package/dist/NavigationHeader/RightBlock.js +68 -0
  127. package/dist/NavigationHeader/constants.js +11 -0
  128. package/dist/NavigationHeader/index.js +19 -0
  129. package/dist/NavigationHeader/navigation-header.scss +3 -0
  130. package/dist/NeetoWidget/CodeBlock.js +57 -0
  131. package/dist/NeetoWidget/CodeSnippet.js +119 -0
  132. package/dist/NeetoWidget/EmbedCode.js +281 -0
  133. package/dist/NeetoWidget/Main.js +19 -0
  134. package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +25 -0
  135. package/dist/NeetoWidget/SelectionSwitches/index.js +44 -0
  136. package/dist/NeetoWidget/SyntaxHighlighter.js +17 -0
  137. package/dist/NeetoWidget/api.js +20 -0
  138. package/dist/NeetoWidget/constants.js +62 -0
  139. package/dist/NeetoWidget/hooks/useForceUpdate.js +14 -0
  140. package/dist/NeetoWidget/index.js +7 -0
  141. package/dist/NeetoWidget/mutations.js +9 -0
  142. package/dist/NeetoWidget/queries.js +32 -0
  143. package/dist/NeetoWidget/utils.js +83 -0
  144. package/dist/PageLoader/index.js +81 -0
  145. package/dist/PageLoader/page-loader.scss +95 -0
  146. package/dist/PhoneNumber/CountryPicker/SingleValue.js +21 -0
  147. package/dist/PhoneNumber/CountryPicker/constants.js +26 -0
  148. package/dist/PhoneNumber/CountryPicker/index.js +59 -0
  149. package/dist/PhoneNumber/FormikPhoneNumberInput.js +21 -0
  150. package/dist/PhoneNumber/PhoneNumber.js +30 -0
  151. package/dist/PhoneNumber/PhoneNumberInput.js +79 -0
  152. package/dist/PhoneNumber/index.js +5 -0
  153. package/dist/PhoneNumber/utils.js +55 -0
  154. package/dist/PublishBlock/AlertBlock.js +14 -0
  155. package/dist/PublishBlock/index.js +100 -0
  156. package/dist/PublishBlock/publish-block.scss +25 -0
  157. package/dist/Rename/DummySpan.js +21 -0
  158. package/dist/Rename/constants.js +1 -0
  159. package/dist/Rename/index.js +191 -0
  160. package/dist/Rename/rename.scss +69 -0
  161. package/dist/Rename/utils.js +10 -0
  162. package/dist/ResponsiveDevicePicker/constants.js +19 -0
  163. package/dist/ResponsiveDevicePicker/index.js +36 -0
  164. package/dist/Schedule/DisplayAvailability.js +58 -0
  165. package/dist/Schedule/Fields.js +43 -0
  166. package/dist/Schedule/Form/ScheduleRow.js +125 -0
  167. package/dist/Schedule/Form/constants.js +20 -0
  168. package/dist/Schedule/Form/index.js +144 -0
  169. package/dist/Schedule/Form/utils.js +63 -0
  170. package/dist/Schedule/Header.js +76 -0
  171. package/dist/Schedule/ScheduleContext.js +8 -0
  172. package/dist/Schedule/constants.js +8 -0
  173. package/dist/Schedule/dayjsExtended/constants.js +1 -0
  174. package/dist/Schedule/dayjsExtended/index.js +14 -0
  175. package/dist/Schedule/dayjsExtended/range.js +73 -0
  176. package/dist/Schedule/index.js +80 -0
  177. package/dist/Schedule/utils.js +152 -0
  178. package/dist/Scrollable/constants.js +8 -0
  179. package/dist/Scrollable/index.js +26 -0
  180. package/dist/Scrollable/scrollable.scss +32 -0
  181. package/dist/Security/AllowedKeywords/Add.js +38 -0
  182. package/dist/Security/AllowedKeywords/index.js +38 -0
  183. package/dist/Security/PasswordBlock.js +31 -0
  184. package/dist/Security/RadioBlock.js +38 -0
  185. package/dist/Security/api.js +12 -0
  186. package/dist/Security/constants.js +58 -0
  187. package/dist/Security/index.js +68 -0
  188. package/dist/Security/useSecurityApi.js +22 -0
  189. package/dist/Security/utils.js +31 -0
  190. package/dist/SendToFields/FilePicker.js +34 -0
  191. package/dist/SendToFields/constants.js +6 -0
  192. package/dist/SendToFields/index.js +102 -0
  193. package/dist/SendToFields/utils.js +54 -0
  194. package/dist/Settings/Category.js +30 -0
  195. package/dist/Settings/Item.js +38 -0
  196. package/dist/Settings/index.js +37 -0
  197. package/dist/Settings/utils.js +4 -0
  198. package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
  199. package/dist/ShareViaEmail/FilePicker.js +43 -0
  200. package/dist/ShareViaEmail/Form.js +101 -0
  201. package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
  202. package/dist/ShareViaEmail/constants.js +14 -0
  203. package/dist/ShareViaEmail/index.js +89 -0
  204. package/dist/ShareViaEmail/utils.js +72 -0
  205. package/dist/ShareViaLink/EditURL.js +74 -0
  206. package/dist/ShareViaLink/Link.js +105 -0
  207. package/dist/ShareViaLink/QRCode.js +41 -0
  208. package/dist/ShareViaLink/RegenerateURL.js +47 -0
  209. package/dist/ShareViaLink/SocialMedia.js +52 -0
  210. package/dist/ShareViaLink/constants.js +25 -0
  211. package/dist/ShareViaLink/edit-url.scss +8 -0
  212. package/dist/ShareViaLink/index.js +46 -0
  213. package/dist/ShareViaLink/utils.js +47 -0
  214. package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
  215. package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
  216. package/dist/Sidebar/AppSwitcher/Body.js +65 -0
  217. package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
  218. package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
  219. package/dist/Sidebar/AppSwitcher/index.js +47 -0
  220. package/dist/Sidebar/AppSwitcher/utils.js +25 -0
  221. package/dist/Sidebar/Chevron.js +14 -0
  222. package/dist/Sidebar/FeaturedTooltip.js +19 -0
  223. package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
  224. package/dist/Sidebar/Footer/ProfileButton.js +30 -0
  225. package/dist/Sidebar/Footer/index.js +56 -0
  226. package/dist/Sidebar/Footer/utils.js +39 -0
  227. package/dist/Sidebar/Header.js +33 -0
  228. package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
  229. package/dist/Sidebar/HelpSection/index.js +32 -0
  230. package/dist/Sidebar/Links.js +112 -0
  231. package/dist/Sidebar/NavIconWrapper.js +20 -0
  232. package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
  233. package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
  234. package/dist/Sidebar/ProfileSection/index.js +42 -0
  235. package/dist/Sidebar/constants.js +40 -0
  236. package/dist/Sidebar/index.js +94 -0
  237. package/dist/Sidebar/sidebar.scss +379 -0
  238. package/dist/Sidebar/utils.js +18 -0
  239. package/dist/SubHeader/RightBlock/Columns.js +35 -0
  240. package/dist/SubHeader/RightBlock/Download.js +28 -0
  241. package/dist/SubHeader/RightBlock/Filter.js +31 -0
  242. package/dist/SubHeader/RightBlock/index.js +21 -0
  243. package/dist/SubHeader/RightBlock/utils.js +13 -0
  244. package/dist/SubHeader/index.js +28 -0
  245. package/dist/SubHeader/subheader.scss +78 -0
  246. package/dist/TableWrapper/index.js +18 -0
  247. package/dist/ThemeSidebar/Customize/Logo.js +39 -0
  248. package/dist/ThemeSidebar/Customize/Properties.js +170 -0
  249. package/dist/ThemeSidebar/Customize/index.js +66 -0
  250. package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
  251. package/dist/ThemeSidebar/Themes/index.js +110 -0
  252. package/dist/ThemeSidebar/TitleBar.js +62 -0
  253. package/dist/ThemeSidebar/constants.js +127 -0
  254. package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
  255. package/dist/ThemeSidebar/fields/Card.js +19 -0
  256. package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
  257. package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
  258. package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
  259. package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
  260. package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
  261. package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
  262. package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
  263. package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
  264. package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
  265. package/dist/ThemeSidebar/fields/slider.scss +199 -0
  266. package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
  267. package/dist/ThemeSidebar/index.js +118 -0
  268. package/dist/ThemeSidebar/themeSidebar.scss +45 -0
  269. package/dist/ThemeSidebar/utils.js +169 -0
  270. package/dist/TimeFormat/index.js +3 -0
  271. package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
  272. package/dist/TimezoneMismatchModal/index.js +83 -0
  273. package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
  274. package/dist/TimezoneMismatchModal/utils.js +12 -0
  275. package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
  276. package/dist/ToggleFeatureCard/constants.js +5 -0
  277. package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
  278. package/dist/ToggleFeatureCard/index.js +148 -0
  279. package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
  280. package/package.json +28 -35
  281. package/dist/AutoSaveInput.cjs.js +0 -724
  282. package/dist/AutoSaveInput.cjs.js.map +0 -1
  283. package/dist/AutoSaveInput.js +0 -718
  284. package/dist/AutoSaveInput.js.map +0 -1
  285. package/dist/Breadcrumbs.cjs.js +0 -44
  286. package/dist/Breadcrumbs.cjs.js.map +0 -1
  287. package/dist/Breadcrumbs.js +0 -38
  288. package/dist/Breadcrumbs.js.map +0 -1
  289. package/dist/BrowserSupport.cjs.js +0 -1731
  290. package/dist/BrowserSupport.cjs.js.map +0 -1
  291. package/dist/BrowserSupport.js +0 -1725
  292. package/dist/BrowserSupport.js.map +0 -1
  293. package/dist/CalendarView.cjs.js +0 -610
  294. package/dist/CalendarView.cjs.js.map +0 -1
  295. package/dist/CalendarView.js +0 -598
  296. package/dist/CalendarView.js.map +0 -1
  297. package/dist/Codeblock.cjs.js +0 -302
  298. package/dist/Codeblock.cjs.js.map +0 -1
  299. package/dist/Codeblock.js +0 -296
  300. package/dist/Codeblock.js.map +0 -1
  301. package/dist/Columns.cjs.js +0 -248
  302. package/dist/Columns.cjs.js.map +0 -1
  303. package/dist/Columns.js.map +0 -1
  304. package/dist/ConfirmationModal.cjs.js +0 -87
  305. package/dist/ConfirmationModal.cjs.js.map +0 -1
  306. package/dist/ConfirmationModal.js.map +0 -1
  307. package/dist/Container.cjs.js +0 -1277
  308. package/dist/Container.cjs.js.map +0 -1
  309. package/dist/Container.js +0 -1271
  310. package/dist/Container.js.map +0 -1
  311. package/dist/CopyToClipboardButton.cjs.js +0 -275
  312. package/dist/CopyToClipboardButton.cjs.js.map +0 -1
  313. package/dist/CopyToClipboardButton.js +0 -269
  314. package/dist/CopyToClipboardButton.js.map +0 -1
  315. package/dist/CustomDomain.cjs.js +0 -774
  316. package/dist/CustomDomain.cjs.js.map +0 -1
  317. package/dist/CustomDomain.js +0 -747
  318. package/dist/CustomDomain.js.map +0 -1
  319. package/dist/CustomDomainDashboard.cjs.js +0 -2370
  320. package/dist/CustomDomainDashboard.cjs.js.map +0 -1
  321. package/dist/CustomDomainDashboard.js +0 -2342
  322. package/dist/CustomDomainDashboard.js.map +0 -1
  323. package/dist/DateFormat.cjs.js +0 -51
  324. package/dist/DateFormat.cjs.js.map +0 -1
  325. package/dist/DateFormat.js.map +0 -1
  326. package/dist/DateRangeFilter.cjs.js +0 -236
  327. package/dist/DateRangeFilter.cjs.js.map +0 -1
  328. package/dist/DateRangeFilter.js +0 -229
  329. package/dist/DateRangeFilter.js.map +0 -1
  330. package/dist/DynamicVariables.cjs.js +0 -189
  331. package/dist/DynamicVariables.cjs.js.map +0 -1
  332. package/dist/DynamicVariables.js +0 -183
  333. package/dist/DynamicVariables.js.map +0 -1
  334. package/dist/EmailForm.cjs.js +0 -4295
  335. package/dist/EmailForm.cjs.js.map +0 -1
  336. package/dist/EmailForm.js +0 -4265
  337. package/dist/EmailForm.js.map +0 -1
  338. package/dist/EmailPreview.cjs.js +0 -1419
  339. package/dist/EmailPreview.cjs.js.map +0 -1
  340. package/dist/EmailPreview.js +0 -1413
  341. package/dist/EmailPreview.js.map +0 -1
  342. package/dist/ErrorPage.cjs.js +0 -226
  343. package/dist/ErrorPage.cjs.js.map +0 -1
  344. package/dist/ErrorPage.js.map +0 -1
  345. package/dist/Header.cjs.js +0 -188
  346. package/dist/Header.cjs.js.map +0 -1
  347. package/dist/Header.js +0 -182
  348. package/dist/Header.js.map +0 -1
  349. package/dist/IconPicker.cjs.js +0 -1308
  350. package/dist/IconPicker.cjs.js.map +0 -1
  351. package/dist/IconPicker.js +0 -1302
  352. package/dist/IconPicker.js.map +0 -1
  353. package/dist/ImageWithFallback.cjs.js +0 -247
  354. package/dist/ImageWithFallback.cjs.js.map +0 -1
  355. package/dist/ImageWithFallback.js +0 -241
  356. package/dist/ImageWithFallback.js.map +0 -1
  357. package/dist/IntegrationCard.cjs.js +0 -409
  358. package/dist/IntegrationCard.cjs.js.map +0 -1
  359. package/dist/IntegrationCard.js +0 -403
  360. package/dist/IntegrationCard.js.map +0 -1
  361. package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
  362. package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
  363. package/dist/IntegrationDisconnectAlert.js +0 -80
  364. package/dist/IntegrationDisconnectAlert.js.map +0 -1
  365. package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
  366. package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
  367. package/dist/IntegrationWalkthroughModal.js.map +0 -1
  368. package/dist/IpRestriction.cjs.js +0 -3931
  369. package/dist/IpRestriction.cjs.js.map +0 -1
  370. package/dist/IpRestriction.js +0 -3905
  371. package/dist/IpRestriction.js.map +0 -1
  372. package/dist/KeyboardShortcuts.cjs.js +0 -2244
  373. package/dist/KeyboardShortcuts.cjs.js.map +0 -1
  374. package/dist/KeyboardShortcuts.js +0 -2237
  375. package/dist/KeyboardShortcuts.js.map +0 -1
  376. package/dist/LoginPage.cjs.js +0 -618
  377. package/dist/LoginPage.cjs.js.map +0 -1
  378. package/dist/LoginPage.js +0 -593
  379. package/dist/LoginPage.js.map +0 -1
  380. package/dist/MenuBar.cjs.js +0 -34273
  381. package/dist/MenuBar.cjs.js.map +0 -1
  382. package/dist/MenuBar.js +0 -34267
  383. package/dist/MenuBar.js.map +0 -1
  384. package/dist/Metadata.cjs.js +0 -272
  385. package/dist/Metadata.cjs.js.map +0 -1
  386. package/dist/Metadata.js +0 -266
  387. package/dist/Metadata.js.map +0 -1
  388. package/dist/MoreDropdown.cjs.js +0 -168
  389. package/dist/MoreDropdown.cjs.js.map +0 -1
  390. package/dist/MoreDropdown.js.map +0 -1
  391. package/dist/NavigationHeader.cjs.js +0 -756
  392. package/dist/NavigationHeader.cjs.js.map +0 -1
  393. package/dist/NavigationHeader.js +0 -750
  394. package/dist/NavigationHeader.js.map +0 -1
  395. package/dist/NeetoWidget.cjs.js +0 -3375
  396. package/dist/NeetoWidget.cjs.js.map +0 -1
  397. package/dist/NeetoWidget.js +0 -3348
  398. package/dist/NeetoWidget.js.map +0 -1
  399. package/dist/PageLoader.cjs.js +0 -158
  400. package/dist/PageLoader.cjs.js.map +0 -1
  401. package/dist/PageLoader.js +0 -134
  402. package/dist/PageLoader.js.map +0 -1
  403. package/dist/PhoneNumber.cjs.js +0 -7021
  404. package/dist/PhoneNumber.cjs.js.map +0 -1
  405. package/dist/PhoneNumber.js +0 -6989
  406. package/dist/PhoneNumber.js.map +0 -1
  407. package/dist/PublishBlock.cjs.js +0 -224
  408. package/dist/PublishBlock.cjs.js.map +0 -1
  409. package/dist/PublishBlock.js +0 -218
  410. package/dist/PublishBlock.js.map +0 -1
  411. package/dist/Rename.cjs.js +0 -516
  412. package/dist/Rename.cjs.js.map +0 -1
  413. package/dist/Rename.js +0 -510
  414. package/dist/Rename.js.map +0 -1
  415. package/dist/ResponsiveDevicePicker.cjs.js +0 -260
  416. package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
  417. package/dist/ResponsiveDevicePicker.js +0 -254
  418. package/dist/ResponsiveDevicePicker.js.map +0 -1
  419. package/dist/Schedule.cjs.js +0 -1077
  420. package/dist/Schedule.cjs.js.map +0 -1
  421. package/dist/Schedule.js +0 -1046
  422. package/dist/Schedule.js.map +0 -1
  423. package/dist/Scrollable.cjs.js +0 -188
  424. package/dist/Scrollable.cjs.js.map +0 -1
  425. package/dist/Scrollable.js +0 -182
  426. package/dist/Scrollable.js.map +0 -1
  427. package/dist/Security.cjs.js +0 -1921
  428. package/dist/Security.cjs.js.map +0 -1
  429. package/dist/Security.js +0 -1895
  430. package/dist/Security.js.map +0 -1
  431. package/dist/SendToFields.cjs.js +0 -2524
  432. package/dist/SendToFields.cjs.js.map +0 -1
  433. package/dist/SendToFields.js +0 -2517
  434. package/dist/SendToFields.js.map +0 -1
  435. package/dist/Settings.cjs.js +0 -501
  436. package/dist/Settings.cjs.js.map +0 -1
  437. package/dist/Settings.js +0 -495
  438. package/dist/Settings.js.map +0 -1
  439. package/dist/ShareViaEmail.cjs.js +0 -4272
  440. package/dist/ShareViaEmail.cjs.js.map +0 -1
  441. package/dist/ShareViaEmail.js +0 -4246
  442. package/dist/ShareViaEmail.js.map +0 -1
  443. package/dist/ShareViaLink.cjs.js +0 -1512
  444. package/dist/ShareViaLink.cjs.js.map +0 -1
  445. package/dist/ShareViaLink.js +0 -1486
  446. package/dist/ShareViaLink.js.map +0 -1
  447. package/dist/Sidebar.cjs.js +0 -34985
  448. package/dist/Sidebar.cjs.js.map +0 -1
  449. package/dist/Sidebar.js +0 -34959
  450. package/dist/Sidebar.js.map +0 -1
  451. package/dist/SubHeader.cjs.js +0 -283
  452. package/dist/SubHeader.cjs.js.map +0 -1
  453. package/dist/SubHeader.js +0 -276
  454. package/dist/SubHeader.js.map +0 -1
  455. package/dist/TableWrapper.cjs.js +0 -87
  456. package/dist/TableWrapper.cjs.js.map +0 -1
  457. package/dist/TableWrapper.js +0 -81
  458. package/dist/TableWrapper.js.map +0 -1
  459. package/dist/ThemeSidebar.cjs.js +0 -13705
  460. package/dist/ThemeSidebar.cjs.js.map +0 -1
  461. package/dist/ThemeSidebar.js +0 -13680
  462. package/dist/ThemeSidebar.js.map +0 -1
  463. package/dist/TimeFormat.cjs.js +0 -53
  464. package/dist/TimeFormat.cjs.js.map +0 -1
  465. package/dist/TimeFormat.js +0 -47
  466. package/dist/TimeFormat.js.map +0 -1
  467. package/dist/TimezoneMismatchModal.cjs.js +0 -176
  468. package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
  469. package/dist/TimezoneMismatchModal.js +0 -168
  470. package/dist/TimezoneMismatchModal.js.map +0 -1
  471. package/dist/ToggleFeatureCard.cjs.js +0 -389
  472. package/dist/ToggleFeatureCard.cjs.js.map +0 -1
  473. package/dist/ToggleFeatureCard.js +0 -383
  474. package/dist/ToggleFeatureCard.js.map +0 -1
@@ -0,0 +1,281 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import React, { useState, useRef, useEffect } from "react";
4
+ import classnames from "classnames";
5
+ import { capitalize, isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
6
+ import { usePrevious } from "@bigbinary/neeto-commons-frontend/react-utils";
7
+ import { Info } from "@bigbinary/neeto-icons";
8
+ import { Toastr } from "@bigbinary/neetoui";
9
+ import { fromPairs, isEmpty, prop } from "ramda";
10
+ import { Trans, useTranslation } from "react-i18next";
11
+ import PageLoader from "../PageLoader";
12
+ import CodeBlock from "./CodeBlock";
13
+ import CodeSnippet from "./CodeSnippet";
14
+ import { EMAIL_TYPES, SAMPLE_CONTEXT_CODE_STRING, INSTALLATION_HELP_EMAIL, FRAMEWORK_SELECT_OPTIONS, NEETO_CHAT_USER_IDENTITY_URL, NEETO_REPLAY_CONFIGURE_URL } from "./constants";
15
+ import useForceUpdate from "./hooks/useForceUpdate";
16
+ import { useFetchApiKey, useFetchConfigurations, useUpdateConfigurations } from "./queries";
17
+ import SelectionSwitches from "./SelectionSwitches";
18
+ import { getSampleUserIdentity, getSortedPrefixedWidgets, sampleConsolidatedCodeString } from "./utils";
19
+ var EmbedCode = function EmbedCode(_ref) {
20
+ var showSessionContext = _ref.showSessionContext,
21
+ showUserIdentity = _ref.showUserIdentity,
22
+ _ref$primaryApp = _ref.primaryApp,
23
+ primaryApp = _ref$primaryApp === void 0 ? "" : _ref$primaryApp,
24
+ _ref$maxWidth = _ref.maxWidth,
25
+ maxWidth = _ref$maxWidth === void 0 ? "max-w-3xl" : _ref$maxWidth;
26
+ var _useState = useState(EMAIL_TYPES["null"]),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ emailType = _useState2[0],
29
+ setEmailType = _useState2[1];
30
+ var _useState3 = useState(FRAMEWORK_SELECT_OPTIONS[0]),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ selectedFramework = _useState4[0],
33
+ setSelectedFramework = _useState4[1];
34
+ var _useTranslation = useTranslation(),
35
+ t = _useTranslation.t;
36
+ var bodyRef = useRef();
37
+ var forceUpdate = useForceUpdate();
38
+ useEffect(function () {
39
+ forceUpdate();
40
+ }, []);
41
+ var _useFetchApiKey = useFetchApiKey(),
42
+ _useFetchApiKey$data = _useFetchApiKey.data,
43
+ _useFetchApiKey$data2 = _useFetchApiKey$data === void 0 ? {} : _useFetchApiKey$data,
44
+ _useFetchApiKey$data3 = _useFetchApiKey$data2.widgetApiKey,
45
+ widgetApiKey = _useFetchApiKey$data3 === void 0 ? "" : _useFetchApiKey$data3,
46
+ isLoadingApiKey = _useFetchApiKey.isLoading;
47
+ var _useFetchConfiguratio = useFetchConfigurations(),
48
+ _useFetchConfiguratio2 = _useFetchConfiguratio.data,
49
+ _useFetchConfiguratio3 = _useFetchConfiguratio2 === void 0 ? {} : _useFetchConfiguratio2,
50
+ _useFetchConfiguratio4 = _useFetchConfiguratio3.neetoWidgetTokens,
51
+ neetoWidgetTokens = _useFetchConfiguratio4 === void 0 ? [] : _useFetchConfiguratio4,
52
+ isLoadingConfigurations = _useFetchConfiguratio.isLoading;
53
+ var _useUpdateConfigurati = useUpdateConfigurations(),
54
+ updateWidgetConfiguration = _useUpdateConfigurati.mutate;
55
+ var previousEmailType = usePrevious(emailType);
56
+ var selectedWidgets = neetoWidgetTokens.filter(prop("enabled")).map(function (item) {
57
+ return item.clientApplicationName.toLowerCase();
58
+ });
59
+ var enabledClientApps = neetoWidgetTokens.filter(prop("clientApplicationEnabled")).map(function (item) {
60
+ return item.clientApplicationName.toLowerCase();
61
+ });
62
+ var enabledWidgets = fromPairs(selectedWidgets.map(function (widget) {
63
+ return [widget, true];
64
+ }));
65
+ var shouldShowUserIdentity = showUserIdentity !== null && showUserIdentity !== void 0 ? showUserIdentity : enabledWidgets.chat || enabledWidgets.replay;
66
+ var shouldShowSessionContext = showSessionContext !== null && showSessionContext !== void 0 ? showSessionContext : enabledWidgets.replay;
67
+ var updateSelectedWidgets = function updateSelectedWidgets(widget) {
68
+ var widgetId = neetoWidgetTokens.find(function (item) {
69
+ return item.clientApplicationName.toLowerCase() === widget;
70
+ }).id;
71
+ var isEnabled = !selectedWidgets.includes(widget);
72
+ updateWidgetConfiguration({
73
+ id: widgetId,
74
+ payload: {
75
+ enabled: isEnabled
76
+ }
77
+ }, {
78
+ onSuccess: function onSuccess() {
79
+ var productName = "neeto".concat(capitalize(widget));
80
+ var response = isEnabled ? "neetoMolecules.widget.installation.enabled" : "neetoMolecules.widget.installation.disabled";
81
+ Toastr.success(t(response, {
82
+ productName: productName
83
+ }));
84
+ }
85
+ });
86
+ };
87
+ var getEmbedCodeString = function getEmbedCodeString() {
88
+ return isNotEmpty(widgetApiKey) ? sampleConsolidatedCodeString(enabledWidgets, widgetApiKey) : "";
89
+ };
90
+ var getSnippetProps = function getSnippetProps(selectedEmailType) {
91
+ switch (selectedEmailType) {
92
+ case EMAIL_TYPES.embedCode:
93
+ return {
94
+ codeString: getEmbedCodeString(),
95
+ subject: t("neetoMolecules.widget.email.fields.subject.values.embedCode"),
96
+ body: /*#__PURE__*/React.createElement("div", {
97
+ ref: bodyRef
98
+ }, /*#__PURE__*/React.createElement(Trans, {
99
+ i18nKey: "neetoMolecules.widget.email.body.values.embedCode",
100
+ components: {
101
+ p: /*#__PURE__*/React.createElement("p", {
102
+ style: {
103
+ marginBottom: "8px"
104
+ }
105
+ }),
106
+ mail: /*#__PURE__*/React.createElement("a", {
107
+ className: "neeto-ui-text-primary-800",
108
+ href: "mailto:".concat(INSTALLATION_HELP_EMAIL),
109
+ rel: "noreferrer",
110
+ target: "_blank"
111
+ })
112
+ },
113
+ values: {
114
+ val: getSortedPrefixedWidgets(selectedWidgets),
115
+ helpEmail: INSTALLATION_HELP_EMAIL
116
+ }
117
+ }))
118
+ };
119
+ case EMAIL_TYPES.userIdentity:
120
+ return {
121
+ emailType: EMAIL_TYPES.userIdentity,
122
+ enabledWidgets: enabledWidgets,
123
+ subject: t("neetoMolecules.widget.email.fields.subject.values.userIdentity"),
124
+ body: /*#__PURE__*/React.createElement("div", {
125
+ ref: bodyRef
126
+ }, /*#__PURE__*/React.createElement(Trans, {
127
+ i18nKey: "neetoMolecules.widget.email.body.values.userIdentity",
128
+ components: {
129
+ p: /*#__PURE__*/React.createElement("p", {
130
+ style: {
131
+ marginBottom: "8px"
132
+ }
133
+ }),
134
+ configureLink: /*#__PURE__*/React.createElement("a", {
135
+ className: "neeto-ui-text-primary-800",
136
+ rel: "noreferrer",
137
+ target: "_blank",
138
+ href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
139
+ })
140
+ },
141
+ values: {
142
+ userIdentityKbUrl: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
143
+ }
144
+ }))
145
+ };
146
+ case EMAIL_TYPES.sessionContext:
147
+ return {
148
+ codeString: SAMPLE_CONTEXT_CODE_STRING,
149
+ subject: t("neetoMolecules.widget.email.fields.subject.values.sessionContext"),
150
+ body: /*#__PURE__*/React.createElement("div", {
151
+ ref: bodyRef
152
+ }, /*#__PURE__*/React.createElement(Trans, {
153
+ i18nKey: "neetoMolecules.widget.email.body.values.sessionContext",
154
+ values: {
155
+ sessionContextKbUrl: NEETO_REPLAY_CONFIGURE_URL
156
+ },
157
+ components: {
158
+ p: /*#__PURE__*/React.createElement("p", {
159
+ style: {
160
+ marginBottom: "8px"
161
+ }
162
+ }),
163
+ configureLink: /*#__PURE__*/React.createElement("a", {
164
+ className: "neeto-ui-text-primary-800",
165
+ href: NEETO_REPLAY_CONFIGURE_URL,
166
+ rel: "noreferrer",
167
+ target: "_blank"
168
+ })
169
+ }
170
+ }))
171
+ };
172
+ case EMAIL_TYPES["null"]:
173
+ return previousEmailType !== EMAIL_TYPES["null"] ? getSnippetProps(previousEmailType) : {};
174
+ default:
175
+ throw new Error(t("neetoMolecules.widget.email.invalidType"));
176
+ }
177
+ };
178
+ var handleSendViaEmail = function handleSendViaEmail(selectedEmail) {
179
+ if (isEmpty(selectedWidgets)) {
180
+ Toastr.error(t("neetoMolecules.widget.installation.snippet.disabledError"));
181
+ return;
182
+ }
183
+ setEmailType(selectedEmail);
184
+ };
185
+ if (isLoadingApiKey || isLoadingConfigurations) {
186
+ return /*#__PURE__*/React.createElement("div", {
187
+ className: "h-full w-full"
188
+ }, /*#__PURE__*/React.createElement(PageLoader, null));
189
+ }
190
+ return /*#__PURE__*/React.createElement("div", {
191
+ className: "mx-auto mb-10 w-full flex-col items-center justify-start"
192
+ }, /*#__PURE__*/React.createElement("div", {
193
+ className: classnames("mx-auto", maxWidth)
194
+ }, /*#__PURE__*/React.createElement(SelectionSwitches, {
195
+ enabledClientApps: enabledClientApps,
196
+ primaryApp: primaryApp,
197
+ selectedWidgets: selectedWidgets,
198
+ updateSelectedWidgets: updateSelectedWidgets
199
+ }), /*#__PURE__*/React.createElement("div", {
200
+ className: "mb-8 w-full flex-grow flex-col items-center justify-start"
201
+ }, /*#__PURE__*/React.createElement("div", {
202
+ className: "mx-auto mb-2 w-full",
203
+ "data-testid": "embed-code-block"
204
+ }, /*#__PURE__*/React.createElement(CodeBlock, {
205
+ className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
206
+ codeString: getEmbedCodeString(),
207
+ sendViaEmail: function sendViaEmail() {
208
+ return handleSendViaEmail(EMAIL_TYPES.embedCode);
209
+ },
210
+ title: /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.embedCode"))
211
+ })), /*#__PURE__*/React.createElement("div", {
212
+ className: "w-full"
213
+ }, /*#__PURE__*/React.createElement(Trans, {
214
+ values: {
215
+ val: getSortedPrefixedWidgets(selectedWidgets)
216
+ },
217
+ components: {
218
+ fontBold: /*#__PURE__*/React.createElement("span", {
219
+ className: "font-semibold"
220
+ }),
221
+ fontNormal: /*#__PURE__*/React.createElement("span", {
222
+ className: "font-normal"
223
+ })
224
+ },
225
+ i18nKey: isNotEmpty(selectedWidgets) ? "neetoMolecules.widget.installation.instructions.placement.selectedWidgets" : "neetoMolecules.widget.installation.instructions.placement.noneOfThese"
226
+ }))), shouldShowUserIdentity ? /*#__PURE__*/React.createElement("div", {
227
+ className: "mb-8 w-full flex-grow flex-col items-center justify-start"
228
+ }, /*#__PURE__*/React.createElement("div", {
229
+ className: "mx-auto mb-2 w-full"
230
+ }, /*#__PURE__*/React.createElement(CodeBlock, {
231
+ className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
232
+ frameworkProps: {
233
+ selectedFramework: selectedFramework,
234
+ setSelectedFramework: setSelectedFramework
235
+ },
236
+ codeString: getSampleUserIdentity(enabledWidgets, selectedFramework.value),
237
+ sendViaEmail: function sendViaEmail() {
238
+ return handleSendViaEmail(EMAIL_TYPES.userIdentity);
239
+ },
240
+ title: /*#__PURE__*/React.createElement("div", {
241
+ className: "flex items-center justify-start"
242
+ }, /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.userIdentity")), /*#__PURE__*/React.createElement("a", {
243
+ className: "ml-1",
244
+ rel: "noreferrer",
245
+ target: "_blank",
246
+ href: enabledWidgets.chat ? NEETO_CHAT_USER_IDENTITY_URL : NEETO_REPLAY_CONFIGURE_URL
247
+ }, /*#__PURE__*/React.createElement(Info, {
248
+ size: 16
249
+ })))
250
+ })), /*#__PURE__*/React.createElement("div", {
251
+ className: "w-full"
252
+ }, t("neetoMolecules.widget.installation.instructions.userIdentity"))) : null, shouldShowSessionContext ? /*#__PURE__*/React.createElement("div", {
253
+ className: "w-full flex-grow flex-col items-center justify-start"
254
+ }, /*#__PURE__*/React.createElement("div", {
255
+ className: "mx-auto mb-2 w-full"
256
+ }, /*#__PURE__*/React.createElement(CodeBlock, {
257
+ className: "neeto-ui-bg-primary-100 neeto-ui-rounded-lg",
258
+ codeString: SAMPLE_CONTEXT_CODE_STRING,
259
+ sendViaEmail: function sendViaEmail() {
260
+ return handleSendViaEmail(EMAIL_TYPES.sessionContext);
261
+ },
262
+ title: /*#__PURE__*/React.createElement("div", {
263
+ className: "flex items-center justify-start"
264
+ }, /*#__PURE__*/React.createElement("div", null, t("neetoMolecules.widget.title.sessionContext")), /*#__PURE__*/React.createElement("a", {
265
+ className: "ml-1",
266
+ href: NEETO_REPLAY_CONFIGURE_URL,
267
+ rel: "noreferrer",
268
+ target: "_blank"
269
+ }, /*#__PURE__*/React.createElement(Info, {
270
+ size: 16
271
+ })))
272
+ })), /*#__PURE__*/React.createElement("div", {
273
+ className: "w-full"
274
+ }, t("neetoMolecules.widget.installation.instructions.sessionContext"))) : null), /*#__PURE__*/React.createElement(CodeSnippet, _extends({
275
+ isPaneOpen: !!emailType && isNotEmpty(selectedWidgets),
276
+ onClose: function onClose() {
277
+ return setEmailType(EMAIL_TYPES["null"]);
278
+ }
279
+ }, getSnippetProps(emailType))));
280
+ };
281
+ export default /*#__PURE__*/React.memo(EmbedCode);
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { Info } from "@bigbinary/neeto-icons";
3
+ import { Callout } from "@bigbinary/neetoui";
4
+ import { useTranslation } from "react-i18next";
5
+ import { QueryClient, QueryClientProvider } from "react-query";
6
+ import EmbedCode from "./EmbedCode";
7
+ var queryClient = new QueryClient();
8
+ var Main = function Main(props) {
9
+ var _useTranslation = useTranslation(),
10
+ t = _useTranslation.t;
11
+ var shouldRenderEmbedCode = window.globalProps.ssoEnabled;
12
+ return shouldRenderEmbedCode ? /*#__PURE__*/React.createElement(QueryClientProvider, {
13
+ client: queryClient
14
+ }, /*#__PURE__*/React.createElement(EmbedCode, props)) : /*#__PURE__*/React.createElement(Callout, {
15
+ icon: Info,
16
+ style: "info"
17
+ }, t("neetoMolecules.widget.developmentInfo"));
18
+ };
19
+ export default Main;
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { capitalize } from "@bigbinary/neeto-commons-frontend/pure";
3
+ import { withT } from "@bigbinary/neeto-commons-frontend/react-utils";
4
+ import { Switch, Tooltip } from "@bigbinary/neetoui";
5
+ var TooltipSwitch = withT(function (_ref) {
6
+ var t = _ref.t,
7
+ enabledClientApps = _ref.enabledClientApps,
8
+ widget = _ref.widget,
9
+ selectedWidgets = _ref.selectedWidgets,
10
+ updateSelectedWidgets = _ref.updateSelectedWidgets;
11
+ return /*#__PURE__*/React.createElement(Tooltip, {
12
+ disabled: enabledClientApps.includes(widget),
13
+ placement: "right",
14
+ content: t("neetoMolecules.widget.tooltips.productIsDisabled", {
15
+ productName: "neeto".concat(capitalize(widget))
16
+ })
17
+ }, /*#__PURE__*/React.createElement(Switch, {
18
+ checked: selectedWidgets.includes(widget),
19
+ disabled: !enabledClientApps.includes(widget),
20
+ onChange: function onChange() {
21
+ return updateSelectedWidgets(widget);
22
+ }
23
+ }));
24
+ });
25
+ export default TooltipSwitch;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { capitalize, isNotEmpty } from "@bigbinary/neeto-commons-frontend/pure";
3
+ import { Info } from "@bigbinary/neeto-icons";
4
+ import { Label } from "@bigbinary/neetoui";
5
+ import TooltipSwitch from "./TooltipSwitch";
6
+ import { WIDGET_TYPES_VALUES, WIDGET_KB_HELP_URL } from "../constants";
7
+ var SelectionSwitches = function SelectionSwitches(_ref) {
8
+ var selectedWidgets = _ref.selectedWidgets,
9
+ updateSelectedWidgets = _ref.updateSelectedWidgets,
10
+ primaryApp = _ref.primaryApp,
11
+ enabledClientApps = _ref.enabledClientApps;
12
+ var primaryWidget = WIDGET_TYPES_VALUES.includes(primaryApp) ? primaryApp : "";
13
+ return /*#__PURE__*/React.createElement("div", {
14
+ className: "mb-4 flex w-full items-center justify-between gap-2"
15
+ }, /*#__PURE__*/React.createElement("div", {
16
+ className: "flex items-center space-x-2"
17
+ }, isNotEmpty(primaryWidget) && /*#__PURE__*/React.createElement(TooltipSwitch, {
18
+ enabledClientApps: enabledClientApps,
19
+ selectedWidgets: selectedWidgets,
20
+ updateSelectedWidgets: updateSelectedWidgets,
21
+ widget: primaryWidget
22
+ }), /*#__PURE__*/React.createElement("div", {
23
+ className: "flex items-center space-x-1"
24
+ }, /*#__PURE__*/React.createElement(Label, null, "neeto", capitalize(primaryWidget)), /*#__PURE__*/React.createElement("a", {
25
+ href: WIDGET_KB_HELP_URL[primaryApp],
26
+ rel: "noreferrer",
27
+ target: "_blank"
28
+ }, /*#__PURE__*/React.createElement(Info, {
29
+ size: 16
30
+ })))), /*#__PURE__*/React.createElement("div", {
31
+ className: "flex items-center justify-end gap-6"
32
+ }, WIDGET_TYPES_VALUES.map(function (widget, index) {
33
+ return primaryApp !== widget && /*#__PURE__*/React.createElement("div", {
34
+ className: "flex items-center space-x-2",
35
+ key: index
36
+ }, /*#__PURE__*/React.createElement(TooltipSwitch, {
37
+ enabledClientApps: enabledClientApps,
38
+ selectedWidgets: selectedWidgets,
39
+ updateSelectedWidgets: updateSelectedWidgets,
40
+ widget: widget
41
+ }), /*#__PURE__*/React.createElement(Label, null, "neeto", capitalize(widget)));
42
+ })));
43
+ };
44
+ export default SelectionSwitches;
@@ -0,0 +1,17 @@
1
+ import React, { useEffect } from "react";
2
+ import Prism from "prismjs";
3
+ import "prismjs/themes/prism-tomorrow.css";
4
+ var SyntaxHighlighter = function SyntaxHighlighter(_ref) {
5
+ var className = _ref.className,
6
+ code = _ref.code,
7
+ language = _ref.language;
8
+ useEffect(function () {
9
+ Prism.highlightAll();
10
+ }, [code]);
11
+ return /*#__PURE__*/React.createElement("pre", {
12
+ className: className
13
+ }, /*#__PURE__*/React.createElement("code", {
14
+ className: "language-".concat(language)
15
+ }, code));
16
+ };
17
+ export default /*#__PURE__*/React.memo(SyntaxHighlighter);
@@ -0,0 +1,20 @@
1
+ import { EMBED_CODE_EMAIL_URL, WIDGET_CONFIG_URL } from "./constants";
2
+ import { getWidgetApiKeyUrl } from "./utils";
3
+ var _require = require("axios"),
4
+ axios = _require["default"];
5
+ export var queryWidgetApiKey = function queryWidgetApiKey() {
6
+ return axios.get(getWidgetApiKeyUrl(), {
7
+ showToastr: false
8
+ });
9
+ };
10
+ export var emailWidgetSnippet = function emailWidgetSnippet(data) {
11
+ return axios.post(EMBED_CODE_EMAIL_URL, data);
12
+ };
13
+ export var fetchWidgetConfiguration = function fetchWidgetConfiguration() {
14
+ return axios.get(WIDGET_CONFIG_URL);
15
+ };
16
+ export var updateWidgetConfiguration = function updateWidgetConfiguration(_ref) {
17
+ var id = _ref.id,
18
+ payload = _ref.payload;
19
+ return axios.put("".concat(WIDGET_CONFIG_URL, "/").concat(id), payload);
20
+ };
@@ -0,0 +1,62 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ var _SAMPLE_USER_IDENTITY;
3
+ import { values } from "ramda";
4
+ export var NEETO_WIDGET_USER_IDENTITY_KEY = "NeetoWidgetUserIdentity";
5
+ export var SESSION_CONTEXT_KEY = "NeetoReplayWidgetSessionContext";
6
+ export var INSTALLATION_HELP_EMAIL = "support@neeto.com";
7
+ export var SAMPLE_CONTEXT_CODE_STRING = "window.".concat(SESSION_CONTEXT_KEY, " = {\n key1: \"value\",\n key2: [\"array\", \"of\", \"values\"],\n /* More key-value pairs */\n}");
8
+ export var WIDGET_TYPES = {
9
+ changelog: "changelog",
10
+ chat: "chat",
11
+ replay: "replay"
12
+ };
13
+ export var WIDGET_TYPES_VALUES = values(WIDGET_TYPES);
14
+ export var QUERY_KEYS = {
15
+ apiKey: "neetoWidgetApiKey",
16
+ configuration: "neetoWidgetConfiguration"
17
+ };
18
+ export var DEFAULT_QUERY_STALE_TIME = 60 * 60 * 1000; // 1 hour in milliseconds
19
+
20
+ export var EMAIL_TYPES = {
21
+ embedCode: "embedCode",
22
+ userIdentity: "userIdentity",
23
+ sessionContext: "sessionContext",
24
+ "null": ""
25
+ };
26
+ export var RAILS_ENV = {
27
+ production: "production",
28
+ staging: "staging",
29
+ development: "development"
30
+ };
31
+ export var NEETO_WIDGET_SCRIPT_URL = {
32
+ staging: "https://d13nryxs46eypn.cloudfront.net/neeto-widget-staging.js",
33
+ production: "https://d13nryxs46eypn.cloudfront.net/neeto-widget.js"
34
+ };
35
+ export var AVAILABLE_FRAMEWORK_OPTIONS = Object.freeze({
36
+ rails: "rails",
37
+ django: "django",
38
+ php: "php"
39
+ });
40
+ export var FRAMEWORK_SELECT_OPTIONS = [{
41
+ label: "Ruby(Rails)",
42
+ value: AVAILABLE_FRAMEWORK_OPTIONS.rails
43
+ }, {
44
+ label: "Python(Django)",
45
+ value: AVAILABLE_FRAMEWORK_OPTIONS.django
46
+ }, {
47
+ label: "PHP",
48
+ value: AVAILABLE_FRAMEWORK_OPTIONS.php
49
+ }];
50
+ export var SAMPLE_USER_IDENTITY_CODE_STRING = (_SAMPLE_USER_IDENTITY = {}, _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _defineProperty(_SAMPLE_USER_IDENTITY, 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}")), _SAMPLE_USER_IDENTITY);
51
+ export var WIDGET_CONFIG_URL = "api/widget/v1/neeto_widget_tokens";
52
+ export var EMBED_CODE_EMAIL_URL = "api/widget/v1/email_snippets";
53
+ export var CHAT_WIDGET_KB_BASE_URL = "https://help.neetochat.com";
54
+ export var CHANGELOG_WIDGET_KB_BASE_URL = "https://help.neetochangelog.com";
55
+ export var REPLAY_WIDGET_KB_BASE_URL = "https://help.neetoreplay.com";
56
+ export var NEETO_REPLAY_CONFIGURE_URL = "".concat(REPLAY_WIDGET_KB_BASE_URL, "/articles/configure-widget");
57
+ export var NEETO_CHAT_USER_IDENTITY_URL = "".concat(CHAT_WIDGET_KB_BASE_URL, "/articles/info-about-logged-in-users");
58
+ export var WIDGET_KB_HELP_URL = {
59
+ changelog: "".concat(CHANGELOG_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage"),
60
+ chat: "".concat(CHAT_WIDGET_KB_BASE_URL, "/categories/installation"),
61
+ replay: "".concat(REPLAY_WIDGET_KB_BASE_URL, "/categories/widget-installation-usage")
62
+ };
@@ -0,0 +1,14 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useState } from "react";
3
+ var useForceUpdate = function useForceUpdate() {
4
+ // eslint-disable-next-line react/hook-use-state
5
+ var _useState = useState(0),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ setValue = _useState2[1];
8
+ return function () {
9
+ return setValue(function (value) {
10
+ return value + 1;
11
+ });
12
+ };
13
+ };
14
+ export default useForceUpdate;
@@ -0,0 +1,7 @@
1
+ import { WIDGET_TYPES } from "./constants";
2
+ import Main from "./Main";
3
+ var NeetoWidget = {
4
+ EmbedCode: Main,
5
+ WIDGET_TYPES: WIDGET_TYPES
6
+ };
7
+ export default NeetoWidget;
@@ -0,0 +1,9 @@
1
+ import { useMutation } from "react-query";
2
+ import { emailWidgetSnippet } from "./api";
3
+ export var useEmailEmbedCode = function useEmailEmbedCode(onSuccess) {
4
+ return useMutation(function (emailData) {
5
+ return emailWidgetSnippet(emailData);
6
+ }, {
7
+ onSuccess: onSuccess
8
+ });
9
+ };
@@ -0,0 +1,32 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ import { useQuery, useQueryClient, useMutation } from "react-query";
5
+ import { queryWidgetApiKey, fetchWidgetConfiguration, updateWidgetConfiguration } from "./api";
6
+ import { DEFAULT_QUERY_STALE_TIME, QUERY_KEYS } from "./constants";
7
+ export var useFetchApiKey = function useFetchApiKey() {
8
+ return useQuery(QUERY_KEYS.apiKey, function () {
9
+ if (window.globalProps.railsEnv === "heroku" || !process.env.ENABLE_SSO) {
10
+ return Promise.resolve({
11
+ widgetApiKey: "placeholder-api-key"
12
+ });
13
+ }
14
+ return queryWidgetApiKey();
15
+ }, {
16
+ staleTime: DEFAULT_QUERY_STALE_TIME
17
+ });
18
+ };
19
+ export var useFetchConfigurations = function useFetchConfigurations() {
20
+ return useQuery(QUERY_KEYS.configuration, fetchWidgetConfiguration, {
21
+ staleTime: DEFAULT_QUERY_STALE_TIME
22
+ });
23
+ };
24
+ export var useUpdateConfigurations = function useUpdateConfigurations() {
25
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
+ var queryClient = useQueryClient();
27
+ return useMutation(updateWidgetConfiguration, _objectSpread(_objectSpread({}, options), {}, {
28
+ onSuccess: function onSuccess() {
29
+ return queryClient.invalidateQueries(QUERY_KEYS.configuration);
30
+ }
31
+ }));
32
+ };
@@ -0,0 +1,83 @@
1
+ import i18next from "i18next";
2
+ import { capitalize } from "@bigbinary/neeto-commons-frontend/pure";
3
+ import { identity, last } from "ramda";
4
+ import * as yup from "yup";
5
+ import { NEETO_WIDGET_USER_IDENTITY_KEY, SESSION_CONTEXT_KEY, RAILS_ENV, NEETO_WIDGET_SCRIPT_URL, SAMPLE_USER_IDENTITY_CODE_STRING } from "./constants";
6
+ var buildEmbedWidgetScript = function buildEmbedWidgetScript() {
7
+ var widgetScriptUrl = window.globalProps.railsEnv === RAILS_ENV.production ? NEETO_WIDGET_SCRIPT_URL.production : NEETO_WIDGET_SCRIPT_URL.staging;
8
+ return "<script src=\"".concat(widgetScriptUrl, "\"></script>");
9
+ };
10
+ var indentAndFormat = function indentAndFormat(str) {
11
+ var formatter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : identity;
12
+ return str.split("\n").map(formatter).join("\n ");
13
+ };
14
+ var getCommentedCommand = function getCommentedCommand(command, isEnabled) {
15
+ return isEnabled ? command : "/// ".concat(command);
16
+ };
17
+ var embedWidgetEnvironment = function embedWidgetEnvironment() {
18
+ switch (window.globalProps.railsEnv) {
19
+ case RAILS_ENV.production:
20
+ return "";
21
+ case RAILS_ENV.development:
22
+ return "environment: \"".concat(RAILS_ENV.development, "\",");
23
+ case RAILS_ENV.staging:
24
+ return "environment: \"".concat(RAILS_ENV.staging, "\",");
25
+ default:
26
+ return "/* Unidentified RAILS_ENV, */";
27
+ }
28
+ };
29
+ var embedWidgetApiKey = function embedWidgetApiKey(apiKey) {
30
+ return "apiKey: \"".concat(apiKey, "\",");
31
+ };
32
+ var addChangelogOptions = function addChangelogOptions() {
33
+ return "neetoChangelogOptions: {\n elementId: \"neetochangelog-trigger\",\n},";
34
+ };
35
+ var wrapBlockInOnLoad = function wrapBlockInOnLoad(codeBlock) {
36
+ return "window.addEventListener(\"load\", () => ".concat(codeBlock, ");");
37
+ };
38
+ var embedWidgetFunctionCall = function embedWidgetFunctionCall(enabledWidgets, apiKey) {
39
+ return "embedNeetoWidget({\n ".concat(embedWidgetEnvironment(), "\n ").concat(indentAndFormat(embedWidgetApiKey(apiKey)), "\n ").concat(indentAndFormat(addChangelogOptions(), function (cmd) {
40
+ return getCommentedCommand(cmd, enabledWidgets.changelog);
41
+ }), "\n})");
42
+ };
43
+ var filterMarkedCommands = function filterMarkedCommands(queryString) {
44
+ return queryString.split("\n").filter(function (line) {
45
+ return !line.includes("///") && line.trim();
46
+ }).join("\n");
47
+ };
48
+ export var getSampleUserIdentity = function getSampleUserIdentity(enabledWidgets, selectedFramework) {
49
+ var splitCodeLines = SAMPLE_USER_IDENTITY_CODE_STRING[selectedFramework].split("\n");
50
+ return filterMarkedCommands(splitCodeLines.map(function (cmd) {
51
+ var isEmailKey = cmd.includes("email");
52
+ var isObjectStartLine = cmd === splitCodeLines[0];
53
+ var isObjectEndLine = cmd === last(splitCodeLines);
54
+ var isLineHidden = !isEmailKey && !isObjectStartLine && !isObjectEndLine;
55
+ if (!enabledWidgets.chat && isLineHidden || !enabledWidgets.chat && !enabledWidgets.replay) {
56
+ return null;
57
+ }
58
+ return cmd;
59
+ }).join("\n"));
60
+ };
61
+ export var sampleConsolidatedCodeString = function sampleConsolidatedCodeString(enabledWidgets, apiKey) {
62
+ return filterMarkedCommands("".concat(buildEmbedWidgetScript(), "\n<script>\n ").concat(enabledWidgets.chat || enabledWidgets.replay ? "window.".concat(NEETO_WIDGET_USER_IDENTITY_KEY, " = {};") : "", "\n ").concat(enabledWidgets.replay ? "window.".concat(SESSION_CONTEXT_KEY, " = {};") : "", "\n\n ").concat(indentAndFormat(wrapBlockInOnLoad(embedWidgetFunctionCall(enabledWidgets, apiKey))), "\n</script>"));
63
+ };
64
+ export var getEmailWidgetSnippetFormInitialValues = function getEmailWidgetSnippetFormInitialValues(subject) {
65
+ return {
66
+ emails: "",
67
+ subject: subject
68
+ };
69
+ };
70
+ export var getSortedPrefixedWidgets = function getSortedPrefixedWidgets(widgets) {
71
+ return widgets.sort().map(function (widget) {
72
+ return "neeto".concat(capitalize(widget));
73
+ });
74
+ };
75
+ export var getEmailWidgetSnippetValidationSchema = function getEmailWidgetSnippetValidationSchema() {
76
+ return yup.object({
77
+ emails: yup.array().required().label(i18next.t("neetoMolecules.widget.email.fields.emails.label")),
78
+ subject: yup.string().required().label(i18next.t("neetoMolecules.widget.email.fields.subject.label"))
79
+ });
80
+ };
81
+ export var getWidgetApiKeyUrl = function getWidgetApiKeyUrl() {
82
+ return "api/widget/v1/api_keys/".concat(window.globalProps.organization.subdomain);
83
+ };