@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +66 -52
  2. package/dist/Breadcrumbs.js +16 -19
  3. package/dist/Breadcrumbs.js.map +1 -1
  4. package/dist/BrowserSupport.js +41 -138
  5. package/dist/BrowserSupport.js.map +1 -1
  6. package/dist/Builder.js +207 -364
  7. package/dist/Builder.js.map +1 -1
  8. package/dist/CalendarView.js +40 -288
  9. package/dist/CalendarView.js.map +1 -1
  10. package/dist/Chevron-c64ff676.js +190 -0
  11. package/dist/Chevron-c64ff676.js.map +1 -0
  12. package/dist/Codeblock.js +26 -209
  13. package/dist/Codeblock.js.map +1 -1
  14. package/dist/Columns.js +16 -240
  15. package/dist/Columns.js.map +1 -1
  16. package/dist/ConfigurePageSidebar.js +97 -0
  17. package/dist/ConfigurePageSidebar.js.map +1 -0
  18. package/dist/ConfirmationModal.js +10 -10
  19. package/dist/ConfirmationModal.js.map +1 -1
  20. package/dist/Container.js +5 -1187
  21. package/dist/Container.js.map +1 -1
  22. package/dist/CopyToClipboardButton.js +26 -155
  23. package/dist/CopyToClipboardButton.js.map +1 -1
  24. package/dist/Currency.js +912 -0
  25. package/dist/Currency.js.map +1 -0
  26. package/dist/CustomDomain.js +37 -633
  27. package/dist/CustomDomain.js.map +1 -1
  28. package/dist/CustomDomainDashboard.js +69 -2192
  29. package/dist/CustomDomainDashboard.js.map +1 -1
  30. package/dist/DateFormat.js +6 -20
  31. package/dist/DateFormat.js.map +1 -1
  32. package/dist/DateRangeFilter.js +19 -75
  33. package/dist/DateRangeFilter.js.map +1 -1
  34. package/dist/DeleteArchiveModal.js +86 -0
  35. package/dist/DeleteArchiveModal.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -133
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +4 -4
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +12 -95
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +79 -1741
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +32 -1213
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +67 -0
  47. package/dist/EmojiPicker.js.map +1 -0
  48. package/dist/EmojiReactions.js +69 -0
  49. package/dist/EmojiReactions.js.map +1 -0
  50. package/dist/ErrorPage.js +17 -26
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FloatingActionMenu.js +646 -0
  53. package/dist/FloatingActionMenu.js.map +1 -0
  54. package/dist/Header.js +45 -117
  55. package/dist/Header.js.map +1 -1
  56. package/dist/HelpPopover.js +73 -0
  57. package/dist/HelpPopover.js.map +1 -0
  58. package/dist/IconPicker.js +36 -129
  59. package/dist/IconPicker.js.map +1 -1
  60. package/dist/ImageWithFallback.js +8 -144
  61. package/dist/ImageWithFallback.js.map +1 -1
  62. package/dist/InlineInput.js +22 -526
  63. package/dist/InlineInput.js.map +1 -1
  64. package/dist/Insights.js +304 -0
  65. package/dist/Insights.js.map +1 -0
  66. package/dist/IntegrationCard.js +42 -226
  67. package/dist/IntegrationCard.js.map +1 -1
  68. package/dist/IntegrationDisconnectAlert.js +6 -48
  69. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  70. package/dist/IntegrationWalkthroughModal.js +10 -10
  71. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  72. package/dist/IpRestriction.js +74 -221
  73. package/dist/IpRestriction.js.map +1 -1
  74. package/dist/KeyboardShortcuts.js +38 -128
  75. package/dist/KeyboardShortcuts.js.map +1 -1
  76. package/dist/LoginPage.js +39 -459
  77. package/dist/LoginPage.js.map +1 -1
  78. package/dist/MadeWith.js +32 -0
  79. package/dist/MadeWith.js.map +1 -0
  80. package/dist/MenuBar.js +34 -1295
  81. package/dist/MenuBar.js.map +1 -1
  82. package/dist/Metadata.js +65 -86
  83. package/dist/Metadata.js.map +1 -1
  84. package/dist/MoreDropdown.js +48 -107
  85. package/dist/MoreDropdown.js.map +1 -1
  86. package/dist/NavigationHeader.js +51 -730
  87. package/dist/NavigationHeader.js.map +1 -1
  88. package/dist/NeetoWidget.js +148 -316
  89. package/dist/NeetoWidget.js.map +1 -1
  90. package/dist/Onboarding.js +343 -0
  91. package/dist/Onboarding.js.map +1 -0
  92. package/dist/OptionFields.js +507 -0
  93. package/dist/OptionFields.js.map +1 -0
  94. package/dist/PageLoader.js +5 -48
  95. package/dist/PageLoader.js.map +1 -1
  96. package/dist/PhoneNumber.js +122 -201
  97. package/dist/PhoneNumber.js.map +1 -1
  98. package/dist/ProductEmbed.js +767 -0
  99. package/dist/ProductEmbed.js.map +1 -0
  100. package/dist/PublishBlock.js +19 -60
  101. package/dist/PublishBlock.js.map +1 -1
  102. package/dist/PublishYourItem.js +52 -0
  103. package/dist/PublishYourItem.js.map +1 -0
  104. package/dist/Rename.js +127 -394
  105. package/dist/Rename.js.map +1 -1
  106. package/dist/ResponsiveDevicePicker.js +7 -143
  107. package/dist/ResponsiveDevicePicker.js.map +1 -1
  108. package/dist/Schedule.js +131 -365
  109. package/dist/Schedule.js.map +1 -1
  110. package/dist/Scrollable.js +6 -89
  111. package/dist/Scrollable.js.map +1 -1
  112. package/dist/Search.js +54 -157
  113. package/dist/Search.js.map +1 -1
  114. package/dist/Security.js +72 -1567
  115. package/dist/Security.js.map +1 -1
  116. package/dist/SendToFields.js +51 -133
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +141 -412
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +189 -0
  121. package/dist/ShareRecordingPane.js.map +1 -0
  122. package/dist/ShareViaEmail.js +126 -551
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +127 -345
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +161 -758
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/SubHeader.js +63 -108
  129. package/dist/SubHeader.js.map +1 -1
  130. package/dist/SuffixedInput.js +105 -0
  131. package/dist/SuffixedInput.js.map +1 -0
  132. package/dist/TableWrapper.js +8 -9
  133. package/dist/TableWrapper.js.map +1 -1
  134. package/dist/Taxonomy.js +112 -1774
  135. package/dist/Taxonomy.js.map +1 -1
  136. package/dist/ThemeSidebar.js +159 -776
  137. package/dist/ThemeSidebar.js.map +1 -1
  138. package/dist/TimeFormat.js +8 -44
  139. package/dist/TimeFormat.js.map +1 -1
  140. package/dist/TimezoneMismatchModal.js +49 -84
  141. package/dist/TimezoneMismatchModal.js.map +1 -1
  142. package/dist/ToggleFeatureCard.js +46 -169
  143. package/dist/ToggleFeatureCard.js.map +1 -1
  144. package/dist/cjs/Breadcrumbs.js +49 -0
  145. package/dist/cjs/Breadcrumbs.js.map +1 -0
  146. package/dist/cjs/BrowserSupport.js +329 -0
  147. package/dist/cjs/BrowserSupport.js.map +1 -0
  148. package/dist/cjs/Builder.js +556 -0
  149. package/dist/cjs/Builder.js.map +1 -0
  150. package/dist/cjs/CalendarView.js +299 -0
  151. package/dist/cjs/CalendarView.js.map +1 -0
  152. package/dist/cjs/Chevron-8a4ed9cd.js +203 -0
  153. package/dist/cjs/Chevron-8a4ed9cd.js.map +1 -0
  154. package/dist/cjs/Codeblock.js +58 -0
  155. package/dist/cjs/Codeblock.js.map +1 -0
  156. package/dist/cjs/Columns.js +31 -0
  157. package/dist/cjs/Columns.js.map +1 -0
  158. package/dist/cjs/ConfigurePageSidebar.js +104 -0
  159. package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
  160. package/dist/cjs/ConfirmationModal.js +120 -0
  161. package/dist/cjs/ConfirmationModal.js.map +1 -0
  162. package/dist/cjs/Container.js +36 -0
  163. package/dist/cjs/Container.js.map +1 -0
  164. package/dist/cjs/CopyToClipboardButton.js +86 -0
  165. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  166. package/dist/cjs/Currency.js +921 -0
  167. package/dist/cjs/Currency.js.map +1 -0
  168. package/dist/cjs/CustomDomain.js +125 -0
  169. package/dist/cjs/CustomDomain.js.map +1 -0
  170. package/dist/cjs/CustomDomainDashboard.js +200 -0
  171. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  172. package/dist/cjs/DateFormat.js +40 -0
  173. package/dist/cjs/DateFormat.js.map +1 -0
  174. package/dist/cjs/DateRangeFilter.js +180 -0
  175. package/dist/cjs/DateRangeFilter.js.map +1 -0
  176. package/dist/cjs/DeleteArchiveModal.js +92 -0
  177. package/dist/cjs/DeleteArchiveModal.js.map +1 -0
  178. package/dist/cjs/DocumentEditor.js +194 -0
  179. package/dist/cjs/DocumentEditor.js.map +1 -0
  180. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  181. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  182. package/dist/cjs/DynamicVariables.js +106 -0
  183. package/dist/cjs/DynamicVariables.js.map +1 -0
  184. package/dist/cjs/EmailForm.js +395 -0
  185. package/dist/cjs/EmailForm.js.map +1 -0
  186. package/dist/cjs/EmailPreview.js +139 -0
  187. package/dist/cjs/EmailPreview.js.map +1 -0
  188. package/dist/cjs/EmojiPicker.js +75 -0
  189. package/dist/cjs/EmojiPicker.js.map +1 -0
  190. package/dist/cjs/EmojiReactions.js +76 -0
  191. package/dist/cjs/EmojiReactions.js.map +1 -0
  192. package/dist/cjs/ErrorPage.js +179 -0
  193. package/dist/cjs/ErrorPage.js.map +1 -0
  194. package/dist/cjs/FloatingActionMenu.js +675 -0
  195. package/dist/cjs/FloatingActionMenu.js.map +1 -0
  196. package/dist/cjs/Header.js +104 -0
  197. package/dist/cjs/Header.js.map +1 -0
  198. package/dist/cjs/HelpPopover.js +80 -0
  199. package/dist/cjs/HelpPopover.js.map +1 -0
  200. package/dist/cjs/IconPicker.js +228 -0
  201. package/dist/cjs/IconPicker.js.map +1 -0
  202. package/dist/cjs/ImageWithFallback.js +52 -0
  203. package/dist/cjs/ImageWithFallback.js.map +1 -0
  204. package/dist/cjs/InlineInput.js +233 -0
  205. package/dist/cjs/InlineInput.js.map +1 -0
  206. package/dist/cjs/Insights.js +310 -0
  207. package/dist/cjs/Insights.js.map +1 -0
  208. package/dist/cjs/IntegrationCard.js +208 -0
  209. package/dist/cjs/IntegrationCard.js.map +1 -0
  210. package/dist/cjs/IntegrationDisconnectAlert.js +48 -0
  211. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  212. package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
  213. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  214. package/dist/cjs/IpRestriction.js +525 -0
  215. package/dist/cjs/IpRestriction.js.map +1 -0
  216. package/dist/cjs/KeyboardShortcuts.js +282 -0
  217. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  218. package/dist/cjs/LoginPage.js +198 -0
  219. package/dist/cjs/LoginPage.js.map +1 -0
  220. package/dist/cjs/MadeWith.js +38 -0
  221. package/dist/cjs/MadeWith.js.map +1 -0
  222. package/dist/cjs/MenuBar.js +208 -0
  223. package/dist/cjs/MenuBar.js.map +1 -0
  224. package/dist/cjs/Metadata.js +195 -0
  225. package/dist/cjs/Metadata.js.map +1 -0
  226. package/dist/cjs/MoreDropdown.js +152 -0
  227. package/dist/cjs/MoreDropdown.js.map +1 -0
  228. package/dist/cjs/NavigationHeader.js +177 -0
  229. package/dist/cjs/NavigationHeader.js.map +1 -0
  230. package/dist/cjs/NeetoWidget.js +912 -0
  231. package/dist/cjs/NeetoWidget.js.map +1 -0
  232. package/dist/cjs/Onboarding.js +357 -0
  233. package/dist/cjs/Onboarding.js.map +1 -0
  234. package/dist/cjs/OptionFields.js +514 -0
  235. package/dist/cjs/OptionFields.js.map +1 -0
  236. package/dist/cjs/PageLoader.js +116 -0
  237. package/dist/cjs/PageLoader.js.map +1 -0
  238. package/dist/cjs/PhoneNumber.js +363 -0
  239. package/dist/cjs/PhoneNumber.js.map +1 -0
  240. package/dist/cjs/ProductEmbed.js +774 -0
  241. package/dist/cjs/ProductEmbed.js.map +1 -0
  242. package/dist/cjs/PublishBlock.js +125 -0
  243. package/dist/cjs/PublishBlock.js.map +1 -0
  244. package/dist/cjs/PublishYourItem.js +59 -0
  245. package/dist/cjs/PublishYourItem.js.map +1 -0
  246. package/dist/cjs/Rename.js +350 -0
  247. package/dist/cjs/Rename.js.map +1 -0
  248. package/dist/cjs/ResponsiveDevicePicker.js +64 -0
  249. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  250. package/dist/cjs/Schedule.js +889 -0
  251. package/dist/cjs/Schedule.js.map +1 -0
  252. package/dist/cjs/Scrollable.js +46 -0
  253. package/dist/cjs/Scrollable.js.map +1 -0
  254. package/dist/cjs/Search.js +117 -0
  255. package/dist/cjs/Search.js.map +1 -0
  256. package/dist/cjs/Security.js +376 -0
  257. package/dist/cjs/Security.js.map +1 -0
  258. package/dist/cjs/SendToFields.js +272 -0
  259. package/dist/cjs/SendToFields.js.map +1 -0
  260. package/dist/cjs/Settings.js +214 -0
  261. package/dist/cjs/Settings.js.map +1 -0
  262. package/dist/cjs/ShareRecordingPane.js +195 -0
  263. package/dist/cjs/ShareRecordingPane.js.map +1 -0
  264. package/dist/cjs/ShareViaEmail.js +348 -0
  265. package/dist/cjs/ShareViaEmail.js.map +1 -0
  266. package/dist/cjs/ShareViaLink.js +507 -0
  267. package/dist/cjs/ShareViaLink.js.map +1 -0
  268. package/dist/cjs/Sidebar.js +288 -0
  269. package/dist/cjs/Sidebar.js.map +1 -0
  270. package/dist/cjs/SubHeader.js +178 -0
  271. package/dist/cjs/SubHeader.js.map +1 -0
  272. package/dist/cjs/SuffixedInput.js +111 -0
  273. package/dist/cjs/SuffixedInput.js.map +1 -0
  274. package/dist/cjs/TableWrapper.js +32 -0
  275. package/dist/cjs/TableWrapper.js.map +1 -0
  276. package/dist/cjs/Taxonomy.js +442 -0
  277. package/dist/cjs/Taxonomy.js.map +1 -0
  278. package/dist/cjs/ThemeSidebar.js +1436 -0
  279. package/dist/cjs/ThemeSidebar.js.map +1 -0
  280. package/dist/cjs/TimeFormat.js +15 -0
  281. package/dist/cjs/TimeFormat.js.map +1 -0
  282. package/dist/cjs/TimezoneMismatchModal.js +143 -0
  283. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  284. package/dist/cjs/ToggleFeatureCard.js +209 -0
  285. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  286. package/dist/cjs/defineProperty-886ed289.js +47 -0
  287. package/dist/cjs/defineProperty-886ed289.js.map +1 -0
  288. package/dist/cjs/extends-1b35a664.js +19 -0
  289. package/dist/cjs/extends-1b35a664.js.map +1 -0
  290. package/dist/cjs/index-00fdb8c2.js +542 -0
  291. package/dist/cjs/index-00fdb8c2.js.map +1 -0
  292. package/dist/cjs/index-248c4f4c.js +1186 -0
  293. package/dist/cjs/index-248c4f4c.js.map +1 -0
  294. package/dist/cjs/index-c55ad2bc.js +375 -0
  295. package/dist/cjs/index-c55ad2bc.js.map +1 -0
  296. package/dist/cjs/inject-css-80a5faa3.js +6 -0
  297. package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
  298. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
  299. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
  300. package/dist/cjs/slicedToArray-f320d9e7.js +61 -0
  301. package/dist/cjs/slicedToArray-f320d9e7.js.map +1 -0
  302. package/dist/cjs/toConsumableArray-9abb3858.js +22 -0
  303. package/dist/cjs/toConsumableArray-9abb3858.js.map +1 -0
  304. package/dist/cjs/useColumns-a1c3668f.js +271 -0
  305. package/dist/cjs/useColumns-a1c3668f.js.map +1 -0
  306. package/dist/defineProperty-549061a7.js +43 -0
  307. package/dist/defineProperty-549061a7.js.map +1 -0
  308. package/dist/extends-093996c9.js +17 -0
  309. package/dist/extends-093996c9.js.map +1 -0
  310. package/dist/index-90c89467.js +509 -0
  311. package/dist/index-90c89467.js.map +1 -0
  312. package/dist/index-9720867c.js +372 -0
  313. package/dist/index-9720867c.js.map +1 -0
  314. package/dist/index-e5588516.js +1184 -0
  315. package/dist/index-e5588516.js.map +1 -0
  316. package/dist/inject-css-c86de496.js +4 -0
  317. package/dist/inject-css-c86de496.js.map +1 -0
  318. package/dist/objectWithoutProperties-a0edb288.js +31 -0
  319. package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
  320. package/dist/slicedToArray-b4278ecd.js +57 -0
  321. package/dist/slicedToArray-b4278ecd.js.map +1 -0
  322. package/dist/toConsumableArray-1cc38429.js +20 -0
  323. package/dist/toConsumableArray-1cc38429.js.map +1 -0
  324. package/dist/useColumns-d17d1f72.js +258 -0
  325. package/dist/useColumns-d17d1f72.js.map +1 -0
  326. package/package.json +29 -17
  327. package/src/translations/de.json +7 -0
  328. package/src/translations/en.json +191 -31
  329. package/src/translations/es.json +7 -0
  330. package/src/translations/fr.json +7 -0
  331. package/src/translations/nl.json +7 -0
  332. package/src/translations/pl.json +7 -0
  333. package/src/translations/pt.json +7 -0
  334. package/types/Breadcrumbs.d.ts +1 -0
  335. package/types/Builder.d.ts +61 -12
  336. package/types/Columns.d.ts +112 -5
  337. package/types/ConfigurePageSidebar.d.ts +43 -0
  338. package/types/CopyToClipboardButton.d.ts +3 -0
  339. package/types/Currency.d.ts +48 -0
  340. package/types/CustomDomain.d.ts +2 -0
  341. package/types/CustomDomainDashboard.d.ts +14 -0
  342. package/types/DateRangeFilter.d.ts +2 -0
  343. package/types/DeleteArchiveModal.d.ts +60 -0
  344. package/types/EmailForm.d.ts +1 -1
  345. package/types/EmojiPicker.d.ts +33 -0
  346. package/types/EmojiReactions.d.ts +60 -0
  347. package/types/ErrorPage.d.ts +1 -0
  348. package/types/FloatingActionMenu.d.ts +56 -0
  349. package/types/Header.d.ts +2 -1
  350. package/types/HelpPopover.d.ts +42 -0
  351. package/types/Insights.d.ts +108 -0
  352. package/types/IntegrationCard.d.ts +2 -0
  353. package/types/KeyboardShortcuts.d.ts +2 -2
  354. package/types/MadeWith.d.ts +16 -0
  355. package/types/MoreDropdown.d.ts +4 -1
  356. package/types/NavigationHeader.d.ts +3 -1
  357. package/types/Onboarding.d.ts +63 -0
  358. package/types/OptionFields.d.ts +63 -0
  359. package/types/PhoneNumber.d.ts +6 -2
  360. package/types/ProductEmbed.d.ts +43 -0
  361. package/types/Rename.d.ts +4 -1
  362. package/types/Schedule.d.ts +2 -0
  363. package/types/Search.d.ts +2 -0
  364. package/types/Settings.d.ts +13 -10
  365. package/types/ShareRecordingPane.d.ts +50 -0
  366. package/types/ShareViaLink.d.ts +15 -4
  367. package/types/Sidebar.d.ts +16 -32
  368. package/types/SubHeader.d.ts +0 -1
  369. package/types/SuffixedInput.d.ts +43 -0
  370. package/types/ToggleFeatureCard.d.ts +8 -1
