@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta1

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 (370) hide show
  1. package/README.md +66 -52
  2. package/dist/Breadcrumbs.js +16 -19
  3. package/dist/Breadcrumbs.js.map +1 -1
  4. package/dist/BrowserSupport.js +41 -138
  5. package/dist/BrowserSupport.js.map +1 -1
  6. package/dist/Builder.js +207 -364
  7. package/dist/Builder.js.map +1 -1
  8. package/dist/CalendarView.js +40 -288
  9. package/dist/CalendarView.js.map +1 -1
  10. package/dist/Chevron-c64ff676.js +190 -0
  11. package/dist/Chevron-c64ff676.js.map +1 -0
  12. package/dist/Codeblock.js +26 -209
  13. package/dist/Codeblock.js.map +1 -1
  14. package/dist/Columns.js +16 -240
  15. package/dist/Columns.js.map +1 -1
  16. package/dist/ConfigurePageSidebar.js +97 -0
  17. package/dist/ConfigurePageSidebar.js.map +1 -0
  18. package/dist/ConfirmationModal.js +10 -10
  19. package/dist/ConfirmationModal.js.map +1 -1
  20. package/dist/Container.js +5 -1187
  21. package/dist/Container.js.map +1 -1
  22. package/dist/CopyToClipboardButton.js +26 -155
  23. package/dist/CopyToClipboardButton.js.map +1 -1
  24. package/dist/Currency.js +912 -0
  25. package/dist/Currency.js.map +1 -0
  26. package/dist/CustomDomain.js +37 -633
  27. package/dist/CustomDomain.js.map +1 -1
  28. package/dist/CustomDomainDashboard.js +69 -2192
  29. package/dist/CustomDomainDashboard.js.map +1 -1
  30. package/dist/DateFormat.js +6 -20
  31. package/dist/DateFormat.js.map +1 -1
  32. package/dist/DateRangeFilter.js +19 -75
  33. package/dist/DateRangeFilter.js.map +1 -1
  34. package/dist/DeleteArchiveModal.js +86 -0
  35. package/dist/DeleteArchiveModal.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -133
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +4 -4
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +12 -95
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +79 -1741
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +32 -1213
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +67 -0
  47. package/dist/EmojiPicker.js.map +1 -0
  48. package/dist/EmojiReactions.js +69 -0
  49. package/dist/EmojiReactions.js.map +1 -0
  50. package/dist/ErrorPage.js +17 -26
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FloatingActionMenu.js +646 -0
  53. package/dist/FloatingActionMenu.js.map +1 -0
  54. package/dist/Header.js +45 -117
  55. package/dist/Header.js.map +1 -1
  56. package/dist/HelpPopover.js +73 -0
  57. package/dist/HelpPopover.js.map +1 -0
  58. package/dist/IconPicker.js +36 -129
  59. package/dist/IconPicker.js.map +1 -1
  60. package/dist/ImageWithFallback.js +8 -144
  61. package/dist/ImageWithFallback.js.map +1 -1
  62. package/dist/InlineInput.js +22 -526
  63. package/dist/InlineInput.js.map +1 -1
  64. package/dist/Insights.js +304 -0
  65. package/dist/Insights.js.map +1 -0
  66. package/dist/IntegrationCard.js +42 -226
  67. package/dist/IntegrationCard.js.map +1 -1
  68. package/dist/IntegrationDisconnectAlert.js +6 -48
  69. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  70. package/dist/IntegrationWalkthroughModal.js +10 -10
  71. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  72. package/dist/IpRestriction.js +74 -221
  73. package/dist/IpRestriction.js.map +1 -1
  74. package/dist/KeyboardShortcuts.js +38 -128
  75. package/dist/KeyboardShortcuts.js.map +1 -1
  76. package/dist/LoginPage.js +39 -459
  77. package/dist/LoginPage.js.map +1 -1
  78. package/dist/MadeWith.js +32 -0
  79. package/dist/MadeWith.js.map +1 -0
  80. package/dist/MenuBar.js +34 -1295
  81. package/dist/MenuBar.js.map +1 -1
  82. package/dist/Metadata.js +65 -86
  83. package/dist/Metadata.js.map +1 -1
  84. package/dist/MoreDropdown.js +48 -107
  85. package/dist/MoreDropdown.js.map +1 -1
  86. package/dist/NavigationHeader.js +51 -730
  87. package/dist/NavigationHeader.js.map +1 -1
  88. package/dist/NeetoWidget.js +148 -316
  89. package/dist/NeetoWidget.js.map +1 -1
  90. package/dist/Onboarding.js +343 -0
  91. package/dist/Onboarding.js.map +1 -0
  92. package/dist/OptionFields.js +507 -0
  93. package/dist/OptionFields.js.map +1 -0
  94. package/dist/PageLoader.js +5 -48
  95. package/dist/PageLoader.js.map +1 -1
  96. package/dist/PhoneNumber.js +122 -201
  97. package/dist/PhoneNumber.js.map +1 -1
  98. package/dist/ProductEmbed.js +767 -0
  99. package/dist/ProductEmbed.js.map +1 -0
  100. package/dist/PublishBlock.js +19 -60
  101. package/dist/PublishBlock.js.map +1 -1
  102. package/dist/PublishYourItem.js +52 -0
  103. package/dist/PublishYourItem.js.map +1 -0
  104. package/dist/Rename.js +127 -394
  105. package/dist/Rename.js.map +1 -1
  106. package/dist/ResponsiveDevicePicker.js +7 -143
  107. package/dist/ResponsiveDevicePicker.js.map +1 -1
  108. package/dist/Schedule.js +131 -365
  109. package/dist/Schedule.js.map +1 -1
  110. package/dist/Scrollable.js +6 -89
  111. package/dist/Scrollable.js.map +1 -1
  112. package/dist/Search.js +54 -157
  113. package/dist/Search.js.map +1 -1
  114. package/dist/Security.js +72 -1567
  115. package/dist/Security.js.map +1 -1
  116. package/dist/SendToFields.js +51 -133
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +141 -412
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +189 -0
  121. package/dist/ShareRecordingPane.js.map +1 -0
  122. package/dist/ShareViaEmail.js +126 -551
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +127 -345
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +161 -758
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/SubHeader.js +63 -108
  129. package/dist/SubHeader.js.map +1 -1
  130. package/dist/SuffixedInput.js +105 -0
  131. package/dist/SuffixedInput.js.map +1 -0
  132. package/dist/TableWrapper.js +8 -9
  133. package/dist/TableWrapper.js.map +1 -1
  134. package/dist/Taxonomy.js +112 -1774
  135. package/dist/Taxonomy.js.map +1 -1
  136. package/dist/ThemeSidebar.js +159 -776
  137. package/dist/ThemeSidebar.js.map +1 -1
  138. package/dist/TimeFormat.js +8 -44
  139. package/dist/TimeFormat.js.map +1 -1
  140. package/dist/TimezoneMismatchModal.js +49 -84
  141. package/dist/TimezoneMismatchModal.js.map +1 -1
  142. package/dist/ToggleFeatureCard.js +46 -169
  143. package/dist/ToggleFeatureCard.js.map +1 -1
  144. package/dist/cjs/Breadcrumbs.js +49 -0
  145. package/dist/cjs/Breadcrumbs.js.map +1 -0
  146. package/dist/cjs/BrowserSupport.js +329 -0
  147. package/dist/cjs/BrowserSupport.js.map +1 -0
  148. package/dist/cjs/Builder.js +556 -0
  149. package/dist/cjs/Builder.js.map +1 -0
  150. package/dist/cjs/CalendarView.js +299 -0
  151. package/dist/cjs/CalendarView.js.map +1 -0
  152. package/dist/cjs/Chevron-8a4ed9cd.js +203 -0
  153. package/dist/cjs/Chevron-8a4ed9cd.js.map +1 -0
  154. package/dist/cjs/Codeblock.js +58 -0
  155. package/dist/cjs/Codeblock.js.map +1 -0
  156. package/dist/cjs/Columns.js +31 -0
  157. package/dist/cjs/Columns.js.map +1 -0
  158. package/dist/cjs/ConfigurePageSidebar.js +104 -0
  159. package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
  160. package/dist/cjs/ConfirmationModal.js +120 -0
  161. package/dist/cjs/ConfirmationModal.js.map +1 -0
  162. package/dist/cjs/Container.js +36 -0
  163. package/dist/cjs/Container.js.map +1 -0
  164. package/dist/cjs/CopyToClipboardButton.js +86 -0
  165. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  166. package/dist/cjs/Currency.js +921 -0
  167. package/dist/cjs/Currency.js.map +1 -0
  168. package/dist/cjs/CustomDomain.js +125 -0
  169. package/dist/cjs/CustomDomain.js.map +1 -0
  170. package/dist/cjs/CustomDomainDashboard.js +200 -0
  171. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  172. package/dist/cjs/DateFormat.js +40 -0
  173. package/dist/cjs/DateFormat.js.map +1 -0
  174. package/dist/cjs/DateRangeFilter.js +180 -0
  175. package/dist/cjs/DateRangeFilter.js.map +1 -0
  176. package/dist/cjs/DeleteArchiveModal.js +92 -0
  177. package/dist/cjs/DeleteArchiveModal.js.map +1 -0
  178. package/dist/cjs/DocumentEditor.js +194 -0
  179. package/dist/cjs/DocumentEditor.js.map +1 -0
  180. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  181. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  182. package/dist/cjs/DynamicVariables.js +106 -0
  183. package/dist/cjs/DynamicVariables.js.map +1 -0
  184. package/dist/cjs/EmailForm.js +395 -0
  185. package/dist/cjs/EmailForm.js.map +1 -0
  186. package/dist/cjs/EmailPreview.js +139 -0
  187. package/dist/cjs/EmailPreview.js.map +1 -0
  188. package/dist/cjs/EmojiPicker.js +75 -0
  189. package/dist/cjs/EmojiPicker.js.map +1 -0
  190. package/dist/cjs/EmojiReactions.js +76 -0
  191. package/dist/cjs/EmojiReactions.js.map +1 -0
  192. package/dist/cjs/ErrorPage.js +179 -0
  193. package/dist/cjs/ErrorPage.js.map +1 -0
  194. package/dist/cjs/FloatingActionMenu.js +675 -0
  195. package/dist/cjs/FloatingActionMenu.js.map +1 -0
  196. package/dist/cjs/Header.js +104 -0
  197. package/dist/cjs/Header.js.map +1 -0
  198. package/dist/cjs/HelpPopover.js +80 -0
  199. package/dist/cjs/HelpPopover.js.map +1 -0
  200. package/dist/cjs/IconPicker.js +228 -0
  201. package/dist/cjs/IconPicker.js.map +1 -0
  202. package/dist/cjs/ImageWithFallback.js +52 -0
  203. package/dist/cjs/ImageWithFallback.js.map +1 -0
  204. package/dist/cjs/InlineInput.js +233 -0
  205. package/dist/cjs/InlineInput.js.map +1 -0
  206. package/dist/cjs/Insights.js +310 -0
  207. package/dist/cjs/Insights.js.map +1 -0
  208. package/dist/cjs/IntegrationCard.js +208 -0
  209. package/dist/cjs/IntegrationCard.js.map +1 -0
  210. package/dist/cjs/IntegrationDisconnectAlert.js +48 -0
  211. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  212. package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
  213. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  214. package/dist/cjs/IpRestriction.js +525 -0
  215. package/dist/cjs/IpRestriction.js.map +1 -0
  216. package/dist/cjs/KeyboardShortcuts.js +282 -0
  217. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  218. package/dist/cjs/LoginPage.js +198 -0
  219. package/dist/cjs/LoginPage.js.map +1 -0
  220. package/dist/cjs/MadeWith.js +38 -0
  221. package/dist/cjs/MadeWith.js.map +1 -0
  222. package/dist/cjs/MenuBar.js +208 -0
  223. package/dist/cjs/MenuBar.js.map +1 -0
  224. package/dist/cjs/Metadata.js +195 -0
  225. package/dist/cjs/Metadata.js.map +1 -0
  226. package/dist/cjs/MoreDropdown.js +152 -0
  227. package/dist/cjs/MoreDropdown.js.map +1 -0
  228. package/dist/cjs/NavigationHeader.js +177 -0
  229. package/dist/cjs/NavigationHeader.js.map +1 -0
  230. package/dist/cjs/NeetoWidget.js +912 -0
  231. package/dist/cjs/NeetoWidget.js.map +1 -0
  232. package/dist/cjs/Onboarding.js +357 -0
  233. package/dist/cjs/Onboarding.js.map +1 -0
  234. package/dist/cjs/OptionFields.js +514 -0
  235. package/dist/cjs/OptionFields.js.map +1 -0
  236. package/dist/cjs/PageLoader.js +116 -0
  237. package/dist/cjs/PageLoader.js.map +1 -0
  238. package/dist/cjs/PhoneNumber.js +363 -0
  239. package/dist/cjs/PhoneNumber.js.map +1 -0
  240. package/dist/cjs/ProductEmbed.js +774 -0
  241. package/dist/cjs/ProductEmbed.js.map +1 -0
  242. package/dist/cjs/PublishBlock.js +125 -0
  243. package/dist/cjs/PublishBlock.js.map +1 -0
  244. package/dist/cjs/PublishYourItem.js +59 -0
  245. package/dist/cjs/PublishYourItem.js.map +1 -0
  246. package/dist/cjs/Rename.js +350 -0
  247. package/dist/cjs/Rename.js.map +1 -0
  248. package/dist/cjs/ResponsiveDevicePicker.js +64 -0
  249. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  250. package/dist/cjs/Schedule.js +889 -0
  251. package/dist/cjs/Schedule.js.map +1 -0
  252. package/dist/cjs/Scrollable.js +46 -0
  253. package/dist/cjs/Scrollable.js.map +1 -0
  254. package/dist/cjs/Search.js +117 -0
  255. package/dist/cjs/Search.js.map +1 -0
  256. package/dist/cjs/Security.js +376 -0
  257. package/dist/cjs/Security.js.map +1 -0
  258. package/dist/cjs/SendToFields.js +272 -0
  259. package/dist/cjs/SendToFields.js.map +1 -0
  260. package/dist/cjs/Settings.js +214 -0
  261. package/dist/cjs/Settings.js.map +1 -0
  262. package/dist/cjs/ShareRecordingPane.js +195 -0
  263. package/dist/cjs/ShareRecordingPane.js.map +1 -0
  264. package/dist/cjs/ShareViaEmail.js +348 -0
  265. package/dist/cjs/ShareViaEmail.js.map +1 -0
  266. package/dist/cjs/ShareViaLink.js +507 -0
  267. package/dist/cjs/ShareViaLink.js.map +1 -0
  268. package/dist/cjs/Sidebar.js +288 -0
  269. package/dist/cjs/Sidebar.js.map +1 -0
  270. package/dist/cjs/SubHeader.js +178 -0
  271. package/dist/cjs/SubHeader.js.map +1 -0
  272. package/dist/cjs/SuffixedInput.js +111 -0
  273. package/dist/cjs/SuffixedInput.js.map +1 -0
  274. package/dist/cjs/TableWrapper.js +32 -0
  275. package/dist/cjs/TableWrapper.js.map +1 -0
  276. package/dist/cjs/Taxonomy.js +442 -0
  277. package/dist/cjs/Taxonomy.js.map +1 -0
  278. package/dist/cjs/ThemeSidebar.js +1436 -0
  279. package/dist/cjs/ThemeSidebar.js.map +1 -0
  280. package/dist/cjs/TimeFormat.js +15 -0
  281. package/dist/cjs/TimeFormat.js.map +1 -0
  282. package/dist/cjs/TimezoneMismatchModal.js +143 -0
  283. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  284. package/dist/cjs/ToggleFeatureCard.js +209 -0
  285. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  286. package/dist/cjs/defineProperty-886ed289.js +47 -0
  287. package/dist/cjs/defineProperty-886ed289.js.map +1 -0
  288. package/dist/cjs/extends-1b35a664.js +19 -0
  289. package/dist/cjs/extends-1b35a664.js.map +1 -0
  290. package/dist/cjs/index-00fdb8c2.js +542 -0
  291. package/dist/cjs/index-00fdb8c2.js.map +1 -0
  292. package/dist/cjs/index-248c4f4c.js +1186 -0
  293. package/dist/cjs/index-248c4f4c.js.map +1 -0
  294. package/dist/cjs/index-c55ad2bc.js +375 -0
  295. package/dist/cjs/index-c55ad2bc.js.map +1 -0
  296. package/dist/cjs/inject-css-80a5faa3.js +6 -0
  297. package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
  298. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
  299. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
  300. package/dist/cjs/slicedToArray-f320d9e7.js +61 -0
  301. package/dist/cjs/slicedToArray-f320d9e7.js.map +1 -0
  302. package/dist/cjs/toConsumableArray-9abb3858.js +22 -0
  303. package/dist/cjs/toConsumableArray-9abb3858.js.map +1 -0
  304. package/dist/cjs/useColumns-a1c3668f.js +271 -0
  305. package/dist/cjs/useColumns-a1c3668f.js.map +1 -0
  306. package/dist/defineProperty-549061a7.js +43 -0
  307. package/dist/defineProperty-549061a7.js.map +1 -0
  308. package/dist/extends-093996c9.js +17 -0
  309. package/dist/extends-093996c9.js.map +1 -0
  310. package/dist/index-90c89467.js +509 -0
  311. package/dist/index-90c89467.js.map +1 -0
  312. package/dist/index-9720867c.js +372 -0
  313. package/dist/index-9720867c.js.map +1 -0
  314. package/dist/index-e5588516.js +1184 -0
  315. package/dist/index-e5588516.js.map +1 -0
  316. package/dist/inject-css-c86de496.js +4 -0
  317. package/dist/inject-css-c86de496.js.map +1 -0
  318. package/dist/objectWithoutProperties-a0edb288.js +31 -0
  319. package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
  320. package/dist/slicedToArray-b4278ecd.js +57 -0
  321. package/dist/slicedToArray-b4278ecd.js.map +1 -0
  322. package/dist/toConsumableArray-1cc38429.js +20 -0
  323. package/dist/toConsumableArray-1cc38429.js.map +1 -0
  324. package/dist/useColumns-d17d1f72.js +258 -0
  325. package/dist/useColumns-d17d1f72.js.map +1 -0
  326. package/package.json +29 -17
  327. package/src/translations/de.json +7 -0
  328. package/src/translations/en.json +191 -31
  329. package/src/translations/es.json +7 -0
  330. package/src/translations/fr.json +7 -0
  331. package/src/translations/nl.json +7 -0
  332. package/src/translations/pl.json +7 -0
  333. package/src/translations/pt.json +7 -0
  334. package/types/Breadcrumbs.d.ts +1 -0
  335. package/types/Builder.d.ts +61 -12
  336. package/types/Columns.d.ts +112 -5
  337. package/types/ConfigurePageSidebar.d.ts +43 -0
  338. package/types/CopyToClipboardButton.d.ts +3 -0
  339. package/types/Currency.d.ts +48 -0
  340. package/types/CustomDomain.d.ts +2 -0
  341. package/types/CustomDomainDashboard.d.ts +14 -0
  342. package/types/DateRangeFilter.d.ts +2 -0
  343. package/types/DeleteArchiveModal.d.ts +60 -0
  344. package/types/EmailForm.d.ts +1 -1
  345. package/types/EmojiPicker.d.ts +33 -0
  346. package/types/EmojiReactions.d.ts +60 -0
  347. package/types/ErrorPage.d.ts +1 -0
  348. package/types/FloatingActionMenu.d.ts +56 -0
  349. package/types/Header.d.ts +2 -1
  350. package/types/HelpPopover.d.ts +42 -0
  351. package/types/Insights.d.ts +108 -0
  352. package/types/IntegrationCard.d.ts +2 -0
  353. package/types/KeyboardShortcuts.d.ts +2 -2
  354. package/types/MadeWith.d.ts +16 -0
  355. package/types/MoreDropdown.d.ts +4 -1
  356. package/types/NavigationHeader.d.ts +3 -1
  357. package/types/Onboarding.d.ts +63 -0
  358. package/types/OptionFields.d.ts +63 -0
  359. package/types/PhoneNumber.d.ts +6 -2
  360. package/types/ProductEmbed.d.ts +43 -0
  361. package/types/Rename.d.ts +4 -1
  362. package/types/Schedule.d.ts +2 -0
  363. package/types/Search.d.ts +2 -0
  364. package/types/Settings.d.ts +13 -10
  365. package/types/ShareRecordingPane.d.ts +50 -0
  366. package/types/ShareViaLink.d.ts +15 -4
  367. package/types/Sidebar.d.ts +16 -32
  368. package/types/SubHeader.d.ts +0 -1
  369. package/types/SuffixedInput.d.ts +43 -0
  370. package/types/ToggleFeatureCard.d.ts +8 -1
