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