@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
@@ -1,422 +1,27 @@
1
- import React, { useState, useRef, forwardRef } from 'react';
2
- import { Download, Upload, LeftArrow } from '@bigbinary/neeto-icons';
3
- import { Typography, Button, Callout, Pane, Toastr, DatePicker, Label } from '@bigbinary/neetoui';
4
- import { MultiEmailInput, Input, Switch, ActionBlock, Form as Form$1 } from '@bigbinary/neetoui/formik';
5
- import { Trans, useTranslation } from 'react-i18next';
1
+ import React__default, { forwardRef, useMemo, useRef } from 'react';
2
+ import { LeftArrow } from '@bigbinary/neeto-icons';
3
+ import { DateTimePicker, Label, Typography, Button } from '@bigbinary/neetoui';
4
+ import { Input, Switch, ActionBlock, Form as Form$1 } from '@bigbinary/neetoui/formik';
5
+ import { useTranslation } from 'react-i18next';
6
+ import EmailPreview from './EmailPreview.js';
6
7
  import classnames from 'classnames';
7
- import { isPresent } from '@bigbinary/neeto-cist';
8
- import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
9
- import { EditorContent, FormikEditor, isEditorEmpty } from '@bigbinary/neeto-editor';
10
- import { useFormikContext, useField } from 'formik';
11
- import { useDropzone } from 'react-dropzone';
8
+ import { useField, useFormikContext } from 'formik';
9
+ import SendToFields from './SendToFields.js';
10
+ import { _ as _toConsumableArray } from './toConsumableArray-1cc38429.js';
11
+ import { FormikEditor, isEditorEmpty } from '@bigbinary/neeto-editor';
12
+ import { _ as _extends } from './extends-093996c9.js';
13
+ import { _ as _slicedToArray } from './slicedToArray-b4278ecd.js';
14
+ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
15
+ import { _ as _defineProperty } from './defineProperty-549061a7.js';
16
+ import dayjs from 'dayjs';
12
17
  import { t } from 'i18next';
13
- import Papa from 'papaparse';
18
+ import '@bigbinary/neeto-cist';
19
+ import 'papaparse';
14
20
  import { prop } from 'ramda';
15
21
  import * as yup from 'yup';
