@bigbinary/neeto-molecules 3.7.20 → 3.7.22

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 (242) hide show
  1. package/dist/Breadcrumbs.js +1 -1
  2. package/dist/BrowserSupport.js +3 -3
  3. package/dist/Builder.js +37 -23
  4. package/dist/Builder.js.map +1 -1
  5. package/dist/CalendarView.js +2 -2
  6. package/dist/{Chevron-a5e99340.js → Chevron-DWt0ncDv.js} +2 -2
  7. package/dist/{Chevron-a5e99340.js.map → Chevron-DWt0ncDv.js.map} +1 -1
  8. package/dist/Codeblock.js +1 -1
  9. package/dist/Columns.js +2 -2
  10. package/dist/ConfigurePageSidebar.js +2 -2
  11. package/dist/Container.js +3 -3
  12. package/dist/CopyToClipboardButton.js +1 -1
  13. package/dist/CustomDomain.js +2 -2
  14. package/dist/CustomDomainDashboard.js +5 -5
  15. package/dist/DeviceIncompatibilityMessage.js +2 -2
  16. package/dist/DocumentEditor.js +1 -1
  17. package/dist/DownloadMobileAppCallout.js +2 -2
  18. package/dist/DynamicVariables.js +1 -1
  19. package/dist/EmailForm.js +3 -3
  20. package/dist/EmailPreview.js +2 -2
  21. package/dist/ErrorPage.js +1 -1
  22. package/dist/FileUpload.js +1 -1
  23. package/dist/FloatingActionMenu.js +3 -3
  24. package/dist/Header.js +1 -1
  25. package/dist/IconPicker.js +1 -1
  26. package/dist/IconPicker.js.map +1 -1
  27. package/dist/InlineInput.js +1 -1
  28. package/dist/IntegrationCard.js +1 -1
  29. package/dist/IpRestriction.js +44 -44
  30. package/dist/IpRestriction.js.map +1 -1
  31. package/dist/KeyboardShortcuts.js +3 -3
  32. package/dist/MadeWith.js +1 -1
  33. package/dist/MenuBar.js +6 -8
  34. package/dist/MenuBar.js.map +1 -1
  35. package/dist/Metadata.js +1 -1
  36. package/dist/MoreDropdown.js +1 -1
  37. package/dist/NavigationHeader.js +1 -1
  38. package/dist/NeetoWidget.js +2 -4
  39. package/dist/NeetoWidget.js.map +1 -1
  40. package/dist/Onboarding.js +1 -1
  41. package/dist/PageLoader.js +1 -1
  42. package/dist/PhoneNumber.js +5 -5
  43. package/dist/ProductEmbed.js +1 -1
  44. package/dist/PublishBlock.js +1 -1
  45. package/dist/PublishYourItem.js +2 -2
  46. package/dist/Rename.js +1 -1
  47. package/dist/Schedule.js +2 -2
  48. package/dist/Scrollable.js +1 -1
  49. package/dist/Search.js +1 -1
  50. package/dist/SendToFields.js +2 -3
  51. package/dist/SendToFields.js.map +1 -1
  52. package/dist/SessionEnvironment.js +3 -3
  53. package/dist/Settings.js +1 -1
  54. package/dist/ShareRecordingPane.js +1 -1
  55. package/dist/ShareViaEmail.js +2 -2
  56. package/dist/ShareViaLink.js +1 -1
  57. package/dist/ShareViaLink.js.map +1 -1
  58. package/dist/Sidebar.js +2 -2
  59. package/dist/StatusDropdown.js +1 -1
  60. package/dist/StickyRibbonsContainer.js +1 -1
  61. package/dist/SubHeader.js +2 -2
  62. package/dist/SuffixedInput.js +1 -1
  63. package/dist/TableWrapper.js +1 -1
  64. package/dist/Taxonomy.js +4 -4
  65. package/dist/ToggleFeatureCard.js +1 -1
  66. package/dist/{_commonjsHelpers-1789f0cf.js → _commonjsHelpers-BFTU3MAI.js} +1 -1
  67. package/dist/_commonjsHelpers-BFTU3MAI.js.map +1 -0
  68. package/dist/cjs/Breadcrumbs.js +3 -8
  69. package/dist/cjs/Breadcrumbs.js.map +1 -1
  70. package/dist/cjs/BrowserSupport.js +7 -14
  71. package/dist/cjs/BrowserSupport.js.map +1 -1
  72. package/dist/cjs/Builder.js +76 -80
  73. package/dist/cjs/Builder.js.map +1 -1
  74. package/dist/cjs/CalendarView.js +26 -43
  75. package/dist/cjs/CalendarView.js.map +1 -1
  76. package/dist/cjs/{Chevron-bb98447f.js → Chevron-DpYyQWkK.js} +13 -22
  77. package/dist/cjs/{Chevron-bb98447f.js.map → Chevron-DpYyQWkK.js.map} +1 -1
  78. package/dist/cjs/Codeblock.js +2 -6
  79. package/dist/cjs/Codeblock.js.map +1 -1
  80. package/dist/cjs/Columns.js +3 -3
  81. package/dist/cjs/ConfigurePageSidebar.js +6 -12
  82. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  83. package/dist/cjs/ConfirmationModal.js +12 -20
  84. package/dist/cjs/ConfirmationModal.js.map +1 -1
  85. package/dist/cjs/Container.js +4 -8
  86. package/dist/cjs/Container.js.map +1 -1
  87. package/dist/cjs/CopyToClipboardButton.js +8 -18
  88. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  89. package/dist/cjs/Currency.js +6 -15
  90. package/dist/cjs/Currency.js.map +1 -1
  91. package/dist/cjs/CustomDomain.js +8 -16
  92. package/dist/cjs/CustomDomain.js.map +1 -1
  93. package/dist/cjs/CustomDomainDashboard.js +24 -38
  94. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  95. package/dist/cjs/DateFormat.js +4 -11
  96. package/dist/cjs/DateFormat.js.map +1 -1
  97. package/dist/cjs/DateRangeFilter.js +4 -11
  98. package/dist/cjs/DateRangeFilter.js.map +1 -1
  99. package/dist/cjs/DeleteArchiveModal.js +10 -18
  100. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  101. package/dist/cjs/DeviceIncompatibilityMessage.js +8 -14
  102. package/dist/cjs/DeviceIncompatibilityMessage.js.map +1 -1
  103. package/dist/cjs/DocumentEditor.js +11 -21
  104. package/dist/cjs/DocumentEditor.js.map +1 -1
  105. package/dist/cjs/DownloadMobileAppCallout.js +3 -7
  106. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
  107. package/dist/cjs/DynamicVariables.js +7 -15
  108. package/dist/cjs/DynamicVariables.js.map +1 -1
  109. package/dist/cjs/EmailForm.js +23 -40
  110. package/dist/cjs/EmailForm.js.map +1 -1
  111. package/dist/cjs/EmailPreview.js +12 -20
  112. package/dist/cjs/EmailPreview.js.map +1 -1
  113. package/dist/cjs/EmojiPicker.js +5 -13
  114. package/dist/cjs/EmojiPicker.js.map +1 -1
  115. package/dist/cjs/EmojiReactions.js +4 -11
  116. package/dist/cjs/EmojiReactions.js.map +1 -1
  117. package/dist/cjs/ErrorPage.js +9 -15
  118. package/dist/cjs/ErrorPage.js.map +1 -1
  119. package/dist/cjs/FileUpload.js +19 -36
  120. package/dist/cjs/FileUpload.js.map +1 -1
  121. package/dist/cjs/FloatingActionMenu.js +67 -90
  122. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  123. package/dist/cjs/Header.js +6 -13
  124. package/dist/cjs/Header.js.map +1 -1
  125. package/dist/cjs/HelpPopover.js +9 -19
  126. package/dist/cjs/HelpPopover.js.map +1 -1
  127. package/dist/cjs/IconPicker.js +24 -42
  128. package/dist/cjs/IconPicker.js.map +1 -1
  129. package/dist/cjs/ImageWithFallback.js +6 -13
  130. package/dist/cjs/ImageWithFallback.js.map +1 -1
  131. package/dist/cjs/InlineInput.js +20 -38
  132. package/dist/cjs/InlineInput.js.map +1 -1
  133. package/dist/cjs/Insights.js +13 -21
  134. package/dist/cjs/Insights.js.map +1 -1
  135. package/dist/cjs/IntegrationCard.js +14 -27
  136. package/dist/cjs/IntegrationCard.js.map +1 -1
  137. package/dist/cjs/IpRestriction.js +83 -104
  138. package/dist/cjs/IpRestriction.js.map +1 -1
  139. package/dist/cjs/KeyboardShortcuts.js +23 -36
  140. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  141. package/dist/cjs/LoginPage.js +16 -27
  142. package/dist/cjs/LoginPage.js.map +1 -1
  143. package/dist/cjs/MadeWith.js +3 -8
  144. package/dist/cjs/MadeWith.js.map +1 -1
  145. package/dist/cjs/MenuBar.js +46 -66
  146. package/dist/cjs/MenuBar.js.map +1 -1
  147. package/dist/cjs/Metadata.js +18 -29
  148. package/dist/cjs/Metadata.js.map +1 -1
  149. package/dist/cjs/MobilePreviewHeader.js +2 -7
  150. package/dist/cjs/MobilePreviewHeader.js.map +1 -1
  151. package/dist/cjs/MoreDropdown.js +21 -32
  152. package/dist/cjs/MoreDropdown.js.map +1 -1
  153. package/dist/cjs/NavigationHeader.js +9 -18
  154. package/dist/cjs/NavigationHeader.js.map +1 -1
  155. package/dist/cjs/NeetoWidget.js +69 -95
  156. package/dist/cjs/NeetoWidget.js.map +1 -1
  157. package/dist/cjs/Onboarding.js +22 -34
  158. package/dist/cjs/Onboarding.js.map +1 -1
  159. package/dist/cjs/OptionFields.js +34 -51
  160. package/dist/cjs/OptionFields.js.map +1 -1
  161. package/dist/cjs/PageLoader.js +4 -10
  162. package/dist/cjs/PageLoader.js.map +1 -1
  163. package/dist/cjs/PhoneNumber.js +10 -20
  164. package/dist/cjs/PhoneNumber.js.map +1 -1
  165. package/dist/cjs/ProductEmbed.js +57 -80
  166. package/dist/cjs/ProductEmbed.js.map +1 -1
  167. package/dist/cjs/PublishBlock.js +41 -60
  168. package/dist/cjs/PublishBlock.js.map +1 -1
  169. package/dist/cjs/PublishYourItem.js +5 -10
  170. package/dist/cjs/PublishYourItem.js.map +1 -1
  171. package/dist/cjs/Rename.js +20 -35
  172. package/dist/cjs/Rename.js.map +1 -1
  173. package/dist/cjs/ResponsiveDevicePicker.js +9 -20
  174. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  175. package/dist/cjs/Schedule.js +47 -69
  176. package/dist/cjs/Schedule.js.map +1 -1
  177. package/dist/cjs/Scrollable.js +4 -10
  178. package/dist/cjs/Scrollable.js.map +1 -1
  179. package/dist/cjs/Search.js +11 -22
  180. package/dist/cjs/Search.js.map +1 -1
  181. package/dist/cjs/SendToFields.js +31 -49
  182. package/dist/cjs/SendToFields.js.map +1 -1
  183. package/dist/cjs/SessionEnvironment.js +39 -69
  184. package/dist/cjs/SessionEnvironment.js.map +1 -1
  185. package/dist/cjs/Settings.js +18 -29
  186. package/dist/cjs/Settings.js.map +1 -1
  187. package/dist/cjs/ShareRecordingPane.js +17 -29
  188. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  189. package/dist/cjs/ShareViaEmail.js +31 -51
  190. package/dist/cjs/ShareViaEmail.js.map +1 -1
  191. package/dist/cjs/ShareViaLink.js +46 -64
  192. package/dist/cjs/ShareViaLink.js.map +1 -1
  193. package/dist/cjs/Sidebar.js +22 -35
  194. package/dist/cjs/Sidebar.js.map +1 -1
  195. package/dist/cjs/StatusDropdown.js +8 -16
  196. package/dist/cjs/StatusDropdown.js.map +1 -1
  197. package/dist/cjs/StickyRibbonsContainer.js +6 -14
  198. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  199. package/dist/cjs/SubHeader.js +15 -25
  200. package/dist/cjs/SubHeader.js.map +1 -1
  201. package/dist/cjs/SuffixedInput.js +5 -12
  202. package/dist/cjs/SuffixedInput.js.map +1 -1
  203. package/dist/cjs/TableWrapper.js +3 -7
  204. package/dist/cjs/TableWrapper.js.map +1 -1
  205. package/dist/cjs/Taxonomy.js +46 -64
  206. package/dist/cjs/Taxonomy.js.map +1 -1
  207. package/dist/cjs/TimezoneMismatchModal.js +14 -23
  208. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  209. package/dist/cjs/ToggleFeatureCard.js +18 -34
  210. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  211. package/dist/cjs/{_commonjsHelpers-b3309d7b.js → _commonjsHelpers-BJu3ubxk.js} +1 -1
  212. package/dist/cjs/_commonjsHelpers-BJu3ubxk.js.map +1 -0
  213. package/dist/cjs/{index-3ab0acb9.js → index-Dfq9GJPm.js} +64 -84
  214. package/dist/cjs/{index-3ab0acb9.js.map → index-Dfq9GJPm.js.map} +1 -1
  215. package/dist/cjs/{index-57253dc4.js → index-JY2zVpnv.js} +2 -2
  216. package/dist/cjs/{index-57253dc4.js.map → index-JY2zVpnv.js.map} +1 -1
  217. package/dist/cjs/{inject-css-80a5faa3.js → inject-css-vQvjPR2x.js} +1 -1
  218. package/dist/cjs/{inject-css-80a5faa3.js.map → inject-css-vQvjPR2x.js.map} +1 -1
  219. package/dist/cjs/{phone-number-7119ec88.js → phone-number-BtEbUAse.js} +24 -39
  220. package/dist/cjs/phone-number-BtEbUAse.js.map +1 -0
  221. package/dist/cjs/{platform-4e0a3b75.js → platform-BUcCb8Jx.js} +2 -2
  222. package/dist/cjs/{platform-4e0a3b75.js.map → platform-BUcCb8Jx.js.map} +1 -1
  223. package/dist/cjs/{useColumns-8894f767.js → useColumns-E3db4ucs.js} +19 -32
  224. package/dist/cjs/{useColumns-8894f767.js.map → useColumns-E3db4ucs.js.map} +1 -1
  225. package/dist/{index-1f87fe13.js → index-DAYCJu79.js} +2 -2
  226. package/dist/{index-1f87fe13.js.map → index-DAYCJu79.js.map} +1 -1
  227. package/dist/{index-2f9a2a41.js → index-YZ7vuBmP.js} +2 -2
  228. package/dist/{index-2f9a2a41.js.map → index-YZ7vuBmP.js.map} +1 -1
  229. package/dist/{inject-css-c86de496.js → inject-css-DmrvuTKK.js} +1 -1
  230. package/dist/{inject-css-c86de496.js.map → inject-css-DmrvuTKK.js.map} +1 -1
  231. package/dist/{phone-number-aa7dd15f.js → phone-number-B2DdoQZX.js} +4 -5
  232. package/dist/phone-number-B2DdoQZX.js.map +1 -0
  233. package/dist/{platform-9320726a.js → platform-F44zJ4Xh.js} +2 -2
  234. package/dist/{platform-9320726a.js.map → platform-F44zJ4Xh.js.map} +1 -1
  235. package/dist/{useColumns-13263cd8.js → useColumns-B8JL1GjK.js} +2 -2
  236. package/dist/{useColumns-13263cd8.js.map → useColumns-B8JL1GjK.js.map} +1 -1
  237. package/package.json +4 -4
  238. package/types/Builder.d.ts +1 -0
  239. package/dist/_commonjsHelpers-1789f0cf.js.map +0 -1
  240. package/dist/cjs/_commonjsHelpers-b3309d7b.js.map +0 -1
  241. package/dist/cjs/phone-number-7119ec88.js.map +0 -1
  242. package/dist/phone-number-aa7dd15f.js.map +0 -1
