@bigbinary/neeto-molecules 3.3.11 → 3.3.13

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 (325) hide show
  1. package/dist/Breadcrumbs.js +28 -24
  2. package/dist/Breadcrumbs.js.map +1 -1
  3. package/dist/BrowserSupport.js +95 -69
  4. package/dist/BrowserSupport.js.map +1 -1
  5. package/dist/Builder.js +337 -285
  6. package/dist/Builder.js.map +1 -1
  7. package/dist/CalendarView.js +121 -110
  8. package/dist/CalendarView.js.map +1 -1
  9. package/dist/{Chevron-dee43d2f.js → Chevron-6564bcdc.js} +81 -67
  10. package/dist/Chevron-6564bcdc.js.map +1 -0
  11. package/dist/Codeblock.js +30 -25
  12. package/dist/Codeblock.js.map +1 -1
  13. package/dist/Columns.js +3 -3
  14. package/dist/ConfigurePageSidebar.js +39 -37
  15. package/dist/ConfigurePageSidebar.js.map +1 -1
  16. package/dist/ConfirmationModal.js +54 -42
  17. package/dist/ConfirmationModal.js.map +1 -1
  18. package/dist/Container.js +6 -4
  19. package/dist/Container.js.map +1 -1
  20. package/dist/CopyToClipboardButton.js +5 -3
  21. package/dist/CopyToClipboardButton.js.map +1 -1
  22. package/dist/Currency.js +9 -4
  23. package/dist/Currency.js.map +1 -1
  24. package/dist/CustomDomain.js +56 -53
  25. package/dist/CustomDomain.js.map +1 -1
  26. package/dist/CustomDomainDashboard.js +131 -113
  27. package/dist/CustomDomainDashboard.js.map +1 -1
  28. package/dist/DateFormat.js +13 -7
  29. package/dist/DateFormat.js.map +1 -1
  30. package/dist/DateRangeFilter.js +43 -38
  31. package/dist/DateRangeFilter.js.map +1 -1
  32. package/dist/DeleteArchiveModal.js +47 -38
  33. package/dist/DeleteArchiveModal.js.map +1 -1
  34. package/dist/DeviceIncompatibilityMessage.js +96 -0
  35. package/dist/DeviceIncompatibilityMessage.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -39
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +15 -14
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +33 -26
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +144 -131
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +83 -68
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +11 -6
  47. package/dist/EmojiPicker.js.map +1 -1
  48. package/dist/EmojiReactions.js +48 -37
  49. package/dist/EmojiReactions.js.map +1 -1
  50. package/dist/ErrorPage.js +51 -38
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FileUpload.js +180 -149
  53. package/dist/FileUpload.js.map +1 -1
  54. package/dist/FloatingActionMenu.js +288 -230
  55. package/dist/FloatingActionMenu.js.map +1 -1
  56. package/dist/Header.js +42 -35
  57. package/dist/Header.js.map +1 -1
  58. package/dist/HelpPopover.js +50 -42
  59. package/dist/HelpPopover.js.map +1 -1
  60. package/dist/IconPicker.js +121 -100
  61. package/dist/IconPicker.js.map +1 -1
  62. package/dist/ImageWithFallback.js +9 -5
  63. package/dist/ImageWithFallback.js.map +1 -1
  64. package/dist/InlineInput.js +59 -52
  65. package/dist/InlineInput.js.map +1 -1
  66. package/dist/Insights.js +185 -153
  67. package/dist/Insights.js.map +1 -1
  68. package/dist/IntegrationCard.js +109 -91
  69. package/dist/IntegrationCard.js.map +1 -1
  70. package/dist/IntegrationDisconnectAlert.js +5 -3
  71. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  72. package/dist/IntegrationWalkthroughModal.js +30 -20
  73. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  74. package/dist/IpRestriction.js +209 -177
  75. package/dist/IpRestriction.js.map +1 -1
  76. package/dist/KeyboardShortcuts.js +83 -73
  77. package/dist/KeyboardShortcuts.js.map +1 -1
  78. package/dist/LoginPage.js +70 -63
  79. package/dist/LoginPage.js.map +1 -1
  80. package/dist/MadeWith.js +14 -9
  81. package/dist/MadeWith.js.map +1 -1
  82. package/dist/MenuBar.js +107 -77
  83. package/dist/MenuBar.js.map +1 -1
  84. package/dist/Metadata.js +124 -100
  85. package/dist/Metadata.js.map +1 -1
  86. package/dist/MoreDropdown.js +55 -43
  87. package/dist/MoreDropdown.js.map +1 -1
  88. package/dist/NavigationHeader.js +104 -81
  89. package/dist/NavigationHeader.js.map +1 -1
  90. package/dist/NeetoWidget.js +383 -330
  91. package/dist/NeetoWidget.js.map +1 -1
  92. package/dist/Onboarding.js +125 -107
  93. package/dist/Onboarding.js.map +1 -1
  94. package/dist/OptionFields.js +261 -227
  95. package/dist/OptionFields.js.map +1 -1
  96. package/dist/PageLoader.js +23 -19
  97. package/dist/PageLoader.js.map +1 -1
  98. package/dist/PhoneNumber.js +85 -69
  99. package/dist/PhoneNumber.js.map +1 -1
  100. package/dist/ProductEmbed.js +384 -341
  101. package/dist/ProductEmbed.js.map +1 -1
  102. package/dist/PublishBlock.js +185 -154
  103. package/dist/PublishBlock.js.map +1 -1
  104. package/dist/PublishYourItem.js +35 -30
  105. package/dist/PublishYourItem.js.map +1 -1
  106. package/dist/Rename.js +102 -83
  107. package/dist/Rename.js.map +1 -1
  108. package/dist/ResponsiveDevicePicker.js +25 -21
  109. package/dist/ResponsiveDevicePicker.js.map +1 -1
  110. package/dist/Schedule.js +340 -301
  111. package/dist/Schedule.js.map +1 -1
  112. package/dist/Scrollable.js +7 -4
  113. package/dist/Scrollable.js.map +1 -1
  114. package/dist/Search.js +6 -4
  115. package/dist/Search.js.map +1 -1
  116. package/dist/SendToFields.js +154 -125
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +94 -78
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +60 -49
  121. package/dist/ShareRecordingPane.js.map +1 -1
  122. package/dist/ShareViaEmail.js +167 -146
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +289 -255
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +122 -111
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/StickyRibbonsContainer.js +20 -18
  129. package/dist/StickyRibbonsContainer.js.map +1 -1
  130. package/dist/SubHeader.js +111 -100
  131. package/dist/SubHeader.js.map +1 -1
  132. package/dist/SuffixedInput.js +52 -47
  133. package/dist/SuffixedInput.js.map +1 -1
  134. package/dist/TableWrapper.js +9 -7
  135. package/dist/TableWrapper.js.map +1 -1
  136. package/dist/Taxonomy.js +179 -151
  137. package/dist/Taxonomy.js.map +1 -1
  138. package/dist/TimeFormat.js +2 -2
  139. package/dist/TimezoneMismatchModal.js +55 -43
  140. package/dist/TimezoneMismatchModal.js.map +1 -1
  141. package/dist/ToggleFeatureCard.js +74 -65
  142. package/dist/ToggleFeatureCard.js.map +1 -1
  143. package/dist/cjs/Breadcrumbs.js +28 -25
  144. package/dist/cjs/Breadcrumbs.js.map +1 -1
  145. package/dist/cjs/BrowserSupport.js +96 -71
  146. package/dist/cjs/BrowserSupport.js.map +1 -1
  147. package/dist/cjs/Builder.js +336 -286
  148. package/dist/cjs/Builder.js.map +1 -1
  149. package/dist/cjs/CalendarView.js +120 -111
  150. package/dist/cjs/CalendarView.js.map +1 -1
  151. package/dist/cjs/{Chevron-c10b4e16.js → Chevron-6368e586.js} +81 -69
  152. package/dist/cjs/Chevron-6368e586.js.map +1 -0
  153. package/dist/cjs/Codeblock.js +31 -27
  154. package/dist/cjs/Codeblock.js.map +1 -1
  155. package/dist/cjs/Columns.js +3 -3
  156. package/dist/cjs/ConfigurePageSidebar.js +38 -37
  157. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  158. package/dist/cjs/ConfirmationModal.js +53 -42
  159. package/dist/cjs/ConfirmationModal.js.map +1 -1
  160. package/dist/cjs/Container.js +5 -4
  161. package/dist/cjs/Container.js.map +1 -1
  162. package/dist/cjs/CopyToClipboardButton.js +4 -4
  163. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  164. package/dist/cjs/Currency.js +9 -5
  165. package/dist/cjs/Currency.js.map +1 -1
  166. package/dist/cjs/CustomDomain.js +55 -53
  167. package/dist/cjs/CustomDomain.js.map +1 -1
  168. package/dist/cjs/CustomDomainDashboard.js +131 -114
  169. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  170. package/dist/cjs/DateFormat.js +14 -9
  171. package/dist/cjs/DateFormat.js.map +1 -1
  172. package/dist/cjs/DateRangeFilter.js +44 -40
  173. package/dist/cjs/DateRangeFilter.js.map +1 -1
  174. package/dist/cjs/DeleteArchiveModal.js +46 -38
  175. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  176. package/dist/cjs/DeviceIncompatibilityMessage.js +123 -0
  177. package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -0
  178. package/dist/cjs/DocumentEditor.js +42 -40
  179. package/dist/cjs/DocumentEditor.js.map +1 -1
  180. package/dist/cjs/DownloadMobileAppCallout.js +15 -15
  181. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
  182. package/dist/cjs/DynamicVariables.js +32 -27
  183. package/dist/cjs/DynamicVariables.js.map +1 -1
  184. package/dist/cjs/EmailForm.js +143 -131
  185. package/dist/cjs/EmailForm.js.map +1 -1
  186. package/dist/cjs/EmailPreview.js +82 -68
  187. package/dist/cjs/EmailPreview.js.map +1 -1
  188. package/dist/cjs/EmojiPicker.js +11 -7
  189. package/dist/cjs/EmojiPicker.js.map +1 -1
  190. package/dist/cjs/EmojiReactions.js +47 -37
  191. package/dist/cjs/EmojiReactions.js.map +1 -1
  192. package/dist/cjs/ErrorPage.js +51 -39
  193. package/dist/cjs/ErrorPage.js.map +1 -1
  194. package/dist/cjs/FileUpload.js +181 -152
  195. package/dist/cjs/FileUpload.js.map +1 -1
  196. package/dist/cjs/FloatingActionMenu.js +288 -232
  197. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  198. package/dist/cjs/Header.js +41 -36
  199. package/dist/cjs/Header.js.map +1 -1
  200. package/dist/cjs/HelpPopover.js +50 -43
  201. package/dist/cjs/HelpPopover.js.map +1 -1
  202. package/dist/cjs/IconPicker.js +121 -101
  203. package/dist/cjs/IconPicker.js.map +1 -1
  204. package/dist/cjs/ImageWithFallback.js +8 -6
  205. package/dist/cjs/ImageWithFallback.js.map +1 -1
  206. package/dist/cjs/InlineInput.js +59 -54
  207. package/dist/cjs/InlineInput.js.map +1 -1
  208. package/dist/cjs/Insights.js +185 -154
  209. package/dist/cjs/Insights.js.map +1 -1
  210. package/dist/cjs/IntegrationCard.js +110 -93
  211. package/dist/cjs/IntegrationCard.js.map +1 -1
  212. package/dist/cjs/IntegrationDisconnectAlert.js +6 -5
  213. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  214. package/dist/cjs/IntegrationWalkthroughModal.js +30 -21
  215. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -1
  216. package/dist/cjs/IpRestriction.js +208 -177
  217. package/dist/cjs/IpRestriction.js.map +1 -1
  218. package/dist/cjs/KeyboardShortcuts.js +83 -74
  219. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  220. package/dist/cjs/LoginPage.js +69 -63
  221. package/dist/cjs/LoginPage.js.map +1 -1
  222. package/dist/cjs/MadeWith.js +14 -10
  223. package/dist/cjs/MadeWith.js.map +1 -1
  224. package/dist/cjs/MenuBar.js +108 -79
  225. package/dist/cjs/MenuBar.js.map +1 -1
  226. package/dist/cjs/Metadata.js +123 -100
  227. package/dist/cjs/Metadata.js.map +1 -1
  228. package/dist/cjs/MoreDropdown.js +55 -45
  229. package/dist/cjs/MoreDropdown.js.map +1 -1
  230. package/dist/cjs/NavigationHeader.js +105 -83
  231. package/dist/cjs/NavigationHeader.js.map +1 -1
  232. package/dist/cjs/NeetoWidget.js +383 -332
  233. package/dist/cjs/NeetoWidget.js.map +1 -1
  234. package/dist/cjs/Onboarding.js +125 -109
  235. package/dist/cjs/Onboarding.js.map +1 -1
  236. package/dist/cjs/OptionFields.js +261 -229
  237. package/dist/cjs/OptionFields.js.map +1 -1
  238. package/dist/cjs/PageLoader.js +23 -20
  239. package/dist/cjs/PageLoader.js.map +1 -1
  240. package/dist/cjs/PhoneNumber.js +86 -72
  241. package/dist/cjs/PhoneNumber.js.map +1 -1
  242. package/dist/cjs/ProductEmbed.js +383 -341
  243. package/dist/cjs/ProductEmbed.js.map +1 -1
  244. package/dist/cjs/PublishBlock.js +185 -156
  245. package/dist/cjs/PublishBlock.js.map +1 -1
  246. package/dist/cjs/PublishYourItem.js +35 -31
  247. package/dist/cjs/PublishYourItem.js.map +1 -1
  248. package/dist/cjs/Rename.js +102 -85
  249. package/dist/cjs/Rename.js.map +1 -1
  250. package/dist/cjs/ResponsiveDevicePicker.js +26 -24
  251. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  252. package/dist/cjs/Schedule.js +339 -301
  253. package/dist/cjs/Schedule.js.map +1 -1
  254. package/dist/cjs/Scrollable.js +7 -6
  255. package/dist/cjs/Scrollable.js.map +1 -1
  256. package/dist/cjs/Search.js +5 -5
  257. package/dist/cjs/Search.js.map +1 -1
  258. package/dist/cjs/SendToFields.js +154 -126
  259. package/dist/cjs/SendToFields.js.map +1 -1
  260. package/dist/cjs/Settings.js +94 -80
  261. package/dist/cjs/Settings.js.map +1 -1
  262. package/dist/cjs/ShareRecordingPane.js +60 -51
  263. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  264. package/dist/cjs/ShareViaEmail.js +167 -148
  265. package/dist/cjs/ShareViaEmail.js.map +1 -1
  266. package/dist/cjs/ShareViaLink.js +290 -256
  267. package/dist/cjs/ShareViaLink.js.map +1 -1
  268. package/dist/cjs/Sidebar.js +120 -111
  269. package/dist/cjs/Sidebar.js.map +1 -1
  270. package/dist/cjs/StickyRibbonsContainer.js +20 -19
  271. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  272. package/dist/cjs/SubHeader.js +110 -101
  273. package/dist/cjs/SubHeader.js.map +1 -1
  274. package/dist/cjs/SuffixedInput.js +51 -48
  275. package/dist/cjs/SuffixedInput.js.map +1 -1
  276. package/dist/cjs/TableWrapper.js +9 -8
  277. package/dist/cjs/TableWrapper.js.map +1 -1
  278. package/dist/cjs/Taxonomy.js +178 -151
  279. package/dist/cjs/Taxonomy.js.map +1 -1
  280. package/dist/cjs/TimeFormat.js +2 -2
  281. package/dist/cjs/TimezoneMismatchModal.js +54 -43
  282. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  283. package/dist/cjs/ToggleFeatureCard.js +73 -66
  284. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  285. package/dist/cjs/{index-4ee3f585.js → index-c925b4b1.js} +296 -239
  286. package/dist/cjs/index-c925b4b1.js.map +1 -0
  287. package/dist/cjs/{useColumns-5ce3cf1e.js → useColumns-8894f767.js} +52 -42
  288. package/dist/cjs/useColumns-8894f767.js.map +1 -0
  289. package/dist/{index-0063079e.js → index-e123ffe8.js} +296 -238
  290. package/dist/index-e123ffe8.js.map +1 -0
  291. package/dist/{useColumns-e0b5dfb7.js → useColumns-13263cd8.js} +52 -40
  292. package/dist/useColumns-13263cd8.js.map +1 -0
  293. package/package.json +5 -3
  294. package/src/translations/en.json +3 -0
  295. package/types/Breadcrumbs.d.ts +0 -1
  296. package/types/Builder.d.ts +0 -1
  297. package/types/Codeblock.d.ts +0 -1
  298. package/types/Columns.d.ts +10 -4
  299. package/types/ConfirmationModal.d.ts +0 -1
  300. package/types/DeleteArchiveModal.d.ts +9 -6
  301. package/types/DeviceIncompatibilityMessage.d.ts +17 -0
  302. package/types/DocumentEditor.d.ts +0 -1
  303. package/types/EmailForm.d.ts +0 -1
  304. package/types/EmailFormProvider.d.ts +0 -1
  305. package/types/EmailPreview.d.ts +0 -1
  306. package/types/FileUpload.d.ts +8 -4
  307. package/types/IntegrationWalkthroughModal.d.ts +1 -1
  308. package/types/Metadata.d.ts +0 -1
  309. package/types/MoreDropdown.d.ts +0 -1
  310. package/types/NavigationHeader.d.ts +0 -4
  311. package/types/PhoneNumber.d.ts +1 -1
  312. package/types/ProductEmbed.d.ts +0 -1
  313. package/types/Schedule.d.ts +1 -1
  314. package/types/Search.d.ts +0 -1
  315. package/types/SendToFields.d.ts +0 -1
  316. package/types/Settings.d.ts +1 -1
  317. package/types/ShareRecordingPane.d.ts +1 -1
  318. package/types/ShareViaEmail.d.ts +1 -2
  319. package/types/Taxonomy.d.ts +0 -1
  320. package/dist/Chevron-dee43d2f.js.map +0 -1
  321. package/dist/cjs/Chevron-c10b4e16.js.map +0 -1
  322. package/dist/cjs/index-4ee3f585.js.map +0 -1
  323. package/dist/cjs/useColumns-5ce3cf1e.js.map +0 -1
  324. package/dist/index-0063079e.js.map +0 -1
  325. package/dist/useColumns-e0b5dfb7.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