16
- import { string } from 'yup';
17
- import dayjs from 'dayjs';
18
-
19
- var MemoizedEditorContent = /*#__PURE__*/React.memo(EditorContent);
20
- var EmailPreview = withT(function (_ref) {
21
- var t = _ref.t,
22
- _ref$to = _ref.to,
23
- to = _ref$to === void 0 ? [] : _ref$to,
24
- subject = _ref.subject,
25
- body = _ref.body,
26
- productName = _ref.productName,
27
- actionButtonText = _ref.actionButtonText,
28
- _ref$className = _ref.className,
29
- className = _ref$className === void 0 ? "" : _ref$className;
30
- return /*#__PURE__*/React.createElement("div", {
31
- "data-cy": "email-preview-card",
32
- "data-testid": "email-preview",
33
- className: classnames("neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white flex flex-1 flex-col border", className)
34
- }, /*#__PURE__*/React.createElement("div", {
35
- className: "neeto-ui-border-gray-300 space-y-6 divide-y divide-gray-200 border-b p-6"
36
- }, /*#__PURE__*/React.createElement("div", {
37
- className: "flex gap-2",
38
- "data-cy": "email-send-to-preview",
39
- "data-testid": "email-to-block"
40
- }, /*#__PURE__*/React.createElement(Typography, {
41
- className: "neeto-ui-text-gray-500",
42
- lineHeight: "normal",
43
- style: "body2"
44
- }, t("neetoMolecules.emailPreview.to"), ":"), isPresent(to) ? /*#__PURE__*/React.createElement(Typography, {
45
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
46
- lineHeight: "normal",
47
- style: "body2"
48
- }, to.join(", ")) : /*#__PURE__*/React.createElement("div", {
49
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
50
- })), /*#__PURE__*/React.createElement("div", {
51
- className: "flex items-center gap-2 pt-6"
52
- }, /*#__PURE__*/React.createElement(Typography, {
53
- className: "neeto-ui-text-gray-500",
54
- lineHeight: "normal",
55
- style: "body2"
56
- }, t("neetoMolecules.emailPreview.subject"), ":"), /*#__PURE__*/React.createElement(Typography, {
57
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
58
- "data-cy": "email-subject-preview",
59
- lineHeight: "normal",
60
- style: "body2"
61
- }, subject || /*#__PURE__*/React.createElement("span", {
62
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
63
- })))), /*#__PURE__*/React.createElement("div", {
64
- className: "neeto-ui-text-gray-800 my-10 flex flex-1 flex-col justify-between space-y-6 p-6 pr-10 text-base leading-relaxed",
65
- "data-cy": "email-body-preview-container"
66
- }, body ? /*#__PURE__*/React.createElement(MemoizedEditorContent, {
67
- content: body
68
- }) : /*#__PURE__*/React.createElement("div", {
69
- className: "space-y-4"
70
- }, /*#__PURE__*/React.createElement("div", {
71
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
72
- }), /*#__PURE__*/React.createElement("div", {
73
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-72"
74
- }), /*#__PURE__*/React.createElement("div", {
75
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-80"
76
- })), actionButtonText && /*#__PURE__*/React.createElement("div", {
77
- className: "mt-6 flex w-full items-center justify-center"
78
- }, /*#__PURE__*/React.createElement(Button, {
79
- className: "pointer-events-none",
80
- label: actionButtonText
81
- }))), productName && /*#__PURE__*/React.createElement("div", {
82
- className: "neeto-ui-bg-gray-100 mt-auto p-2",
83
- "data-testid": "product-name-block"
84
- }, /*#__PURE__*/React.createElement(Typography, {
85
- className: "neeto-ui-text-gray-600 text-center leading-6",
86
- style: "body3"
87
- }, t("neetoMolecules.emailPreview.poweredBy"), /*#__PURE__*/React.createElement("span", {
88
- className: "neeto-ui-text-gray-800 font-medium"
89
- }, productName))));
90
- });
91
-
92
- function _extends() {
93
- _extends = Object.assign ? Object.assign.bind() : function (target) {
94
- for (var i = 1; i < arguments.length; i++) {
95
- var source = arguments[i];
96
- for (var key in source) {
97
- if (Object.prototype.hasOwnProperty.call(source, key)) {
98
- target[key] = source[key];
99
- }
100
- }
101
- }
102
- return target;
103
- };
104
- return _extends.apply(this, arguments);
105
- }
106
-
107
- function _arrayLikeToArray(arr, len) {
108
- if (len == null || len > arr.length) len = arr.length;
109
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
110
- return arr2;
111
- }
112
-
113
- function _arrayWithoutHoles(arr) {
114
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
115
- }
116
-
117
- function _iterableToArray(iter) {
118
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
119
- }
120
-
121
- function _unsupportedIterableToArray(o, minLen) {
122
- if (!o) return;
123
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
124
- var n = Object.prototype.toString.call(o).slice(8, -1);
125
- if (n === "Object" && o.constructor) n = o.constructor.name;
126
- if (n === "Map" || n === "Set") return Array.from(o);
127
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
128
- }
129
-
130
- function _nonIterableSpread() {
131
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
132
- }
133
-
134
- function _toConsumableArray(arr) {
135
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
136
- }
137
-
138
- function _arrayWithHoles(arr) {
139
- if (Array.isArray(arr)) return arr;
140
- }
141
-
142
- function _iterableToArrayLimit(r, l) {
143
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
144
- if (null != t) {
145
- var e,
146
- n,
147
- i,
148
- u,
149
- a = [],
150
- f = !0,
151
- o = !1;
152
- try {
153
- if (i = (t = t.call(r)).next, 0 === l) {
154
- if (Object(t) !== t) return;
155
- f = !1;
156
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
157
- } catch (r) {
158
- o = !0, n = r;
159
- } finally {
160
- try {
161
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
162
- } finally {
163
- if (o) throw n;
164
- }
165
- }
166
- return a;
167
- }
168
- }
169
-
170
- function _nonIterableRest() {
171
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
172
- }
173
-
174
- function _slicedToArray(arr, i) {
175
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
176
- }
177
-
178
- var ALLOWED_FILE_TYPES = [".csv"];
179
- var ONE_MEGABYTE_IN_BYTES = 1024 * 1024;
180
- var DOWNLOAD_SAMPLE_EMAIL_CSV_FILE = "https://d2v7kzglnr2dnh.cloudfront.net/others/sample-bulk-email.csv";
181
-
182
- var Requirements = withT(function (_ref) {
183
- var t = _ref.t,
184
- fileSize = _ref.fileSize;
185
- return /*#__PURE__*/React.createElement(Callout, {
186
- className: "flex flex-col items-center py-6",
187
- style: "info"
188
- }, /*#__PURE__*/React.createElement("ul", {
189
- className: "list-outside list-disc space-y-1 font-normal leading-normal"
190
- }, fileSize && /*#__PURE__*/React.createElement("li", null, t("neetoMolecules.shareViaLink.requirements.fileTypeAndSize", {
191
- limit: fileSize
192
- })), /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(Trans, {
193
- components: {
194
- strong: /*#__PURE__*/React.createElement("strong", {
195
- className: "font-semibold"
196
- })
197
- },
198
- i18nKey: "neetoMolecules.shareViaLink.requirements.shouldContainColumns"
199
- }))), /*#__PURE__*/React.createElement(Button, {
200
- href: DOWNLOAD_SAMPLE_EMAIL_CSV_FILE,
201
- icon: Download,
202
- iconPosition: "left",
203
- label: t("neetoMolecules.shareViaLink.bulkUploadPane.downloadSampleCSV"),
204
- style: "link"
205
- }));
206
- });
207
- var Requirements$1 = /*#__PURE__*/React.memo(Requirements);
208
-
209
- var BulkUploadPane = function BulkUploadPane(_ref) {
210
- var _fileRejections$;
211
- var isOpen = _ref.isOpen,
212
- fileType = _ref.fileType,
213
- fileSize = _ref.fileSize,
214
- onClose = _ref.onClose,
215
- handleFileSubmit = _ref.handleFileSubmit;
216
- var _useDropzone = useDropzone({
217
- accept: fileType,
218
- maxFiles: 1,
219
- maxSize: fileSize * ONE_MEGABYTE_IN_BYTES,
220
- onDrop: function onDrop(files) {
221
- return files[0] && handleFileSubmit(files[0]);
222
- }
223
- }),
224
- getRootProps = _useDropzone.getRootProps,
225
- getInputProps = _useDropzone.getInputProps,
226
- isDragActive = _useDropzone.isDragActive,
227
- fileRejections = _useDropzone.fileRejections;
228
- var errors = (_fileRejections$ = fileRejections[0]) === null || _fileRejections$ === void 0 ? void 0 : _fileRejections$.errors.map(function (_ref2) {
229
- var message = _ref2.message,
230
- code = _ref2.code;
231
- return /*#__PURE__*/React.createElement(Typography, {
232
- className: "neeto-ui-text-error-500 items",
233
- "data-cy": "file-input-error-message",
234
- key: code,
235
- style: "body3"
236
- }, message);
237
- });
238
- var _useTranslation = useTranslation(),
239
- t = _useTranslation.t;
240
- return /*#__PURE__*/React.createElement(Pane, {
241
- "data-testid": "bulk-upload-pane",
242
- isOpen: isOpen,
243
- onClose: onClose
244
- }, /*#__PURE__*/React.createElement("div", {
245
- tabIndex: 0
246
- }, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
247
- "data-testid": "bulk-upload-header",
248
- style: "h2",
249
- weight: "semibold"
250
- }, t("neetoMolecules.shareViaLink.bulkUpload"))), /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
251
- className: "w-full space-y-4"
252
- }, /*#__PURE__*/React.createElement(Requirements$1, {
253
- fileSize: fileSize
254
- }), /*#__PURE__*/React.createElement("div", getRootProps({
255
- className: classnames("flex flex-col p-2 border neeto-ui-border-primary-500 border-dashed neeto-ui-rounded-md transition duration-500 ease-in-out hover:neeto-ui-bg-gray-100 cursor-pointer items-center", {
256
- "neeto-ui-border-gray-100": isDragActive,
257
- "neeto-ui-border-error neeto-ui-bg-pastel-red hover:neeto-ui-bg-pastel-red": fileRejections.length
258
- })
259
- }), /*#__PURE__*/React.createElement("div", {
260
- className: "flex flex-col items-center space-y-3 p-4"
261
- }, /*#__PURE__*/React.createElement(Upload, {
262
- className: "neeto-ui-text-primary-500",
263
- size: 32
264
- }), /*#__PURE__*/React.createElement("input", _extends({}, getInputProps(), {
265
- "data-cy": "csv-upload-input",
266
- "data-testid": "csv-upload-input"
267
- })), isDragActive ? /*#__PURE__*/React.createElement(Typography, {
268
- style: "body2"
269
- }, t("neetoMolecules.shareViaLink.bulkUploadPane.dropFileHere")) : /*#__PURE__*/React.createElement("div", {
270
- className: "flex flex-col items-center space-y-1"
271
- }, /*#__PURE__*/React.createElement("div", {
272
- className: "flex w-full items-center justify-center gap-x-1"
273
- }, /*#__PURE__*/React.createElement(Trans, {
274
- i18nKey: "neetoMolecules.shareViaLink.bulkUploadPane.dragNDrop",
275
- components: {
276
- Button: /*#__PURE__*/React.createElement(Button, {
277
- style: "link"
278
- })
279
- }
280
- })), /*#__PURE__*/React.createElement(Typography, {
281
- className: "neeto-ui-text-gray-700",
282
- style: "body3"
283
- }, fileType && /*#__PURE__*/React.createElement(Trans, {
284
- i18nKey: "neetoMolecules.shareViaLink.bulkUploadPane.supportedFormat",
285
- values: {
286
- fileType: fileType
287
- },
288
- components: {
289
- code: /*#__PURE__*/React.createElement("code", {
290
- className: "neeto-ui-typography neeto-ui-text-body3 neeto-ui-bg-white m-0 border-l-0 p-0"
291
- })
292
- }
293
- }), " ", fileSize && t("neetoMolecules.shareViaLink.bulkUploadPane.supportedSize", {
294
- fileSize: fileSize
295
- })))), errors))), /*#__PURE__*/React.createElement(Pane.Footer, {
296
- className: "flex items-center space-x-2"
297
- }, /*#__PURE__*/React.createElement(Button, {
298
- "data-cy": "bulk-upload-cancel-button",
299
- "data-testid": "bulk-upload-cancel-button",
300
- label: t("neetoMolecules.common.actions.cancel"),
301
- style: "text",
302
- type: "reset",
303
- onClick: onClose
304
- }))));
305
- };
306
-
307
- var isValidEmail = function isValidEmail(email) {
308
- return string().email().isValidSync(email);
309
- };
310
- var createEmailOptions = function createEmailOptions() {
311
- var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
312
- return emails.map(function (email) {
313
- return {
314
- label: email,
315
- value: email,
316
- valid: isValidEmail(email)
317
- };
318
- });
319
- };
320
- var parseCsvEmails = function parseCsvEmails(file, onSuccess) {
321
- Papa.parse(file, {
322
- header: true,
323
- skipEmptyLines: true,
324
- transformHeader: function transformHeader(h) {
325
- return h.toLowerCase().replace(/\W/g, "");
326
- },
327
- complete: function complete(results) {
328
- var _results$meta$fields;
329
- var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
330
- if (isEmailFieldPresent) {
331
- var emails = results.data.filter(prop("email")).map(function (item) {
332
- return item.email.trim();
333
- });
334
- onSuccess(createEmailOptions(emails));
335
- } else {
336
- Toastr.error(t("neetoMolecules.sendToFields.errors.invalidCsv"));
337
- }
338
- }
339
- });
340
- };
341
-
342
- var SendToFields = function SendToFields(_ref) {
343
- var emailInputProps = _ref.emailInputProps,
344
- ccInputProps = _ref.ccInputProps,
345
- bccInputProps = _ref.bccInputProps,
346
- _ref$showUploadCsvBut = _ref.showUploadCsvButton,
347
- showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
348
- _ref$showCcBccButton = _ref.showCcBccButton,
349
- showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton;
350
- var _useState = useState(false),
351
- _useState2 = _slicedToArray(_useState, 2),
352
- isBulkUploadPaneOpen = _useState2[0],
353
- setIsBulkUploadPaneOpen = _useState2[1];
354
- var sendToFieldRef = useRef();
355
- var _useFormikContext = useFormikContext(),
356
- _useFormikContext$val = _useFormikContext.values,
357
- showCopyEmails = _useFormikContext$val.showCopyEmails,
358
- existingSendToEmails = _useFormikContext$val[emailInputProps.name || "sendTo"],
359
- setFieldValue = _useFormikContext.setFieldValue;
360
- var _useTranslation = useTranslation(),
361
- t = _useTranslation.t;
362
- var handleCSVFile = function handleCSVFile(file) {
363
- try {
364
- var _sendToFieldRef$curre;
365
- var onSuccess = function onSuccess(values) {
366
- return setFieldValue(emailInputProps.name || "sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
367
- };
368
- parseCsvEmails(file, onSuccess);
369
- setIsBulkUploadPaneOpen(false);
370
- (_sendToFieldRef$curre = sendToFieldRef.current) === null || _sendToFieldRef$curre === void 0 ? void 0 : _sendToFieldRef$curre.focus();
371
- } catch (error) {
372
- Toastr.error(error);
373
- }
374
- };
375
- var handelCcBccButtonClick = function handelCcBccButtonClick(e) {
376
- e.stopPropagation();
377
- setFieldValue("showCopyEmails", !showCopyEmails);
378
- };
379
- return /*#__PURE__*/React.createElement("div", {
380
- className: "relative w-full flex-col gap-2"
381
- }, showUploadCsvButton && /*#__PURE__*/React.createElement(Button, {
382
- className: "absolute top-0 right-1",
383
- "data-testid": "bulk-upload-button",
384
- icon: Upload,
385
- label: t("neetoMolecules.shareViaLink.bulkUpload"),
386
- size: "small",
387
- style: "link",
388
- onClick: function onClick() {
389
- return setIsBulkUploadPaneOpen(true);
390
- }
391
- }), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
392
- "data-testid": "emails",
393
- name: "sendTo",
394
- ref: sendToFieldRef
395
- }, emailInputProps, {
396
- suffix: showCcBccButton && /*#__PURE__*/React.createElement(Button, {
397
- "data-cy": "cc-bcc-button",
398
- "data-testid": "cc-bcc-button",
399
- label: t("neetoMolecules.emailForm.labels.ccBcc"),
400
- size: "small",
401
- style: "link",
402
- onClick: handelCcBccButtonClick
403
- })
404
- })), showCopyEmails && /*#__PURE__*/React.createElement("div", {
405
- className: "mt-5 flex w-full flex-col gap-6"
406
- }, /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
407
- name: "sendToBcc"
408
- }, ccInputProps)), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
409
- name: "sendToCc"
410
- }, bccInputProps))), /*#__PURE__*/React.createElement(BulkUploadPane, {
411
- fileSize: globalProps.endUserUploadedFileSizeLimitInMb,
412
- fileType: ALLOWED_FILE_TYPES,
413
- handleFileSubmit: handleCSVFile,
414
- isOpen: isBulkUploadPaneOpen,
415
- onClose: function onClose() {
416
- return setIsBulkUploadPaneOpen(false);
417
- }
418
- }));
419
- };
22
+ import '@bigbinary/neeto-commons-frontend/react-utils/withT';
23
+ import './index-e5588516.js';
24
+ import 'react-dropzone';
420
25
 
