@bigbinary/neeto-molecules 1.1.10 → 1.1.12

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 (477) 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 +75 -0
  87. package/dist/IpRestriction/CurrentIp.js +26 -0
  88. package/dist/IpRestriction/FormRow.js +84 -0
  89. package/dist/IpRestriction/Row.js +91 -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 +20 -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 +85 -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/Search/index.js +52 -0
  182. package/dist/Security/AllowedKeywords/Add.js +38 -0
  183. package/dist/Security/AllowedKeywords/index.js +38 -0
  184. package/dist/Security/PasswordBlock.js +31 -0
  185. package/dist/Security/RadioBlock.js +38 -0
  186. package/dist/Security/api.js +12 -0
  187. package/dist/Security/constants.js +58 -0
  188. package/dist/Security/index.js +68 -0
  189. package/dist/Security/useSecurityApi.js +22 -0
  190. package/dist/Security/utils.js +31 -0
  191. package/dist/SendToFields/FilePicker.js +34 -0
  192. package/dist/SendToFields/constants.js +6 -0
  193. package/dist/SendToFields/index.js +102 -0
  194. package/dist/SendToFields/utils.js +54 -0
  195. package/dist/Settings/Category.js +30 -0
  196. package/dist/Settings/Item.js +38 -0
  197. package/dist/Settings/index.js +37 -0
  198. package/dist/Settings/utils.js +4 -0
  199. package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
  200. package/dist/ShareViaEmail/FilePicker.js +43 -0
  201. package/dist/ShareViaEmail/Form.js +101 -0
  202. package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
  203. package/dist/ShareViaEmail/constants.js +14 -0
  204. package/dist/ShareViaEmail/index.js +89 -0
  205. package/dist/ShareViaEmail/utils.js +72 -0
  206. package/dist/ShareViaLink/EditURL.js +74 -0
  207. package/dist/ShareViaLink/Link.js +105 -0
  208. package/dist/ShareViaLink/QRCode.js +41 -0
  209. package/dist/ShareViaLink/RegenerateURL.js +47 -0
  210. package/dist/ShareViaLink/SocialMedia.js +52 -0
  211. package/dist/ShareViaLink/constants.js +25 -0
  212. package/dist/ShareViaLink/edit-url.scss +8 -0
  213. package/dist/ShareViaLink/index.js +46 -0
  214. package/dist/ShareViaLink/utils.js +47 -0
  215. package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
  216. package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
  217. package/dist/Sidebar/AppSwitcher/Body.js +65 -0
  218. package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
  219. package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
  220. package/dist/Sidebar/AppSwitcher/index.js +47 -0
  221. package/dist/Sidebar/AppSwitcher/utils.js +25 -0
  222. package/dist/Sidebar/Chevron.js +14 -0
  223. package/dist/Sidebar/FeaturedTooltip.js +19 -0
  224. package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
  225. package/dist/Sidebar/Footer/ProfileButton.js +30 -0
  226. package/dist/Sidebar/Footer/index.js +56 -0
  227. package/dist/Sidebar/Footer/utils.js +39 -0
  228. package/dist/Sidebar/Header.js +33 -0
  229. package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
  230. package/dist/Sidebar/HelpSection/index.js +32 -0
  231. package/dist/Sidebar/Links.js +112 -0
  232. package/dist/Sidebar/NavIconWrapper.js +20 -0
  233. package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
  234. package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
  235. package/dist/Sidebar/ProfileSection/index.js +42 -0
  236. package/dist/Sidebar/constants.js +40 -0
  237. package/dist/Sidebar/index.js +94 -0
  238. package/dist/Sidebar/sidebar.scss +379 -0
  239. package/dist/Sidebar/utils.js +18 -0
  240. package/dist/SubHeader/RightBlock/Columns.js +35 -0
  241. package/dist/SubHeader/RightBlock/Download.js +28 -0
  242. package/dist/SubHeader/RightBlock/Filter.js +31 -0
  243. package/dist/SubHeader/RightBlock/index.js +21 -0
  244. package/dist/SubHeader/RightBlock/utils.js +13 -0
  245. package/dist/SubHeader/index.js +28 -0
  246. package/dist/SubHeader/subheader.scss +78 -0
  247. package/dist/TableWrapper/index.js +18 -0
  248. package/dist/ThemeSidebar/Customize/Logo.js +39 -0
  249. package/dist/ThemeSidebar/Customize/Properties.js +170 -0
  250. package/dist/ThemeSidebar/Customize/index.js +66 -0
  251. package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
  252. package/dist/ThemeSidebar/Themes/index.js +110 -0
  253. package/dist/ThemeSidebar/TitleBar.js +62 -0
  254. package/dist/ThemeSidebar/constants.js +127 -0
  255. package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
  256. package/dist/ThemeSidebar/fields/Card.js +19 -0
  257. package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
  258. package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
  259. package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
  260. package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
  261. package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
  262. package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
  263. package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
  264. package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
  265. package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
  266. package/dist/ThemeSidebar/fields/slider.scss +199 -0
  267. package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
  268. package/dist/ThemeSidebar/index.js +118 -0
  269. package/dist/ThemeSidebar/themeSidebar.scss +45 -0
  270. package/dist/ThemeSidebar/utils.js +169 -0
  271. package/dist/TimeFormat/index.js +3 -0
  272. package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
  273. package/dist/TimezoneMismatchModal/index.js +83 -0
  274. package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
  275. package/dist/TimezoneMismatchModal/utils.js +12 -0
  276. package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
  277. package/dist/ToggleFeatureCard/constants.js +5 -0
  278. package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
  279. package/dist/ToggleFeatureCard/index.js +148 -0
  280. package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
  281. package/package.json +28 -34
  282. package/src/translations/en.json +5 -1
  283. package/types/Search.d.ts +19 -0
  284. package/dist/AutoSaveInput.cjs.js +0 -724
  285. package/dist/AutoSaveInput.cjs.js.map +0 -1
  286. package/dist/AutoSaveInput.js +0 -718
  287. package/dist/AutoSaveInput.js.map +0 -1
  288. package/dist/Breadcrumbs.cjs.js +0 -44
  289. package/dist/Breadcrumbs.cjs.js.map +0 -1
  290. package/dist/Breadcrumbs.js +0 -38
  291. package/dist/Breadcrumbs.js.map +0 -1
  292. package/dist/BrowserSupport.cjs.js +0 -1731
  293. package/dist/BrowserSupport.cjs.js.map +0 -1
  294. package/dist/BrowserSupport.js +0 -1725
  295. package/dist/BrowserSupport.js.map +0 -1
  296. package/dist/CalendarView.cjs.js +0 -610
  297. package/dist/CalendarView.cjs.js.map +0 -1
  298. package/dist/CalendarView.js +0 -598
  299. package/dist/CalendarView.js.map +0 -1
  300. package/dist/Codeblock.cjs.js +0 -302
  301. package/dist/Codeblock.cjs.js.map +0 -1
  302. package/dist/Codeblock.js +0 -296
  303. package/dist/Codeblock.js.map +0 -1
  304. package/dist/Columns.cjs.js +0 -248
  305. package/dist/Columns.cjs.js.map +0 -1
  306. package/dist/Columns.js.map +0 -1
  307. package/dist/ConfirmationModal.cjs.js +0 -87
  308. package/dist/ConfirmationModal.cjs.js.map +0 -1
  309. package/dist/ConfirmationModal.js.map +0 -1
  310. package/dist/Container.cjs.js +0 -1277
  311. package/dist/Container.cjs.js.map +0 -1
  312. package/dist/Container.js +0 -1271
  313. package/dist/Container.js.map +0 -1
  314. package/dist/CopyToClipboardButton.cjs.js +0 -275
  315. package/dist/CopyToClipboardButton.cjs.js.map +0 -1
  316. package/dist/CopyToClipboardButton.js +0 -269
  317. package/dist/CopyToClipboardButton.js.map +0 -1
  318. package/dist/CustomDomain.cjs.js +0 -774
  319. package/dist/CustomDomain.cjs.js.map +0 -1
  320. package/dist/CustomDomain.js +0 -747
  321. package/dist/CustomDomain.js.map +0 -1
  322. package/dist/CustomDomainDashboard.cjs.js +0 -2370
  323. package/dist/CustomDomainDashboard.cjs.js.map +0 -1
  324. package/dist/CustomDomainDashboard.js +0 -2342
  325. package/dist/CustomDomainDashboard.js.map +0 -1
  326. package/dist/DateFormat.cjs.js +0 -51
  327. package/dist/DateFormat.cjs.js.map +0 -1
  328. package/dist/DateFormat.js.map +0 -1
  329. package/dist/DateRangeFilter.cjs.js +0 -236
  330. package/dist/DateRangeFilter.cjs.js.map +0 -1
  331. package/dist/DateRangeFilter.js +0 -229
  332. package/dist/DateRangeFilter.js.map +0 -1
  333. package/dist/DynamicVariables.cjs.js +0 -189
  334. package/dist/DynamicVariables.cjs.js.map +0 -1
  335. package/dist/DynamicVariables.js +0 -183
  336. package/dist/DynamicVariables.js.map +0 -1
  337. package/dist/EmailForm.cjs.js +0 -4295
  338. package/dist/EmailForm.cjs.js.map +0 -1
  339. package/dist/EmailForm.js +0 -4265
  340. package/dist/EmailForm.js.map +0 -1
  341. package/dist/EmailPreview.cjs.js +0 -1419
  342. package/dist/EmailPreview.cjs.js.map +0 -1
  343. package/dist/EmailPreview.js +0 -1413
  344. package/dist/EmailPreview.js.map +0 -1
  345. package/dist/ErrorPage.cjs.js +0 -226
  346. package/dist/ErrorPage.cjs.js.map +0 -1
  347. package/dist/ErrorPage.js.map +0 -1
  348. package/dist/Header.cjs.js +0 -188
  349. package/dist/Header.cjs.js.map +0 -1
  350. package/dist/Header.js +0 -182
  351. package/dist/Header.js.map +0 -1
  352. package/dist/IconPicker.cjs.js +0 -1308
  353. package/dist/IconPicker.cjs.js.map +0 -1
  354. package/dist/IconPicker.js +0 -1302
  355. package/dist/IconPicker.js.map +0 -1
  356. package/dist/ImageWithFallback.cjs.js +0 -247
  357. package/dist/ImageWithFallback.cjs.js.map +0 -1
  358. package/dist/ImageWithFallback.js +0 -241
  359. package/dist/ImageWithFallback.js.map +0 -1
  360. package/dist/IntegrationCard.cjs.js +0 -409
  361. package/dist/IntegrationCard.cjs.js.map +0 -1
  362. package/dist/IntegrationCard.js +0 -403
  363. package/dist/IntegrationCard.js.map +0 -1
  364. package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
  365. package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
  366. package/dist/IntegrationDisconnectAlert.js +0 -80
  367. package/dist/IntegrationDisconnectAlert.js.map +0 -1
  368. package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
  369. package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
  370. package/dist/IntegrationWalkthroughModal.js.map +0 -1
  371. package/dist/IpRestriction.cjs.js +0 -3931
  372. package/dist/IpRestriction.cjs.js.map +0 -1
  373. package/dist/IpRestriction.js +0 -3905
  374. package/dist/IpRestriction.js.map +0 -1
  375. package/dist/KeyboardShortcuts.cjs.js +0 -2263
  376. package/dist/KeyboardShortcuts.cjs.js.map +0 -1
  377. package/dist/KeyboardShortcuts.js +0 -2256
  378. package/dist/KeyboardShortcuts.js.map +0 -1
  379. package/dist/LoginPage.cjs.js +0 -618
  380. package/dist/LoginPage.cjs.js.map +0 -1
  381. package/dist/LoginPage.js +0 -593
  382. package/dist/LoginPage.js.map +0 -1
  383. package/dist/MenuBar.cjs.js +0 -34273
  384. package/dist/MenuBar.cjs.js.map +0 -1
  385. package/dist/MenuBar.js +0 -34267
  386. package/dist/MenuBar.js.map +0 -1
  387. package/dist/Metadata.cjs.js +0 -272
  388. package/dist/Metadata.cjs.js.map +0 -1
  389. package/dist/Metadata.js +0 -266
  390. package/dist/Metadata.js.map +0 -1
  391. package/dist/MoreDropdown.cjs.js +0 -168
  392. package/dist/MoreDropdown.cjs.js.map +0 -1
  393. package/dist/MoreDropdown.js.map +0 -1
  394. package/dist/NavigationHeader.cjs.js +0 -756
  395. package/dist/NavigationHeader.cjs.js.map +0 -1
  396. package/dist/NavigationHeader.js +0 -750
  397. package/dist/NavigationHeader.js.map +0 -1
  398. package/dist/NeetoWidget.cjs.js +0 -3375
  399. package/dist/NeetoWidget.cjs.js.map +0 -1
  400. package/dist/NeetoWidget.js +0 -3348
  401. package/dist/NeetoWidget.js.map +0 -1
  402. package/dist/PageLoader.cjs.js +0 -158
  403. package/dist/PageLoader.cjs.js.map +0 -1
  404. package/dist/PageLoader.js +0 -134
  405. package/dist/PageLoader.js.map +0 -1
  406. package/dist/PhoneNumber.cjs.js +0 -7021
  407. package/dist/PhoneNumber.cjs.js.map +0 -1
  408. package/dist/PhoneNumber.js +0 -6989
  409. package/dist/PhoneNumber.js.map +0 -1
  410. package/dist/PublishBlock.cjs.js +0 -224
  411. package/dist/PublishBlock.cjs.js.map +0 -1
  412. package/dist/PublishBlock.js +0 -218
  413. package/dist/PublishBlock.js.map +0 -1
  414. package/dist/Rename.cjs.js +0 -516
  415. package/dist/Rename.cjs.js.map +0 -1
  416. package/dist/Rename.js +0 -510
  417. package/dist/Rename.js.map +0 -1
  418. package/dist/ResponsiveDevicePicker.cjs.js +0 -260
  419. package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
  420. package/dist/ResponsiveDevicePicker.js +0 -254
  421. package/dist/ResponsiveDevicePicker.js.map +0 -1
  422. package/dist/Schedule.cjs.js +0 -1077
  423. package/dist/Schedule.cjs.js.map +0 -1
  424. package/dist/Schedule.js +0 -1046
  425. package/dist/Schedule.js.map +0 -1
  426. package/dist/Scrollable.cjs.js +0 -188
  427. package/dist/Scrollable.cjs.js.map +0 -1
  428. package/dist/Scrollable.js +0 -182
  429. package/dist/Scrollable.js.map +0 -1
  430. package/dist/Security.cjs.js +0 -1921
  431. package/dist/Security.cjs.js.map +0 -1
  432. package/dist/Security.js +0 -1895
  433. package/dist/Security.js.map +0 -1
  434. package/dist/SendToFields.cjs.js +0 -2524
  435. package/dist/SendToFields.cjs.js.map +0 -1
  436. package/dist/SendToFields.js +0 -2517
  437. package/dist/SendToFields.js.map +0 -1
  438. package/dist/Settings.cjs.js +0 -501
  439. package/dist/Settings.cjs.js.map +0 -1
  440. package/dist/Settings.js +0 -495
  441. package/dist/Settings.js.map +0 -1
  442. package/dist/ShareViaEmail.cjs.js +0 -4272
  443. package/dist/ShareViaEmail.cjs.js.map +0 -1
  444. package/dist/ShareViaEmail.js +0 -4246
  445. package/dist/ShareViaEmail.js.map +0 -1
  446. package/dist/ShareViaLink.cjs.js +0 -1512
  447. package/dist/ShareViaLink.cjs.js.map +0 -1
  448. package/dist/ShareViaLink.js +0 -1486
  449. package/dist/ShareViaLink.js.map +0 -1
  450. package/dist/Sidebar.cjs.js +0 -34985
  451. package/dist/Sidebar.cjs.js.map +0 -1
  452. package/dist/Sidebar.js +0 -34959
  453. package/dist/Sidebar.js.map +0 -1
  454. package/dist/SubHeader.cjs.js +0 -283
  455. package/dist/SubHeader.cjs.js.map +0 -1
  456. package/dist/SubHeader.js +0 -276
  457. package/dist/SubHeader.js.map +0 -1
  458. package/dist/TableWrapper.cjs.js +0 -87
  459. package/dist/TableWrapper.cjs.js.map +0 -1
  460. package/dist/TableWrapper.js +0 -81
  461. package/dist/TableWrapper.js.map +0 -1
  462. package/dist/ThemeSidebar.cjs.js +0 -13705
  463. package/dist/ThemeSidebar.cjs.js.map +0 -1
  464. package/dist/ThemeSidebar.js +0 -13680
  465. package/dist/ThemeSidebar.js.map +0 -1
  466. package/dist/TimeFormat.cjs.js +0 -53
  467. package/dist/TimeFormat.cjs.js.map +0 -1
  468. package/dist/TimeFormat.js +0 -47
  469. package/dist/TimeFormat.js.map +0 -1
  470. package/dist/TimezoneMismatchModal.cjs.js +0 -176
  471. package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
  472. package/dist/TimezoneMismatchModal.js +0 -168
  473. package/dist/TimezoneMismatchModal.js.map +0 -1
  474. package/dist/ToggleFeatureCard.cjs.js +0 -389
  475. package/dist/ToggleFeatureCard.cjs.js.map +0 -1
  476. package/dist/ToggleFeatureCard.js +0 -383
  477. 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
+ };