@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 @@
1
+ {"version":3,"file":"ShareViaLink.js","sources":["../../src/components/ShareViaLink/utils.js","../../src/components/ShareViaLink/constants.js","../../src/components/ShareViaLink/EditURL.jsx","../../src/components/ShareViaLink/RegenerateURL.jsx","../../src/components/ShareViaLink/Link.jsx","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/ShareBlock.jsx","../../src/components/ShareViaLink/index.jsx"],"sourcesContent":["import { buildUrl } from \"neetocommons/utils/general\";\n\nimport { MAX_PREFIX_SIZE } from \"./constants\";\n\nexport const facebookShareLink = ({ id }) =>\n buildUrl(\"https://www.facebook.com/sharer/sharer.php\", {\n u: `https://${window.location.host}/${id}`,\n });\n\nexport const linkedInShareLink = ({ id, title }) =>\n buildUrl(\"https://www.linkedin.com/shareArticle\", {\n mini: true,\n url: `https://${window.location.host}/${id}`,\n title,\n });\n\nexport const twitterShareLink = ({ id, title }) =>\n buildUrl(\"http://twitter.com/share\", {\n text: title,\n url: `https://${window.location.host}/${id}`,\n });\n\nexport const downloadCanvas = (canvas, options = {}) => {\n const { name = \"image\", extension = \"png\" } = options;\n\n const canvasUrl = canvas.toDataURL(`image/${extension}`);\n const element = document.createElement(\"a\");\n element.href = canvasUrl;\n element.download = `${name}.${extension}`;\n element.click();\n element.remove();\n};\n\nexport const getPathname = url => new URL(url).pathname.slice(1);\n\nexport const getPrefixFromUrl = url => `${new URL(url).origin}/`;\n\nexport const truncatePrefix = url =>\n url.length > MAX_PREFIX_SIZE ? `...${url.slice(-MAX_PREFIX_SIZE)}` : url;\n","import { t } from \"i18next\";\nimport { Facebook, Linkedin, Twitter } from \"neetoicons\";\nimport * as yup from \"yup\";\n\nimport {\n facebookShareLink,\n twitterShareLink,\n linkedInShareLink,\n} from \"./utils\";\n\nexport const SOCIAL_MEDIA_OPTIONS = {\n FACEBOOK: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.facebook\"),\n icon: Facebook,\n generateShareUrl: facebookShareLink,\n },\n LINKEDIN: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.linkedIn\"),\n icon: Linkedin,\n generateShareUrl: linkedInShareLink,\n },\n TWITTER: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.twitter\"),\n icon: Twitter,\n generateShareUrl: twitterShareLink,\n },\n};\n\nexport const PATH_VALIDATION_SCHEMA = yup.object().shape({\n path: yup\n .string()\n .required(t(\"neetoMolecules.shareViaLink.editUrl.validationError\"))\n .matches(\n /^[A-Za-z0-9]([\\w/-])*$/,\n t(\"neetoMolecules.shareViaLink.editUrl.validationError\")\n ),\n});\n\nexport const MAX_PREFIX_SIZE = 30;\n","import React, { useEffect, useRef } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { Typography, Pane } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PATH_VALIDATION_SCHEMA } from \"./constants\";\nimport \"./edit-url.scss\";\nimport { getPathname, getPrefixFromUrl, truncatePrefix } from \"./utils\";\n\nconst { Header, Body, Footer } = Pane;\n\nconst EditURL = ({\n editUrlProps,\n isOpen,\n onClose,\n url,\n isLoading,\n handleEdit,\n}) => {\n const { t } = useTranslation();\n\n const focusRef = useRef(null);\n const prevIsLoadingRef = useRef(isLoading);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"edit-url-modal\"\n initialFocusRef={focusRef}\n size=\"large\"\n >\n <Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.editUrl.title\")}\n </Typography>\n </Header>\n <Formik\n enableReinitialize\n initialValues={{ path: editUrlProps?.editablePath || getPathname(url) }}\n validationSchema={PATH_VALIDATION_SCHEMA}\n onSubmit={({ path }) => handleEdit(path)}\n >\n {({ isSubmitting, dirty }) => (\n <Form>\n <Body className=\"space-y-6\">\n <Input\n className=\"no-padding w-full flex-grow-0\"\n data-testid=\"edit-url-input\"\n label={t(\"neetoMolecules.shareViaLink.editUrl.inputLabel\")}\n maxLength={editUrlProps?.maxLength}\n name=\"path\"\n ref={focusRef}\n prefix={truncatePrefix(\n editUrlProps?.prefix || getPrefixFromUrl(url)\n )}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.editUrl.description\")}\n </Typography>\n </Body>\n <Footer className=\"space-x-2\">\n <ActionBlock\n className=\"flex items-center space-x-2\"\n cancelButtonProps={{\n onClick: onClose,\n disabled: isSubmitting,\n \"data-testid\": \"edit-url-cancel-button\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || !dirty,\n loading: isLoading,\n \"data-testid\": \"edit-url-confirm-button\",\n }}\n />\n </Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default EditURL;\n","import React, { useEffect, useRef } from \"react\";\n\nimport { Typography, Modal, Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Modal {...{ isOpen, onClose }} data-testid=\"regenerate-url-modal\">\n <Modal.Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full space-y-6\">\n <Input\n disabled\n label={t(\"neetoMolecules.shareViaLink.regenerateUrl.inputLabel\")}\n value={url}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.description\")}\n </Typography>\n </div>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-cy=\"regenerate-url-confirm-button\"\n data-testid=\"regenerate-url-confirm-button\"\n loading={isLoading}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel\"\n )}\n onClick={handleRegenerate}\n />\n <Button\n data-cy=\"regenerate-url-cancel-button\"\n data-testid=\"regenerate-url-cancel-button\"\n style=\"text\"\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel\"\n )}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RegenerateURL;\n","import React, { useState } from \"react\";\n\nimport { ExternalLink } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport EditURL from \"./EditURL\";\nimport RegenerateURL from \"./RegenerateURL\";\n\nconst Link = ({\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n}) => {\n const [isRegenerateURLModalOpen, setIsRegenerateURLModalOpen] =\n useState(false);\n const [isEditURLModalOpen, setIsEditURLModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div className=\"space-y-4\" data-cy=\"link-block\" data-testid=\"link-block\">\n <div className=\"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1\">\n <div\n className=\"neeto-ui-rounded-md relative min-w-0 flex-grow truncate border p-2 leading-none\"\n data-cy=\"nui-input-field\"\n >\n {url}\n </div>\n <div className=\"flex w-full flex-shrink-0 items-center gap-1 sm:w-auto\">\n <CopyToClipboardButton\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.copyLink\")}\n value={url}\n />\n <Button\n data-cy=\"preview-button\"\n data-testid=\"preview-button\"\n href={previewUrl || url}\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.shareViaLink.view\", {\n entity: entityName,\n }),\n position: \"top\",\n }}\n />\n {isDropdownEnabled && (\n <>\n <MoreDropdown\n menuItems={[\n {\n isVisible: enabledOptions.regenerate,\n \"data-testid\": \"regenerate-url-button\",\n \"data-cy\": \"regenerate-url-button\",\n onClick: () => setIsRegenerateURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.regenerateUrl.title\"),\n key: \"regenerate-url-option\",\n },\n {\n isVisible: enabledOptions.edit,\n \"data-testid\": \"edit-url-button\",\n \"data-cy\": \"edit-url-button\",\n onClick: () => setIsEditURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.editUrl.title\"),\n key: \"edit-url-option\",\n },\n ]}\n />\n <RegenerateURL\n {...{ handleRegenerate, isLoading, url }}\n isOpen={isRegenerateURLModalOpen}\n onClose={() => setIsRegenerateURLModalOpen(false)}\n />\n <EditURL\n {...{ editUrlProps, handleEdit, isLoading, url }}\n isOpen={isEditURLModalOpen}\n onClose={() => setIsEditURLModalOpen(false)}\n />\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Link;\n","import React from \"react\";\n\nimport { slugify } from \"neetocist\";\nimport { Button, Typography } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { Trans } from \"react-i18next\";\n\nimport { downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, url }) => {\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownload = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n return (\n <div\n className=\"flex flex-col justify-center space-y-2 py-3 pl-8 sm:space-y-4 sm:py-2 sm:pl-6\"\n data-cy=\"qr-download-block\"\n data-testid=\"qr-download-block\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\" weight=\"medium\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo\"\n components={{\n button: (\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n style=\"link\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n <QRCodeImage\n className=\"cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid={canvasId}\n id={canvasId}\n size={256}\n style={{ width: 80, height: 80 }}\n value={url}\n onClick={handleDownload}\n />\n </div>\n );\n};\n\nexport default QRCode;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\nimport QRCode from \"./QRCode\";\n\nconst ShareBlock = ({\n entity,\n postTitle,\n url,\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n}) => {\n const { t } = useTranslation();\n\n const socialMediaButtonClasses =\n \"neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-10 w-10 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out\";\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div className=\"flex flex-col divide-y sm:flex-row sm:gap-6 sm:divide-x sm:divide-y-0\">\n {hasMoreOptions && (\n <div className=\"divide-y\">\n {moreOptions.map(({ title, link, icon: Icon, onClick, dataCy }) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n className=\"flex cursor-pointer items-center gap-x-2 py-3\"\n data-cy={dataCy}\n key={link}\n to={link}\n >\n <Icon className=\"neeto-ui-text-gray-500\" size={24} />\n <Typography\n className=\"group-hover:underline\"\n style=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n </Component>\n );\n })}\n </div>\n )}\n {!disableShareSocialMedia && (\n <div\n data-cy=\"social-media-block\"\n data-testid=\"social-media-block\"\n className={classnames(\"space-y-2 py-3 sm:space-y-4 sm:py-2\", {\n \"pl-8 sm:pl-6\": hasMoreOptions,\n })}\n >\n <Typography\n className=\"neeto-ui-text-gray-800\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n </Typography>\n <div className=\"flex gap-4\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <a\n className={socialMediaButtonClasses}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n href={generateShareUrl({ id: entity.id, title: postTitle })}\n key={key}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n title={label}\n >\n <Icon size={24} />\n </a>\n )\n )}\n </div>\n </div>\n )}\n {!disableQRDownload && <QRCode {...{ entity, url }} />}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst ShareViaLink = ({\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n editUrlProps = { prefix: \"\", editablePath: \"\" },\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n previewUrl = \"\",\n socialMediaPostTitle,\n url,\n moreOptions,\n isOtherShareOptionsEnabled = true,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n}) => (\n <div\n className=\"neeto-ui-border-gray-400 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\n <LinkBlock\n {...{\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n }}\n />\n {isOtherShareOptionsEnabled && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n url,\n }}\n postTitle={socialMediaPostTitle}\n />\n )}\n </div>\n);\n\nShareViaLink.propTypes = {\n /**\n * The boolean value to check if the link is being regenerated or updated.\n */\n isLoading: PropTypes.bool,\n /**\n * The props that are passed to the edit URL field. `Prefix` and `editablePath` decide which part of the URL is to be added in the prefix and which part is editable. Default values are taken from `url`.\n * `maxLength` decides if the entered URL should be limited to specified number of characters.\n */\n editUrlProps: PropTypes.shape({\n prefix: PropTypes.string,\n editablePath: PropTypes.string,\n maxLength: PropTypes.number,\n }),\n /**\n * An object which accepts two boolean values that decide if the dropdown options are hidden or not. If both are false, then the dropdown is hidden as well.\n */\n enabledOptions: PropTypes.shape({\n regenerate: PropTypes.bool,\n edit: PropTypes.bool,\n }),\n /**\n * The entity object for which the link is being shared.\n */\n entity: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n /**\n * The type of the entity for which the link is being shared.\n */\n entityName: PropTypes.string,\n /**\n * The function that is called when the Edit URL form is submitted. It returns the updated URL value.\n */\n handleEdit: PropTypes.func,\n /**\n * The function which makes the API call to regenerate the url.\n */\n handleRegenerate: PropTypes.func,\n /**\n * The url to be used for previewing the entity (optional).\n */\n previewUrl: PropTypes.string,\n /**\n * The title of the social media post.\n */\n socialMediaPostTitle: PropTypes.string,\n /**\n * The url to be shared.\n */\n url: PropTypes.string,\n /**\n * To share using alternative options\n */\n moreOptions: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\n })\n ),\n /**\n * To show the extra share options\n */\n isOtherShareOptionsEnabled: PropTypes.bool,\n /**\n * To disable share social media section.\n */\n disableShareSocialMedia: PropTypes.bool,\n /**\n * To disable QR code download section.\n */\n disableQRDownload: PropTypes.bool,\n};\n\nexport default ShareViaLink;\n"],"names":["facebookShareLink","_ref","id","buildUrl","u","concat","window","location","host","linkedInShareLink","_ref2","title","mini","url","twitterShareLink","_ref3","text","downloadCanvas","canvas","options","arguments","length","undefined","_options$name","name","_options$extension","extension","canvasUrl","toDataURL","element","document","createElement","href","download","click","remove","getPathname","URL","pathname","slice","getPrefixFromUrl","origin","truncatePrefix","MAX_PREFIX_SIZE","SOCIAL_MEDIA_OPTIONS","FACEBOOK","label","t","icon","Facebook","generateShareUrl","LINKEDIN","Linkedin","TWITTER","Twitter","PATH_VALIDATION_SCHEMA","yup","object","shape","path","string","required","matches","Header","Pane","Body","Footer","EditURL","editUrlProps","isOpen","onClose","isLoading","handleEdit","_useTranslation","useTranslation","focusRef","useRef","prevIsLoadingRef","useEffect","current","React","initialFocusRef","size","Typography","lineHeight","style","weight","Formik","enableReinitialize","initialValues","editablePath","validationSchema","onSubmit","isSubmitting","dirty","Form","className","Input","maxLength","ref","prefix","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading","RegenerateURL","handleRegenerate","Modal","value","Button","Link","enabledOptions","entityName","previewUrl","_useState","useState","_useState2","_slicedToArray","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","_useState3","_useState4","isEditURLModalOpen","setIsEditURLModalOpen","isDropdownEnabled","regenerate","edit","CopyToClipboardButton","ExternalLink","target","tooltipProps","content","entity","position","Fragment","MoreDropdown","menuItems","isVisible","key","QRCode","canvasId","handleDownload","getElementById","slugify","Trans","i18nKey","components","button","QRCodeImage","width","height","ShareBlock","postTitle","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaButtonClasses","hasMoreOptions","isPresent","map","link","Icon","dataCy","Component","to","classnames","Object","entries","_ref4","_ref4$","rel","ShareViaLink","_ref$isLoading","_ref$enabledOptions","_ref$editUrlProps","_ref$handleEdit","noop","_ref$handleRegenerate","_ref$previewUrl","socialMediaPostTitle","_ref$isOtherShareOpti","isOtherShareOptionsEnabled","_ref$disableShareSoci","_ref$disableQRDownloa","LinkBlock"],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var neetoCist = require('@bigbinary/neeto-cist');
7
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
8
+ var useLocalStorage = require('@bigbinary/neeto-commons-frontend/react-utils/useLocalStorage');
9
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
10
+ var neetoui = require('@bigbinary/neetoui');
11
+ var ramda = require('ramda');
12
+ var reactI18next = require('react-i18next');
13
+ var reactRouterDom = require('react-router-dom');
14
+ var Chevron = require('./Chevron-5fe59f57.js');
15
+ var useFetchNeetoApps = require('@bigbinary/neeto-commons-frontend/react-utils/useFetchNeetoApps');
16
+ var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
17
+ var _extends = require('@babel/runtime/helpers/extends');
18
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
19
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
20
+ var neetoIcons = require('@bigbinary/neeto-icons');
21
+ require('@bigbinary/neeto-commons-frontend/utils/general');
22
+ require('@bigbinary/neeto-filters-frontend');
23
+ require('@bigbinary/neeto-commons-frontend/react-utils/useRegisterNavigationCheckpoint');
24
+ require('./inject-css-80a5faa3.js');
25
+
26
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
+
28
+ function _interopNamespace(e) {
29
+ if (e && e.__esModule) return e;
30
+ var n = Object.create(null);
31
+ if (e) {
32
+ Object.keys(e).forEach(function (k) {
33
+ if (k !== 'default') {
34
+ var d = Object.getOwnPropertyDescriptor(e, k);
35
+ Object.defineProperty(n, k, d.get ? d : {
36
+ enumerable: true,
37
+ get: function () { return e[k]; }
38
+ });
39
+ }
40
+ });
41
+ }
42
+ n["default"] = e;
43
+ return Object.freeze(n);
44
+ }
45
+
46
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
47
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
48
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
49
+ var useLocalStorage__default = /*#__PURE__*/_interopDefaultLegacy(useLocalStorage);
50
+ var useFetchNeetoApps__default = /*#__PURE__*/_interopDefaultLegacy(useFetchNeetoApps);
51
+ var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespace(ProductTypefaceLogos);
52
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
53
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
54
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
55
+
56
+ var Header = function Header(_ref) {
57
+ var _ProductTypefaceLogos;
58
+ var customLogo = _ref.customLogo,
59
+ clearSettingsNav = _ref.clearSettingsNav,
60
+ homePath = _ref.homePath;
61
+ var productName = globalProps.appName.substr(5);
62
+ var logoName = "Neeto".concat(neetoCist.capitalize(productName.toLowerCase()));
63
+ var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos__namespace[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : ProductTypefaceLogos.Neeto;
64
+ var LogoComponent = customLogo !== null && customLogo !== void 0 ? customLogo : ProductTypefaceLogo;
65
+ var _useFetchNeetoApps = useFetchNeetoApps__default["default"](),
66
+ data = _useFetchNeetoApps.data;
67
+ var appHomePath = homePath;
68
+ if (data !== null && data !== void 0 && data.neetoApps) {
69
+ var thisApp = neetoCist.findBy({
70
+ name: productName
71
+ }, data.neetoApps);
72
+ if (thisApp !== null && thisApp !== void 0 && thisApp.url) {
73
+ appHomePath = new URL(thisApp === null || thisApp === void 0 ? void 0 : thisApp.url).pathname;
74
+ }
75
+ }
76
+ return /*#__PURE__*/React__default["default"].createElement("div", {
77
+ className: "neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable",
78
+ "data-cy": "sidebar-info"
79
+ }, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
80
+ className: "neeto-molecules-sidebar__logo neeto-ui-w-full",
81
+ to: appHomePath,
82
+ onClick: clearSettingsNav
83
+ }, /*#__PURE__*/React__default["default"].createElement(LogoComponent, null)));
84
+ };
85
+ var Header$1 = /*#__PURE__*/React__default["default"].memo(Header);
86
+
87
+ var _excluded = ["label", "to", "icon", "items", "isConfigureNavLink", "isCountsLoading"];
88
+ 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; }
89
+ 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; }
90
+ var Links = function Links(_ref) {
91
+ var navLinks = _ref.navLinks,
92
+ isCountsLoadingDeprecated = _ref.isCountsLoading,
93
+ setSelectedNavLinkRoute = _ref.setSelectedNavLinkRoute;
94
+ var location = reactRouterDom.useLocation();
95
+ var _useState = React.useState(true),
96
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
97
+ isActiveLinkExpanded = _useState2[0],
98
+ setIsActiveLinkExpanded = _useState2[1];
99
+ var handleNavLinkClick = function handleNavLinkClick(_ref2) {
100
+ var event = _ref2.event,
101
+ isActive = _ref2.isActive,
102
+ items = _ref2.items,
103
+ navLink = _ref2.navLink;
104
+ if (neetoCist.isNotPresent(items)) return;
105
+ if (navLink.isConfigureNavLink && neetoCist.isNotEmpty(navLink.items)) {
106
+ setSelectedNavLinkRoute(navLink.to);
107
+ }
108
+ if (isActive()) {
109
+ setIsActiveLinkExpanded(ramda.not);
110
+ event.preventDefault();
111
+ return;
112
+ }
113
+ setIsActiveLinkExpanded(true);
114
+ };
115
+ return /*#__PURE__*/React__default["default"].createElement("div", {
116
+ className: "neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable"
117
+ }, navLinks.filter(Chevron.filterByPermissions).map(function (navLink, index) {
118
+ var label = navLink.label,
119
+ to = navLink.to,
120
+ icon = navLink.icon,
121
+ items = navLink.items,
122
+ isConfigureNavLink = navLink.isConfigureNavLink,
123
+ _navLink$isCountsLoad = navLink.isCountsLoading,
124
+ isCountsLoading = _navLink$isCountsLoad === void 0 ? false : _navLink$isCountsLoad,
125
+ otherProps = _objectWithoutProperties__default["default"](navLink, _excluded);
126
+ var IconSVG = icon;
127
+ var url = new URL(to, window.location.href);
128
+ var isActive = function isActive() {
129
+ return ramda.is(Function, otherProps.isActive) ? otherProps.isActive() : location.pathname.startsWith(url.pathname);
130
+ };
131
+ var isMenuExpanded = isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;
132
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
133
+ key: index
134
+ }, /*#__PURE__*/React__default["default"].createElement(Chevron.CheckPointNavLinks, _extends__default["default"]({
135
+ activeClassName: "active",
136
+ className: "neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link",
137
+ "data-testid": "navlink-".concat(neetoCist.hyphenate(label)),
138
+ onClick: function onClick(event) {
139
+ return handleNavLinkClick({
140
+ event: event,
141
+ isActive: isActive,
142
+ items: items,
143
+ navLink: navLink
144
+ });
145
+ }
146
+ }, _objectSpread({
147
+ isActive: isActive,
148
+ to: to
149
+ }, otherProps)), icon && /*#__PURE__*/React__default["default"].createElement("span", {
150
+ className: "neeto-molecules-sidebar__link-icon",
151
+ "data-testid": label
152
+ }, /*#__PURE__*/React__default["default"].createElement(IconSVG, null)), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
153
+ className: "neeto-molecules-sidebar__link-label",
154
+ component: "span",
155
+ style: "body2"
156
+ }, label), items && !isConfigureNavLink && /*#__PURE__*/React__default["default"].createElement("span", {
157
+ className: classnames__default["default"]("neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret", {
158
+ "neeto-molecules-sidebar__link-icon--rotate": isMenuExpanded
159
+ })
160
+ }, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Down, {
161
+ size: 16
162
+ }))), items && !isConfigureNavLink && isMenuExpanded && /*#__PURE__*/React__default["default"].createElement(Chevron.Items, _objectSpread({
163
+ isCountsLoading: isCountsLoading,
164
+ items: items
165
+ }, otherProps)));
166
+ }));
167
+ };
168
+
169
+ var Sidebar = function Sidebar(_ref) {
170
+ var navLinks = _ref.navLinks,
171
+ customLogo = _ref.customLogo,
172
+ _ref$isCountsLoading = _ref.isCountsLoading,
173
+ isCountsLoading = _ref$isCountsLoading === void 0 ? false : _ref$isCountsLoading,
174
+ _ref$homePath = _ref.homePath,
175
+ homePath = _ref$homePath === void 0 ? "/" : _ref$homePath;
176
+ var productName = initializers.globalProps.appName.substr(5).toLowerCase();
177
+ var _useState = React.useState(false),
178
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
179
+ isSidebarPaneOpen = _useState2[0],
180
+ setIsSidebarPaneOpen = _useState2[1];
181
+ var _useLocalStorage = useLocalStorage__default["default"](Chevron.SELECTED_NAV_LINK_ROUTE_STORAGE_KEY, null),
182
+ _useLocalStorage2 = _slicedToArray__default["default"](_useLocalStorage, 2),
183
+ selectedNavLinkRoute = _useLocalStorage2[0],
184
+ setSelectedNavLinkRoute = _useLocalStorage2[1];
185
+ var _useLocalStorage3 = useLocalStorage__default["default"](Chevron.getSidebarStateLocalStorageKey(), false),
186
+ _useLocalStorage4 = _slicedToArray__default["default"](_useLocalStorage3, 2),
187
+ isSidebarCollapsed = _useLocalStorage4[0],
188
+ setIsSidebarCollapsed = _useLocalStorage4[1];
189
+ var location = reactRouterDom.useLocation();
190
+ var history = reactRouterDom.useHistory();
191
+ var _useTranslation = reactI18next.useTranslation(),
192
+ t = _useTranslation.t;
193
+ var isLargerScreen = function isLargerScreen() {
194
+ return window.innerWidth > 768;
195
+ };
196
+ var isSidebarClosed = isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen);
197
+ React.useEffect(function () {
198
+ if (!neetoCist.isPresent(navLinks)) return;
199
+ var currentLink = ramda.findLast(function (_ref2) {
200
+ var to = _ref2.to,
201
+ isActive = _ref2.isActive;
202
+ var url = new URL(to, window.location.href);
203
+ return ramda.is(Function, isActive) ? isActive() : location.pathname.includes(url.pathname);
204
+ })(navLinks);
205
+ if (neetoCist.isPresent(currentLink)) {
206
+ setSelectedNavLinkRoute(currentLink.isConfigureNavLink ? currentLink.to : null);
207
+ }
208
+ }, []);
209
+ React.useEffect(function () {
210
+ var handleResize = function handleResize() {
211
+ if (isLargerScreen()) return;
212
+ setIsSidebarPaneOpen(false);
213
+ setIsSidebarCollapsed(true);
214
+ };
215
+ window.addEventListener("resize", handleResize);
216
+ return function () {
217
+ return window.removeEventListener("resize", handleResize);
218
+ };
219
+ }, []);
220
+ var handleGoBack = function handleGoBack(event) {
221
+ event.preventDefault();
222
+ setSelectedNavLinkRoute(null);
223
+ var settingsNavLink = navLinks.find(function (link) {
224
+ return neetoCist.isPresent(link.isConfigureNavLink) && link.isConfigureNavLink;
225
+ });
226
+ if (settingsNavLink.to) {
227
+ history.push(utils.buildUrl(settingsNavLink.to));
228
+ }
229
+ };
230
+ var activeLink = React.useMemo(function () {
231
+ return navLinks.find(function (link) {
232
+ if (ramda.is(Function, link.isActive)) return link.isActive();
233
+ var url = new URL(link.to, window.location.href);
234
+ return location.pathname.startsWith(url.pathname);
235
+ });
236
+ }, [location.pathname, navLinks]);
237
+ var isSelectedNavLinkVisible = selectedNavLinkRoute && (activeLink === null || activeLink === void 0 ? void 0 : activeLink.to) === selectedNavLinkRoute && neetoCist.isNotEmpty(navLinks);
238
+ return /*#__PURE__*/React__default["default"].createElement("div", {
239
+ "data-testid": "sidebar-container",
240
+ className: classnames__default["default"]("neeto-molecules-sidebar__wrapper", {
241
+ "neeto-molecules-sidebar__wrapper--collapsed": isLargerScreen() ? isSidebarCollapsed : ramda.not(isSidebarPaneOpen)
242
+ })
243
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
244
+ className: "neeto-molecules-sidebar__backdrop",
245
+ onClick: function onClick() {
246
+ setIsSidebarPaneOpen(false);
247
+ setSelectedNavLinkRoute(null);
248
+ }
249
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
250
+ "data-cy": "sidebar-wrapper",
251
+ "data-testid": "sidebar",
252
+ className: classnames__default["default"]("neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden", {
253
+ "neeto-molecules-sidebar--focus-mode": neetoCist.isPresent(selectedNavLinkRoute)
254
+ })
255
+ }, /*#__PURE__*/React__default["default"].createElement(Header$1, {
256
+ customLogo: customLogo,
257
+ homePath: homePath,
258
+ clearSettingsNav: function clearSettingsNav() {
259
+ return setSelectedNavLinkRoute(null);
260
+ }
261
+ }), isSelectedNavLinkVisible ? /*#__PURE__*/React__default["default"].createElement(Chevron.SelectedLink, {
262
+ handleGoBack: handleGoBack,
263
+ navLink: activeLink
264
+ }) : /*#__PURE__*/React__default["default"].createElement(Links, {
265
+ isCountsLoading: isCountsLoading,
266
+ navLinks: navLinks,
267
+ setSelectedNavLinkRoute: setSelectedNavLinkRoute
268
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
269
+ className: "neeto-molecules-sidebar__toggler",
270
+ "data-cy": "neeto-molecules-sidebar-toggler",
271
+ "data-testid": "sidebar-toggleButton",
272
+ style: isLargerScreen() ? "text" : "secondary",
273
+ icon: function icon() {
274
+ return /*#__PURE__*/React__default["default"].createElement(Chevron.Chevron, {
275
+ style: {
276
+ color: "rgb(var(--neeto-".concat(productName, "-primary))")
277
+ }
278
+ });
279
+ },
280
+ tooltipProps: {
281
+ content: isSidebarClosed ? t("neetoMolecules.sidebar.showMenu") : t("neetoMolecules.sidebar.hideMenu"),
282
+ position: "bottom"
283
+ },
284
+ onClick: function onClick() {
285
+ setIsSidebarCollapsed(!isSidebarCollapsed);
286
+ setIsSidebarPaneOpen(ramda.not);
287
+ }
288
+ }));
289
+ };
290
+
291
+ module.exports = Sidebar;
292
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Components/Header.jsx","../../src/components/Sidebar/Components/Links/index.jsx","../../src/components/Sidebar/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { capitalize, findBy } from \"neetocist\";\nimport useFetchNeetoApps from \"neetocommons/react-utils/useFetchNeetoApps\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport { Link } from \"react-router-dom\";\n\nconst Header = ({ customLogo, clearSettingsNav, homePath }) => {\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\n const LogoComponent = customLogo ?? ProductTypefaceLogo;\n\n const { data } = useFetchNeetoApps();\n\n let appHomePath = homePath;\n if (data?.neetoApps) {\n const thisApp = findBy({ name: productName }, data.neetoApps);\n if (thisApp?.url) {\n appHomePath = new URL(thisApp?.url).pathname;\n }\n }\n\n return (\n <div\n className=\"neeto-molecules-sidebar__header neeto-molecules-sidebar__no-shrinkable\"\n data-cy=\"sidebar-info\"\n >\n <Link\n className=\"neeto-molecules-sidebar__logo neeto-ui-w-full\"\n to={appHomePath}\n onClick={clearSettingsNav}\n >\n <LogoComponent />\n </Link>\n </div>\n );\n};\n\nexport default React.memo(Header);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\nimport { is, not } from \"ramda\";\nimport { useLocation } from \"react-router-dom\";\n\nimport CheckPointNavLinks from \"./CheckPointNavLink\";\nimport Items from \"./Items\";\n\nimport { filterByPermissions } from \"../../utils\";\n\nconst Links = ({\n navLinks,\n isCountsLoading: isCountsLoadingDeprecated,\n setSelectedNavLinkRoute,\n}) => {\n const location = useLocation();\n const [isActiveLinkExpanded, setIsActiveLinkExpanded] = useState(true);\n\n const handleNavLinkClick = ({ event, isActive, items, navLink }) => {\n if (isNotPresent(items)) return;\n\n if (navLink.isConfigureNavLink && isNotEmpty(navLink.items)) {\n setSelectedNavLinkRoute(navLink.to);\n }\n\n if (isActive()) {\n setIsActiveLinkExpanded(not);\n event.preventDefault();\n\n return;\n }\n\n setIsActiveLinkExpanded(true);\n };\n\n return (\n <div className=\"neeto-molecules-sidebar__links neeto-molecules-sidebar__no-shrinkable\">\n {navLinks.filter(filterByPermissions).map((navLink, index) => {\n const {\n label,\n to,\n icon,\n items,\n isConfigureNavLink,\n isCountsLoading = false,\n ...otherProps\n } = navLink;\n const IconSVG = icon;\n const url = new URL(to, window.location.href);\n const isActive = () =>\n is(Function, otherProps.isActive)\n ? otherProps.isActive()\n : location.pathname.startsWith(url.pathname);\n\n const isMenuExpanded =\n isActive() && isActiveLinkExpanded && !isCountsLoadingDeprecated;\n\n return (\n <React.Fragment key={index}>\n <CheckPointNavLinks\n activeClassName=\"active\"\n className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-no-underline neeto-ui-select-none neeto-molecules-sidebar__link\"\n data-testid={`navlink-${hyphenate(label)}`}\n onClick={event =>\n handleNavLinkClick({ event, isActive, items, navLink })\n }\n {...{ isActive, to, ...otherProps }}\n >\n {icon && (\n <span\n className=\"neeto-molecules-sidebar__link-icon\"\n data-testid={label}\n >\n <IconSVG />\n </span>\n )}\n <Typography\n className=\"neeto-molecules-sidebar__link-label\"\n component=\"span\"\n style=\"body2\"\n >\n {label}\n </Typography>\n {items && !isConfigureNavLink && (\n <span\n className={classnames(\n \"neeto-molecules-sidebar__link-icon neeto-molecules-sidebar__link-icon--caret\",\n {\n \"neeto-molecules-sidebar__link-icon--rotate\":\n isMenuExpanded,\n }\n )}\n >\n <Down size={16} />\n </span>\n )}\n </CheckPointNavLinks>\n {items && !isConfigureNavLink && isMenuExpanded && (\n <Items {...{ isCountsLoading, items, ...otherProps }} />\n )}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport default Links;\n","import React, { useEffect, useMemo, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport useLocalStorage from \"neetocommons/react-utils/useLocalStorage\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { findLast, is, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Chevron from \"./Components/Chevron\";\nimport Header from \"./Components/Header\";\nimport Links from \"./Components/Links\";\nimport SelectedLink from \"./Components/Links/SelectedLink\";\nimport { SELECTED_NAV_LINK_ROUTE_STORAGE_KEY } from \"./constants\";\nimport \"./sidebar.scss\";\nimport { getSidebarStateLocalStorageKey } from \"./utils\";\n\nconst Sidebar = ({\n navLinks,\n customLogo,\n isCountsLoading = false,\n homePath = \"/\",\n}) => {\n const productName = globalProps.appName.substr(5).toLowerCase();\n const [isSidebarPaneOpen, setIsSidebarPaneOpen] = useState(false);\n const [selectedNavLinkRoute, setSelectedNavLinkRoute] = useLocalStorage(\n SELECTED_NAV_LINK_ROUTE_STORAGE_KEY,\n null\n );\n\n const [isSidebarCollapsed, setIsSidebarCollapsed] = useLocalStorage(\n getSidebarStateLocalStorageKey(),\n false\n );\n\n const location = useLocation();\n const history = useHistory();\n const { t } = useTranslation();\n\n const isLargerScreen = () => window.innerWidth > 768;\n const isSidebarClosed = isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen);\n\n useEffect(() => {\n if (!isPresent(navLinks)) return;\n const currentLink = findLast(({ to, isActive }) => {\n const url = new URL(to, window.location.href);\n\n return is(Function, isActive)\n ? isActive()\n : location.pathname.includes(url.pathname);\n })(navLinks);\n\n if (isPresent(currentLink)) {\n setSelectedNavLinkRoute(\n currentLink.isConfigureNavLink ? currentLink.to : null\n );\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) return;\n setIsSidebarPaneOpen(false);\n setIsSidebarCollapsed(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const handleGoBack = event => {\n event.preventDefault();\n setSelectedNavLinkRoute(null);\n const settingsNavLink = navLinks.find(\n link => isPresent(link.isConfigureNavLink) && link.isConfigureNavLink\n );\n if (settingsNavLink.to) {\n history.push(buildUrl(settingsNavLink.to));\n }\n };\n\n const activeLink = useMemo(\n () =>\n navLinks.find(link => {\n if (is(Function, link.isActive)) return link.isActive();\n const url = new URL(link.to, window.location.href);\n\n return location.pathname.startsWith(url.pathname);\n }),\n [location.pathname, navLinks]\n );\n\n const isSelectedNavLinkVisible =\n selectedNavLinkRoute &&\n activeLink?.to === selectedNavLinkRoute &&\n isNotEmpty(navLinks);\n\n return (\n <div\n data-testid=\"sidebar-container\"\n className={classnames(\"neeto-molecules-sidebar__wrapper\", {\n \"neeto-molecules-sidebar__wrapper--collapsed\": isLargerScreen()\n ? isSidebarCollapsed\n : not(isSidebarPaneOpen),\n })}\n >\n <div\n className=\"neeto-molecules-sidebar__backdrop\"\n onClick={() => {\n setIsSidebarPaneOpen(false);\n setSelectedNavLinkRoute(null);\n }}\n />\n <div\n data-cy=\"sidebar-wrapper\"\n data-testid=\"sidebar\"\n className={classnames(\n \"neeto-molecules-sidebar neeto-ui-flex neeto-ui-flex-col neeto-ui-flex-shrink-0 neeto-ui-overflow-y-auto neeto-ui-overflow-x-hidden\",\n {\n \"neeto-molecules-sidebar--focus-mode\":\n isPresent(selectedNavLinkRoute),\n }\n )}\n >\n <Header\n {...{ customLogo, homePath }}\n clearSettingsNav={() => setSelectedNavLinkRoute(null)}\n />\n {isSelectedNavLinkVisible ? (\n <SelectedLink {...{ handleGoBack }} navLink={activeLink} />\n ) : (\n <Links {...{ isCountsLoading, navLinks, setSelectedNavLinkRoute }} />\n )}\n </div>\n <Button\n className=\"neeto-molecules-sidebar__toggler\"\n data-cy=\"neeto-molecules-sidebar-toggler\"\n data-testid=\"sidebar-toggleButton\"\n style={isLargerScreen() ? \"text\" : \"secondary\"}\n icon={() => (\n <Chevron\n style={{ color: `rgb(var(--neeto-${productName}-primary))` }}\n />\n )}\n tooltipProps={{\n content: isSidebarClosed\n ? t(\"neetoMolecules.sidebar.showMenu\")\n : t(\"neetoMolecules.sidebar.hideMenu\"),\n position: \"bottom\",\n }}\n onClick={() => {\n setIsSidebarCollapsed(!isSidebarCollapsed);\n setIsSidebarPaneOpen(not);\n }}\n />\n </div>\n );\n};\n\nSidebar.propTypes = {\n /**\n * To specify the navlinks to be shown in sidebar.\n */\n navLinks: PropTypes.arrayOf(\n PropTypes.shape({\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n label: PropTypes.string,\n to: PropTypes.string,\n isActive: PropTypes.func,\n checkpointKey: PropTypes.string,\n isCountsLoading: PropTypes.bool,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n to: PropTypes.string,\n count: PropTypes.number,\n isActive: PropTypes.func,\n type: PropTypes.string,\n filters: PropTypes.array,\n checkpointKey: PropTypes.string,\n })\n ),\n })\n ),\n /**\n * To override the logo displayed on the sidebar.\n */\n customLogo: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * Boolean to notate whether the counts are being fetched.\n */\n isCountsLoading: PropTypes.bool,\n};\n\nexport default Sidebar;\n"],"names":["Header","_ref","_ProductTypefaceLogos","customLogo","clearSettingsNav","homePath","productName","globalProps","appName","substr","logoName","concat","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","LogoComponent","_useFetchNeetoApps","useFetchNeetoApps","data","appHomePath","neetoApps","thisApp","findBy","name","url","URL","pathname","React","createElement","className","Link","to","onClick","memo","Links","navLinks","isCountsLoadingDeprecated","isCountsLoading","setSelectedNavLinkRoute","location","useLocation","_useState","useState","_useState2","_slicedToArray","isActiveLinkExpanded","setIsActiveLinkExpanded","handleNavLinkClick","_ref2","event","isActive","items","navLink","isNotPresent","isConfigureNavLink","isNotEmpty","not","preventDefault","filter","filterByPermissions","map","index","label","icon","_navLink$isCountsLoad","otherProps","_objectWithoutProperties","_excluded","IconSVG","window","href","is","Function","startsWith","isMenuExpanded","Fragment","key","CheckPointNavLinks","_extends","activeClassName","hyphenate","_objectSpread","Typography","component","style","classnames","Down","size","Items","Sidebar","_ref$isCountsLoading","_ref$homePath","isSidebarPaneOpen","setIsSidebarPaneOpen","_useLocalStorage","useLocalStorage","SELECTED_NAV_LINK_ROUTE_STORAGE_KEY","_useLocalStorage2","selectedNavLinkRoute","_useLocalStorage3","getSidebarStateLocalStorageKey","_useLocalStorage4","isSidebarCollapsed","setIsSidebarCollapsed","history","useHistory","_useTranslation","useTranslation","t","isLargerScreen","innerWidth","isSidebarClosed","useEffect","isPresent","currentLink","findLast","includes","handleResize","addEventListener","removeEventListener","handleGoBack","settingsNavLink","find","link","push","buildUrl","activeLink","useMemo","isSelectedNavLinkVisible","SelectedLink","Button","Chevron","color","tooltipProps","content","position"],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var React = require('react');
6
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
7
+ var neetoEditor = require('@bigbinary/neeto-editor');
8
+ var neetoui = require('@bigbinary/neetoui');
9
+ var ramda = require('ramda');
10
+ var injectCss = require('./inject-css-80a5faa3.js');
11
+ var reactQuery = require('@tanstack/react-query');
12
+ var axios = require('axios');
13
+ var constants = require('@bigbinary/neeto-commons-frontend/constants');
14
+
15
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
+
17
+ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
18
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
21
+
22
+ var QUERY_KEYS = {
23
+ APP_STICKY_RIBBONS_LIST: "APP_STICKY_RIBBONS_LIST"
24
+ };
25
+ var STICKY_RIBBON_KIND_TO_STYLE = {
26
+ info: "info",
27
+ warning: "warning",
28
+ error: "danger"
29
+ };
30
+ var STICKY_RIBBONS_LOCAL_STORAGE_KEY = "dismissedStickyRibbons";
31
+
32
+ var css = ".neeto-molecules-sticky-ribbon{border-radius:0}";
33
+ injectCss.n(css,{});
34
+
35
+ var fetchStickyRibbons = function fetchStickyRibbons() {
36
+ return axios__default["default"].get("".concat(constants.BASE_API_V1_URL, "/sticky_ribbons"));
37
+ };
38
+ var stickyRibbonsApi = {
39
+ fetchStickyRibbons: fetchStickyRibbons
40
+ };
41
+
42
+ var APP_STICKY_RIBBONS_LIST = QUERY_KEYS.APP_STICKY_RIBBONS_LIST;
43
+ var useFetchStickyRibbons = function useFetchStickyRibbons() {
44
+ return reactQuery.useQuery({
45
+ queryKey: [APP_STICKY_RIBBONS_LIST],
46
+ queryFn: stickyRibbonsApi.fetchStickyRibbons
47
+ });
48
+ };
49
+
50
+ var StickyRibbonsContainer = function StickyRibbonsContainer() {
51
+ var _useLocalStorage = reactUtils.useLocalStorage(STICKY_RIBBONS_LOCAL_STORAGE_KEY, []),
52
+ _useLocalStorage2 = _slicedToArray__default["default"](_useLocalStorage, 2),
53
+ dismissedRibbons = _useLocalStorage2[0],
54
+ setDismissedRibbons = _useLocalStorage2[1];
55
+ var _useFetchStickyRibbon = useFetchStickyRibbons(),
56
+ _useFetchStickyRibbon2 = _useFetchStickyRibbon.data,
57
+ _useFetchStickyRibbon3 = _useFetchStickyRibbon2 === void 0 ? {} : _useFetchStickyRibbon2,
58
+ _useFetchStickyRibbon4 = _useFetchStickyRibbon3.stickyRibbons,
59
+ stickyRibbons = _useFetchStickyRibbon4 === void 0 ? [] : _useFetchStickyRibbon4;
60
+ var handleDismiss = function handleDismiss(ribbonId) {
61
+ var validRibbonIds = ramda.pluck("id", stickyRibbons);
62
+ var updatedDismissedRibbons = dismissedRibbons.filter(function (id) {
63
+ return validRibbonIds.includes(id);
64
+ });
65
+ setDismissedRibbons([].concat(_toConsumableArray__default["default"](updatedDismissedRibbons), [ribbonId]));
66
+ };
67
+ var visibleRibbons = stickyRibbons.filter(function (ribbon) {
68
+ return !dismissedRibbons.includes(ribbon.id);
69
+ });
70
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, visibleRibbons.map(function (_ref) {
71
+ var id = _ref.id,
72
+ kind = _ref.kind,
73
+ message = _ref.message;
74
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
75
+ className: "neeto-molecules-sticky-ribbon w-full p-2.5 text-center",
76
+ key: id,
77
+ size: "large",
78
+ style: STICKY_RIBBON_KIND_TO_STYLE[kind],
79
+ onClose: function onClose() {
80
+ return handleDismiss(id);
81
+ }
82
+ }, /*#__PURE__*/React__default["default"].createElement(neetoEditor.EditorContent, {
83
+ className: "w-full",
84
+ content: message
85
+ }));
86
+ }));
87
+ };
88
+
89
+ module.exports = StickyRibbonsContainer;
90
+ //# sourceMappingURL=StickyRibbonsContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickyRibbonsContainer.js","sources":["../../src/components/StickyRibbonsContainer/constants.js","../../src/components/StickyRibbonsContainer/api.js","../../src/components/StickyRibbonsContainer/useStickyRibbonsApi.js","../../src/components/StickyRibbonsContainer/index.jsx"],"sourcesContent":["export const QUERY_KEYS = {\n APP_STICKY_RIBBONS_LIST: \"APP_STICKY_RIBBONS_LIST\",\n};\n\nexport const STICKY_RIBBON_KIND_TO_STYLE = {\n info: \"info\",\n warning: \"warning\",\n error: \"danger\",\n};\n\nexport const STICKY_RIBBONS_LOCAL_STORAGE_KEY = \"dismissedStickyRibbons\";\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst fetchStickyRibbons = () => axios.get(`${BASE_API_V1_URL}/sticky_ribbons`);\n\nconst stickyRibbonsApi = { fetchStickyRibbons };\n\nexport default stickyRibbonsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport stickyRibbonsApi from \"./api\";\nimport { QUERY_KEYS } from \"./constants\";\n\nconst { APP_STICKY_RIBBONS_LIST } = QUERY_KEYS;\n\nconst useFetchStickyRibbons = () =>\n useQuery({\n queryKey: [APP_STICKY_RIBBONS_LIST],\n queryFn: stickyRibbonsApi.fetchStickyRibbons,\n });\n\nexport { useFetchStickyRibbons };\n","import React from \"react\";\n\nimport { useLocalStorage } from \"neetocommons/react-utils\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Tag } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport {\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n STICKY_RIBBON_KIND_TO_STYLE,\n} from \"./constants\";\nimport \"./sticky-ribbons.scss\";\nimport { useFetchStickyRibbons } from \"./useStickyRibbonsApi\";\n\nconst StickyRibbonsContainer = () => {\n const [dismissedRibbons, setDismissedRibbons] = useLocalStorage(\n STICKY_RIBBONS_LOCAL_STORAGE_KEY,\n []\n );\n\n const { data: { stickyRibbons = [] } = {} } = useFetchStickyRibbons();\n\n const handleDismiss = ribbonId => {\n const validRibbonIds = pluck(\"id\", stickyRibbons);\n const updatedDismissedRibbons = dismissedRibbons.filter(id =>\n validRibbonIds.includes(id)\n );\n\n setDismissedRibbons([...updatedDismissedRibbons, ribbonId]);\n };\n\n const visibleRibbons = stickyRibbons.filter(\n ribbon => !dismissedRibbons.includes(ribbon.id)\n );\n\n return (\n <>\n {visibleRibbons.map(({ id, kind, message }) => (\n <Tag\n className=\"neeto-molecules-sticky-ribbon w-full p-2.5 text-center\"\n key={id}\n size=\"large\"\n style={STICKY_RIBBON_KIND_TO_STYLE[kind]}\n onClose={() => handleDismiss(id)}\n >\n <EditorContent className=\"w-full\" content={message} />\n </Tag>\n ))}\n </>\n );\n};\n\nexport default StickyRibbonsContainer;\n"],"names":["QUERY_KEYS","APP_STICKY_RIBBONS_LIST","STICKY_RIBBON_KIND_TO_STYLE","info","warning","error","STICKY_RIBBONS_LOCAL_STORAGE_KEY","fetchStickyRibbons","axios","get","concat","BASE_API_V1_URL","stickyRibbonsApi","useFetchStickyRibbons","useQuery","queryKey","queryFn","StickyRibbonsContainer","_useLocalStorage","useLocalStorage","_useLocalStorage2","_slicedToArray","dismissedRibbons","setDismissedRibbons","_useFetchStickyRibbon","_useFetchStickyRibbon2","data","_useFetchStickyRibbon3","_useFetchStickyRibbon4","stickyRibbons","handleDismiss","ribbonId","validRibbonIds","pluck","updatedDismissedRibbons","filter","id","includes","_toConsumableArray","visibleRibbons","ribbon","React","createElement","Fragment","map","_ref","kind","message","Tag","className","key","size","style","onClose","EditorContent","content"],"mappings":"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"}