421
26
  var INITIAL_VALUES = {
422
27
  sendFromEmail: "",
@@ -436,7 +41,7 @@ var EmailBody = function EmailBody(_ref, ref) {
436
41
  showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
437
42
  var _useTranslation = useTranslation(),
438
43
  t = _useTranslation.t;
439
- return /*#__PURE__*/React.createElement(FormikEditor, {
44
+ return /*#__PURE__*/React__default.createElement(FormikEditor, {
440
45
  required: true,
441
46
  className: "mb-6",
442
47
  "data-cy": "email-body",
@@ -449,94 +54,6 @@ var EmailBody = function EmailBody(_ref, ref) {
449
54
  };
450
55
  var EmailBody$1 = /*#__PURE__*/forwardRef(EmailBody);
451
56
 
452
- function _objectWithoutPropertiesLoose(source, excluded) {
453
- if (source == null) return {};
454
- var target = {};
455
- var sourceKeys = Object.keys(source);
456
- var key, i;
457
- for (i = 0; i < sourceKeys.length; i++) {
458
- key = sourceKeys[i];
459
- if (excluded.indexOf(key) >= 0) continue;
460
- target[key] = source[key];
461
- }
462
- return target;
463
- }
464
-
465
- function _objectWithoutProperties(source, excluded) {
466
- if (source == null) return {};
467
- var target = _objectWithoutPropertiesLoose(source, excluded);
468
- var key, i;
469
- if (Object.getOwnPropertySymbols) {
470
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
471
- for (i = 0; i < sourceSymbolKeys.length; i++) {
472
- key = sourceSymbolKeys[i];
473
- if (excluded.indexOf(key) >= 0) continue;
474
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
475
- target[key] = source[key];
476
- }
477
- }
478
- return target;
479
- }
480
-
481
- var _excluded = ["name"];
482
- var FormikDatePicker = function FormikDatePicker(_ref) {
483
- var name = _ref.name,
484
- props = _objectWithoutProperties(_ref, _excluded);
485
- var _useField = useField(name),
486
- _useField2 = _slicedToArray(_useField, 3),
487
- field = _useField2[0],
488
- meta = _useField2[1],
489
- setValue = _useField2[2].setValue;
490
- return /*#__PURE__*/React.createElement(DatePicker, _extends({}, field, meta, {
491
- onChange: function onChange(date) {
492
- return setValue(date || undefined);
493
- }
494
- }, props, {
495
- "data-cy": "email-share-date-input"
496
- }));
497
- };
498
-
499
- function _typeof(o) {
500
- "@babel/helpers - typeof";
501
-
502
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
503
- return typeof o;
504
- } : function (o) {
505
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
506
- }, _typeof(o);
507
- }
508
-
509
- function _toPrimitive(input, hint) {
510
- if (_typeof(input) !== "object" || input === null) return input;
511
- var prim = input[Symbol.toPrimitive];
512
- if (prim !== undefined) {
513
- var res = prim.call(input, hint || "default");
514
- if (_typeof(res) !== "object") return res;
515
- throw new TypeError("@@toPrimitive must return a primitive value.");
516
- }
517
- return (hint === "string" ? String : Number)(input);
518
- }
519
-
520
- function _toPropertyKey(arg) {
521
- var key = _toPrimitive(arg, "string");
522
- return _typeof(key) === "symbol" ? key : String(key);
523
- }
524
-
525
- function _defineProperty(obj, key, value) {
526
- key = _toPropertyKey(key);
527
- if (key in obj) {
528
- Object.defineProperty(obj, key, {
529
- value: value,
530
- enumerable: true,
531
- configurable: true,
532
- writable: true
533
- });
534
- } else {
535
- obj[key] = value;
536
- }
537
- return obj;
538
- }
539
-
540
57
  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; }
541
58
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
542
59
  var isPastDate = function isPastDate(date) {
@@ -565,6 +82,65 @@ var emailFormValidationSchema = function emailFormValidationSchema(disableReplyT
565
82
  actionButtonText: yup.string().required(t("neetoMolecules.shareViaEmail.validations.requiredField.startButtonText"))
566
83
  });
567
84
  };
85
+ var disabledTime = function disabledTime(selectedDate) {
86
+ var current = selectedDate ? dayjs(selectedDate).startOf("day") : null;
87
+ if (!current) return {};
88
+ var today = dayjs().startOf("day");
89
+ var isAfterToday = current.isAfter(today, "day");
90
+ var isBeforeToday = current.isBefore(today, "day");
91
+ if (isAfterToday) {
92
+ return {
93
+ minTime: null,
94
+ maxTime: null
95
+ };
96
+ } else if (isBeforeToday) {
97
+ return {
98
+ minTime: "0:00",
99
+ maxTime: "24:00"
100
+ };
101
+ }
102
+
103
+ // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
104
+ var currentTime = dayjs().format("HH:mm");
105
+ var endOfDay = "23:59";
106
+ return {
107
+ minTime: currentTime,
108
+ maxTime: endOfDay
109
+ };
110
+ };
111
+
112
+ var _excluded = ["name", "disabledDate"];
113
+ var FormikDatePicker = function FormikDatePicker(_ref) {
114
+ var name = _ref.name,
115
+ disabledDate = _ref.disabledDate,
116
+ props = _objectWithoutProperties(_ref, _excluded);
117
+ var _useField = useField(name),
118
+ _useField2 = _slicedToArray(_useField, 3),
119
+ field = _useField2[0],
120
+ meta = _useField2[1],
121
+ _useField2$ = _useField2[2],
122
+ setValue = _useField2$.setValue,
123
+ setTouched = _useField2$.setTouched;
124
+ var disabledTimeFrame = useMemo(function () {
125
+ return disabledTime(field === null || field === void 0 ? void 0 : field.value);
126
+ }, [field === null || field === void 0 ? void 0 : field.value]);
127
+ return /*#__PURE__*/React__default.createElement(DateTimePicker, _extends({}, field, meta, {
128
+ timePickerProps: disabledTimeFrame,
129
+ datePickerProps: {
130
+ disabledDate: disabledDate,
131
+ "data-cy": props["data-cy"],
132
+ "data-testid": props["data-testid"]
133
+ },
134
+ onBlur: function onBlur(date) {
135
+ setValue(date || undefined);
136
+ setTouched(true);
137
+ },
138
+ onChange: function onChange(date) {
139
+ setValue(date || undefined);
140
+ setTouched(true);
141
+ }
142
+ }, props));
143
+ };
568
144
 
569
145
  var Form = function Form(_ref) {
570
146
  var showSendFromField = _ref.showSendFromField,
@@ -580,75 +156,74 @@ var Form = function Form(_ref) {
580
156
  var handleReset = function handleReset() {
581
157
  return editorRef.current.editor.commands.setContent(initialValues.emailBody);
582
158
  };
583
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
159
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
584
160
  className: "space-y-4"
585
- }, /*#__PURE__*/React.createElement(SendToFields, {
161
+ }, /*#__PURE__*/React__default.createElement(SendToFields, {
586
162
  showUploadCsvButton: true,
587
163
  emailInputProps: {
588
164
  label: t("neetoMolecules.shareViaEmail.sendTo"),
589
165
  name: "notifyEmails",
590
166
  required: true
591
167
  }
592
- }), /*#__PURE__*/React.createElement(Input, {
168
+ }), /*#__PURE__*/React__default.createElement(Input, {
593
169
  required: true,
594
170
  className: "col-span-1",
595
171
  label: t("neetoMolecules.shareViaEmail.subject"),
596
172
  name: "emailSubject"
597
- }), /*#__PURE__*/React.createElement(EmailBody$1, {
173
+ }), /*#__PURE__*/React__default.createElement(EmailBody$1, {
174
+ showVideoEmbedInEditor: showVideoEmbedInEditor,
598
175
  id: "emailBody",
599
- ref: editorRef,
600
- showVideoEmbedInEditor: showVideoEmbedInEditor
601
- }), /*#__PURE__*/React.createElement("div", {
602
176
  ref: editorRef
603
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Label, {
177
+ }), /*#__PURE__*/React__default.createElement("div", {
178
+ ref: editorRef
179
+ }), /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Label, {
604
180
  className: "flex items-center gap-2"
605
- }, /*#__PURE__*/React.createElement(Switch, {
181
+ }, /*#__PURE__*/React__default.createElement(Switch, {
606
182
  "data-cy": "send-later-switch",
607
183
  "data-testid": "send-later-switch",
608
184
  name: "isSendLaterEnabled"
609
- }), /*#__PURE__*/React.createElement(Typography, {
185
+ }), /*#__PURE__*/React__default.createElement(Typography, {
610
186
  component: "span",
611
187
  "data-cy": "send-later-label",
612
188
  lineHeight: "normal",
613
189
  style: "h4",
614
190
  weight: "semibold"
615
- }, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React.createElement(FormikDatePicker, {
191
+ }, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React__default.createElement(FormikDatePicker, {
616
192
  autoFocus: true,
617
- showTime: true,
618
193
  "data-cy": "email-share-date-input",
619
194
  "data-testid": "formik-date-picker",
620
195
  disabledDate: isPastDate,
621
196
  name: "sendEmailDatetime",
622
- picker: "date",
623
- size: "large",
624
- type: "date"
625
- }), /*#__PURE__*/React.createElement(Input, {
197
+ size: "large"
198
+ }), /*#__PURE__*/React__default.createElement(Input, {
626
199
  required: true,
627
200
  label: t("neetoMolecules.shareViaEmail.startButtonText"),
628
201
  name: "actionButtonText"
629
- }), /*#__PURE__*/React.createElement("div", {
630
- className: classnames({
631
- "grid grid-cols-2 gap-6": !disableReplyTo
632
- })
633
- }, showSendFromField && /*#__PURE__*/React.createElement(Input, {
202
+ }), /*#__PURE__*/React__default.createElement("div", {
203
+ className: "flex flex-col gap-4 sm:flex-row sm:gap-6"
204
+ }, showSendFromField && /*#__PURE__*/React__default.createElement(Input, {
634
205
  required: true,
635
- className: "col-auto",
206
+ className: classnames({
207
+ "w-full flex-grow-0": !disableReplyTo
208
+ }),
636
209
  "data-testid": "neeto-molecules-share-via-email-send-from",
637
210
  label: t("neetoMolecules.shareViaEmail.sendFrom"),
638
211
  name: "sendFromEmail"
639
- }), !disableReplyTo && /*#__PURE__*/React.createElement(Input, {
212
+ }), !disableReplyTo && /*#__PURE__*/React__default.createElement(Input, {
640
213
  required: true,
641
- className: "col-auto",
642
214
  "data-testid": "replyTo-field",
643
215
  label: t("neetoMolecules.shareViaEmail.replyTo"),
644
- name: "replyToEmail"
645
- }))), children && /*#__PURE__*/React.createElement("div", {
216
+ name: "replyToEmail",
217
+ className: classnames({
218
+ "w-full flex-grow-0": showSendFromField
219
+ })
220
+ }))), children && /*#__PURE__*/React__default.createElement("div", {
646
221
  className: "neeto-ui-border-gray-300 mt-4 border-t py-4"
647
- }, /*#__PURE__*/React.createElement("h3", {
222
+ }, /*#__PURE__*/React__default.createElement("h3", {
648
223
  className: "mb-4"
649
- }, t("neetoMolecules.shareViaEmail.additionalOptions")), children), /*#__PURE__*/React.createElement("div", {
224
+ }, t("neetoMolecules.shareViaEmail.additionalOptions")), children), /*#__PURE__*/React__default.createElement("div", {
650
225
  className: "mt-6"
651
- }, /*#__PURE__*/React.createElement(ActionBlock, {
226
+ }, /*#__PURE__*/React__default.createElement(ActionBlock, {
652
227
  cancelButtonProps: {
653
228
  label: t("neetoMolecules.shareViaEmail.reset"),
654
229
  type: "reset",
@@ -681,11 +256,11 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
681
256
  return email === null || email === void 0 ? void 0 : email.value;
682
257
  });
683
258
  };
684
- return /*#__PURE__*/React.createElement("div", {
685
- className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-8"
686
- }, /*#__PURE__*/React.createElement("div", {
259
+ return /*#__PURE__*/React__default.createElement("div", {
260
+ className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8"
261
+ }, /*#__PURE__*/React__default.createElement("div", {
687
262
  className: "mx-auto flex w-full max-w-7xl flex-col"
688
- }, /*#__PURE__*/React.createElement(Form$1, {
263
+ }, /*#__PURE__*/React__default.createElement(Form$1, {
689
264
  scrollToErrorField: true,
690
265
  formProps: {
691
266
  noValidate: true
@@ -699,11 +274,11 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
699
274
  }
700
275
  }, function (_ref2) {
701
276
  var values = _ref2.values;
702
- return /*#__PURE__*/React.createElement("div", {
703
- className: "grid grid-cols-12 gap-8"
704
- }, /*#__PURE__*/React.createElement("div", {
705
- className: "col-span-5"
706
- }, backToUrl && /*#__PURE__*/React.createElement(Button, {
277
+ return /*#__PURE__*/React__default.createElement("div", {
278
+ className: "grid grid-cols-1 gap-8 md:grid-cols-12"
279
+ }, /*#__PURE__*/React__default.createElement("div", {
280
+ className: "col-span-1 md:col-span-6 lg:col-span-5"
281
+ }, backToUrl && /*#__PURE__*/React__default.createElement(Button, {
707
282
  className: "mb-4",
708
283
  "data-testid": "back-to-url-button",
709
284
  icon: LeftArrow,
@@ -712,30 +287,30 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
712
287
  size: "small",
713
288
  style: "link",
714
289
  to: backToUrl
715
- }), /*#__PURE__*/React.createElement("div", {
290
+ }), /*#__PURE__*/React__default.createElement("div", {
716
291
  className: "mb-6"
717
- }, /*#__PURE__*/React.createElement(Typography, {
292
+ }, /*#__PURE__*/React__default.createElement(Typography, {
718
293
  className: "mb-0.5 break-words",
719
294
  "data-cy": "share-via-email-heading",
720
295
  lineHeight: "normal",
721
296
  style: "h2",
722
297
  weight: "semibold"
723
- }, shareViaEmailTitle), description && /*#__PURE__*/React.createElement(Typography, {
298
+ }, shareViaEmailTitle), description && /*#__PURE__*/React__default.createElement(Typography, {
724
299
  className: "neeto-ui-text-gray-700",
725
300
  "data-cy": "share-via-email-sub-heading",
726
301
  lineHeight: "normal",
727
302
  style: "body2"
728
- }, description)), /*#__PURE__*/React.createElement(Form, {
303
+ }, description)), /*#__PURE__*/React__default.createElement(Form, {
729
304
  disableReplyTo: disableReplyTo,
730
305
  showSendFromField: showSendFromField,
731
306
  showVideoEmbedInEditor: showVideoEmbedInEditor
732
- }, children)), /*#__PURE__*/React.createElement("div", {
733
- className: "col-span-7"
734
- }, /*#__PURE__*/React.createElement(EmailPreview, {
307
+ }, children)), /*#__PURE__*/React__default.createElement("div", {
308
+ className: "col-span-1 md:col-span-6 lg:col-span-7"
309
+ }, /*#__PURE__*/React__default.createElement(EmailPreview, {
310
+ productName: productName,
735
311
  actionButtonText: values.actionButtonText,
736
312
  body: values.emailBody,
737
- className: "sticky mt-28 pt-1",
738
- productName: productName,
313
+ className: "sticky pt-1 md:mt-28",
739
314
  subject: values.emailSubject,
740
315
  to: sendToEmails(values.notifyEmails)
741
316
  })));