3
  var LeftArrow = require('@bigbinary/neeto-icons/LeftArrow');
5
4
  var Button = require('@bigbinary/neetoui/Button');
6
5
  var Typography = require('@bigbinary/neetoui/Typography');
7
6
  var Form$1 = require('@bigbinary/neetoui/formik/Form');
8
7
  var reactI18next = require('react-i18next');
9
8
  var EmailPreview = require('./EmailPreview.js');
9
+ var React = require('react');
10
10
  var classnames = require('classnames');
11
11
  var formik = require('formik');
12
12
  var Label = require('@bigbinary/neetoui/Label');
@@ -16,7 +16,7 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
16
16
  var SendToFields = require('./SendToFields.js');
17
17
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
18
18
  var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
19
- var _extends = require('@babel/runtime/helpers/extends');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
20
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
21
21
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
22
22
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -60,7 +60,6 @@ function _interopNamespace(e) {
60
60
  return Object.freeze(n);
61
61
  }
62
62
 
63
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
64
63
  var LeftArrow__default = /*#__PURE__*/_interopDefaultLegacy(LeftArrow);
65
64
  var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
66
65
  var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
@@ -72,7 +71,6 @@ var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
72
71
  var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
73
72
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
74
73
  var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
75
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
76
74
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
77
75
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
78
76
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
@@ -94,23 +92,23 @@ var INITIAL_VALUES = {
94
92
  var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
95
93
  var TIME_FORMAT = "hh:mm A";
96
94
 
97
- var EmailBody = function EmailBody(_ref, ref) {
95
+ var EmailBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
98
96
  var id = _ref.id,
99
97
  showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
100
98
  var _useTranslation = reactI18next.useTranslation(),
101
99
  t = _useTranslation.t;
102
- return /*#__PURE__*/React__default["default"].createElement(FormikEditor__default["default"], {
100
+ return /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
101
+ id: id,
102
+ ref: ref,
103
103
  required: true,
104
104
  className: "mb-6",
105
105
  "data-cy": "email-body",
106
- id: id,
107
106
  label: t("neetoMolecules.shareViaEmail.emailBody"),
108
107
  name: "emailBody",
109
- ref: ref,
110
108
  addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray__default["default"](EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
111
109
  });
112
- };
113
- var EmailBody$1 = /*#__PURE__*/React.forwardRef(EmailBody);
110
+ });
111
+ EmailBody.displayName = "EmailBody";
114
112
 