@@ -0,0 +1,774 @@
1
+ 'use strict';
2
+
3
+ var defineProperty = require('./defineProperty-886ed289.js');
4
+ var slicedToArray = require('./slicedToArray-f320d9e7.js');
5
+ var React = require('react');
6
+ var classnames = require('classnames');
7
+ var neetoIcons = require('@bigbinary/neeto-icons');
8
+ var neetoui = require('@bigbinary/neetoui');
9
+ var ramda = require('ramda');
10
+ var reactI18next = require('react-i18next');
11
+ var Codeblock = require('./Codeblock.js');
12
+ var i18next = require('i18next');
13
+ var toConsumableArray = require('./toConsumableArray-9abb3858.js');
14
+ var injectCss = require('./inject-css-80a5faa3.js');
15
+ require('./extends-1b35a664.js');
16
+ require('react-syntax-highlighter');
17
+ require('react-syntax-highlighter/dist/esm/styles/prism');
18
+ require('./CopyToClipboardButton.js');
19
+ require('./objectWithoutProperties-2fed2d7d.js');
20
+ require('@bigbinary/neeto-commons-frontend/utils/general');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
26
+
27
+ var Code = function Code(_ref) {
28
+ var code = _ref.code;
29
+ return /*#__PURE__*/React__default["default"].createElement("div", {
30
+ className: "relative w-full overflow-y-auto",
31
+ "data-cy": "embed-code-block",
32
+ "data-testid": "embed-code-block"
33
+ }, /*#__PURE__*/React__default["default"].createElement(Codeblock, {
34
+ code: code
35
+ }));
36
+ };
37
+
38
+ var TAB_KEYS = {
39
+ HTML: "html",
40
+ PREVIEW: "preview"
41
+ };
42
+ var TABS = [{
43
+ key: TAB_KEYS.HTML,
44
+ label: i18next.t("neetoMolecules.productEmbed.tab.html"),
45
+ icon: neetoIcons.Code
46
+ }, {
47
+ key: TAB_KEYS.PREVIEW,
48
+ label: i18next.t("neetoMolecules.productEmbed.tab.preview"),
49
+ icon: neetoIcons.Eye
50
+ }];
51
+ var EMBED_OPTIONS = {
52
+ INLINE: "inline",
53
+ FLOATING_POPUP: "floatingPopup",
54
+ ELEMENT_POPUP: "elementPopup"
55
+ };
56
+ var DEFAULT_CUSTOMIZATION = defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, EMBED_OPTIONS.INLINE, {
57
+ width: 100,
58
+ height: 100,
59
+ elementSelector: "inline-embed-container"
60
+ }), EMBED_OPTIONS.FLOATING_POPUP, {
61
+ showIcon: false,
62
+ btnText: "Open",
63
+ btnColor: "#6f14ed",
64
+ btnTextColor: "#fff",
65
+ btnPosition: "bottomRight"
66
+ }), EMBED_OPTIONS.ELEMENT_POPUP, {
67
+ elementSelector: "open-popup-button"
68
+ });
69
+ var SCRIPT_ID = "embed-script";
70
+
71
+ var FLOATING_BUTTON_POSITIONS = [{
72
+ label: i18next.t("neetoMolecules.productEmbed.customization.position.bottomLeft"),
73
+ value: "bottomLeft"
74
+ }, {
75
+ label: i18next.t("neetoMolecules.productEmbed.customization.position.bottomRight"),
76
+ value: "bottomRight"
77
+ }];
78
+ var INITIAL_QUERY_PARAM = {
79
+ name: "",
80
+ value: ""
81
+ };
82
+
83
+ var embedBaseScript = function embedBaseScript(embedScriptLink) {
84
+ return "<script>window.".concat(globalProps.appName, " = window.").concat(globalProps.appName, " || { embed: function(){(").concat(globalProps.appName, ".q=").concat(globalProps.appName, ".q||[]).push(arguments)} };</script>\n <script async\n src=\"").concat(embedScriptLink, "\">\n </script>");
85
+ };
86
+ var embedEnv = function embedEnv() {
87
+ return globalProps.railsEnv !== "production" ? "\n\t env: \"".concat(globalProps.railsEnv, "\",") : "";
88
+ };
89
+ var embedQueryParam = function embedQueryParam(queryParams) {
90
+ return queryParams ? "\n\t queryParams: ".concat(queryParams, ",") : "";
91
+ };
92
+ var parseExtraArgs = function parseExtraArgs(extraArgs) {
93
+ return ramda.toPairs(extraArgs).map(function (_ref) {
94
+ var _ref2 = slicedToArray._slicedToArray(_ref, 2),
95
+ key = _ref2[0],
96
+ value = _ref2[1];
97
+ return "\n\t ".concat(key, ": \"").concat(value, "\"");
98
+ });
99
+ };
100
+ var inlineEmbedCode = function inlineEmbedCode(_ref3) {
101
+ var customization = _ref3.customization,
102
+ id = _ref3.id,
103
+ embedScriptLink = _ref3.embedScriptLink,
104
+ extraArgs = _ref3.extraArgs;
105
+ var elementSelector = customization.elementSelector,
106
+ _customization$width = customization.width,
107
+ width = _customization$width === void 0 ? 100 : _customization$width,
108
+ _customization$height = customization.height,
109
+ height = _customization$height === void 0 ? 100 : _customization$height,
110
+ queryParams = customization.queryParams;
111
+ return "\n <!-- ".concat(globalProps.appName, " inline embed code begins -->\n <div style=\"min-width: 90vw; height: 90vh;\" id=\"").concat(elementSelector, "\">\n <!-- ").concat(globalProps.appName, " widget will be added here -->\n </div>\n ").concat(embedBaseScript(embedScriptLink), "\n <script>\n ").concat(globalProps.appName, ".embed({\n type: \"inline\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",\n styles: { height: \"").concat(height, "%\", width: \"").concat(width, "%\"},").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n </script>\n <!-- ").concat(globalProps.appName, " inline embed code ends -->");
112
+ };
113
+ var floatingPopupEmbedCode = function floatingPopupEmbedCode(_ref4) {
114
+ var customization = _ref4.customization,
115
+ id = _ref4.id,
116
+ embedScriptLink = _ref4.embedScriptLink,
117
+ extraArgs = _ref4.extraArgs;
118
+ var btnTextColor = customization.btnTextColor,
119
+ showIcon = customization.showIcon,
120
+ btnText = customization.btnText,
121
+ btnPosition = customization.btnPosition,
122
+ btnColor = customization.btnColor,
123
+ icon = customization.icon,
124
+ queryParams = customization.queryParams;
125
+ return "\n <!-- ".concat(globalProps.appName, " floating-popup embed code begins -->\n ").concat(embedBaseScript(embedScriptLink), "\n <script>\n ").concat(globalProps.appName, ".embed({\n type: \"floatingPopup\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n styles: {\n btnTextColor: \"").concat(btnTextColor, "\",\n btnPosition: \"").concat(btnPosition, "\",\n btnColor: \"").concat(btnColor, "\",\n btnText: \"").concat(btnText, "\", ").concat(icon ? "\n\t\tshowIcon: ".concat(showIcon, ",") : "", "\n },").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n </script>\n <!-- ").concat(globalProps.appName, " floating-popup embed code ends -->");
126
+ };
127
+ var elementPopupEmbedCode = function elementPopupEmbedCode(_ref5) {
128
+ var customization = _ref5.customization,
129
+ id = _ref5.id,
130
+ embedScriptLink = _ref5.embedScriptLink,
131
+ extraArgs = _ref5.extraArgs;
132
+ var elementSelector = customization.elementSelector,
133
+ queryParams = customization.queryParams;
134
+ return "\n <!-- ".concat(globalProps.appName, " element-click embed code begins -->\n ").concat(embedBaseScript(embedScriptLink), "\n <script>\n ").concat(globalProps.appName, ".embed({\n type: \"elementClick\",\n id: \"").concat(id, "\",\n organization: \"").concat(globalProps.organization.subdomain, "\",\n elementSelector: \"#").concat(elementSelector, "\",").concat(embedQueryParam(queryParams)).concat(embedEnv()).concat(parseExtraArgs(extraArgs), "\n });\n </script>\n <!-- ").concat(globalProps.appName, " element-click embed code ends -->");
135
+ };
136
+ var embedCode = function embedCode(_ref6) {
137
+ var type = _ref6.type,
138
+ customization = _ref6.customization,
139
+ id = _ref6.id,
140
+ embedScriptLink = _ref6.embedScriptLink,
141
+ _ref6$extraArgs = _ref6.extraArgs,
142
+ extraArgs = _ref6$extraArgs === void 0 ? {} : _ref6$extraArgs;
143
+ switch (type) {
144
+ case "inline":
145
+ return inlineEmbedCode({
146
+ customization: customization,
147
+ id: id,
148
+ embedScriptLink: embedScriptLink,
149
+ extraArgs: extraArgs
150
+ });
151
+ case "floatingPopup":
152
+ return floatingPopupEmbedCode({
153
+ customization: customization,
154
+ id: id,
155
+ embedScriptLink: embedScriptLink,
156
+ extraArgs: extraArgs
157
+ });
158
+ case "elementPopup":
159
+ return elementPopupEmbedCode({
160
+ customization: customization,
161
+ id: id,
162
+ embedScriptLink: embedScriptLink,
163
+ extraArgs: extraArgs
164
+ });
165
+ default:
166
+ return "";
167
+ }
168
+ };
169
+ var buildDefaultCustomization = function buildDefaultCustomization(defaultCustomizations) {
170
+ return ramda.mergeDeepLeft(defaultCustomizations, DEFAULT_CUSTOMIZATION);
171
+ };
172
+ var buildQueryParamsFromInputFields = function buildQueryParamsFromInputFields(inputFields) {
173
+ var filteredInputFields = inputFields.filter(function (_ref7) {
174
+ var name = _ref7.name,
175
+ value = _ref7.value;
176
+ return name && value;
177
+ });
178
+ var queryParams = filteredInputFields.reduce(function (queryParams, _ref8) {
179
+ var name = _ref8.name,
180
+ value = _ref8.value;
181
+ queryParams[name] = value;
182
+ return queryParams;
183
+ }, {});
184
+ if (ramda.isEmpty(queryParams)) return "";
185
+ var queryParamJsonString = JSON.stringify(queryParams, null, 2);
186
+ return queryParamJsonString.replace(/"([^"]+)":/g, "$1: ").replace(/\n/g, " ").replace(/\s\s+/g, " ");
187
+ };
188
+
189
+ function ownKeys$1(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; }
190
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
191
+ var DynamicQueryParams = function DynamicQueryParams(_ref) {
192
+ var updateCustomization = _ref.updateCustomization;
193
+ var _useTranslation = reactI18next.useTranslation(),
194
+ t = _useTranslation.t;
195
+ var _useState = React.useState([INITIAL_QUERY_PARAM]),
196
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
197
+ queryParams = _useState2[0],
198
+ setQueryParams = _useState2[1];
199
+ var handleAddQueryParam = function handleAddQueryParam() {
200
+ setQueryParams([].concat(toConsumableArray._toConsumableArray(queryParams), [INITIAL_QUERY_PARAM]));
201
+ };
202
+ var handleRemoveQueryParam = function handleRemoveQueryParam(index) {
203
+ var newQueryParams = queryParams.filter(function (_, i) {
204
+ return i !== index;
205
+ });
206
+ setQueryParams(newQueryParams);
207
+ };
208
+ var handleInputChange = function handleInputChange(index, field, value) {
209
+ var newQueryParams = queryParams.map(function (param, i) {
210
+ return i === index ? _objectSpread$1(_objectSpread$1({}, param), {}, defineProperty._defineProperty({}, field, value)) : param;
211
+ });
212
+ setQueryParams(newQueryParams);
213
+ };
214
+ React.useEffect(function () {
215
+ updateCustomization({
216
+ queryParams: buildQueryParamsFromInputFields(queryParams)
217
+ });
218
+ }, [queryParams]);
219
+ return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
220
+ className: "mb-2",
221
+ "data-cy": "dynamic-query-params-label"
222
+ }, t("neetoMolecules.productEmbed.customization.queryParam.label")), queryParams.map(function (param, index) {
223
+ return /*#__PURE__*/React__default["default"].createElement("div", {
224
+ className: "mb-1 flex gap-1",
225
+ key: index
226
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
227
+ "data-cy": "dynamic-query-key-name-input",
228
+ "data-testid": "dynamic-query-key-name-input",
229
+ name: "queryParams.".concat(index, ".name"),
230
+ value: param.name,
231
+ placeholder: t("neetoMolecules.productEmbed.customization.queryParam.keyNamePlaceholder"),
232
+ onChange: function onChange(e) {
233
+ return handleInputChange(index, "name", e.target.value);
234
+ }
235
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
236
+ "data-cy": "dynamic-query-key-value-input",
237
+ "data-testid": "dynamic-query-key-value-input",
238
+ name: "queryParams.".concat(index, ".value"),
239
+ value: param.value,
240
+ placeholder: t("neetoMolecules.productEmbed.customization.queryParam.keyValuePlaceholder"),
241
+ onChange: function onChange(e) {
242
+ return handleInputChange(index, "value", e.target.value);
243
+ }
244
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
245
+ "data-cy": "dynamic-query-delete-button",
246
+ icon: neetoIcons.Delete,
247
+ style: "text",
248
+ onClick: function onClick() {
249
+ return handleRemoveQueryParam(index);
250
+ }
251
+ }));
252
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
253
+ className: "my-2",
254
+ "data-cy": "dynamic-query-add-new-button",
255
+ icon: neetoIcons.Plus,
256
+ iconPosition: "left",
257
+ style: "link",
258
+ label: t("neetoMolecules.productEmbed.customization.queryParam.addQueryParam"),
259
+ onClick: handleAddQueryParam
260
+ }));
261
+ };
262
+
263
+ var ElementPopup$1 = function ElementPopup(_ref) {
264
+ var customization = _ref.customization,
265
+ updateCustomization = _ref.updateCustomization,
266
+ isQueryParamsEnabled = _ref.isQueryParamsEnabled;
267
+ var elementSelector = customization.elementSelector;
268
+ var _useTranslation = reactI18next.useTranslation(),
269
+ t = _useTranslation.t;
270
+ React.useEffect(function () {
271
+ if (isQueryParamsEnabled) return;
272
+ updateCustomization({
273
+ queryParams: undefined
274
+ });
275
+ }, []);
276
+ return /*#__PURE__*/React__default["default"].createElement("div", {
277
+ className: "space-y-6"
278
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
279
+ "data-cy": "element-popup-header",
280
+ style: "h4"
281
+ }, t("neetoMolecules.productEmbed.customization.elementPopup.title")), /*#__PURE__*/React__default["default"].createElement(neetoui.Callout, {
282
+ "data-cy": "element-popup-description"
283
+ }, t("neetoMolecules.productEmbed.customization.elementPopup.description")), /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
284
+ className: "w-full",
285
+ "data-cy": "element-id-input-field",
286
+ "data-testid": "element-id-input-field",
287
+ value: elementSelector,
288
+ error: !elementSelector && t("neetoMolecules.productEmbed.customization.elementPopup.warning"),
289
+ label: t("neetoMolecules.productEmbed.customization.elementPopup.elementId"),
290
+ onChange: function onChange(e) {
291
+ return updateCustomization({
292
+ elementSelector: e.target.value
293
+ });
294
+ }
295
+ }), isQueryParamsEnabled && /*#__PURE__*/React__default["default"].createElement(DynamicQueryParams, {
296
+ updateCustomization: updateCustomization
297
+ }));
298
+ };
299
+
300
+ var FloatingPopup$1 = function FloatingPopup(_ref) {
301
+ var customization = _ref.customization,
302
+ updateCustomization = _ref.updateCustomization,
303
+ isQueryParamsEnabled = _ref.isQueryParamsEnabled;
304
+ var _useTranslation = reactI18next.useTranslation(),
305
+ t = _useTranslation.t;
306
+ var btnTextColor = customization.btnTextColor,
307
+ showIcon = customization.showIcon,
308
+ btnText = customization.btnText,
309
+ btnPosition = customization.btnPosition,
310
+ btnColor = customization.btnColor,
311
+ icon = customization.icon;
312
+ React.useEffect(function () {
313
+ if (isQueryParamsEnabled) return;
314
+ updateCustomization({
315
+ queryParams: undefined
316
+ });
317
+ }, []);
318
+ return /*#__PURE__*/React__default["default"].createElement("div", {
319
+ className: "space-y-6"
320
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
321
+ "data-cy": "popup-customization-header",
322
+ style: "h4"
323
+ }, t("neetoMolecules.productEmbed.customization.floatingPopup.title")), icon && /*#__PURE__*/React__default["default"].createElement(neetoui.Checkbox, {
324
+ checked: showIcon,
325
+ "data-cy": "show-icon-checkbox",
326
+ "data-testid": "show-icon-checkbox",
327
+ label: t("neetoMolecules.productEmbed.customization.floatingPopup.showCalIcon"),
328
+ onChange: function onChange(e) {
329
+ return updateCustomization({
330
+ showIcon: e.target.checked
331
+ });
332
+ }
333
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
334
+ className: "space-y-2"
335
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
336
+ "data-cy": "button-text-input-field",
337
+ "data-testid": "button-text-input-field",
338
+ value: btnText,
339
+ label: t("neetoMolecules.productEmbed.customization.floatingPopup.button.text"),
340
+ onChange: function onChange(e) {
341
+ return updateCustomization({
342
+ btnText: e.target.value
343
+ });
344
+ }
345
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
346
+ className: "space-y-2"
347
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
348
+ "data-cy": "button-position-select-field",
349
+ "data-testid": "button-position-select-field",
350
+ options: FLOATING_BUTTON_POSITIONS,
351
+ value: btnPosition,
352
+ getOptionValue: function getOptionValue(option) {
353
+ return typeof option === "string" ? option : option.value;
354
+ },
355
+ label: t("neetoMolecules.productEmbed.customization.floatingPopup.button.pos"),
356
+ onChange: function onChange(e) {
357
+ return updateCustomization({
358
+ btnPosition: e.value
359
+ });
360
+ }
361
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
362
+ className: "flex items-center justify-between gap-x-2",
363
+ "data-cy": "button-color-label"
364
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoMolecules.productEmbed.customization.floatingPopup.button.color")), /*#__PURE__*/React__default["default"].createElement(neetoui.ColorPicker, {
365
+ color: btnColor,
366
+ onChange: function onChange(e) {
367
+ return updateCustomization({
368
+ btnColor: e.hex
369
+ });
370
+ }
371
+ })), /*#__PURE__*/React__default["default"].createElement("div", {
372
+ className: "flex items-center justify-between gap-x-2",
373
+ "data-cy": "button-text-color-label"
374
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoMolecules.productEmbed.customization.floatingPopup.button.textColor")), /*#__PURE__*/React__default["default"].createElement(neetoui.ColorPicker, {
375
+ color: btnTextColor,
376
+ onChange: function onChange(e) {
377
+ return updateCustomization({
378
+ btnTextColor: e.hex
379
+ });
380
+ }
381
+ })), isQueryParamsEnabled && /*#__PURE__*/React__default["default"].createElement(DynamicQueryParams, {
382
+ updateCustomization: updateCustomization
383
+ }));
384
+ };
385
+
386
+ var Inline$1 = function Inline(_ref) {
387
+ var customization = _ref.customization,
388
+ updateCustomization = _ref.updateCustomization,
389
+ isQueryParamsEnabled = _ref.isQueryParamsEnabled;
390
+ var height = customization.height,
391
+ width = customization.width,
392
+ elementSelector = customization.elementSelector;
393
+ var _useTranslation = reactI18next.useTranslation(),
394
+ t = _useTranslation.t;
395
+ var handleInputChange = function handleInputChange(_ref2, attribute) {
396
+ var value = _ref2.target.value;
397
+ return updateCustomization(defineProperty._defineProperty({}, attribute, value));
398
+ };
399
+ React.useEffect(function () {
400
+ if (isQueryParamsEnabled) return;
401
+ updateCustomization({
402
+ queryParams: undefined
403
+ });
404
+ }, []);
405
+ return /*#__PURE__*/React__default["default"].createElement("div", {
406
+ className: "flex flex-col gap-y-6"
407
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
408
+ "data-cy": "customization-text",
409
+ style: "h4"
410
+ }, t("neetoMolecules.productEmbed.customization.inline.title")), /*#__PURE__*/React__default["default"].createElement("div", {
411
+ className: "flex flex-col gap-2"
412
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
413
+ "data-cy": "window-size-text"
414
+ }, t("neetoMolecules.productEmbed.customization.inline.sizeOfEmbedWindow")), /*#__PURE__*/React__default["default"].createElement("div", {
415
+ className: "flex justify-between gap-x-2"
416
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
417
+ className: "neeto-molecules-product-embed-size-input",
418
+ "data-cy": "inline-width-input-field",
419
+ "data-testid": "inline-width-input-field",
420
+ max: 100,
421
+ min: 0,
422
+ prefix: "W",
423
+ suffix: "%",
424
+ type: "number",
425
+ value: width,
426
+ onChange: function onChange(e) {
427
+ return handleInputChange(e, "width");
428
+ }
429
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
430
+ className: "neeto-molecules-product-embed-size-input",
431
+ "data-cy": "inline-height-input-field",
432
+ "data-testid": "inline-height-input-field",
433
+ max: 100,
434
+ min: 0,
435
+ prefix: "H",
436
+ suffix: "%",
437
+ type: "number",
438
+ value: height,
439
+ onChange: function onChange(e) {
440
+ return handleInputChange(e, "height");
441
+ }
442
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
443
+ className: "flex flex-col gap-2"
444
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
445
+ "data-cy": "inline-element-id-input-label"
446
+ }, t("neetoMolecules.productEmbed.customization.inline.elementId")), /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
447
+ "data-cy": "inline-element-id-input-field",
448
+ "data-testid": "inline-element-id-input-field",
449
+ value: elementSelector,
450
+ onChange: function onChange(e) {
451
+ return handleInputChange(e, "elementSelector");
452
+ }
453
+ })), isQueryParamsEnabled && /*#__PURE__*/React__default["default"].createElement(DynamicQueryParams, {
454
+ updateCustomization: updateCustomization
455
+ }));
456
+ };
457
+
458
+ var Customization = function Customization(_ref) {
459
+ var option = _ref.option,
460
+ customization = _ref.customization,
461
+ updateCustomization = _ref.updateCustomization,
462
+ isQueryParamsEnabled = _ref.isQueryParamsEnabled;
463
+ var type = defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, EMBED_OPTIONS.INLINE, Inline$1), EMBED_OPTIONS.FLOATING_POPUP, FloatingPopup$1), EMBED_OPTIONS.ELEMENT_POPUP, ElementPopup$1);
464
+ var Component = type[option];
465
+ return /*#__PURE__*/React__default["default"].createElement(Component, {
466
+ customization: customization,
467
+ isQueryParamsEnabled: isQueryParamsEnabled,
468
+ updateCustomization: updateCustomization
469
+ });
470
+ };
471
+
472
+ var Header = function Header(_ref) {
473
+ var tab = _ref.tab,
474
+ setTab = _ref.setTab;
475
+ return /*#__PURE__*/React__default["default"].createElement("div", {
476
+ className: "flex w-full pt-2"
477
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tab, {
478
+ noUnderline: true,
479
+ className: "neeto-molecules-product-embed-tab"
480
+ }, TABS.map(function (_ref2) {
481
+ var key = _ref2.key,
482
+ label = _ref2.label,
483
+ icon = _ref2.icon;
484
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tab.Item, {
485
+ icon: icon,
486
+ active: tab === key,
487
+ "data-cy": "".concat(key, "-tab"),
488
+ "data-testid": "".concat(key, "-tab"),
489
+ key: key,
490
+ onClick: function onClick() {
491
+ return setTab(key);
492
+ }
493
+ }, label);
494
+ })));
495
+ };
496
+
497
+ var Options = function Options(_ref) {
498
+ var options = _ref.options,
499
+ selectedOption = _ref.selectedOption,
500
+ setSelectedOption = _ref.setSelectedOption;
501
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Radio, {
502
+ stacked: true,
503
+ containerClassName: "w-full flex flex-col gap-y-6",
504
+ name: "options"
505
+ }, Object.entries(options).map(function (_ref2) {
506
+ var _ref3 = slicedToArray._slicedToArray(_ref2, 2),
507
+ key = _ref3[0],
508
+ _ref3$ = _ref3[1],
509
+ label = _ref3$.label,
510
+ description = _ref3$.description;
511
+ return /*#__PURE__*/React__default["default"].createElement("label", {
512
+ className: "neeto-ui-border-gray-300 neeto-ui-bg-white neeto-ui-rounded-lg w-full cursor-pointer border p-4",
513
+ "data-cy": "".concat(key, "-embed-option-label"),
514
+ "data-testid": "".concat(key, "-embed-option-label"),
515
+ htmlFor: key,
516
+ key: key
517
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
518
+ className: "flex items-center"
519
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Radio.Item, {
520
+ label: label,
521
+ checked: key === selectedOption,
522
+ className: "mb-0",
523
+ "data-cy": "".concat(key, "-embed-radio-button"),
524
+ "data-testid": "".concat(key, "-embed-radio-button"),
525
+ id: key,
526
+ name: "options",
527
+ value: key,
528
+ onChange: function onChange(event) {
529
+ return setSelectedOption(event.target.value);
530
+ }
531
+ })), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
532
+ className: "w-full pl-6 pt-1",
533
+ "data-cy": "".concat(key, "-embed-option-description"),
534
+ style: "body2"
535
+ }, description));
536
+ }));
537
+ };
538
+
539
+ var BrowserIcon = function BrowserIcon() {
540
+ return /*#__PURE__*/React__default["default"].createElement("svg", {
541
+ fill: "none",
542
+ height: "12",
543
+ viewBox: "0 0 52 12",
544
+ width: "52",
545
+ xmlns: "http://www.w3.org/2000/svg"
546
+ }, /*#__PURE__*/React__default["default"].createElement("path", {
547
+ d: "M11.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z",
548
+ fill: "#FF5F57",
549
+ stroke: "#E14640"
550
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
551
+ d: "M31.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z",
552
+ fill: "#FFBD2E",
553
+ stroke: "#DFA123"
554
+ }), /*#__PURE__*/React__default["default"].createElement("path", {
555
+ d: "M51.5 6a5.5 5.5 0 11-11 0 5.5 5.5 0 0111 0z",
556
+ fill: "#28CA42",
557
+ stroke: "#1DAD2C"
558
+ }));
559
+ };
560
+
561
+ var ElementPopup = function ElementPopup(_ref) {
562
+ var iframeURL = _ref.iframeURL,
563
+ customization = _ref.customization;
564
+ var _useTranslation = reactI18next.useTranslation(),
565
+ t = _useTranslation.t;
566
+ var elementSelector = customization.elementSelector;
567
+ React.useEffect(function () {
568
+ var _window$globalProps$a;
569
+ var element = document.getElementById(elementSelector);
570
+ if (element) (_window$globalProps$a = window[globalProps.appName]) === null || _window$globalProps$a === void 0 ? void 0 : _window$globalProps$a.embed(element, iframeURL);
571
+ }, []);
572
+ return /*#__PURE__*/React__default["default"].createElement("div", {
573
+ className: "relative flex h-full w-full items-center justify-center p-6"
574
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
575
+ "data-cy": "preview-element-popup-button",
576
+ "data-testid": "preview-element-popup-button",
577
+ id: elementSelector,
578
+ size: "small",
579
+ label: t("neetoMolecules.productEmbed.customization.elementPopup.label")
580
+ }));
581
+ };
582
+
583
+ var FloatingPopup = function FloatingPopup(_ref) {
584
+ var iframeURL = _ref.iframeURL,
585
+ customization = _ref.customization;
586
+ var btnTextColor = customization.btnTextColor,
587
+ showIcon = customization.showIcon,
588
+ btnText = customization.btnText,
589
+ btnPosition = customization.btnPosition,
590
+ btnColor = customization.btnColor,
591
+ icon = customization.icon;
592
+ React.useEffect(function () {
593
+ var _window$globalProps$a;
594
+ var btn = document.getElementById("embedBtn");
595
+ (_window$globalProps$a = window[globalProps.appName]) === null || _window$globalProps$a === void 0 ? void 0 : _window$globalProps$a.embed(btn, iframeURL);
596
+ }, []);
597
+ React.useEffect(function () {
598
+ var btn = document.getElementById("embedBtn");
599
+ btn.style.backgroundColor = btnColor;
600
+ btn.style.color = btnTextColor;
601
+ }, [btnColor, btnTextColor]);
602
+ return /*#__PURE__*/React__default["default"].createElement("div", {
603
+ className: "relative h-full w-full"
604
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
605
+ "data-cy": "popup-preview-button",
606
+ icon: icon && showIcon ? icon : null,
607
+ iconPosition: "left",
608
+ id: "embedBtn",
609
+ label: btnText,
610
+ className: classnames__default["default"]("absolute bottom-0 m-16", {
611
+ "left-0": btnPosition === "bottomLeft",
612
+ "right-0": btnPosition === "bottomRight"
613
+ })
614
+ }));
615
+ };
616
+
617
+ var Inline = function Inline(_ref) {
618
+ var iframeURL = _ref.iframeURL,
619
+ customization = _ref.customization;
620
+ var height = customization.height,
621
+ width = customization.width;
622
+ return /*#__PURE__*/React__default["default"].createElement("iframe", {
623
+ className: "m-auto",
624
+ height: "".concat(height, "%"),
625
+ src: iframeURL,
626
+ width: "".concat(width, "%")
627
+ });
628
+ };
629
+
630
+ var Preview = function Preview(_ref) {
631
+ var isScriptLoading = _ref.isScriptLoading,
632
+ selectedOption = _ref.selectedOption,
633
+ id = _ref.id,
634
+ customization = _ref.customization,
635
+ _ref$customPreviewIfr = _ref.customPreviewIframeUrl,
636
+ customPreviewIframeUrl = _ref$customPreviewIfr === void 0 ? "" : _ref$customPreviewIfr;
637
+ var preview = defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, EMBED_OPTIONS.INLINE, Inline), EMBED_OPTIONS.FLOATING_POPUP, FloatingPopup), EMBED_OPTIONS.ELEMENT_POPUP, ElementPopup);
638
+ var iframeURL = customPreviewIframeUrl || "".concat(location.origin, "/embed/").concat(id);
639
+ var Component = preview[selectedOption];
640
+ if (isScriptLoading) {
641
+ return /*#__PURE__*/React__default["default"].createElement("div", {
642
+ className: "flex min-h-0 flex-grow items-center justify-center overflow-y-auto"
643
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null));
644
+ }
645
+ return /*#__PURE__*/React__default["default"].createElement("div", {
646
+ className: "neeto-ui-rounded-lg neeto-ui-border-gray-300 neeto-ui-bg-white relative flex w-full flex-col overflow-hidden border"
647
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
648
+ className: "neeto-ui-border-gray-300 flex-shrink-0 border-b p-3"
649
+ }, /*#__PURE__*/React__default["default"].createElement(BrowserIcon, null)), /*#__PURE__*/React__default["default"].createElement("div", {
650
+ className: "flex min-h-0 flex-grow overflow-y-auto"
651
+ }, /*#__PURE__*/React__default["default"].createElement(Component, {
652
+ customization: customization,
653
+ iframeURL: iframeURL
654
+ })));
655
+ };
656
+
657
+ var css = ".neeto-molecules-product-embed-size-input.neeto-ui-input__wrapper .neeto-ui-input__prefix{align-self:stretch;background-color:rgb(var(--neeto-ui-gray-200));margin-left:0!important;padding-left:12px;padding-right:12px}.neeto-molecules-product-embed-tab{gap:.5rem}.neeto-molecules-product-embed-tab .neeto-ui-tab{border-radius:var(--neeto-ui-btn-border-radius);color:rgb(var(--neeto-ui-gray-800))}.neeto-molecules-product-embed-tab .neeto-ui-tab:not(.active):hover{background-color:rgb(var(--neeto-ui-gray-100))}.neeto-molecules-product-embed-tab .neeto-ui-tab.active{background-color:rgb(var(--neeto-ui-gray-200))}.neeto-molecules-embed-left-sidebar{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;max-width:28rem;overflow-y:auto;padding:1.5rem;width:100%}";
658
+ injectCss.n(css,{});
659
+
660
+ 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; }
661
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
662
+ var ProductEmbed = function ProductEmbed(_ref) {
663
+ var _ref$className = _ref.className,
664
+ className = _ref$className === void 0 ? "" : _ref$className,
665
+ _ref$customEmbedScrip = _ref.customEmbedScriptPath,
666
+ customEmbedScriptPath = _ref$customEmbedScrip === void 0 ? "" : _ref$customEmbedScrip,
667
+ _ref$customPreviewIfr = _ref.customPreviewIframeUrl,
668
+ customPreviewIframeUrl = _ref$customPreviewIfr === void 0 ? "" : _ref$customPreviewIfr,
669
+ _ref$goBackLink = _ref.goBackLink,
670
+ goBackLink = _ref$goBackLink === void 0 ? "" : _ref$goBackLink,
671
+ id = _ref.id,
672
+ _ref$isQueryParamsEna = _ref.isQueryParamsEnabled,
673
+ isQueryParamsEnabled = _ref$isQueryParamsEna === void 0 ? false : _ref$isQueryParamsEna,
674
+ _ref$options = _ref.options,
675
+ options = _ref$options === void 0 ? {} : _ref$options,
676
+ _ref$extraArgs = _ref.extraArgs,
677
+ extraArgs = _ref$extraArgs === void 0 ? {} : _ref$extraArgs;
678
+ var _useState = React.useState(true),
679
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
680
+ isScriptLoading = _useState2[0],
681
+ setIsScriptLoading = _useState2[1];
682
+ var _useState3 = React.useState(TAB_KEYS.HTML),
683
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
684
+ tab = _useState4[0],
685
+ setTab = _useState4[1];
686
+ var _useState5 = React.useState(EMBED_OPTIONS.INLINE),
687
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
688
+ selectedOption = _useState6[0],
689
+ setSelectedOption = _useState6[1];
690
+ var _useState7 = React.useState(function () {
691
+ return buildDefaultCustomization(options);
692
+ }),
693
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
694
+ customizations = _useState8[0],
695
+ setCustomizations = _useState8[1];
696
+ var _useTranslation = reactI18next.useTranslation(),
697
+ t = _useTranslation.t;
698
+ var embedScriptLink = customEmbedScriptPath || "".concat(window.location.protocol, "//").concat(window.location.host, "/javascript/embed.js");
699
+ var code = embedCode({
700
+ id: id,
701
+ type: selectedOption,
702
+ customization: customizations[selectedOption],
703
+ embedScriptLink: embedScriptLink,
704
+ extraArgs: extraArgs
705
+ });
706
+ var loadScript = function loadScript() {
707
+ var script = document.createElement("script");
708
+ script.id = SCRIPT_ID;
709
+ script.src = embedScriptLink;
710
+ document.head.appendChild(script);
711
+ setIsScriptLoading(false);
712
+ };
713
+ var updateCustomization = function updateCustomization(props) {
714
+ return setCustomizations(function (prevState) {
715
+ return _objectSpread(_objectSpread({}, prevState), {}, defineProperty._defineProperty({}, selectedOption, ramda.mergeLeft(props, prevState[selectedOption])));
716
+ });
717
+ };
718
+ React.useEffect(function () {
719
+ var isScriptLoaded = document.getElementById(SCRIPT_ID);
720
+ if (isScriptLoaded) setIsScriptLoading(false);else loadScript();
721
+ }, []);
722
+ return /*#__PURE__*/React__default["default"].createElement("div", {
723
+ className: classnames__default["default"]("flex w-full flex-grow", className),
724
+ "data-testid": "embed-product"
725
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
726
+ className: "neeto-molecules-embed-left-sidebar border-r"
727
+ }, goBackLink && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
728
+ className: "mb-4 px-0",
729
+ "data-cy": "back-button",
730
+ "data-testid": "back-button",
731
+ icon: neetoIcons.LeftArrow,
732
+ iconPosition: "left",
733
+ label: t("neetoMolecules.productEmbed.backToShare"),
734
+ size: "small",
735
+ style: "icon",
736
+ to: goBackLink
737
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
738
+ "data-cy": "embed-options-header-title",
739
+ style: "h3"
740
+ }, t("neetoMolecules.productEmbed.embedOptions.title")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
741
+ className: "mt-1",
742
+ "data-cy": "embed-options-header-description",
743
+ style: "body3"
744
+ }, t("neetoMolecules.productEmbed.embedOptions.description")), /*#__PURE__*/React__default["default"].createElement("div", {
745
+ className: "mt-6 flex w-full flex-col gap-y-6 pb-10"
746
+ }, /*#__PURE__*/React__default["default"].createElement(Options, {
747
+ options: options,
748
+ selectedOption: selectedOption,
749
+ setSelectedOption: setSelectedOption
750
+ }), /*#__PURE__*/React__default["default"].createElement(Customization, {
751
+ isQueryParamsEnabled: isQueryParamsEnabled,
752
+ updateCustomization: updateCustomization,
753
+ customization: customizations[selectedOption],
754
+ option: selectedOption
755
+ }))), /*#__PURE__*/React__default["default"].createElement("div", {
756
+ className: "neeto-ui-bg-white flex w-full min-w-0 flex-grow flex-col gap-4 p-6"
757
+ }, /*#__PURE__*/React__default["default"].createElement(Header, {
758
+ setTab: setTab,
759
+ tab: tab
760
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
761
+ className: "flex flex-grow overflow-y-auto"
762
+ }, tab === TAB_KEYS.PREVIEW ? /*#__PURE__*/React__default["default"].createElement(Preview, {
763
+ customPreviewIframeUrl: customPreviewIframeUrl,
764
+ id: id,
765
+ isScriptLoading: isScriptLoading,
766
+ selectedOption: selectedOption,
767
+ customization: customizations[selectedOption]
768
+ }) : /*#__PURE__*/React__default["default"].createElement(Code, {
769
+ code: code
770
+ }))));
771
+ };
772
+
773
+ module.exports = ProductEmbed;
774
+ //# sourceMappingURL=ProductEmbed.js.map