@@ -20,19 +20,7 @@ require('@bigbinary/neeto-commons-frontend/utils/general');
20
20
  require('@bigbinary/neeto-icons/Copy');
21
21
  require('@bigbinary/neeto-icons/Check');
22
22
  require('@bigbinary/neetoui/Button');
23
- require('./inject-css-80a5faa3.js');
24
-
25
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
-
27
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
28
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
29
- var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
30
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
31
- var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
32
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
33
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
34
- var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
35
- var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
23
+ require('./inject-css-vQvjPR2x.js');
36
24
 
37
25
  var ONE_SECOND = 1;
38
26
  var ONE_MINUTE = 60 * ONE_SECOND;
@@ -82,7 +70,7 @@ var validateInput = function validateInput(input) {
82
70
  };
83
71
 
84
72
  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; }
85
- 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; }
73
+ 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(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; }
86
74
  var SharePaneBody = function SharePaneBody(_ref) {
87
75
  var recordingUrl = _ref.recordingUrl,
88
76
  totalDuration = _ref.totalDuration,
@@ -92,19 +80,19 @@ var SharePaneBody = function SharePaneBody(_ref) {
92
80
  t = _useTranslation.t;
93
81
  var currentTimestamp = getCurrentTimestamp();
94
82
  var _useState = React.useState(""),
95
- _useState2 = _slicedToArray__default["default"](_useState, 2),
83
+ _useState2 = _slicedToArray(_useState, 2),
96
84
  shareLink = _useState2[0],
97
85
  setShareLink = _useState2[1];
98
86
  var _useState3 = React.useState(currentTimestamp),
99
- _useState4 = _slicedToArray__default["default"](_useState3, 2),
87
+ _useState4 = _slicedToArray(_useState3, 2),
100
88
  currentPlaybackTime = _useState4[0],
101
89
  setCurrentPlaybackTime = _useState4[1];
102
90
  var _useState5 = React.useState(""),
103
- _useState6 = _slicedToArray__default["default"](_useState5, 2),
91
+ _useState6 = _slicedToArray(_useState5, 2),
104
92
  rawInput = _useState6[0],
105
93
  setRawInput = _useState6[1];
106
94
  var _useState7 = React.useState(currentTimestamp > 0),
107
- _useState8 = _slicedToArray__default["default"](_useState7, 2),
95
+ _useState8 = _slicedToArray(_useState7, 2),
108
96
  isPlaybackTimeCheckboxChecked = _useState8[0],
109
97
  setIsPlaybackTimeCheckboxChecked = _useState8[1];
110
98
  var showHours = shouldRenderHoursInput(totalDuration);
@@ -141,9 +129,9 @@ var SharePaneBody = function SharePaneBody(_ref) {
141
129
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
142
130
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
143
131
  className: "neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2",
144
- children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
132
+ children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip, {
145
133
  content: shareLink,
146
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
134
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
147
135
  className: "truncate",
148
136
  style: "body2",
149
137
  children: shareLink
@@ -155,7 +143,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
155
143
  })]
156
144
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
157
145
  className: "flex items-center gap-x-2",
158
- children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox__default["default"], {
146
+ children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox, {
159
147
  checked: isPlaybackTimeCheckboxChecked,
160
148
  className: "grow-0",
161
149
  "data-cy": "time-checkbox",
@@ -164,7 +152,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
164
152
  var checked = _ref2.target.checked;
165
153
  return setIsPlaybackTimeCheckboxChecked(checked);
166
154
  }
167
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
155
+ }), /*#__PURE__*/jsxRuntime.jsx(Input, {
168
156
  className: "w-40",
169
157
  "data-cy": "time-input",
170
158
  disabled: ramda.not(isPlaybackTimeCheckboxChecked),
@@ -180,7 +168,7 @@ var SharePaneBody = function SharePaneBody(_ref) {
180
168
 
181
169
  var _excluded = ["recordingUrl", "totalDuration", "getCurrentTimestamp", "isOpen", "onClose", "isLoading"];
182
170
  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; }
183
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
171
+ 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; }
184
172
  var ShareRecordingPane = function ShareRecordingPane(_ref) {
185
173
  var recordingUrl = _ref.recordingUrl,
186
174
  totalDuration = _ref.totalDuration,
@@ -189,23 +177,23 @@ var ShareRecordingPane = function ShareRecordingPane(_ref) {
189
177
  onClose = _ref.onClose,
190
178
  _ref$isLoading = _ref.isLoading,
191
179
  isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
192
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
180
+ otherProps = _objectWithoutProperties(_ref, _excluded);
193
181
  var _useTranslation = reactI18next.useTranslation(),
194
182
  t = _useTranslation.t;
195
- return /*#__PURE__*/jsxRuntime.jsxs(Pane__default["default"], _objectSpread(_objectSpread({}, _objectSpread({
183
+ return /*#__PURE__*/jsxRuntime.jsxs(Pane, _objectSpread(_objectSpread({}, _objectSpread({
196
184
  isOpen: isOpen,
197
185
  onClose: onClose
198
186
  }, otherProps)), {}, {
199
187
  "data-cy": "share-pane",
200
188
  size: "large",
201
- children: [/*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Header, {
202
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
189
+ children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
190
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
203
191
  style: "h2",
204
192
  children: t("neetoMolecules.shareRecording.title")
205
193
  })
206
- }), /*#__PURE__*/jsxRuntime.jsx(Pane__default["default"].Body, {
194
+ }), /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
207
195
  className: "flex flex-col space-y-2",
208
- children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {
196
+ children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(Spinner, {
209
197
  className: "mx-auto"
210
198
  }) : /*#__PURE__*/jsxRuntime.jsx(SharePaneBody, {
211
199
  getCurrentTimestamp: getCurrentTimestamp,
@@ -1 +1 @@
1
- {"version":3,"file":"ShareRecordingPane.js","sources":["../../src/components/ShareRecordingPane/constants.js","../../src/components/ShareRecordingPane/utils.js","../../src/components/ShareRecordingPane/SharePaneBody.jsx","../../src/components/ShareRecordingPane/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE } from \"./constants\";\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrl","buildUrl","_objectSpread","time","_jsxs","_Fragment","children","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","onChange","_ref2","Input","disabled","placeholder","onBlur","onKeyDown","ShareRecordingPane","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","Pane","size","Header","Body","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"ShareRecordingPane.js","sources":["../../src/components/ShareRecordingPane/constants.js","../../src/components/ShareRecordingPane/utils.js","../../src/components/ShareRecordingPane/SharePaneBody.jsx","../../src/components/ShareRecordingPane/index.jsx"],"sourcesContent":["export const ONE_SECOND = 1;\nexport const ONE_MINUTE = 60 * ONE_SECOND;\nexport const ONE_HOUR = 60 * ONE_MINUTE;\n","import { ONE_HOUR, ONE_MINUTE } from \"./constants\";\n\nexport const padZero = (number, length = 2) => {\n let string = String(number);\n const threshold = Math.pow(10, length - 1);\n\n if (number < threshold) {\n while (String(threshold).length > string.length) {\n string = `0${number}`;\n }\n }\n\n return string;\n};\n\nexport const shouldRenderHoursInput = duration => {\n const hours = Math.floor(duration / ONE_HOUR);\n\n return hours > 0;\n};\n\nexport const formatTime = (timeInSeconds, showHours) => {\n const hours = Math.floor(timeInSeconds / ONE_HOUR);\n const minutes = Math.floor((timeInSeconds % ONE_HOUR) / ONE_MINUTE);\n const seconds = timeInSeconds % ONE_MINUTE;\n\n return showHours\n ? `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`\n : `${padZero(minutes)}:${padZero(seconds)}`;\n};\n\nexport const parseTime = timeString => {\n const parts = timeString\n .split(\":\")\n .map(part => (part === \"\" ? NaN : parseInt(part, 10)));\n if (parts.some(isNaN) || parts.length > 3) {\n return 0;\n }\n\n if (parts.length === 1) {\n return parts[0];\n } else if (parts.length === 2) {\n return parts[0] * ONE_MINUTE + parts[1];\n } else if (parts.length === 3) {\n return parts[0] * ONE_HOUR + parts[1] * ONE_MINUTE + parts[2];\n }\n\n return 0;\n};\n\nexport const validateInput = input => {\n const regex = /^[0-9:]{0,8}$/;\n const colons = (input.match(/:/g) || []).length;\n\n return regex.test(input) && colons <= 2;\n};\n","import { useState, useEffect } from \"react\";\n\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Typography, Input, Checkbox, Tooltip } from \"neetoui\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport {\n formatTime,\n parseTime,\n shouldRenderHoursInput,\n validateInput,\n} from \"./utils\";\n\nconst SharePaneBody = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n}) => {\n const { t } = useTranslation();\n const currentTimestamp = getCurrentTimestamp();\n\n const [shareLink, setShareLink] = useState(\"\");\n const [currentPlaybackTime, setCurrentPlaybackTime] =\n useState(currentTimestamp);\n const [rawInput, setRawInput] = useState(\"\");\n\n const [isPlaybackTimeCheckboxChecked, setIsPlaybackTimeCheckboxChecked] =\n useState(currentTimestamp > 0);\n\n const showHours = shouldRenderHoursInput(totalDuration);\n\n const handlePlaybackTimestampChange = e => {\n const input = e.target.value;\n if (validateInput(input)) {\n setRawInput(input);\n }\n };\n\n const formatAndSetTime = () => {\n let timeInSeconds = parseTime(rawInput);\n if (timeInSeconds > totalDuration) {\n timeInSeconds = totalDuration;\n }\n setCurrentPlaybackTime(timeInSeconds);\n setRawInput(formatTime(timeInSeconds, showHours));\n };\n\n const handleKeyDown = e => {\n if (!(e.key === \"Enter\")) return;\n formatAndSetTime();\n };\n\n useEffect(() => {\n if (not(isOpen)) return;\n\n setIsPlaybackTimeCheckboxChecked(currentTimestamp > 0);\n setCurrentPlaybackTime(currentTimestamp > 0 ? currentTimestamp : 0);\n setRawInput(\n formatTime(currentTimestamp > 0 ? currentTimestamp : 0, showHours)\n );\n }, [isOpen, showHours, currentTimestamp]);\n\n useEffect(() => {\n const playbackUrl = buildUrl(recordingUrl, {\n ...(isPlaybackTimeCheckboxChecked &&\n currentPlaybackTime > 0 && { time: currentPlaybackTime }),\n });\n\n setShareLink(playbackUrl);\n }, [recordingUrl, isPlaybackTimeCheckboxChecked, currentPlaybackTime]);\n\n return (\n <>\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-lg mb-3 flex w-full items-center justify-between p-2\">\n <Tooltip content={shareLink}>\n <Typography className=\"truncate\" style=\"body2\">\n {shareLink}\n </Typography>\n </Tooltip>\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n style=\"secondary\"\n value={shareLink}\n />\n </div>\n <div className=\"flex items-center gap-x-2\">\n <Checkbox\n checked={isPlaybackTimeCheckboxChecked}\n className=\"grow-0\"\n data-cy=\"time-checkbox\"\n label={t(\"neetoMolecules.shareRecording.checkboxLabel\")}\n onChange={({ target: { checked } }) =>\n setIsPlaybackTimeCheckboxChecked(checked)\n }\n />\n <Input\n className=\"w-40\"\n data-cy=\"time-input\"\n disabled={not(isPlaybackTimeCheckboxChecked)}\n placeholder={showHours ? \"HH:MM:SS\" : \"MM:SS\"}\n value={rawInput}\n onBlur={formatAndSetTime}\n onChange={handlePlaybackTimestampChange}\n onKeyDown={handleKeyDown}\n />\n </div>\n </>\n );\n};\n\nexport default SharePaneBody;\n","/* eslint-disable @bigbinary/neeto/no-dumb-components-with-use-translation */\nimport { Pane, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SharePaneBody from \"./SharePaneBody\";\n\nconst ShareRecordingPane = ({\n recordingUrl,\n totalDuration,\n getCurrentTimestamp,\n isOpen,\n onClose,\n isLoading = false,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n return (\n <Pane\n {...{ isOpen, onClose, ...otherProps }}\n data-cy=\"share-pane\"\n size=\"large\"\n >\n <Pane.Header>\n <Typography style=\"h2\">\n {t(\"neetoMolecules.shareRecording.title\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"flex flex-col space-y-2\">\n {isLoading ? (\n <Spinner className=\"mx-auto\" />\n ) : (\n <SharePaneBody\n {...{ getCurrentTimestamp, isOpen, recordingUrl, totalDuration }}\n />\n )}\n </Pane.Body>\n </Pane>\n );\n};\n\nShareRecordingPane.propTypes = {\n /**\n * Recording URL used for building the share link.\n */\n recordingUrl: PropTypes.string.isRequired,\n /**\n * Total duration of the content being shared.\n */\n totalDuration: PropTypes.number.isRequired,\n /**\n * A function that returns current playback time of the recorded content in seconds.\n */\n getCurrentTimestamp: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether the pane is open or not.\n */\n isOpen: PropTypes.bool.isRequired,\n /**\n * Function to close the pane.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Boolean indicating whether content is loading or not.\n */\n isLoading: PropTypes.bool,\n};\n\nexport default ShareRecordingPane;\n"],"names":["ONE_SECOND","ONE_MINUTE","ONE_HOUR","padZero","number","length","arguments","undefined","string","String","threshold","Math","pow","concat","shouldRenderHoursInput","duration","hours","floor","formatTime","timeInSeconds","showHours","minutes","seconds","parseTime","timeString","parts","split","map","part","NaN","parseInt","some","isNaN","validateInput","input","regex","colons","match","test","SharePaneBody","_ref","recordingUrl","totalDuration","getCurrentTimestamp","isOpen","_useTranslation","useTranslation","t","currentTimestamp","_useState","useState","_useState2","_slicedToArray","shareLink","setShareLink","_useState3","_useState4","currentPlaybackTime","setCurrentPlaybackTime","_useState5","_useState6","rawInput","setRawInput","_useState7","_useState8","isPlaybackTimeCheckboxChecked","setIsPlaybackTimeCheckboxChecked","handlePlaybackTimestampChange","e","target","value","formatAndSetTime","handleKeyDown","key","useEffect","not","playbackUrl","buildUrl","_objectSpread","time","_jsxs","_Fragment","children","className","_jsx","Tooltip","content","Typography","style","CopyToClipboardButton","Checkbox","checked","label","onChange","_ref2","Input","disabled","placeholder","onBlur","onKeyDown","ShareRecordingPane","onClose","_ref$isLoading","isLoading","otherProps","_objectWithoutProperties","_excluded","Pane","size","Header","Body","Spinner"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG,CAAC,CAAA;AACpB,IAAMC,UAAU,GAAG,EAAE,GAAGD,UAAU,CAAA;AAClC,IAAME,QAAQ,GAAG,EAAE,GAAGD,UAAU;;ACAhC,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAIC,MAAM,EAAiB;AAAA,EAAA,IAAfC,MAAM,GAAAC,SAAA,CAAAD,MAAA,GAAA,CAAA,IAAAC,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AACxC,EAAA,IAAIE,MAAM,GAAGC,MAAM,CAACL,MAAM,CAAC,CAAA;EAC3B,IAAMM,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,EAAE,EAAEP,MAAM,GAAG,CAAC,CAAC,CAAA;EAE1C,IAAID,MAAM,GAAGM,SAAS,EAAE;IACtB,OAAOD,MAAM,CAACC,SAAS,CAAC,CAACL,MAAM,GAAGG,MAAM,CAACH,MAAM,EAAE;AAC/CG,MAAAA,MAAM,GAAAK,GAAAA,CAAAA,MAAA,CAAOT,MAAM,CAAE,CAAA;AACvB,KAAA;AACF,GAAA;AAEA,EAAA,OAAOI,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,IAAMM,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,QAAQ,EAAI;EAChD,IAAMC,KAAK,GAAGL,IAAI,CAACM,KAAK,CAACF,QAAQ,GAAGb,QAAQ,CAAC,CAAA;EAE7C,OAAOc,KAAK,GAAG,CAAC,CAAA;AAClB,CAAC,CAAA;AAEM,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAIC,aAAa,EAAEC,SAAS,EAAK;EACtD,IAAMJ,KAAK,GAAGL,IAAI,CAACM,KAAK,CAACE,aAAa,GAAGjB,QAAQ,CAAC,CAAA;EAClD,IAAMmB,OAAO,GAAGV,IAAI,CAACM,KAAK,CAAEE,aAAa,GAAGjB,QAAQ,GAAID,UAAU,CAAC,CAAA;AACnE,EAAA,IAAMqB,OAAO,GAAGH,aAAa,GAAGlB,UAAU,CAAA;AAE1C,EAAA,OAAOmB,SAAS,GAAAP,EAAAA,CAAAA,MAAA,CACTV,OAAO,CAACa,KAAK,CAAC,EAAAH,GAAAA,CAAAA,CAAAA,MAAA,CAAIV,OAAO,CAACkB,OAAO,CAAC,OAAAR,MAAA,CAAIV,OAAO,CAACmB,OAAO,CAAC,CAAA,GAAA,EAAA,CAAAT,MAAA,CACtDV,OAAO,CAACkB,OAAO,CAAC,EAAA,GAAA,CAAA,CAAAR,MAAA,CAAIV,OAAO,CAACmB,OAAO,CAAC,CAAE,CAAA;AAC/C,CAAC,CAAA;AAEM,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,UAAU,EAAI;AACrC,EAAA,IAAMC,KAAK,GAAGD,UAAU,CACrBE,KAAK,CAAC,GAAG,CAAC,CACVC,GAAG,CAAC,UAAAC,IAAI,EAAA;IAAA,OAAKA,IAAI,KAAK,EAAE,GAAGC,GAAG,GAAGC,QAAQ,CAACF,IAAI,EAAE,EAAE,CAAC,CAAA;AAAA,GAAC,CAAC,CAAA;AACxD,EAAA,IAAIH,KAAK,CAACM,IAAI,CAACC,KAAK,CAAC,IAAIP,KAAK,CAACpB,MAAM,GAAG,CAAC,EAAE;AACzC,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AAEA,EAAA,IAAIoB,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOoB,KAAK,CAAC,CAAC,CAAC,CAAA;AACjB,GAAC,MAAM,IAAIA,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;IAC7B,OAAOoB,KAAK,CAAC,CAAC,CAAC,GAAGxB,UAAU,GAAGwB,KAAK,CAAC,CAAC,CAAC,CAAA;AACzC,GAAC,MAAM,IAAIA,KAAK,CAACpB,MAAM,KAAK,CAAC,EAAE;AAC7B,IAAA,OAAOoB,KAAK,CAAC,CAAC,CAAC,GAAGvB,QAAQ,GAAGuB,KAAK,CAAC,CAAC,CAAC,GAAGxB,UAAU,GAAGwB,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/D,GAAA;AAEA,EAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAEM,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;EACpC,IAAMC,KAAK,GAAG,eAAe,CAAA;AAC7B,EAAA,IAAMC,MAAM,GAAG,CAACF,KAAK,CAACG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAEhC,MAAM,CAAA;EAE/C,OAAO8B,KAAK,CAACG,IAAI,CAACJ,KAAK,CAAC,IAAIE,MAAM,IAAI,CAAC,CAAA;AACzC,CAAC;;;;ACvCD,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAKb;AAAA,EAAA,IAJJC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,MAAM,GAAAJ,IAAA,CAANI,MAAM,CAAA;AAEN,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAMC,gBAAgB,GAAGL,mBAAmB,EAAE,CAAA;AAE9C,EAAA,IAAAM,SAAA,GAAkCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvCI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAI,UAAA,GACEL,cAAQ,CAACF,gBAAgB,CAAC;IAAAQ,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AADrBE,IAAAA,mBAAmB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAElD,EAAA,IAAAG,UAAA,GAAgCT,cAAQ,CAAC,EAAE,CAAC;IAAAU,UAAA,GAAAR,cAAA,CAAAO,UAAA,EAAA,CAAA,CAAA;AAArCE,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAAG,UAAA,GACEb,cAAQ,CAACF,gBAAgB,GAAG,CAAC,CAAC;IAAAgB,UAAA,GAAAZ,cAAA,CAAAW,UAAA,EAAA,CAAA,CAAA;AADzBE,IAAAA,6BAA6B,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gCAAgC,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAGtE,EAAA,IAAM5C,SAAS,GAAGN,sBAAsB,CAAC4B,aAAa,CAAC,CAAA;AAEvD,EAAA,IAAMyB,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGC,CAAC,EAAI;AACzC,IAAA,IAAMlC,KAAK,GAAGkC,CAAC,CAACC,MAAM,CAACC,KAAK,CAAA;AAC5B,IAAA,IAAIrC,aAAa,CAACC,KAAK,CAAC,EAAE;MACxB4B,WAAW,CAAC5B,KAAK,CAAC,CAAA;AACpB,KAAA;GACD,CAAA;AAED,EAAA,IAAMqC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC7B,IAAA,IAAIpD,aAAa,GAAGI,SAAS,CAACsC,QAAQ,CAAC,CAAA;IACvC,IAAI1C,aAAa,GAAGuB,aAAa,EAAE;AACjCvB,MAAAA,aAAa,GAAGuB,aAAa,CAAA;AAC/B,KAAA;IACAgB,sBAAsB,CAACvC,aAAa,CAAC,CAAA;AACrC2C,IAAAA,WAAW,CAAC5C,UAAU,CAACC,aAAa,EAAEC,SAAS,CAAC,CAAC,CAAA;GAClD,CAAA;AAED,EAAA,IAAMoD,aAAa,GAAG,SAAhBA,aAAaA,CAAGJ,CAAC,EAAI;AACzB,IAAA,IAAI,EAAEA,CAAC,CAACK,GAAG,KAAK,OAAO,CAAC,EAAE,OAAA;AAC1BF,IAAAA,gBAAgB,EAAE,CAAA;GACnB,CAAA;AAEDG,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIC,SAAG,CAAC/B,MAAM,CAAC,EAAE,OAAA;AAEjBsB,IAAAA,gCAAgC,CAAClB,gBAAgB,GAAG,CAAC,CAAC,CAAA;IACtDU,sBAAsB,CAACV,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAG,CAAC,CAAC,CAAA;AACnEc,IAAAA,WAAW,CACT5C,UAAU,CAAC8B,gBAAgB,GAAG,CAAC,GAAGA,gBAAgB,GAAG,CAAC,EAAE5B,SAAS,CACnE,CAAC,CAAA;GACF,EAAE,CAACwB,MAAM,EAAExB,SAAS,EAAE4B,gBAAgB,CAAC,CAAC,CAAA;AAEzC0B,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAME,WAAW,GAAGC,cAAQ,CAACpC,YAAY,EAAAqC,eAAA,CAAA,EAAA,EACnCb,6BAA6B,IAC/BR,mBAAmB,GAAG,CAAC,IAAI;AAAEsB,MAAAA,IAAI,EAAEtB,mBAAAA;AAAoB,KAAC,CAC3D,CAAC,CAAA;IAEFH,YAAY,CAACsB,WAAW,CAAC,CAAA;GAC1B,EAAE,CAACnC,YAAY,EAAEwB,6BAA6B,EAAER,mBAAmB,CAAC,CAAC,CAAA;EAEtE,oBACEuB,eAAA,CAAAC,mBAAA,EAAA;AAAAC,IAAAA,QAAA,gBACEF,eAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,4FAA4F;MAAAD,QAAA,EAAA,cACzGE,cAAA,CAACC,OAAO,EAAA;AAACC,QAAAA,OAAO,EAAEjC,SAAU;QAAA6B,QAAA,eAC1BE,cAAA,CAACG,UAAU,EAAA;AAACJ,UAAAA,SAAS,EAAC,UAAU;AAACK,UAAAA,KAAK,EAAC,OAAO;AAAAN,UAAAA,QAAA,EAC3C7B,SAAAA;SACS,CAAA;AAAC,OACN,CAAC,eACV+B,cAAA,CAACK,qBAAqB,EAAA;AACpBN,QAAAA,SAAS,EAAC,eAAe;AACzBK,QAAAA,KAAK,EAAC,WAAW;AACjBlB,QAAAA,KAAK,EAAEjB,SAAAA;AAAU,OAClB,CAAC,CAAA;KACC,CAAC,eACN2B,eAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,2BAA2B;MAAAD,QAAA,EAAA,cACxCE,cAAA,CAACM,QAAQ,EAAA;AACPC,QAAAA,OAAO,EAAE1B,6BAA8B;AACvCkB,QAAAA,SAAS,EAAC,QAAQ;AAClB,QAAA,SAAA,EAAQ,eAAe;AACvBS,QAAAA,KAAK,EAAE7C,CAAC,CAAC,6CAA6C,CAAE;AACxD8C,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAC,KAAA,EAAA;AAAA,UAAA,IAAeH,OAAO,GAAAG,KAAA,CAAjBzB,MAAM,CAAIsB,OAAO,CAAA;UAAA,OAC5BzB,gCAAgC,CAACyB,OAAO,CAAC,CAAA;AAAA,SAAA;AAC1C,OACF,CAAC,eACFP,cAAA,CAACW,KAAK,EAAA;AACJZ,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,YAAY;AACpBa,QAAAA,QAAQ,EAAErB,SAAG,CAACV,6BAA6B,CAAE;AAC7CgC,QAAAA,WAAW,EAAE7E,SAAS,GAAG,UAAU,GAAG,OAAQ;AAC9CkD,QAAAA,KAAK,EAAET,QAAS;AAChBqC,QAAAA,MAAM,EAAE3B,gBAAiB;AACzBsB,QAAAA,QAAQ,EAAE1B,6BAA8B;AACxCgC,QAAAA,SAAS,EAAE3B,aAAAA;AAAc,OAC1B,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP,CAAC;;;;;ACzGD,IAAM4B,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA5D,IAAA,EAQlB;AAAA,EAAA,IAPJC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IACZC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,mBAAmB,GAAAH,IAAA,CAAnBG,mBAAmB;IACnBC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNyD,OAAO,GAAA7D,IAAA,CAAP6D,OAAO;IAAAC,cAAA,GAAA9D,IAAA,CACP+D,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;AACdE,IAAAA,UAAU,GAAAC,wBAAA,CAAAjE,IAAA,EAAAkE,SAAA,CAAA,CAAA;AAEb,EAAA,IAAA7D,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;EAET,oBACEiC,eAAA,CAAC2B,IAAI,EAAA7B,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAA;AACGlC,IAAAA,MAAM,EAANA,MAAM;AAAEyD,IAAAA,OAAO,EAAPA,OAAAA;AAAO,GAAA,EAAKG,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;AACpC,IAAA,SAAA,EAAQ,YAAY;AACpBI,IAAAA,IAAI,EAAC,OAAO;AAAA1B,IAAAA,QAAA,EAEZE,cAAAA,cAAA,CAACuB,IAAI,CAACE,MAAM,EAAA;MAAA3B,QAAA,eACVE,cAAA,CAACG,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;QAAAN,QAAA,EACnBnC,CAAC,CAAC,qCAAqC,CAAA;OAC9B,CAAA;AAAC,KACF,CAAC,eACdqC,cAAA,CAACuB,IAAI,CAACG,IAAI,EAAA;AAAC3B,MAAAA,SAAS,EAAC,yBAAyB;AAAAD,MAAAA,QAAA,EAC3CqB,SAAS,gBACRnB,cAAA,CAAC2B,OAAO,EAAA;AAAC5B,QAAAA,SAAS,EAAC,SAAA;AAAS,OAAE,CAAC,gBAE/BC,cAAA,CAAC7C,aAAa,EAAA;AACNI,QAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEC,QAAAA,MAAM,EAANA,MAAM;AAAEH,QAAAA,YAAY,EAAZA,YAAY;AAAEC,QAAAA,aAAa,EAAbA,aAAAA;OAClD,CAAA;AACF,KACQ,CAAC,CAAA;AAAA,GAAA,CACR,CAAC,CAAA;AAEX;;;;"}
@@ -31,8 +31,8 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
31
31
  var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
32
32
  require('@bigbinary/neeto-commons-frontend/react-utils/withT');
33
33
  require('@bigbinary/neeto-editor/EditorContent');
34
- require('./index-57253dc4.js');
35
- require('./_commonjsHelpers-b3309d7b.js');
34
+ require('./index-JY2zVpnv.js');
35
+ require('./_commonjsHelpers-BJu3ubxk.js');
36
36
  require('@bigbinary/neeto-icons/Upload');
37
37
  require('@bigbinary/neetoui/Toastr');
38
38
  require('@bigbinary/neetoui/formik/MultiEmailInput');
@@ -42,10 +42,7 @@ require('@bigbinary/neeto-icons/Download');
42
42
  require('@bigbinary/neetoui/Callout');
43
43
  require('stream');
44
44
 
45
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
46
-
47
- function _interopNamespace(e) {
48
- if (e && e.__esModule) return e;
45
+ function _interopNamespaceDefault(e) {
49
46
  var n = Object.create(null);
50
47
  if (e) {
51
48
  Object.keys(e).forEach(function (k) {
@@ -58,28 +55,11 @@ function _interopNamespace(e) {
58
55
  }
59
56
  });
60
57
  }
61
- n["default"] = e;
58
+ n.default = e;
62
59
  return Object.freeze(n);
63
60
  }
64
61
 
65
- var LeftArrow__default = /*#__PURE__*/_interopDefaultLegacy(LeftArrow);
66
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
67
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
68
- var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form$1);
69
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
70
- var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
71
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
72
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
73
- var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
74
- var Up__default = /*#__PURE__*/_interopDefaultLegacy(Up);
75
- var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
76
- var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
77
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
78
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
79
- var DatePicker__default = /*#__PURE__*/_interopDefaultLegacy(DatePicker);
80
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
81
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
82
- var FormikEditor__default = /*#__PURE__*/_interopDefaultLegacy(FormikEditor);
62
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
83
63
 
84
64
  var INITIAL_VALUES = {
85
65
  sendFromEmail: "",
@@ -96,7 +76,7 @@ var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
96
76
  var TIME_FORMAT = "hh:mm A";
97
77
 
98
78
  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; }
99
- 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; }
79
+ 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(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; }
100
80
  var isPastDate = function isPastDate(date) {
101
81
  return utils$1.dayjs(date).isBefore(utils$1.dayjs().subtract(1, "days"));
102
82
  };
@@ -162,19 +142,19 @@ var disabledTime = function disabledTime(selectedDate) {
162
142
 
163
143
  var _excluded = ["name", "disabledDate"];
164
144
  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; }
165
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
145
+ 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; }
166
146
  var FormikDatePicker = function FormikDatePicker(_ref) {
167
147
  var name = _ref.name,
168
148
  disabledDate = _ref.disabledDate,
169
- props = _objectWithoutProperties__default["default"](_ref, _excluded);
149
+ props = _objectWithoutProperties(_ref, _excluded);
170
150
  var _useField = formik.useField(name),
171
- _useField2 = _slicedToArray__default["default"](_useField, 3),
151
+ _useField2 = _slicedToArray(_useField, 3),
172
152
  field = _useField2[0],
173
153
  meta = _useField2[1],
174
154
  _useField2$ = _useField2[2],
175
155
  setValue = _useField2$.setValue,
176
156
  setTouched = _useField2$.setTouched;
177
- return /*#__PURE__*/jsxRuntime.jsx(DatePicker__default["default"], _objectSpread(_objectSpread({
157
+ return /*#__PURE__*/jsxRuntime.jsx(DatePicker, _objectSpread(_objectSpread({
178
158
  showTime: true,
179
159
  timeFormat: TIME_FORMAT
180
160
  }, _objectSpread(_objectSpread(_objectSpread({}, field), meta), {}, {
@@ -203,7 +183,7 @@ var AdvancedProperties = function AdvancedProperties(_ref) {
203
183
  var _useFormikContext = formik.useFormikContext(),
204
184
  values = _useFormikContext.values;
205
185
  var _useState = React.useState(false),
206
- _useState2 = _slicedToArray__default["default"](_useState, 2),
186
+ _useState2 = _slicedToArray(_useState, 2),
207
187
  isAdvancedPropertiesVisible = _useState2[0],
208
188
  setIsAdvancedPropertiesVisible = _useState2[1];
209
189
  var toggleAdvancedOptions = function toggleAdvancedOptions() {
@@ -215,28 +195,28 @@ var AdvancedProperties = function AdvancedProperties(_ref) {
215
195
  className: "flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4",
216
196
  type: "button",
217
197
  onClick: toggleAdvancedOptions,
218
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
198
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
219
199
  className: "flex min-w-0 flex-grow",
220
200
  component: "span",
221
201
  style: "h5",
222
202
  weight: "medium",
223
203
  children: t("neetoMolecules.shareViaEmail.advancedProperties")
224
- }), isAdvancedPropertiesVisible ? /*#__PURE__*/jsxRuntime.jsx(Up__default["default"], {
204
+ }), isAdvancedPropertiesVisible ? /*#__PURE__*/jsxRuntime.jsx(Up, {
225
205
  className: "flex-shrink-0",
226
206
  size: 20
227
- }) : /*#__PURE__*/jsxRuntime.jsx(Down__default["default"], {
207
+ }) : /*#__PURE__*/jsxRuntime.jsx(Down, {
228
208
  className: "flex-shrink-0",
229
209
  size: 20
230
210
  })]
231
211
  }), isAdvancedPropertiesVisible && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
232
212
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
233
- children: /*#__PURE__*/jsxRuntime.jsxs(Label__default["default"], {
213
+ children: /*#__PURE__*/jsxRuntime.jsxs(Label, {
234
214
  className: "flex items-center gap-2",
235
- children: [/*#__PURE__*/jsxRuntime.jsx(Switch__default["default"], {
215
+ children: [/*#__PURE__*/jsxRuntime.jsx(Switch, {
236
216
  "data-cy": "send-later-switch",
237
217
  "data-testid": "send-later-switch",
238
218
  name: "isSendLaterEnabled"
239
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
219
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
240
220
  component: "span",
241
221
  "data-cy": "send-later-label",
242
222
  lineHeight: "normal",
@@ -252,27 +232,27 @@ var AdvancedProperties = function AdvancedProperties(_ref) {
252
232
  disabledDate: isPastDate,
253
233
  name: "sendEmailDatetime",
254
234
  size: "large"
255
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
235
+ }), /*#__PURE__*/jsxRuntime.jsx(Input, {
256
236
  required: true,
257
237
  className: "w-full",
258
238
  label: t("neetoMolecules.shareViaEmail.startButtonText"),
259
239
  name: "actionButtonText"
260
240
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
261
241
  className: "flex w-full flex-col gap-4 sm:flex-row sm:gap-6",
262
- children: [showSendFromField && /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
242
+ children: [showSendFromField && /*#__PURE__*/jsxRuntime.jsx(Input, {
263
243
  required: true,
264
244
  "data-testid": "neeto-molecules-share-via-email-send-from",
265
245
  label: t("neetoMolecules.shareViaEmail.sendFrom"),
266
246
  name: "sendFromEmail",
267
- className: classnames__default["default"]({
247
+ className: classnames({
268
248
  "w-full flex-grow-0": !disableReplyTo
269
249
  })
270
- }), !disableReplyTo && /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
250
+ }), !disableReplyTo && /*#__PURE__*/jsxRuntime.jsx(Input, {
271
251
  required: true,
272
252
  "data-testid": "replyTo-field",
273
253
  label: t("neetoMolecules.shareViaEmail.replyTo"),
274
254
  name: "replyToEmail",
275
- className: classnames__default["default"]({
255
+ className: classnames({
276
256
  "w-full flex-grow-0": showSendFromField
277
257
  })
278
258
  })]
@@ -286,7 +266,7 @@ var EmailBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
286
266
  showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
287
267
  var _useTranslation = reactI18next.useTranslation(),
288
268
  t = _useTranslation.t;
289
- return /*#__PURE__*/jsxRuntime.jsx(FormikEditor__default["default"], {
269
+ return /*#__PURE__*/jsxRuntime.jsx(FormikEditor, {
290
270
  id: id,
291
271
  ref: ref,
292
272
  required: true,
@@ -294,7 +274,7 @@ var EmailBody = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
294
274
  "data-cy": "email-body",
295
275
  label: t("neetoMolecules.shareViaEmail.emailBody"),
296
276
  name: "emailBody",
297
- addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray__default["default"](EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
277
+ addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
298
278
  });
299
279
  });
300
280
  EmailBody.displayName = "EmailBody";
@@ -322,7 +302,7 @@ var Form = function Form(_ref) {
322
302
  name: "notifyEmails",
323
303
  required: true
324
304
  }
325
- }), /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
305
+ }), /*#__PURE__*/jsxRuntime.jsx(Input, {
326
306
  required: true,
327
307
  className: "col-span-1",
328
308
  label: t("neetoMolecules.shareViaEmail.subject"),
@@ -345,7 +325,7 @@ var Form = function Form(_ref) {
345
325
  }), children]
346
326
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
347
327
  className: "mt-6",
348
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
328
+ children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
349
329
  cancelButtonProps: {
350
330
  label: t("neetoMolecules.shareViaEmail.reset"),
351
331
  type: "reset",
@@ -383,7 +363,7 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
383
363
  className: "neeto-ui-bg-gray-100 flex w-full flex-1 flex-col p-6 md:p-8",
384
364
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
385
365
  className: "mx-auto flex w-full max-w-7xl flex-col",
386
- children: /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
366
+ children: /*#__PURE__*/jsxRuntime.jsx(Form$1, {
387
367
  scrollToErrorField: true,
388
368
  formProps: {
389
369
  noValidate: true
@@ -401,10 +381,10 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
401
381
  className: "grid grid-cols-1 gap-8 md:grid-cols-12",
402
382
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
403
383
  className: "col-span-1 md:col-span-6 lg:col-span-5",
404
- children: [backToUrl && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
384
+ children: [backToUrl && /*#__PURE__*/jsxRuntime.jsx(Button, {
405
385
  className: "mb-4",
406
386
  "data-testid": "back-to-url-button",
407
- icon: LeftArrow__default["default"],
387
+ icon: LeftArrow,
408
388
  iconPosition: "left",
409
389
  label: t("neetoMolecules.shareViaEmail.backToShare"),
410
390
  size: "small",
@@ -412,14 +392,14 @@ var ShareViaEmail = function ShareViaEmail(_ref) {
412
392
  to: backToUrl
413
393
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
414
394
  className: "mb-6",
415
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
395
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
416
396
  className: "mb-0.5 break-words",
417
397
  "data-cy": "share-via-email-heading",
418
398
  lineHeight: "normal",
419
399
  style: "h2",
420
400
  weight: "semibold",
421
401
  children: shareViaEmailTitle
422
- }), description && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
402
+ }), description && /*#__PURE__*/jsxRuntime.jsx(Typography, {
423
403
  className: "neeto-ui-text-gray-700",
424
404
  "data-cy": "share-via-email-sub-heading",
425
405
  lineHeight: "normal",
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/AdvancedProperties.jsx","../../src/components/ShareViaEmail/EmailBodyEditor.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 { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\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 { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\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 className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\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 </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\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 { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { 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 <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\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","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","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/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/AdvancedProperties.jsx","../../src/components/ShareViaEmail/EmailBodyEditor.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 { t } from \"i18next\";\nimport { dynamicArray, isNot } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\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 { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Down, Up } from \"neetoicons\";\nimport { Label, Typography } from \"neetoui\";\nimport { Input, Switch } from \"neetoui/formik\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst AdvancedProperties = ({ showSendFromField, disableReplyTo }) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n\n const [isAdvancedPropertiesVisible, setIsAdvancedPropertiesVisible] =\n useState(false);\n\n const toggleAdvancedOptions = () => setIsAdvancedPropertiesVisible(not);\n\n return (\n <div className=\"flex w-full flex-col items-start gap-4\">\n <button\n className=\"flex w-full cursor-pointer items-start justify-between overflow-hidden border-0 py-4\"\n type=\"button\"\n onClick={toggleAdvancedOptions}\n >\n <Typography\n className=\"flex min-w-0 flex-grow\"\n component=\"span\"\n style=\"h5\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaEmail.advancedProperties\")}\n </Typography>\n {isAdvancedPropertiesVisible ? (\n <Up className=\"flex-shrink-0\" size={20} />\n ) : (\n <Down className=\"flex-shrink-0\" size={20} />\n )}\n </button>\n {isAdvancedPropertiesVisible && (\n <>\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 className=\"w-full\"\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex w-full flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n className={classNames({\n \"w-full flex-grow-0\": !disableReplyTo,\n })}\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 </>\n )}\n </div>\n );\n};\n\nexport default AdvancedProperties;\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 { useRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport AdvancedProperties from \"./AdvancedProperties\";\nimport EmailBody from \"./EmailBodyEditor\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { 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 <AdvancedProperties {...{ disableReplyTo, showSendFromField }} />\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","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","required","t","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","name","disabledTime","selectedDate","current","startOf","today","disabledHours","dynamicArray","i","disabledMinutes","isSame","currentTime","currentHour","hour","currentMinute","minute","selectedHour","FormikDatePicker","_ref","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","_useField2$","setValue","setTouched","_jsx","DatePicker","showTime","timeFormat","timePickerProps","onBlur","touched","onChange","AdvancedProperties","showSendFromField","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","_useState","useState","_useState2","isAdvancedPropertiesVisible","setIsAdvancedPropertiesVisible","toggleAdvancedOptions","not","_jsxs","className","children","type","onClick","Typography","component","style","weight","Up","size","Down","_Fragment","Label","Switch","lineHeight","autoFocus","Input","label","classNames","EmailBody","forwardRef","ref","id","showVideoEmbedInEditor","FormikEditor","addons","concat","_toConsumableArray","displayName","Form","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","SendToFields","showUploadCsvButton","emailInputProps","ActionBlock","cancelButtonProps","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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"}