115
113
  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; }
116
114
  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__default["default"](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,12 +189,12 @@ var FormikDatePicker = function FormikDatePicker(_ref) {
191
189
  _useField2$ = _useField2[2],
192
190
  setValue = _useField2$.setValue,
193
191
  setTouched = _useField2$.setTouched;
194
- return /*#__PURE__*/React__default["default"].createElement(DatePicker__default["default"], _extends__default["default"]({
192
+ return /*#__PURE__*/jsxRuntime.jsx(DatePicker__default["default"], _objectSpread(_objectSpread({
195
193
  showTime: true,
196
194
  timeFormat: TIME_FORMAT
197
195
  }, _objectSpread(_objectSpread(_objectSpread({}, field), meta), {}, {
198
196
  disabledDate: disabledDate
199
- }), {
197
+ })), {}, {
200
198
  "data-cy": props["data-cy"],
201
199
  "data-testid": props["data-testid"],
202
200
  timePickerProps: {
@@ -226,83 +224,94 @@ var Form = function Form(_ref) {
226
224
  var handleReset = function handleReset() {
227
225
  return editorRef.current.editor.commands.setContent(initialValues.emailBody);
228
226
  };
229
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
230
- className: "space-y-4"
231
- }, /*#__PURE__*/React__default["default"].createElement(SendToFields, {
232
- showUploadCsvButton: true,
233
- emailInputProps: {
234
- label: t("neetoMolecules.shareViaEmail.sendTo"),
235
- name: "notifyEmails",
236
- required: true
237
- }
238
- }), /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
239
- required: true,
240
- className: "col-span-1",
241
- label: t("neetoMolecules.shareViaEmail.subject"),
242
- name: "emailSubject"
243
- }), /*#__PURE__*/React__default["default"].createElement(EmailBody$1, {
244
- showVideoEmbedInEditor: showVideoEmbedInEditor,
245
- id: "emailBody",
246
- ref: editorRef
247
- }), /*#__PURE__*/React__default["default"].createElement("div", {
248
- ref: editorRef
249
- }), /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], {
250
- className: "flex items-center gap-2"
251
- }, /*#__PURE__*/React__default["default"].createElement(Switch__default["default"], {
252
- "data-cy": "send-later-switch",
253
- "data-testid": "send-later-switch",
254
- name: "isSendLaterEnabled"
255
- }), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
256
- component: "span",
257
- "data-cy": "send-later-label",
258
- lineHeight: "normal",
259
- style: "h4",
260
- weight: "semibold"
261
- }, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React__default["default"].createElement(FormikDatePicker, {
262
- autoFocus: true,
263
- "data-cy": "email-share-date-input",
264
- "data-testid": "formik-date-picker",
265
- disabledDate: isPastDate,
266
- name: "sendEmailDatetime",
267
- size: "large"
268
- }), /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
269
- required: true,
270
- label: t("neetoMolecules.shareViaEmail.startButtonText"),
271
- name: "actionButtonText"
272
- }), /*#__PURE__*/React__default["default"].createElement("div", {
273
- className: "flex flex-col gap-4 sm:flex-row sm:gap-6"
274
- }, showSendFromField && /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
275
- required: true,
276
- className: classnames__default["default"]({
277
- "w-full flex-grow-0": !disableReplyTo
278
- }),
279
- "data-testid": "neeto-molecules-share-via-email-send-from",
280
- label: t("neetoMolecules.shareViaEmail.sendFrom"),
281
- name: "sendFromEmail"
282
- }), !disableReplyTo && /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
283
- required: true,
284
- "data-testid": "replyTo-field",
285
- label: t("neetoMolecules.shareViaEmail.replyTo"),
286
- name: "replyToEmail",
287
- className: classnames__default["default"]({
288
- "w-full flex-grow-0": showSendFromField
289
- })
290
- }))), children && /*#__PURE__*/React__default["default"].createElement("div", {
291
- className: "neeto-ui-border-gray-300 mt-4 border-t py-4"
292
- }, /*#__PURE__*/React__default["default"].createElement("h3", {
293
- className: "mb-4"
294
- }, t("neetoMolecules.shareViaEmail.additionalOptions")), children), /*#__PURE__*/React__default["default"].createElement("div", {
295
- className: "mt-6"
296
- }, /*#__PURE__*/React__default["default"].createElement(ActionBlock__default["default"], {
297
- cancelButtonProps: {
298
- label: t("neetoMolecules.shareViaEmail.reset"),
299
- type: "reset",
300
- onClick: handleReset
301
- },
302
- submitButtonProps: {
303
- label: t("neetoMolecules.shareViaEmail.sendEmail")
304
- }
305
- })));
227
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
228
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
229
+ className: "space-y-4",
230
+ children: [/*#__PURE__*/jsxRuntime.jsx(SendToFields, {
231
+ showUploadCsvButton: true,
232
+ emailInputProps: {
233
+ label: t("neetoMolecules.shareViaEmail.sendTo"),
234
+ name: "notifyEmails",
235
+ required: true
236
+ }
237
+ }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
238
+ required: true,
239
+ className: "col-span-1",
240
+ label: t("neetoMolecules.shareViaEmail.subject"),
241
+ name: "emailSubject"
242
+ }), /*#__PURE__*/jsxRuntime.jsx(EmailBody, {
243
+ showVideoEmbedInEditor: showVideoEmbedInEditor,
244
+ id: "emailBody",
245
+ ref: editorRef
246
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
247
+ ref: editorRef
248
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
249
+ children: /*#__PURE__*/jsxRuntime.jsxs(Label__default["default"], {
250
+ className: "flex items-center gap-2",
251
+ children: [/*#__PURE__*/jsxRuntime.jsx(Switch__default["default"], {
252
+ "data-cy": "send-later-switch",
253
+ "data-testid": "send-later-switch",
254
+ name: "isSendLaterEnabled"
255
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
256
+ component: "span",
257
+ "data-cy": "send-later-label",
258
+ lineHeight: "normal",
259
+ style: "h4",
260
+ weight: "semibold",
261
+ children: t("neetoMolecules.shareViaEmail.sendLater")
262
+ })]
263
+ })
264
+ }), values.isSendLaterEnabled && /*#__PURE__*/jsxRuntime.jsx(FormikDatePicker, {
265
+ autoFocus: true,
266
+ "data-cy": "email-share-date-input",
267
+ "data-testid": "formik-date-picker",
268
+ disabledDate: isPastDate,
269
+ name: "sendEmailDatetime",
270
+ size: "large"
271
+ }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
272
+ required: true,
273
+ label: t("neetoMolecules.shareViaEmail.startButtonText"),
274
+ name: "actionButtonText"
275
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
276
+ className: "flex flex-col gap-4 sm:flex-row sm:gap-6",
277
+ children: [showSendFromField && /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
278
+ required: true,
279
+ className: classnames__default["default"]({
280
+ "w-full flex-grow-0": !disableReplyTo
281
+ }),
282
+ "data-testid": "neeto-molecules-share-via-email-send-from",
283
+ label: t("neetoMolecules.shareViaEmail.sendFrom"),
284
+ name: "sendFromEmail"
285
+ }), !disableReplyTo && /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
286
+ required: true,
287
+ "data-testid": "replyTo-field",
288
+ label: t("neetoMolecules.shareViaEmail.replyTo"),
289
+ name: "replyToEmail",
290
+ className: classnames__default["default"]({
291
+ "w-full flex-grow-0": showSendFromField
292
+ })
293
+ })]
294
+ })]
295
+ }), children && /*#__PURE__*/jsxRuntime.jsxs("div", {
296
+ className: "neeto-ui-border-gray-300 mt-4 border-t py-4",
297
+ children: [/*#__PURE__*/jsxRuntime.jsx("h3", {
298
+ className: "mb-4",
299
+ children: t("neetoMolecules.shareViaEmail.additionalOptions")
300
+ }), children]
301
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
302
+ className: "mt-6",
303
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
304
+ cancelButtonProps: {
305
+ label: t("neetoMolecules.shareViaEmail.reset"),
306
+ type: "reset",
307
+ onClick: handleReset
308
+ },
309
+ submitButtonProps: {
310
+ label: t("neetoMolecules.shareViaEmail.sendEmail")
311
+ }
312
+ })
313
+ })]
314
+ });
306
315
  };
