@bigbinary/neeto-molecules 1.0.114 → 1.0.115
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.
- package/README.md +1 -0
- package/dist/EmailForm.cjs.js +110 -54
- package/dist/EmailForm.cjs.js.map +1 -1
- package/dist/EmailForm.js +111 -55
- package/dist/EmailForm.js.map +1 -1
- package/dist/SendToFields.cjs.js +2524 -0
- package/dist/SendToFields.cjs.js.map +1 -0
- package/dist/SendToFields.js +2517 -0
- package/dist/SendToFields.js.map +1 -0
- package/dist/ShareViaEmail.cjs.js +284 -221
- package/dist/ShareViaEmail.cjs.js.map +1 -1
- package/dist/ShareViaEmail.js +287 -224
- package/dist/ShareViaEmail.js.map +1 -1
- package/package.json +2 -2
- package/src/translations/en.json +6 -0
- package/types/NavigationHeader.d.ts +63 -41
- package/types/SendToFields.d.ts +63 -0
package/dist/ShareViaEmail.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useRef, forwardRef } from 'react';
|
|
2
2
|
import { Upload, LeftArrow } from '@bigbinary/neeto-icons';
|
|
3
|
-
import { Typography, Button, DatePicker, Label } from '@bigbinary/neetoui';
|
|
3
|
+
import { Typography, Button, Toastr, DatePicker, Label } from '@bigbinary/neetoui';
|
|
4
4
|
import { MultiEmailInput, Input, Switch, ActionBlock, Form as Form$1 } from '@bigbinary/neetoui/formik';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import { isPresent, isNotEmpty
|
|
6
|
+
import { isPresent, isNotEmpty } from '@bigbinary/neeto-commons-frontend/pure';
|
|
7
7
|
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
8
8
|
import { EditorContent, FormikEditor, isEditorEmpty } from '@bigbinary/neeto-editor';
|
|
9
|
-
import {
|
|
10
|
-
import dayjs from 'dayjs';
|
|
9
|
+
import { useFormikContext, useField } from 'formik';
|
|
11
10
|
import { t } from 'i18next';
|
|
12
11
|
import require$$0 from 'stream';
|
|
13
12
|
import { prop } from 'ramda';
|
|
14
13
|
import * as yup from 'yup';
|
|
15
14
|
import { string } from 'yup';
|
|
15
|
+
import dayjs from 'dayjs';
|
|
16
16
|
|
|
17
17
|
function _typeof$1(obj) {
|
|
18
18
|
"@babel/helpers - typeof";
|
|
@@ -1421,36 +1421,19 @@ EmailPreview.propTypes = {
|
|
|
1421
1421
|
logo: propTypes.exports.string
|
|
1422
1422
|
};
|
|
1423
1423
|
|
|
1424
|
-
function
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
_e,
|
|
1433
|
-
_x,
|
|
1434
|
-
_r,
|
|
1435
|
-
_arr = [],
|
|
1436
|
-
_n = !0,
|
|
1437
|
-
_d = !1;
|
|
1438
|
-
try {
|
|
1439
|
-
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
1440
|
-
if (Object(_i) !== _i) return;
|
|
1441
|
-
_n = !1;
|
|
1442
|
-
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
1443
|
-
} catch (err) {
|
|
1444
|
-
_d = !0, _e = err;
|
|
1445
|
-
} finally {
|
|
1446
|
-
try {
|
|
1447
|
-
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
1448
|
-
} finally {
|
|
1449
|
-
if (_d) throw _e;
|
|
1424
|
+
function _extends() {
|
|
1425
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
1426
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
1427
|
+
var source = arguments[i];
|
|
1428
|
+
for (var key in source) {
|
|
1429
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1430
|
+
target[key] = source[key];
|
|
1431
|
+
}
|
|
1450
1432
|
}
|
|
1451
1433
|
}
|
|
1452
|
-
return
|
|
1453
|
-
}
|
|
1434
|
+
return target;
|
|
1435
|
+
};
|
|
1436
|
+
return _extends.apply(this, arguments);
|
|
1454
1437
|
}
|
|
1455
1438
|
|
|
1456
1439
|
function _arrayLikeToArray(arr, len) {
|
|
@@ -1459,6 +1442,14 @@ function _arrayLikeToArray(arr, len) {
|
|
|
1459
1442
|
return arr2;
|
|
1460
1443
|
}
|
|
1461
1444
|
|
|
1445
|
+
function _arrayWithoutHoles(arr) {
|
|
1446
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
function _iterableToArray(iter) {
|
|
1450
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1462
1453
|
function _unsupportedIterableToArray(o, minLen) {
|
|
1463
1454
|
if (!o) return;
|
|
1464
1455
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -1468,12 +1459,12 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
1468
1459
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
1469
1460
|
}
|
|
1470
1461
|
|
|
1471
|
-
function
|
|
1472
|
-
throw new TypeError("Invalid attempt to
|
|
1462
|
+
function _nonIterableSpread() {
|
|
1463
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1473
1464
|
}
|
|
1474
1465
|
|
|
1475
|
-
function
|
|
1476
|
-
return
|
|
1466
|
+
function _toConsumableArray(arr) {
|
|
1467
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
1477
1468
|
}
|
|
1478
1469
|
|
|
1479
1470
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -1846,62 +1837,17 @@ try {
|
|
|
1846
1837
|
}
|
|
1847
1838
|
}
|
|
1848
1839
|
|
|
1849
|
-
var INITIAL_VALUES = {
|
|
1850
|
-
sendFromEmail: "",
|
|
1851
|
-
replyToEmail: "",
|
|
1852
|
-
notifyEmails: [],
|
|
1853
|
-
emailSubject: "",
|
|
1854
|
-
emailBody: "",
|
|
1855
|
-
isSendLaterEnabled: false,
|
|
1856
|
-
sendEmailDatetime: undefined,
|
|
1857
|
-
category: "email_share",
|
|
1858
|
-
actionButtonText: ""
|
|
1859
|
-
};
|
|
1860
|
-
var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
|
|
1861
1840
|
var ALLOWED_FILE_PICKER_TYPES = [".csv"];
|
|
1862
1841
|
|
|
1863
|
-
function _arrayWithoutHoles(arr) {
|
|
1864
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
1865
|
-
}
|
|
1866
|
-
|
|
1867
|
-
function _iterableToArray(iter) {
|
|
1868
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
1869
|
-
}
|
|
1870
|
-
|
|
1871
|
-
function _nonIterableSpread() {
|
|
1872
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1873
|
-
}
|
|
1874
|
-
|
|
1875
|
-
function _toConsumableArray(arr) {
|
|
1876
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
1877
|
-
}
|
|
1878
|
-
|
|
1879
|
-
var EmailBody = function EmailBody(_ref, ref) {
|
|
1880
|
-
var id = _ref.id,
|
|
1881
|
-
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
|
|
1882
|
-
var _useTranslation = useTranslation(),
|
|
1883
|
-
t = _useTranslation.t;
|
|
1884
|
-
return /*#__PURE__*/React.createElement(FormikEditor, {
|
|
1885
|
-
required: true,
|
|
1886
|
-
className: "mb-6",
|
|
1887
|
-
"data-cy": "email-body",
|
|
1888
|
-
id: id,
|
|
1889
|
-
label: t("neetoMolecules.shareViaEmail.emailBody"),
|
|
1890
|
-
name: "emailBody",
|
|
1891
|
-
ref: ref,
|
|
1892
|
-
addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
|
|
1893
|
-
});
|
|
1894
|
-
};
|
|
1895
|
-
var EmailBody$1 = /*#__PURE__*/forwardRef(EmailBody);
|
|
1896
|
-
|
|
1897
1842
|
var FilePicker = function FilePicker(_ref) {
|
|
1898
1843
|
var _ref$types = _ref.types,
|
|
1899
1844
|
types = _ref$types === void 0 ? [] : _ref$types,
|
|
1900
|
-
onChange = _ref.onChange
|
|
1901
|
-
|
|
1902
|
-
t = _useTranslation.t;
|
|
1845
|
+
onChange = _ref.onChange,
|
|
1846
|
+
children = _ref.children;
|
|
1903
1847
|
var inputRef = useRef();
|
|
1904
|
-
var accept = types.
|
|
1848
|
+
var accept = types.reduce(function (acc, ext) {
|
|
1849
|
+
return "".concat(acc, ", ").concat(ext);
|
|
1850
|
+
}, "");
|
|
1905
1851
|
var handleInputChange = function handleInputChange(_ref2) {
|
|
1906
1852
|
var target = _ref2.target;
|
|
1907
1853
|
if (!target.files) return;
|
|
@@ -1915,16 +1861,9 @@ var FilePicker = function FilePicker(_ref) {
|
|
|
1915
1861
|
if (!inputRef.current) return;
|
|
1916
1862
|
inputRef.current.click();
|
|
1917
1863
|
};
|
|
1918
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
1919
|
-
icon: Upload,
|
|
1920
|
-
label: t("neetoMolecules.shareViaEmail.uploadCsv"),
|
|
1921
|
-
size: "small",
|
|
1922
|
-
style: "link",
|
|
1923
|
-
tooltipProps: {
|
|
1924
|
-
content: t("neetoMolecules.shareViaEmail.uploadCsvTooltip")
|
|
1925
|
-
},
|
|
1864
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1926
1865
|
onClick: handleClick
|
|
1927
|
-
}), /*#__PURE__*/React.createElement("input", {
|
|
1866
|
+
}, children), /*#__PURE__*/React.createElement("input", {
|
|
1928
1867
|
accept: accept,
|
|
1929
1868
|
className: "hidden",
|
|
1930
1869
|
ref: inputRef,
|
|
@@ -1932,69 +1871,6 @@ var FilePicker = function FilePicker(_ref) {
|
|
|
1932
1871
|
onChange: handleInputChange
|
|
1933
1872
|
}));
|
|
1934
1873
|
};
|
|
1935
|
-
var FilePicker$1 = /*#__PURE__*/React.memo(FilePicker);
|
|
1936
|
-
|
|
1937
|
-
function _extends() {
|
|
1938
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
1939
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
1940
|
-
var source = arguments[i];
|
|
1941
|
-
for (var key in source) {
|
|
1942
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1943
|
-
target[key] = source[key];
|
|
1944
|
-
}
|
|
1945
|
-
}
|
|
1946
|
-
}
|
|
1947
|
-
return target;
|
|
1948
|
-
};
|
|
1949
|
-
return _extends.apply(this, arguments);
|
|
1950
|
-
}
|
|
1951
|
-
|
|
1952
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
1953
|
-
if (source == null) return {};
|
|
1954
|
-
var target = {};
|
|
1955
|
-
var sourceKeys = Object.keys(source);
|
|
1956
|
-
var key, i;
|
|
1957
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
1958
|
-
key = sourceKeys[i];
|
|
1959
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1960
|
-
target[key] = source[key];
|
|
1961
|
-
}
|
|
1962
|
-
return target;
|
|
1963
|
-
}
|
|
1964
|
-
|
|
1965
|
-
function _objectWithoutProperties(source, excluded) {
|
|
1966
|
-
if (source == null) return {};
|
|
1967
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1968
|
-
var key, i;
|
|
1969
|
-
if (Object.getOwnPropertySymbols) {
|
|
1970
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1971
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1972
|
-
key = sourceSymbolKeys[i];
|
|
1973
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1974
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
1975
|
-
target[key] = source[key];
|
|
1976
|
-
}
|
|
1977
|
-
}
|
|
1978
|
-
return target;
|
|
1979
|
-
}
|
|
1980
|
-
|
|
1981
|
-
var _excluded = ["name"];
|
|
1982
|
-
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
1983
|
-
var name = _ref.name,
|
|
1984
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
1985
|
-
var _useField = useField(name),
|
|
1986
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
1987
|
-
field = _useField2[0],
|
|
1988
|
-
meta = _useField2[1],
|
|
1989
|
-
setValue = _useField2[2].setValue;
|
|
1990
|
-
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, field, meta, {
|
|
1991
|
-
onChange: function onChange(date) {
|
|
1992
|
-
return setValue(date || undefined);
|
|
1993
|
-
}
|
|
1994
|
-
}, props, {
|
|
1995
|
-
"data-cy": "email-share-date-input"
|
|
1996
|
-
}));
|
|
1997
|
-
};
|
|
1998
1874
|
|
|
1999
1875
|
var papaparse = {exports: {}};
|
|
2000
1876
|
|
|
@@ -3910,14 +3786,9 @@ License: MIT
|
|
|
3910
3786
|
|
|
3911
3787
|
var Papa = papaparse.exports;
|
|
3912
3788
|
|
|
3913
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3914
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3915
3789
|
var isValidEmail = function isValidEmail(email) {
|
|
3916
3790
|
return string().email().isValidSync(email);
|
|
3917
3791
|
};
|
|
3918
|
-
var isPastDate = function isPastDate(date) {
|
|
3919
|
-
return dayjs(date).isBefore(dayjs().subtract(1, "days"));
|
|
3920
|
-
};
|
|
3921
3792
|
var createEmailOptions = function createEmailOptions() {
|
|
3922
3793
|
var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
3923
3794
|
return emails.map(function (email) {
|
|
@@ -3928,27 +3799,253 @@ var createEmailOptions = function createEmailOptions() {
|
|
|
3928
3799
|
};
|
|
3929
3800
|
});
|
|
3930
3801
|
};
|
|
3931
|
-
var parseCsvEmails = function
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3802
|
+
var parseCsvEmails = /*#__PURE__*/function () {
|
|
3803
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(file, onSuccess) {
|
|
3804
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
3805
|
+
while (1) switch (_context.prev = _context.next) {
|
|
3806
|
+
case 0:
|
|
3807
|
+
Papa.parse(file, {
|
|
3808
|
+
header: true,
|
|
3809
|
+
skipEmptyLines: true,
|
|
3810
|
+
transformHeader: function transformHeader(h) {
|
|
3811
|
+
return h.toLowerCase().replace(/\W/g, "");
|
|
3812
|
+
},
|
|
3813
|
+
complete: function complete(results) {
|
|
3814
|
+
var _results$meta$fields;
|
|
3815
|
+
var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
|
|
3816
|
+
if (isEmailFieldPresent) {
|
|
3817
|
+
var emails = results.data.filter(prop("email")).map(function (item) {
|
|
3818
|
+
return item.email.trim();
|
|
3819
|
+
});
|
|
3820
|
+
onSuccess(createEmailOptions(emails));
|
|
3821
|
+
} else {
|
|
3822
|
+
Toastr.error(t("neetoMolecules.sendToFields.errors.invalidCsv"));
|
|
3823
|
+
}
|
|
3824
|
+
}
|
|
3825
|
+
});
|
|
3826
|
+
case 1:
|
|
3827
|
+
case "end":
|
|
3828
|
+
return _context.stop();
|
|
3948
3829
|
}
|
|
3949
|
-
});
|
|
3830
|
+
}, _callee);
|
|
3831
|
+
}));
|
|
3832
|
+
return function parseCsvEmails(_x, _x2) {
|
|
3833
|
+
return _ref.apply(this, arguments);
|
|
3834
|
+
};
|
|
3835
|
+
}();
|
|
3836
|
+
|
|
3837
|
+
var SendToFields = function SendToFields(_ref) {
|
|
3838
|
+
var emailInputProps = _ref.emailInputProps,
|
|
3839
|
+
ccInputProps = _ref.ccInputProps,
|
|
3840
|
+
bccInputProps = _ref.bccInputProps,
|
|
3841
|
+
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
3842
|
+
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
3843
|
+
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
3844
|
+
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton;
|
|
3845
|
+
var sendToFieldRef = useRef();
|
|
3846
|
+
var _useFormikContext = useFormikContext(),
|
|
3847
|
+
_useFormikContext$val = _useFormikContext.values,
|
|
3848
|
+
showCopyEmails = _useFormikContext$val.showCopyEmails,
|
|
3849
|
+
existingSendToEmails = _useFormikContext$val[emailInputProps.name || "sendTo"],
|
|
3850
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
3851
|
+
var _useTranslation = useTranslation(),
|
|
3852
|
+
t = _useTranslation.t;
|
|
3853
|
+
var handleCSVFile = /*#__PURE__*/function () {
|
|
3854
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(files) {
|
|
3855
|
+
var _sendToFieldRef$curre, onSuccess;
|
|
3856
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
3857
|
+
while (1) switch (_context.prev = _context.next) {
|
|
3858
|
+
case 0:
|
|
3859
|
+
_context.prev = 0;
|
|
3860
|
+
onSuccess = function onSuccess(values) {
|
|
3861
|
+
return setFieldValue(emailInputProps.name || "sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
|
|
3862
|
+
};
|
|
3863
|
+
_context.next = 4;
|
|
3864
|
+
return parseCsvEmails(files[0], onSuccess);
|
|
3865
|
+
case 4:
|
|
3866
|
+
(_sendToFieldRef$curre = sendToFieldRef.current) === null || _sendToFieldRef$curre === void 0 ? void 0 : _sendToFieldRef$curre.focus();
|
|
3867
|
+
_context.next = 10;
|
|
3868
|
+
break;
|
|
3869
|
+
case 7:
|
|
3870
|
+
_context.prev = 7;
|
|
3871
|
+
_context.t0 = _context["catch"](0);
|
|
3872
|
+
Toastr.error(_context.t0);
|
|
3873
|
+
case 10:
|
|
3874
|
+
case "end":
|
|
3875
|
+
return _context.stop();
|
|
3876
|
+
}
|
|
3877
|
+
}, _callee, null, [[0, 7]]);
|
|
3878
|
+
}));
|
|
3879
|
+
return function handleCSVFile(_x) {
|
|
3880
|
+
return _ref2.apply(this, arguments);
|
|
3881
|
+
};
|
|
3882
|
+
}();
|
|
3883
|
+
var handelCcBccButtonClick = function handelCcBccButtonClick(e) {
|
|
3884
|
+
e.stopPropagation();
|
|
3885
|
+
setFieldValue("showCopyEmails", !showCopyEmails);
|
|
3886
|
+
};
|
|
3887
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3888
|
+
className: "relative w-full flex-col gap-2"
|
|
3889
|
+
}, showUploadCsvButton && /*#__PURE__*/React.createElement("div", {
|
|
3890
|
+
className: "absolute top-0 right-1"
|
|
3891
|
+
}, /*#__PURE__*/React.createElement(FilePicker, {
|
|
3892
|
+
types: ALLOWED_FILE_PICKER_TYPES,
|
|
3893
|
+
onChange: handleCSVFile
|
|
3894
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
3895
|
+
"data-cy": "upload-csv-button",
|
|
3896
|
+
icon: Upload,
|
|
3897
|
+
label: t("neetoMolecules.emailForm.uploadCSV"),
|
|
3898
|
+
size: "small",
|
|
3899
|
+
style: "link",
|
|
3900
|
+
tooltipProps: {
|
|
3901
|
+
content: t("neetoMolecules.sendToFields.uploadCsvTooltip"),
|
|
3902
|
+
position: "right"
|
|
3903
|
+
}
|
|
3904
|
+
}))), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
3905
|
+
"data-testid": "emails",
|
|
3906
|
+
name: "sendTo",
|
|
3907
|
+
ref: sendToFieldRef
|
|
3908
|
+
}, emailInputProps, {
|
|
3909
|
+
suffix: showCcBccButton && /*#__PURE__*/React.createElement(Button, {
|
|
3910
|
+
"data-cy": "cc-bcc-button",
|
|
3911
|
+
"data-testid": "cc-bcc-button",
|
|
3912
|
+
label: t("neetoMolecules.emailForm.labels.ccBcc"),
|
|
3913
|
+
size: "small",
|
|
3914
|
+
style: "link",
|
|
3915
|
+
onClick: handelCcBccButtonClick
|
|
3916
|
+
})
|
|
3917
|
+
})), showCopyEmails && /*#__PURE__*/React.createElement("div", {
|
|
3918
|
+
className: "mt-5 flex w-full flex-col gap-6"
|
|
3919
|
+
}, /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
3920
|
+
name: "sendToBcc"
|
|
3921
|
+
}, ccInputProps)), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
3922
|
+
name: "sendToCc"
|
|
3923
|
+
}, bccInputProps))));
|
|
3924
|
+
};
|
|
3925
|
+
|
|
3926
|
+
var INITIAL_VALUES = {
|
|
3927
|
+
sendFromEmail: "",
|
|
3928
|
+
replyToEmail: "",
|
|
3929
|
+
notifyEmails: [],
|
|
3930
|
+
emailSubject: "",
|
|
3931
|
+
emailBody: "",
|
|
3932
|
+
isSendLaterEnabled: false,
|
|
3933
|
+
sendEmailDatetime: undefined,
|
|
3934
|
+
category: "email_share",
|
|
3935
|
+
actionButtonText: ""
|
|
3936
|
+
};
|
|
3937
|
+
var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
|
|
3938
|
+
|
|
3939
|
+
var EmailBody = function EmailBody(_ref, ref) {
|
|
3940
|
+
var id = _ref.id,
|
|
3941
|
+
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
|
|
3942
|
+
var _useTranslation = useTranslation(),
|
|
3943
|
+
t = _useTranslation.t;
|
|
3944
|
+
return /*#__PURE__*/React.createElement(FormikEditor, {
|
|
3945
|
+
required: true,
|
|
3946
|
+
className: "mb-6",
|
|
3947
|
+
"data-cy": "email-body",
|
|
3948
|
+
id: id,
|
|
3949
|
+
label: t("neetoMolecules.shareViaEmail.emailBody"),
|
|
3950
|
+
name: "emailBody",
|
|
3951
|
+
ref: ref,
|
|
3952
|
+
addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
|
|
3950
3953
|
});
|
|
3951
3954
|
};
|
|
3955
|
+
var EmailBody$1 = /*#__PURE__*/forwardRef(EmailBody);
|
|
3956
|
+
|
|
3957
|
+
function _arrayWithHoles(arr) {
|
|
3958
|
+
if (Array.isArray(arr)) return arr;
|
|
3959
|
+
}
|
|
3960
|
+
|
|
3961
|
+
function _iterableToArrayLimit(arr, i) {
|
|
3962
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
3963
|
+
if (null != _i) {
|
|
3964
|
+
var _s,
|
|
3965
|
+
_e,
|
|
3966
|
+
_x,
|
|
3967
|
+
_r,
|
|
3968
|
+
_arr = [],
|
|
3969
|
+
_n = !0,
|
|
3970
|
+
_d = !1;
|
|
3971
|
+
try {
|
|
3972
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
3973
|
+
if (Object(_i) !== _i) return;
|
|
3974
|
+
_n = !1;
|
|
3975
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
3976
|
+
} catch (err) {
|
|
3977
|
+
_d = !0, _e = err;
|
|
3978
|
+
} finally {
|
|
3979
|
+
try {
|
|
3980
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
3981
|
+
} finally {
|
|
3982
|
+
if (_d) throw _e;
|
|
3983
|
+
}
|
|
3984
|
+
}
|
|
3985
|
+
return _arr;
|
|
3986
|
+
}
|
|
3987
|
+
}
|
|
3988
|
+
|
|
3989
|
+
function _nonIterableRest() {
|
|
3990
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3991
|
+
}
|
|
3992
|
+
|
|
3993
|
+
function _slicedToArray(arr, i) {
|
|
3994
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
3995
|
+
}
|
|
3996
|
+
|
|
3997
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
3998
|
+
if (source == null) return {};
|
|
3999
|
+
var target = {};
|
|
4000
|
+
var sourceKeys = Object.keys(source);
|
|
4001
|
+
var key, i;
|
|
4002
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
4003
|
+
key = sourceKeys[i];
|
|
4004
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
4005
|
+
target[key] = source[key];
|
|
4006
|
+
}
|
|
4007
|
+
return target;
|
|
4008
|
+
}
|
|
4009
|
+
|
|
4010
|
+
function _objectWithoutProperties(source, excluded) {
|
|
4011
|
+
if (source == null) return {};
|
|
4012
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
4013
|
+
var key, i;
|
|
4014
|
+
if (Object.getOwnPropertySymbols) {
|
|
4015
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
4016
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
4017
|
+
key = sourceSymbolKeys[i];
|
|
4018
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
4019
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
4020
|
+
target[key] = source[key];
|
|
4021
|
+
}
|
|
4022
|
+
}
|
|
4023
|
+
return target;
|
|
4024
|
+
}
|
|
4025
|
+
|
|
4026
|
+
var _excluded = ["name"];
|
|
4027
|
+
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
4028
|
+
var name = _ref.name,
|
|
4029
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
4030
|
+
var _useField = useField(name),
|
|
4031
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
4032
|
+
field = _useField2[0],
|
|
4033
|
+
meta = _useField2[1],
|
|
4034
|
+
setValue = _useField2[2].setValue;
|
|
4035
|
+
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, field, meta, {
|
|
4036
|
+
onChange: function onChange(date) {
|
|
4037
|
+
return setValue(date || undefined);
|
|
4038
|
+
}
|
|
4039
|
+
}, props, {
|
|
4040
|
+
"data-cy": "email-share-date-input"
|
|
4041
|
+
}));
|
|
4042
|
+
};
|
|
4043
|
+
|
|
4044
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4045
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4046
|
+
var isPastDate = function isPastDate(date) {
|
|
4047
|
+
return dayjs(date).isBefore(dayjs().subtract(1, "days"));
|
|
4048
|
+
};
|
|
3952
4049
|
var generateInitialValues = function generateInitialValues(defaultValues) {
|
|
3953
4050
|
return _objectSpread(_objectSpread({}, INITIAL_VALUES), defaultValues);
|
|
3954
4051
|
};
|
|
@@ -3979,56 +4076,22 @@ var Form = function Form(_ref) {
|
|
|
3979
4076
|
children = _ref.children;
|
|
3980
4077
|
var _useFormikContext = useFormikContext(),
|
|
3981
4078
|
values = _useFormikContext.values,
|
|
3982
|
-
setFieldValue = _useFormikContext.setFieldValue,
|
|
3983
4079
|
initialValues = _useFormikContext.initialValues;
|
|
3984
4080
|
var editorRef = useRef();
|
|
3985
4081
|
var _useTranslation = useTranslation(),
|
|
3986
4082
|
t = _useTranslation.t;
|
|
3987
4083
|
var handleReset = function handleReset() {
|
|
3988
|
-
editorRef.current.editor.commands.setContent(initialValues.emailBody);
|
|
4084
|
+
return editorRef.current.editor.commands.setContent(initialValues.emailBody);
|
|
3989
4085
|
};
|
|
3990
|
-
var handleCSVFile = useCallback( /*#__PURE__*/function () {
|
|
3991
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref2) {
|
|
3992
|
-
var _ref4, file, values;
|
|
3993
|
-
return regenerator.wrap(function _callee$(_context) {
|
|
3994
|
-
while (1) switch (_context.prev = _context.next) {
|
|
3995
|
-
case 0:
|
|
3996
|
-
_ref4 = _slicedToArray(_ref2, 1), file = _ref4[0];
|
|
3997
|
-
_context.next = 3;
|
|
3998
|
-
return parseCsvEmails(file);
|
|
3999
|
-
case 3:
|
|
4000
|
-
values = _context.sent;
|
|
4001
|
-
setFieldValue("notifyEmails", values);
|
|
4002
|
-
case 5:
|
|
4003
|
-
case "end":
|
|
4004
|
-
return _context.stop();
|
|
4005
|
-
}
|
|
4006
|
-
}, _callee);
|
|
4007
|
-
}));
|
|
4008
|
-
return function (_x) {
|
|
4009
|
-
return _ref3.apply(this, arguments);
|
|
4010
|
-
};
|
|
4011
|
-
}(), []);
|
|
4012
4086
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
4013
4087
|
className: "space-y-4"
|
|
4014
|
-
}, /*#__PURE__*/React.createElement(
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
style: "h4",
|
|
4022
|
-
weight: "semibold"
|
|
4023
|
-
}, t("neetoMolecules.shareViaEmail.sendTo")), /*#__PURE__*/React.createElement(FilePicker$1, {
|
|
4024
|
-
types: ALLOWED_FILE_PICKER_TYPES,
|
|
4025
|
-
onChange: handleCSVFile
|
|
4026
|
-
})), /*#__PURE__*/React.createElement(MultiEmailInput, {
|
|
4027
|
-
filterInvalidEmails: true,
|
|
4028
|
-
required: true,
|
|
4029
|
-
label: "",
|
|
4030
|
-
name: "notifyEmails"
|
|
4031
|
-
})), /*#__PURE__*/React.createElement(Input, {
|
|
4088
|
+
}, /*#__PURE__*/React.createElement(SendToFields, {
|
|
4089
|
+
showUploadCsvButton: true,
|
|
4090
|
+
emailInputProps: {
|
|
4091
|
+
label: t("neetoMolecules.shareViaEmail.sendTo"),
|
|
4092
|
+
name: "notifyEmails"
|
|
4093
|
+
}
|
|
4094
|
+
}), /*#__PURE__*/React.createElement(Input, {
|
|
4032
4095
|
required: true,
|
|
4033
4096
|
className: "col-span-1",
|
|
4034
4097
|
label: t("neetoMolecules.shareViaEmail.subject"),
|