@@ -0,0 +1,675 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('./extends-1b35a664.js');
4
+ var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
5
+ var React = require('react');
6
+ var defineProperty = require('./defineProperty-886ed289.js');
7
+ var toConsumableArray = require('./toConsumableArray-9abb3858.js');
8
+ var slicedToArray = require('./slicedToArray-f320d9e7.js');
9
+ var neetoCist = require('@bigbinary/neeto-cist');
10
+ var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
11
+ var neetoTeamMembersFrontend = require('@bigbinary/neeto-team-members-frontend');
12
+ var neetoui = require('@bigbinary/neetoui');
13
+ var KeyboardShortcuts = require('./KeyboardShortcuts.js');
14
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
15
+ var classnames = require('classnames');
16
+ var neetoIcons = require('@bigbinary/neeto-icons');
17
+ var reactI18next = require('react-i18next');
18
+ var injectCss = require('./inject-css-80a5faa3.js');
19
+ var AppIcons = require('@bigbinary/neeto-icons/app-icons');
20
+ var ramda = require('ramda');
21
+ var i18next = require('i18next');
22
+ var useBreakpoints = require('@bigbinary/neeto-commons-frontend/react-utils/useBreakpoints');
23
+ var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
24
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
25
+ var axios = require('@bigbinary/neeto-commons-frontend/utils/axios');
26
+ var general = require('@bigbinary/neeto-commons-frontend/utils/general');
27
+ require('zustand/shallow');
28
+ require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
29
+ require('zustand');
30
+ require('@bigbinary/neetoui/managers');
31
+ require('@bigbinary/neeto-hotkeys');
32
+ require('platform');
33
+
34
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
35
+
36
+ function _interopNamespace(e) {
37
+ if (e && e.__esModule) return e;
38
+ var n = Object.create(null);
39
+ if (e) {
40
+ Object.keys(e).forEach(function (k) {
41
+ if (k !== 'default') {
42
+ var d = Object.getOwnPropertyDescriptor(e, k);
43
+ Object.defineProperty(n, k, d.get ? d : {
44
+ enumerable: true,
45
+ get: function () { return e[k]; }
46
+ });
47
+ }
48
+ });
49
+ }
50
+ n["default"] = e;
51
+ return Object.freeze(n);
52
+ }
53
+
54
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
55
+ var useFetchNeetoApps__default = /*#__PURE__*/_interopDefaultLegacy(useFetchNeetoApps);
56
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
57
+ var AppIcons__namespace = /*#__PURE__*/_interopNamespace(AppIcons);
58
+ var useBreakpoints__default = /*#__PURE__*/_interopDefaultLegacy(useBreakpoints);
59
+ var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorage);
60
+
61
+ var css$1 = ".neeto-molecules-product-switcher__wrapper{align-items:flex-start;background-color:rgb(var(--neeto-ui-white));display:flex;flex-direction:column;justify-content:flex-start;max-width:100%;overflow-y:auto;padding:40px;position:relative;transition:all .3s;width:100%}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__wrapper{padding:32px}}@media screen and (max-width:768px){.neeto-molecules-product-switcher__wrapper{padding:16px}}.neeto-molecules-product-switcher__grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}@media only screen and (max-width:992px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__grid{grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}}.neeto-molecules-product-switcher__header{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px;position:relative;width:100%}@media only screen and (max-width:768px){.neeto-molecules-product-switcher__header{align-items:flex-start;flex-direction:column;gap:24px}}@media only screen and (max-width:640px){.neeto-molecules-product-switcher__header h1{font-size:24px}}@media only screen and (max-width:768px){.neeto-molecules-product-switcher_modal-container .neeto-molecules-product-switcher__header-mobile{align-items:flex-start;margin-bottom:24px}}.neeto-molecules-product-switcher__close-btn{position:absolute;right:12px;top:12px}.neeto-molecules-product-switcher__search-wrapper{flex-grow:1}@media only screen and (min-width:992px){.neeto-molecules-product-switcher__search-wrapper{flex-grow:0;width:296px}}.neeto-molecules-product-switcher__body{display:flex;flex-direction:column;font-size:var(--neeto-ui-text-sm);gap:12px;margin-bottom:24px;width:100%}.neeto-molecules-product-switcher-link{align-items:center;background-color:rgb(var(--neeto-ui-gray-100));border-color:rgb(var(--neeto-ui-gray-100));border-radius:var(--neeto-ui-rounded-lg);border-style:solid;border-width:2px;cursor:pointer;display:flex;gap:12px;max-width:100%;padding:12px 16px;text-decoration:none;transition:background-color .3s ease-in-out;width:100%}.neeto-molecules-product-switcher-link:focus,.neeto-molecules-product-switcher-link:focus-visible{outline:none}.neeto-molecules-product-switcher-link:focus-visible{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link:not(.neeto-molecules-product-switcher-link--active):hover{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-product-switcher-link--active{background:rgb(var(--neeto-ui-primary-100));border-color:rgb(var(--neeto-ui-primary-600))}.neeto-molecules-product-switcher-link__icon-holder{align-items:center;border-radius:var(--neeto-ui-rounded-lg);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.neeto-molecules-product-switcher-link__content{flex-grow:1}.neeto-molecules-product-switcher-link__content span{display:block}.neeto-molecules-product-switcher_modal{z-index:100000}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen{display:flex;flex-direction:column;height:100dvh!important;width:100vw!important}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__header{flex-shrink:0}.neeto-molecules-product-switcher_modal .neeto-ui-modal__wrapper--fullscreen .neeto-ui-modal__body{flex-grow:1;min-height:0;overflow-y:auto}";
62
+ injectCss.n(css$1,{});
63
+
64
+ var ProductLink = function ProductLink(_ref) {
65
+ var name = _ref.name,
66
+ description = _ref.description,
67
+ url = _ref.url;
68
+ var appName = "Neeto".concat(name.charAt(0)).concat(name.slice(1).toLowerCase());
69
+ var AppIcon = AppIcons__namespace[appName];
70
+ return /*#__PURE__*/React__default["default"].createElement("a", {
71
+ "data-cy": "".concat(name, "-app-link"),
72
+ "data-test-id": "neetoapp-link-".concat(name),
73
+ href: url,
74
+ rel: "noreferrer",
75
+ target: "_blank",
76
+ className: classnames__default["default"]("neeto-molecules-product-switcher-link", {
77
+ "neeto-molecules-product-switcher-link--active": globalProps.appName.includes(name)
78
+ })
79
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
80
+ className: classnames__default["default"]("neeto-molecules-product-switcher-link__icon-holder", {
81
+ "neeto-ui-bg-primary-500": !AppIcon
82
+ })
83
+ }, AppIcon ? /*#__PURE__*/React__default["default"].createElement(AppIcon, {
84
+ size: 42
85
+ }) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.NeetoIcon, {
86
+ color: "white",
87
+ size: 42
88
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
89
+ className: "neeto-molecules-product-switcher-link__content"
90
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
91
+ component: "span",
92
+ lineHeight: "relaxed",
93
+ style: "h4",
94
+ weight: "medium"
95
+ }, name), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
96
+ component: "span",
97
+ style: "body3",
98
+ weight: "normal"
99
+ }, description)));
100
+ };
101
+ var ProductLink$1 = /*#__PURE__*/React__default["default"].memo(ProductLink);
102
+
103
+ var Menu$1 = function Menu(_ref) {
104
+ var _ref$isMobile = _ref.isMobile,
105
+ isMobile = _ref$isMobile === void 0 ? false : _ref$isMobile;
106
+ var _useTranslation = reactI18next.useTranslation(),
107
+ t = _useTranslation.t;
108
+ var _useState = React.useState(""),
109
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
110
+ searchTerm = _useState2[0],
111
+ setSearchTerm = _useState2[1];
112
+ var _useFetchNeetoApps = useFetchNeetoApps__default["default"]({
113
+ enabled: false
114
+ }),
115
+ data = _useFetchNeetoApps.data;
116
+ var substring = searchTerm.replace(/ /g, "").toLowerCase();
117
+ var filteredApps = data === null || data === void 0 ? void 0 : data.neetoApps.filter(function (_ref2) {
118
+ var name = _ref2.name;
119
+ return name.toLowerCase().includes(substring);
120
+ });
121
+ var handleSearch = function handleSearch(e) {
122
+ return setSearchTerm(e.target.value);
123
+ };
124
+ return /*#__PURE__*/React__default["default"].createElement("div", {
125
+ className: "neeto-molecules-product-switcher__wrapper",
126
+ "data-cy": "switcher-wrapper",
127
+ "data-testid": "switcher-wrapper",
128
+ key: "switcher-wrapper"
129
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
130
+ "data-cy": "product-switcher-body-wrapper",
131
+ className: classnames__default["default"]("neeto-molecules-product-switcher__header", {
132
+ "neeto-molecules-product-switcher__header-mobile": isMobile
133
+ })
134
+ }, !isMobile && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
135
+ style: "h1"
136
+ }, t("neetoMolecules.productSwitcher.chooseNeetoProduct")), /*#__PURE__*/React__default["default"].createElement("div", {
137
+ className: "neeto-molecules-product-switcher__search-wrapper"
138
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
139
+ autoFocus: true,
140
+ "data-cy": "product-switcher-search-input",
141
+ placeholder: t("neetoMolecules.productSwitcher.searchProducts"),
142
+ prefix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Search, null),
143
+ type: "search",
144
+ value: searchTerm,
145
+ onChange: handleSearch
146
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
147
+ className: classnames__default["default"]("neeto-molecules-product-switcher__body", defineProperty._defineProperty({}, "neeto-molecules-product-switcher__body-mobile", isMobile))
148
+ }, (filteredApps === null || filteredApps === void 0 ? void 0 : filteredApps.length) > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
149
+ className: "neeto-molecules-product-switcher__grid"
150
+ }, filteredApps.map(function (app) {
151
+ return /*#__PURE__*/React__default["default"].createElement(ProductLink$1, _extends._extends({
152
+ key: app.name
153
+ }, app));
154
+ })) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
155
+ className: "neeto-ui-text-center",
156
+ style: "body1"
157
+ }, t("neetoMolecules.productSwitcher.noApps"))));
158
+ };
159
+
160
+ var Modal = reactUtils.withT(function (_ref) {
161
+ var t = _ref.t,
162
+ isOpen = _ref.isOpen,
163
+ onClose = _ref.onClose;
164
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
165
+ isOpen: isOpen,
166
+ onClose: onClose,
167
+ backdropClassName: "neeto-molecules-product-switcher_modal",
168
+ size: "fullScreen"
169
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
170
+ className: "pr-4",
171
+ style: "h2"
172
+ }, t("neetoMolecules.productSwitcher.chooseNeetoProduct"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
173
+ className: "neeto-molecules-product-switcher_modal-container",
174
+ "data-testid": "product-switcher-modal"
175
+ }, /*#__PURE__*/React__default["default"].createElement(Menu$1, {
176
+ isMobile: true
177
+ }))));
178
+ });
179
+
180
+ var shouldShowWhatsNew = function shouldShowWhatsNew() {
181
+ var _window$globalProps, _window$globalProps$u;
182
+ var currentUserEmail = (_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 ? void 0 : (_window$globalProps$u = _window$globalProps.user) === null || _window$globalProps$u === void 0 ? void 0 : _window$globalProps$u.email;
183
+ return window.location.hostname === "localhost" || currentUserEmail === "oliver@example.com" || (currentUserEmail === null || currentUserEmail === void 0 ? void 0 : currentUserEmail.endsWith("@bigbinary.com"));
184
+ };
185
+ var MY_ORGANIZATION_URL = "/auth/organization/edit";
186
+ var CHANGELOG_WIDGET_TRIGGER_ID = "neetochangelog-trigger";
187
+ var MENU_ITEMS_WITH_ICONS = ["Chat with support", "Help articles"];
188
+ var DEFAULT_HELP_LINK_PROPS = {
189
+ helpCenterProps: {
190
+ label: i18next.t("neetoMolecules.sidebar.helpLinks.helpArticles"),
191
+ icon: neetoIcons.Book,
192
+ "data-cy": "help-link-help-center-button",
193
+ "data-btn-weight": "bold",
194
+ href: "https://help.".concat(ramda.toLower(globalProps.appName), ".com/"),
195
+ target: "_blank"
196
+ },
197
+ liveChatProps: {
198
+ label: i18next.t("neetoMolecules.sidebar.helpLinks.liveChat"),
199
+ icon: neetoIcons.Help,
200
+ "data-cy": "help-link-live-chat-button",
201
+ "data-btn-weight": "bold",
202
+ onClick: function onClick() {
203
+ var _window$NeetoChat, _window$NeetoChat$con, _window$NeetoChat2, _window$NeetoChat2$co;
204
+ (_window$NeetoChat = window.NeetoChat) === null || _window$NeetoChat === void 0 ? void 0 : (_window$NeetoChat$con = _window$NeetoChat.contextualHelp) === null || _window$NeetoChat$con === void 0 ? void 0 : _window$NeetoChat$con.maximizeWidget();
205
+ (_window$NeetoChat2 = window.NeetoChat) === null || _window$NeetoChat2 === void 0 ? void 0 : (_window$NeetoChat2$co = _window$NeetoChat2.contextualHelp) === null || _window$NeetoChat2$co === void 0 ? void 0 : _window$NeetoChat2$co.openWidget();
206
+ }
207
+ }
208
+ };
209
+ var DEFAULT_MENU_LINK_PROPS = {
210
+ changelogProps: {
211
+ id: CHANGELOG_WIDGET_TRIGGER_ID,
212
+ label: i18next.t("neetoMolecules.sidebar.helpLinks.whatsNew"),
213
+ "data-cy": "help-link-changelog-button",
214
+ isVisible: shouldShowWhatsNew
215
+ },
216
+ keyboardShortcutProps: {
217
+ label: i18next.t("neetoMolecules.sidebar.helpLinks.keyboardShortcuts"),
218
+ "data-cy": "help-link-keyboard-shortcut-button"
219
+ }
220
+ };
221
+ var NON_BUTTON_PROPS = ["isVisible"];
222
+
223
+ // Theme switcher
224
+ var APP_THEME_LOCALSTORAGE_KEY = "appTheme";
225
+ var THEMES = {
226
+ LIGHT: "neeto-ui-theme--light",
227
+ DARK: "neeto-ui-theme--dark"
228
+ };
229
+
230
+ var _excluded$2 = ["label", "icon", "changesCount"];
231
+ var LinkSection = function LinkSection(_ref) {
232
+ var links = _ref.links;
233
+ var MenuItem = neetoui.Dropdown.MenuItem;
234
+ if (neetoCist.isNotPresent(links)) return null;
235
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, links.map(function (_ref2, idx) {
236
+ var label = _ref2.label,
237
+ Icon = _ref2.icon,
238
+ changesCount = _ref2.changesCount,
239
+ otherProps = objectWithoutProperties._objectWithoutProperties(_ref2, _excluded$2);
240
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _extends._extends({
241
+ className: "neeto-molecules-menu-sublist__item-btn",
242
+ "data-cy": "floating-action-menu-link-section",
243
+ key: idx,
244
+ style: "text",
245
+ prefix: MENU_ITEMS_WITH_ICONS.includes(label) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
246
+ size: 18
247
+ }) : undefined
248
+ }, ramda.omit(NON_BUTTON_PROPS, otherProps)), label, neetoCist.isPresent(changesCount) && /*#__PURE__*/React__default["default"].createElement("span", {
249
+ className: "neeto-molecules-menu-list__item-btn-count",
250
+ "data-cy": "help-section-menu-changes-count",
251
+ "data-testid": "help-section-menu-changes-count"
252
+ }, changesCount));
253
+ }));
254
+ };
255
+
256
+ var _excluded$1 = ["isLoading", "onMouseEnter"];
257
+ var MenuButton$1 = function MenuButton(_ref) {
258
+ var isLoading = _ref.isLoading,
259
+ onMouseEnter = _ref.onMouseEnter,
260
+ otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded$1);
261
+ var _useTranslation = reactI18next.useTranslation(),
262
+ t = _useTranslation.t;
263
+ var MenuItem = neetoui.Dropdown.MenuItem;
264
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _extends._extends({
265
+ onMouseEnter: onMouseEnter,
266
+ className: "neeto-molecules-menu-sublist__item-btn",
267
+ "data-cy": "product-switcher-button",
268
+ "data-testid": "product-switcher-button",
269
+ label: t("neetoMolecules.sidebar.productSwitcher"),
270
+ style: "text",
271
+ suffix: isLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null) : /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
272
+ size: 18
273
+ })
274
+ }, otherProps), t("neetoMolecules.sidebar.productSwitcher"));
275
+ };
276
+
277
+ var Dropdown = function Dropdown() {
278
+ var Menu = neetoui.Dropdown.Menu,
279
+ MenuItem = neetoui.Dropdown.MenuItem;
280
+ var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
281
+ data = _useFetchNeetoApps.data,
282
+ isLoading = _useFetchNeetoApps.isLoading,
283
+ isStale = _useFetchNeetoApps.isStale,
284
+ refetchNeetoApps = _useFetchNeetoApps.refetch;
285
+ var onMouseEnter = function onMouseEnter() {
286
+ if (!isStale) return;
287
+ refetchNeetoApps();
288
+ };
289
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
290
+ className: "neeto-molecules-product-switcher-menu-popup-wrapper",
291
+ closeOnSelect: false,
292
+ customTarget: /*#__PURE__*/React__default["default"].createElement(MenuButton$1, {
293
+ isLoading: isLoading,
294
+ onMouseEnter: onMouseEnter
295
+ }),
296
+ disabled: !data || isLoading,
297
+ interactiveDebounce: 30,
298
+ isOpen: !data ? false : undefined,
299
+ offset: [0, 5],
300
+ position: "right",
301
+ trigger: "all",
302
+ zIndex: 99999,
303
+ dropdownProps: {
304
+ classNames: "neeto-molecules-product-switcher-menu-popup__dropdown"
305
+ }
306
+ }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem, null, /*#__PURE__*/React__default["default"].createElement(Menu$1, null))));
307
+ };
308
+
309
+ var ProductSwitcher = function ProductSwitcher(_ref) {
310
+ var toggleModal = _ref.toggleModal;
311
+ var _useBreakpoints = useBreakpoints__default["default"](),
312
+ isSize = _useBreakpoints.isSize;
313
+ var isMobile = isSize("mobile");
314
+ return isMobile ? /*#__PURE__*/React__default["default"].createElement(MenuButton$1, {
315
+ onClick: function onClick() {
316
+ return toggleModal(true);
317
+ }
318
+ }) : /*#__PURE__*/React__default["default"].createElement(Dropdown, null);
319
+ };
320
+
321
+ var ProfileHeader = function ProfileHeader(_ref) {
322
+ var profileInfo = _ref.profileInfo;
323
+ var name = profileInfo.name,
324
+ email = profileInfo.email;
325
+ return /*#__PURE__*/React__default["default"].createElement("div", {
326
+ className: "neeto-ui-relative neeto-ui-flex neeto-ui-items-center neeto-ui-p-3 neeto-ui-bg-primary-100 neeto-molecules-profile-popup__top-section",
327
+ "data-cy": "floating-action-menu-profile-header"
328
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
329
+ className: "left-0 top-0"
330
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Avatar, {
331
+ "data-cy": "floating-action-menu-header-profile-icon",
332
+ size: "large",
333
+ user: profileInfo
334
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
335
+ className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-grow neeto-ui-min-w-0 neeto-ui-pl-3"
336
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
337
+ className: "neeto-ui-m-0",
338
+ component: "h2",
339
+ "data-cy": "floating-action-menu-header-user-name",
340
+ lineHeight: "tight",
341
+ style: "h5",
342
+ title: name,
343
+ weight: "semibold"
344
+ }, neetoCist.truncate(name, 18)), email && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
345
+ className: "neeto-ui-w-full neeto-ui-truncate neeto-ui-text-gray-700",
346
+ "data-cy": "floating-action-menu-header-user-email",
347
+ lineHeight: "tight",
348
+ style: "body3"
349
+ }, email)));
350
+ };
351
+
352
+ var getSidebarStateLocalStorageKey = function getSidebarStateLocalStorageKey() {
353
+ var _globalProps$user, _globalProps$user2;
354
+ var user = ((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.email) || ((_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.phoneNumber);
355
+ return "sidebarState-".concat(user);
356
+ };
357
+ var getDefaultTopLinks = function getDefaultTopLinks(isOwner, setIsProfilePaneOpen) {
358
+ return [{
359
+ label: i18next.t("neetoMolecules.sidebar.myProfile"),
360
+ onClick: function onClick() {
361
+ return setIsProfilePaneOpen(true);
362
+ },
363
+ "data-cy": "my-profile-button",
364
+ "data-testid": "my-profile-button"
365
+ }, isOwner && {
366
+ label: i18next.t("neetoMolecules.sidebar.myAccount"),
367
+ onClick: function onClick() {
368
+ return window.open(MY_ORGANIZATION_URL, "_self");
369
+ },
370
+ "data-cy": "profile-organization-settings-button"
371
+ }].filter(Boolean);
372
+ };
373
+ var getDefaultBottomLinks = function getDefaultBottomLinks() {
374
+ return [{
375
+ label: i18next.t("neetoMolecules.sidebar.logout"),
376
+ onClick: function onClick() {
377
+ axios.resetAuthTokens();
378
+ general.removeFromLocalStorage(getSidebarStateLocalStorageKey());
379
+ // eslint-disable-next-line xss/no-location-href-assign
380
+ window.location.href = "/logout";
381
+ },
382
+ "data-cy": "profile-logout-button"
383
+ }];
384
+ };
385
+ var getProfileInfo = function getProfileInfo(profileInfoOverrides) {
386
+ var _globalProps$user3, _globalProps$user4, _globalProps$user5, _globalProps$user6, _globalProps$user7;
387
+ return ramda.mergeDeepLeft(profileInfoOverrides, {
388
+ name: "".concat((_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.firstName, " ").concat((_globalProps$user4 = globalProps.user) === null || _globalProps$user4 === void 0 ? void 0 : _globalProps$user4.lastName),
389
+ imageUrl: (_globalProps$user5 = globalProps.user) === null || _globalProps$user5 === void 0 ? void 0 : _globalProps$user5.profileImageUrl,
390
+ email: ((_globalProps$user6 = globalProps.user) === null || _globalProps$user6 === void 0 ? void 0 : _globalProps$user6.email) || ((_globalProps$user7 = globalProps.user) === null || _globalProps$user7 === void 0 ? void 0 : _globalProps$user7.phoneNumber)
391
+ });
392
+ };
393
+
394
+ // Theme switcher utils.
395
+ var setDarkTheme = function setDarkTheme() {
396
+ document.body.classList.remove(THEMES.LIGHT);
397
+ document.body.classList.add(THEMES.DARK);
398
+ };
399
+ var setLightTheme = function setLightTheme() {
400
+ document.body.classList.remove(THEMES.DARK);
401
+ document.body.classList.add(THEMES.LIGHT);
402
+ };
403
+ var setAppTheme = function setAppTheme() {
404
+ var isDarkTheme = utils.getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY) === THEMES.DARK;
405
+ isDarkTheme ? setDarkTheme() : setLightTheme();
406
+ };
407
+
408
+ var MenuItem$1 = neetoui.Dropdown.MenuItem;
409
+ var MenuButton = reactUtils.withT(function (_ref) {
410
+ var t = _ref.t,
411
+ selectedThemeName = _ref.selectedThemeName;
412
+ return /*#__PURE__*/React__default["default"].createElement(MenuItem$1.Button, {
413
+ className: "neeto-molecules-menu-sublist__item-btn",
414
+ "data-cy": "theme-switcher-button",
415
+ "data-testid": "theme-switcher-button",
416
+ style: "text",
417
+ suffix: /*#__PURE__*/React__default["default"].createElement(neetoIcons.Right, {
418
+ size: 18
419
+ })
420
+ }, t("neetoMolecules.sidebar.themeSwitcher.label", {
421
+ selectedTheme: selectedThemeName
422
+ }));
423
+ });
424
+
425
+ var Menu = neetoui.Dropdown.Menu,
426
+ MenuItem = neetoui.Dropdown.MenuItem;
427
+ var ThemeSwitcher = function ThemeSwitcher() {
428
+ var _useTranslation = reactI18next.useTranslation(),
429
+ t = _useTranslation.t;
430
+ var _useBreakpoints = useBreakpoints__default["default"](),
431
+ isSize = _useBreakpoints.isSize;
432
+ var _useLocalStorage = useLocalStorage__default["default"](APP_THEME_LOCALSTORAGE_KEY, THEMES.LIGHT),
433
+ _useLocalStorage2 = slicedToArray._slicedToArray(_useLocalStorage, 2),
434
+ appTheme = _useLocalStorage2[0],
435
+ setAppTheme = _useLocalStorage2[1];
436
+ var isDarkThemeSelected = appTheme === THEMES.DARK;
437
+ var selectedThemeName = isDarkThemeSelected ? t("neetoMolecules.sidebar.themeSwitcher.dark") : t("neetoMolecules.sidebar.themeSwitcher.light");
438
+ var isMobile = isSize("mobile");
439
+ var switchTheme = function switchTheme(theme) {
440
+ theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();
441
+ setAppTheme(theme);
442
+ };
443
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
444
+ className: "neeto-molecules-theme-switcher-menu-popup-wrapper",
445
+ closeOnSelect: false,
446
+ customTarget: /*#__PURE__*/React__default["default"].createElement(MenuButton, {
447
+ selectedThemeName: selectedThemeName
448
+ }),
449
+ interactiveDebounce: 30,
450
+ offset: [0, 5],
451
+ position: isMobile ? "bottom" : "right",
452
+ trigger: "all",
453
+ zIndex: 99999
454
+ }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
455
+ suffix: !isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Check, {
456
+ size: 18
457
+ }),
458
+ className: classnames__default["default"]({
459
+ "neeto-molecules-theme-switcher-active-button": !isDarkThemeSelected
460
+ }),
461
+ onClick: function onClick() {
462
+ return switchTheme(THEMES.LIGHT);
463
+ }
464
+ }, t("neetoMolecules.sidebar.themeSwitcher.light")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
465
+ suffix: isDarkThemeSelected && /*#__PURE__*/React__default["default"].createElement(neetoIcons.Check, {
466
+ size: 18
467
+ }),
468
+ className: classnames__default["default"]({
469
+ "neeto-molecules-theme-switcher-active-button": isDarkThemeSelected
470
+ }),
471
+ onClick: function onClick() {
472
+ return switchTheme(THEMES.DARK);
473
+ }
474
+ }, t("neetoMolecules.sidebar.themeSwitcher.dark"))));
475
+ };
476
+
477
+ var ProfileMenu = function ProfileMenu(_ref) {
478
+ var profileInfo = _ref.profileInfo,
479
+ showProductSwitcher = _ref.showProductSwitcher,
480
+ helpLinks = _ref.helpLinks,
481
+ defaultLinks = _ref.defaultLinks,
482
+ topLinks = _ref.topLinks,
483
+ bottomLinks = _ref.bottomLinks,
484
+ customContent = _ref.customContent,
485
+ toggleModal = _ref.toggleModal,
486
+ isThemeSwitcherEnabled = _ref.isThemeSwitcherEnabled;
487
+ var Menu = neetoui.Dropdown.Menu,
488
+ MenuItem = neetoui.Dropdown.MenuItem,
489
+ Divider = neetoui.Dropdown.Divider;
490
+ return /*#__PURE__*/React__default["default"].createElement(Menu, {
491
+ className: "pb-1"
492
+ }, /*#__PURE__*/React__default["default"].createElement(MenuItem, {
493
+ className: "neeto-molecules-profile-popup mb-1",
494
+ "data-cy": "profile-popup",
495
+ "data-testid": "profile-popup"
496
+ }, /*#__PURE__*/React__default["default"].createElement(ProfileHeader, {
497
+ profileInfo: profileInfo
498
+ })), showProductSwitcher && /*#__PURE__*/React__default["default"].createElement(ProductSwitcher, {
499
+ toggleModal: toggleModal
500
+ }), isThemeSwitcherEnabled && /*#__PURE__*/React__default["default"].createElement(ThemeSwitcher, null), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
501
+ links: topLinks
502
+ }), neetoCist.isPresent(customContent) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(MenuItem, {
503
+ className: "neeto-molecules-floating-action-button__profile-wrapper-custom-content"
504
+ }, customContent)), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
505
+ links: defaultLinks
506
+ }), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
507
+ links: helpLinks
508
+ }), /*#__PURE__*/React__default["default"].createElement(Divider, null), /*#__PURE__*/React__default["default"].createElement(LinkSection, {
509
+ links: bottomLinks
510
+ }));
511
+ };
512
+
513
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
514
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
515
+ var ProfileButton = function ProfileButton(_ref) {
516
+ var helpLinkOverrides = _ref.helpLinkOverrides,
517
+ profileInfoOverrides = _ref.profileInfoOverrides,
518
+ showProductSwitcher = _ref.showProductSwitcher,
519
+ bottomLinks = _ref.bottomLinks,
520
+ topLinks = _ref.topLinks,
521
+ customContent = _ref.customContent,
522
+ isThemeSwitcherEnabled = _ref.isThemeSwitcherEnabled;
523
+ var _useState = React.useState(false),
524
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
525
+ isModalOpen = _useState2[0],
526
+ setIsModalOpen = _useState2[1];
527
+ var _useState3 = React.useState(null),
528
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
529
+ changesCount = _useState4[0],
530
+ setChangesCount = _useState4[1];
531
+ var _KeyboardShortcuts$us = KeyboardShortcuts.usePaneState(),
532
+ _KeyboardShortcuts$us2 = slicedToArray._slicedToArray(_KeyboardShortcuts$us, 2),
533
+ setIsOpen = _KeyboardShortcuts$us2[1];
534
+ var _Profile$usePaneState = neetoTeamMembersFrontend.Profile.usePaneState(),
535
+ _Profile$usePaneState2 = slicedToArray._slicedToArray(_Profile$usePaneState, 2),
536
+ setIsProfilePaneOpen = _Profile$usePaneState2[1];
537
+ var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
538
+ data = _useFetchNeetoApps.data,
539
+ refetch = _useFetchNeetoApps.refetch,
540
+ isStale = _useFetchNeetoApps.isStale;
541
+ var profileInfo = getProfileInfo(profileInfoOverrides);
542
+ React.useEffect(function () {
543
+ var Nv = {
544
+ onReceiveData: function onReceiveData(data) {
545
+ if (!data.unreadCount) return;
546
+ setChangesCount(data.unreadCount);
547
+ },
548
+ onShow: function onShow() {
549
+ setChangesCount(null);
550
+ }
551
+ };
552
+ window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
553
+ }, []);
554
+ React.useEffect(function () {
555
+ if (!isStale) return;
556
+ refetch();
557
+ }, [isStale]);
558
+ var newTopLinks = globalProps.appName !== "neetoAuth" ? [].concat(toConsumableArray._toConsumableArray(getDefaultTopLinks(data === null || data === void 0 ? void 0 : data.isOwner, setIsProfilePaneOpen)), toConsumableArray._toConsumableArray(topLinks)) : topLinks;
559
+ var newBottomLinks = [].concat(toConsumableArray._toConsumableArray(getDefaultBottomLinks()), toConsumableArray._toConsumableArray(bottomLinks));
560
+ var helpLinks = Object.keys(DEFAULT_HELP_LINK_PROPS).map(function (key) {
561
+ return _objectSpread({}, DEFAULT_HELP_LINK_PROPS[key]);
562
+ }).filter(function (_ref2) {
563
+ var hide = _ref2.hide;
564
+ return !hide;
565
+ });
566
+ var defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS).filter(function (key) {
567
+ var _DEFAULT_MENU_LINK_PR, _DEFAULT_MENU_LINK_PR2, _DEFAULT_MENU_LINK_PR3;
568
+ return (_DEFAULT_MENU_LINK_PR = (_DEFAULT_MENU_LINK_PR2 = (_DEFAULT_MENU_LINK_PR3 = DEFAULT_MENU_LINK_PROPS[key]).isVisible) === null || _DEFAULT_MENU_LINK_PR2 === void 0 ? void 0 : _DEFAULT_MENU_LINK_PR2.call(_DEFAULT_MENU_LINK_PR3)) !== null && _DEFAULT_MENU_LINK_PR !== void 0 ? _DEFAULT_MENU_LINK_PR : true;
569
+ }).map(function (key) {
570
+ return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, DEFAULT_MENU_LINK_PROPS[key]), helpLinkOverrides[key]), key === "keyboardShortcutProps" && {
571
+ onClick: function onClick() {
572
+ return setIsOpen(function (prev) {
573
+ return !prev;
574
+ });
575
+ }
576
+ }), key === "changelogProps" && changesCount && {
577
+ changesCount: changesCount
578
+ });
579
+ }).filter(function (_ref3) {
580
+ var hide = _ref3.hide;
581
+ return !hide;
582
+ });
583
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoTeamMembersFrontend.Profile.Pane, null), /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
584
+ isMultiLevel: true,
585
+ appendTo: function appendTo() {
586
+ return document.body;
587
+ },
588
+ buttonStyle: "link",
589
+ closeOnSelect: false,
590
+ "data-cy": "floating-action-button",
591
+ "data-testid": "floating-action-button",
592
+ icon: neetoCist.noop,
593
+ interactiveDebounce: 30,
594
+ offset: [15, 10],
595
+ position: "right-end",
596
+ strategy: "fixed",
597
+ theme: "light",
598
+ trigger: "all",
599
+ zIndex: 99999,
600
+ customTarget: /*#__PURE__*/React__default["default"].createElement("button", {
601
+ className: "neeto-molecules-floating-action-button",
602
+ type: "button"
603
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Avatar, {
604
+ className: "neeto-ui-flex-shrink-0 neeto-molecules-floating-action-button__profile-avatar",
605
+ "data-cy": "profile-avatar",
606
+ "data-testid": "profile-avatar",
607
+ size: "medium",
608
+ user: profileInfo
609
+ })),
610
+ dropdownProps: {
611
+ classNames: "neeto-molecules-floating-action-button__dropdown"
612
+ }
613
+ }, /*#__PURE__*/React__default["default"].createElement(ProfileMenu, {
614
+ customContent: customContent,
615
+ defaultLinks: defaultLinks,
616
+ helpLinks: helpLinks,
617
+ isThemeSwitcherEnabled: isThemeSwitcherEnabled,
618
+ profileInfo: profileInfo,
619
+ showProductSwitcher: showProductSwitcher,
620
+ bottomLinks: newBottomLinks,
621
+ toggleModal: setIsModalOpen,
622
+ topLinks: newTopLinks
623
+ })), neetoCist.isPresent(changesCount) && /*#__PURE__*/React__default["default"].createElement("span", {
624
+ className: "neeto-molecules-menu__notif-count",
625
+ "data-cy": "help-icon-changes-count",
626
+ "data-testid": "help-icon-changes-count"
627
+ }, changesCount), /*#__PURE__*/React__default["default"].createElement(Modal, {
628
+ isOpen: isModalOpen,
629
+ onClose: function onClose() {
630
+ return setIsModalOpen(false);
631
+ }
632
+ }));
633
+ };
634
+
635
+ var css = ":root{--neeto-molecules-floating-menu-z-index:99999}.neeto-molecules-floating-action-menu__container{background-color:rgb(var(--neeto-ui-white));border-bottom-right-radius:30px;border-top-right-radius:30px;bottom:16px;left:0;position:fixed;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button{align-items:center;background-color:rgba(var(--neeto-ui-primary-500),.6);border-bottom-right-radius:30px;border-color:rgba(var(--neeto-ui-primary-500),.6);border-top-right-radius:30px;display:flex;justify-content:center;padding:4px}.neeto-molecules-floating-action-button__profile-avatar{border:2px solid #fff;border-radius:100px}.neeto-molecules-floating-action-button__profile-avatar .neeto-ui-avatar{height:100%!important;width:100%!important}.neeto-molecules-floating-action-button__dropdown{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)!important;flex-shrink:0;max-height:none!important;max-width:none;width:256px;z-index:99999;z-index:var(--neeto-molecules-floating-menu-z-index)}.neeto-molecules-floating-action-button__dropdown ul{padding-top:0!important}.neeto-molecules-product-switcher-menu-popup__dropdown{max-height:none!important;max-width:none}.neeto-molecules-menu__notif-count{position:absolute;right:3px;top:3px;z-index:1}.neeto-molecules-menu-list__item-btn-count,.neeto-molecules-menu__notif-count{align-items:center;background-color:rgb(var(--neeto-ui-primary-500));border-radius:var(--neeto-ui-rounded-full);color:rgb(var(--neeto-ui-white));display:flex;flex-shrink:0;font-size:var(--neeto-ui-text-xxs);height:15px;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:15px}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper{border:1px solid rgb(var(--neeto-ui-gray-400));border-radius:var(--neeto-ui-rounded)!important;box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)!important;min-width:240px}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-content{padding:0}.neeto-ui-dropdown__popup .neeto-molecules-product-switcher-menu-popup-wrapper .tippy-svg-arrow{display:none!important}.neeto-molecules-profile-popup__top-section{border-top-left-radius:var(--neeto-ui-rounded);border-top-right-radius:var(--neeto-ui-rounded)}.neeto-molecules-menu-sublist__item-btn{font-weight:500!important;height:40px}.neeto-molecules-menu-sublist__item-btn[data-btn-weight=bold]{font-weight:700!important}.neeto-molecules-menu-sublist__item-btn.active{background-color:rgb(var(--neeto-ui-gray-800));color:rgb(var(--neeto-ui-white))}.neeto-molecules-menu-sublist__item-btn-icon svg path{vector-effect:non-scaling-stroke}.neeto-molecules-menu-sublist__item-btn span{align-items:center;display:flex;gap:8px}.neeto-molecules-product-switcher-menu-popup-wrapper{height:95vh;overflow-y:auto;width:calc(100vw - 400px)}.neeto-molecules-floating-action-button__profile-wrapper-custom-content:hover{background-color:rgb(var(--neeto-ui-white))!important}.neeto-molecules-theme-switcher-menu-popup-wrapper .neeto-ui-dropdown__popup-menu{padding-top:4px!important}.neeto-molecules-theme-switcher-active-button{color:rgb(var(--neeto-ui-primary-600))!important}";
636
+ injectCss.n(css,{});
637
+
638
+ var _excluded = ["profileInfoOverrides", "helpLinkOverrides", "topLinks", "bottomLinks", "showProductSwitcher", "isThemeSwitcherEnabled", "customContent"];
639
+ var FloatingActionMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
640
+ var _ref$profileInfoOverr = _ref.profileInfoOverrides,
641
+ profileInfoOverrides = _ref$profileInfoOverr === void 0 ? {} : _ref$profileInfoOverr,
642
+ _ref$helpLinkOverride = _ref.helpLinkOverrides,
643
+ helpLinkOverrides = _ref$helpLinkOverride === void 0 ? {} : _ref$helpLinkOverride,
644
+ _ref$topLinks = _ref.topLinks,
645
+ topLinks = _ref$topLinks === void 0 ? [] : _ref$topLinks,
646
+ _ref$bottomLinks = _ref.bottomLinks,
647
+ bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
648
+ _ref$showProductSwitc = _ref.showProductSwitcher,
649
+ showProductSwitcher = _ref$showProductSwitc === void 0 ? true : _ref$showProductSwitc,
650
+ _ref$isThemeSwitcherE = _ref.isThemeSwitcherEnabled,
651
+ isThemeSwitcherEnabled = _ref$isThemeSwitcherE === void 0 ? false : _ref$isThemeSwitcherE,
652
+ customContent = _ref.customContent,
653
+ otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
654
+ React.useEffect(function () {
655
+ isThemeSwitcherEnabled && setAppTheme();
656
+ }, []);
657
+ return /*#__PURE__*/React__default["default"].createElement("div", _extends._extends({
658
+ ref: ref,
659
+ className: "neeto-molecules-floating-action-menu__container",
660
+ "data-cy": "floating-action-menu-container",
661
+ "data-testid": "floating-action-menu-container"
662
+ }, otherProps), /*#__PURE__*/React__default["default"].createElement(ProfileButton, {
663
+ bottomLinks: bottomLinks,
664
+ customContent: customContent,
665
+ helpLinkOverrides: helpLinkOverrides,
666
+ isThemeSwitcherEnabled: isThemeSwitcherEnabled,
667
+ profileInfoOverrides: profileInfoOverrides,
668
+ showProductSwitcher: showProductSwitcher,
669
+ topLinks: topLinks
670
+ }));
671
+ });
672
+ FloatingActionMenu.displayName = "FloatingActionMenu";
673
+
674
+ module.exports = FloatingActionMenu;
675
+ //# sourceMappingURL=FloatingActionMenu.js.map