307
316
 
308
317
  var ShareViaEmail = function ShareViaEmail(_ref) {
@@ -310,7 +319,7 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
310
319
  showSendFromField = _ref$showSendFromFiel === void 0 ? false : _ref$showSendFromFiel,
311
320
  backToUrl = _ref.backToUrl,
312
321
  handleSubmit = _ref.handleSubmit,
313
- children = _ref.children,
322
+ _children = _ref.children,
314
323
  description = _ref.description,
315
324
  defaultValues = _ref.defaultValues,
316
325
  disableReplyTo = _ref.disableReplyTo,
@@ -325,64 +334,74 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
325
334
  return email === null || email === void 0 ? void 0 : email.value;
326
335
  });
327
336
  };
328
- return /*#__PURE__*/React__default["default"].createElement("div", {
329
- className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8"
330
- }, /*#__PURE__*/React__default["default"].createElement("div", {
331
- className: "mx-auto flex w-full max-w-7xl flex-col"
332
- }, /*#__PURE__*/React__default["default"].createElement(Form__default["default"], {
333
- scrollToErrorField: true,
334
- formProps: {
335
- noValidate: true
336
- },
337
- formikProps: {
338
- enableReinitialize: true,
339
- validateOnMount: true,
340
- initialValues: generateInitialValues(defaultValues),
341
- validationSchema: emailFormValidationSchema(disableReplyTo),
342
- onSubmit: handleSubmit
343
- }
344
- }, function (_ref2) {
345
- var values = _ref2.values;
346
- return /*#__PURE__*/React__default["default"].createElement("div", {
347
- className: "grid grid-cols-1 gap-8 md:grid-cols-12"
348
- }, /*#__PURE__*/React__default["default"].createElement("div", {
349
- className: "col-span-1 md:col-span-6 lg:col-span-5"
350
- }, backToUrl && /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
351
- className: "mb-4",
352
- "data-testid": "back-to-url-button",
353
- icon: LeftArrow__default["default"],
354
- iconPosition: "left",
355
- label: t("neetoMolecules.shareViaEmail.backToShare"),
356
- size: "small",
357
- style: "link",
358
- to: backToUrl
359
- }), /*#__PURE__*/React__default["default"].createElement("div", {
360
- className: "mb-6"
361
- }, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
362
- className: "mb-0.5 break-words",
363
- "data-cy": "share-via-email-heading",
364
- lineHeight: "normal",
365
- style: "h2",
366
- weight: "semibold"
367
- }, shareViaEmailTitle), description && /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
368
- className: "neeto-ui-text-gray-700",
369
- "data-cy": "share-via-email-sub-heading",
370
- lineHeight: "normal",
371
- style: "body2"
372
- }, description)), /*#__PURE__*/React__default["default"].createElement(Form, {
373
- disableReplyTo: disableReplyTo,
374
- showSendFromField: showSendFromField,
375
- showVideoEmbedInEditor: showVideoEmbedInEditor
376
- }, children)), /*#__PURE__*/React__default["default"].createElement("div", {
377
- className: "col-span-1 md:col-span-6 lg:col-span-7"
378
- }, /*#__PURE__*/React__default["default"].createElement(EmailPreview, {
379
- actionButtonText: values.actionButtonText,
380
- body: values.emailBody,
381
- className: "sticky pt-1 md:mt-28",
382
- subject: values.emailSubject,
383
- to: sendToEmails(values.notifyEmails)
384
- })));
385
- })));
337
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
338
+ className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8",
339
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
340
+ className: "mx-auto flex w-full max-w-7xl flex-col",
341
+ children: /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
342
+ scrollToErrorField: true,
343
+ formProps: {
344
+ noValidate: true
345
+ },
346
+ formikProps: {
347
+ enableReinitialize: true,
348
+ validateOnMount: true,
349
+ initialValues: generateInitialValues(defaultValues),
350
+ validationSchema: emailFormValidationSchema(disableReplyTo),
351
+ onSubmit: handleSubmit
352
+ },
353
+ children: function children(_ref2) {
354
+ var values = _ref2.values;
355
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
356
+ className: "grid grid-cols-1 gap-8 md:grid-cols-12",
357
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
358
+ className: "col-span-1 md:col-span-6 lg:col-span-5",
359
+ children: [backToUrl && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
360
+ className: "mb-4",
361
+ "data-testid": "back-to-url-button",
362
+ icon: LeftArrow__default["default"],
363
+ iconPosition: "left",
364
+ label: t("neetoMolecules.shareViaEmail.backToShare"),
365
+ size: "small",
366
+ style: "link",
367
+ to: backToUrl
368
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
369
+ className: "mb-6",
370
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
371
+ className: "mb-0.5 break-words",
372
+ "data-cy": "share-via-email-heading",
373
+ lineHeight: "normal",
374
+ style: "h2",
375
+ weight: "semibold",
376
+ children: shareViaEmailTitle
377
+ }), description && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
378
+ className: "neeto-ui-text-gray-700",
379
+ "data-cy": "share-via-email-sub-heading",
380
+ lineHeight: "normal",
381
+ style: "body2",
382
+ children: description
383
+ })]
384
+ }), /*#__PURE__*/jsxRuntime.jsx(Form, {
385
+ disableReplyTo: disableReplyTo,
386
+ showSendFromField: showSendFromField,
387
+ showVideoEmbedInEditor: showVideoEmbedInEditor,
388
+ children: _children
389
+ })]
390
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
391
+ className: "col-span-1 md:col-span-6 lg:col-span-7",
392
+ children: /*#__PURE__*/jsxRuntime.jsx(EmailPreview, {
393
+ actionButtonText: values.actionButtonText,
394
+ body: values.emailBody,
395
+ className: "sticky pt-1 md:mt-28",
396
+ subject: values.emailSubject,
397
+ to: sendToEmails(values.notifyEmails)
398
+ })
399
+ })]
400
+ });
401
+ }
402
+ })
403
+ })
404
+ });
386
405
  };
