@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta2

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