387
406
 
388
407
  module.exports = ShareViaEmail;
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/Form.jsx","../../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import React from \"react\";\n\nimport { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8\">\n <div className=\"mx-auto flex w-full max-w-7xl flex-col\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"grid grid-cols-1 gap-8 md:grid-cols-12\">\n <div className=\"col-span-1 md:col-span-6 lg:col-span-5\">\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <div className=\"col-span-1 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n className=\"sticky pt-1 md:mt-28\"\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","DatePicker","_extends","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","EmailPreview","body","subject"],"mappings":"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"}
1
+ {"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/Form.jsx","../../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n\nexport const TIME_FORMAT = \"hh:mm A\";\n","import { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = forwardRef(({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n {...{ id, ref }}\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n});\n\nEmailBody.displayName = \"EmailBody\";\n\nexport default EmailBody;\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = dayjs(selectedDate).startOf(\"day\");\n const today = dayjs().startOf(\"day\");\n\n if (current.isBefore(today)) {\n return {\n disabledHours: () => dynamicArray(24, i => i),\n disabledMinutes: () => dynamicArray(60, i => i),\n };\n }\n\n if (current.isSame(today)) {\n const currentTime = dayjs();\n const currentHour = currentTime.hour();\n const currentMinute = currentTime.minute();\n\n return {\n disabledHours: () => dynamicArray(currentHour, i => i),\n disabledMinutes: selectedHour =>\n selectedHour === currentHour ? dynamicArray(currentMinute, i => i) : [],\n };\n }\n\n return {};\n};\n","import { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n return (\n <DatePicker\n showTime\n timeFormat={TIME_FORMAT}\n {...{ ...field, ...meta, disabledDate }}\n data-cy={props[\"data-cy\"]}\n data-testid={props[\"data-testid\"]}\n timePickerProps={{ disabledTime }}\n onBlur={() => !meta.touched && setTouched(true)}\n onChange={date => {\n setValue(date || undefined);\n if (!meta.touched) setTouched(true);\n }}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n showVideoEmbedInEditor,\n title = \"\",\n}) => {\n const { t } = useTranslation();\n\n const shareViaEmailTitle = title || t(\"neetoMolecules.shareViaEmail.title\");\n const sendToEmails = notifyEmails => notifyEmails.map(email => email?.value);\n\n return (\n <div className=\"neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8\">\n <div className=\"mx-auto flex w-full max-w-7xl flex-col\">\n <Form\n scrollToErrorField\n formProps={{ noValidate: true }}\n formikProps={{\n enableReinitialize: true,\n validateOnMount: true,\n initialValues: generateInitialValues(defaultValues),\n validationSchema: emailFormValidationSchema(disableReplyTo),\n onSubmit: handleSubmit,\n }}\n >\n {({ values }) => (\n <div className=\"grid grid-cols-1 gap-8 md:grid-cols-12\">\n <div className=\"col-span-1 md:col-span-6 lg:col-span-5\">\n {backToUrl && (\n <Button\n className=\"mb-4\"\n data-testid=\"back-to-url-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.shareViaEmail.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={backToUrl}\n />\n )}\n <div className=\"mb-6\">\n <Typography\n className=\"mb-0.5 break-words\"\n data-cy=\"share-via-email-heading\"\n lineHeight=\"normal\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {shareViaEmailTitle}\n </Typography>\n {description && (\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"share-via-email-sub-heading\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </div>\n <EmailForm\n {...{\n disableReplyTo,\n showSendFromField,\n showVideoEmbedInEditor,\n }}\n >\n {children}\n </EmailForm>\n </div>\n <div className=\"col-span-1 md:col-span-6 lg:col-span-7\">\n <EmailPreview\n actionButtonText={values.actionButtonText}\n body={values.emailBody}\n className=\"sticky pt-1 md:mt-28\"\n subject={values.emailSubject}\n to={sendToEmails(values.notifyEmails)}\n />\n </div>\n </div>\n )}\n </Form>\n </div>\n </div>\n );\n};\n\nShareViaEmail.propTypes = {\n /**\n * The path to navigate back to the required page on clicking the 'Back to share' button.\n */\n backToUrl: PropTypes.string,\n /**\n * The function that handles submitting of values to the API.\n */\n handleSubmit: PropTypes.func,\n /**\n * React components that can be passed on as children, to add optional fields.\n */\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]),\n /**\n * Description text to be displayed under the component title.\n */\n description: PropTypes.string,\n /**\n * An object to assign default values to the email form.\n */\n defaultValues: PropTypes.shape({\n sendFromEmail: PropTypes.string,\n replyToEmail: PropTypes.string,\n actionButtonText: PropTypes.string,\n emailSubject: PropTypes.string,\n emailBody: PropTypes.string,\n }),\n /**\n * Boolean value to show the \"Send From\" field if needed.\n */\n showSendFromField: PropTypes.bool,\n /**\n * Boolean value to hide the \"Reply to\" field if not needed.\n */\n disableReplyTo: PropTypes.bool,\n /**\n * Boolean value to show video url as embed video in email body.\n */\n showVideoEmbedInEditor: PropTypes.bool,\n /**\n * To specify the title of the component. Defaults to \"Share via email\"\n */\n title: PropTypes.string,\n};\n\nexport default ShareViaEmail;\n"],"names":["INITIAL_VALUES","sendFromEmail","replyToEmail","notifyEmails","emailSubject","emailBody","isSendLaterEnabled","sendEmailDatetime","undefined","category","actionButtonText","EDITOR_ADDONS","TIME_FORMAT","EmailBody","forwardRef","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","_jsx","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","displayName","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","_jsxs","_Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","EmailPreview","body","subject"],"mappings":"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"}