@bigbinary/neeto-molecules 1.0.113 → 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/NavigationHeader.cjs.js +14 -7
- package/dist/NavigationHeader.cjs.js.map +1 -1
- package/dist/NavigationHeader.js +14 -7
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/Rename.cjs.js +14 -7
- package/dist/Rename.cjs.js.map +1 -1
- package/dist/Rename.js +14 -7
- package/dist/Rename.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/dist/Sidebar.cjs.js +4 -643
- package/dist/Sidebar.cjs.js.map +1 -1
- package/dist/Sidebar.js +6 -645
- package/dist/Sidebar.js.map +1 -1
- package/package.json +2 -7
- package/src/translations/en.json +6 -0
- package/types/NavigationHeader.d.ts +63 -41
- package/types/SendToFields.d.ts +63 -0
|
@@ -9,11 +9,11 @@ var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
|
9
9
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
10
10
|
var neetoEditor = require('@bigbinary/neeto-editor');
|
|
11
11
|
var formik = require('formik');
|
|
12
|
-
var dayjs = require('dayjs');
|
|
13
12
|
var i18next = require('i18next');
|
|
14
13
|
var require$$0 = require('stream');
|
|
15
14
|
var ramda = require('ramda');
|
|
16
15
|
var yup = require('yup');
|
|
16
|
+
var dayjs = require('dayjs');
|
|
17
17
|
|
|
18
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
19
|
|
|
@@ -36,9 +36,9 @@ function _interopNamespace(e) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
39
|
-
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
40
39
|
var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0);
|
|
41
40
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
41
|
+
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
42
42
|
|
|
43
43
|
function _typeof$1(obj) {
|
|
44
44
|
"@babel/helpers - typeof";
|
|
@@ -1447,36 +1447,19 @@ EmailPreview.propTypes = {
|
|
|
1447
1447
|
logo: propTypes.exports.string
|
|
1448
1448
|
};
|
|
1449
1449
|
|
|
1450
|
-
function
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
_e,
|
|
1459
|
-
_x,
|
|
1460
|
-
_r,
|
|
1461
|
-
_arr = [],
|
|
1462
|
-
_n = !0,
|
|
1463
|
-
_d = !1;
|
|
1464
|
-
try {
|
|
1465
|
-
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
1466
|
-
if (Object(_i) !== _i) return;
|
|
1467
|
-
_n = !1;
|
|
1468
|
-
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
1469
|
-
} catch (err) {
|
|
1470
|
-
_d = !0, _e = err;
|
|
1471
|
-
} finally {
|
|
1472
|
-
try {
|
|
1473
|
-
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
1474
|
-
} finally {
|
|
1475
|
-
if (_d) throw _e;
|
|
1450
|
+
function _extends() {
|
|
1451
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
1452
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
1453
|
+
var source = arguments[i];
|
|
1454
|
+
for (var key in source) {
|
|
1455
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1456
|
+
target[key] = source[key];
|
|
1457
|
+
}
|
|
1476
1458
|
}
|
|
1477
1459
|
}
|
|
1478
|
-
return
|
|
1479
|
-
}
|
|
1460
|
+
return target;
|
|
1461
|
+
};
|
|
1462
|
+
return _extends.apply(this, arguments);
|
|
1480
1463
|
}
|
|
1481
1464
|
|
|
1482
1465
|
function _arrayLikeToArray(arr, len) {
|
|
@@ -1485,6 +1468,14 @@ function _arrayLikeToArray(arr, len) {
|
|
|
1485
1468
|
return arr2;
|
|
1486
1469
|
}
|
|
1487
1470
|
|
|
1471
|
+
function _arrayWithoutHoles(arr) {
|
|
1472
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
function _iterableToArray(iter) {
|
|
1476
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1488
1479
|
function _unsupportedIterableToArray(o, minLen) {
|
|
1489
1480
|
if (!o) return;
|
|
1490
1481
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -1494,12 +1485,12 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
|
1494
1485
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
1495
1486
|
}
|
|
1496
1487
|
|
|
1497
|
-
function
|
|
1498
|
-
throw new TypeError("Invalid attempt to
|
|
1488
|
+
function _nonIterableSpread() {
|
|
1489
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1499
1490
|
}
|
|
1500
1491
|
|
|
1501
|
-
function
|
|
1502
|
-
return
|
|
1492
|
+
function _toConsumableArray(arr) {
|
|
1493
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
1503
1494
|
}
|
|
1504
1495
|
|
|
1505
1496
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -1872,62 +1863,17 @@ try {
|
|
|
1872
1863
|
}
|
|
1873
1864
|
}
|
|
1874
1865
|
|
|
1875
|
-
var INITIAL_VALUES = {
|
|
1876
|
-
sendFromEmail: "",
|
|
1877
|
-
replyToEmail: "",
|
|
1878
|
-
notifyEmails: [],
|
|
1879
|
-
emailSubject: "",
|
|
1880
|
-
emailBody: "",
|
|
1881
|
-
isSendLaterEnabled: false,
|
|
1882
|
-
sendEmailDatetime: undefined,
|
|
1883
|
-
category: "email_share",
|
|
1884
|
-
actionButtonText: ""
|
|
1885
|
-
};
|
|
1886
|
-
var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
|
|
1887
1866
|
var ALLOWED_FILE_PICKER_TYPES = [".csv"];
|
|
1888
1867
|
|
|
1889
|
-
function _arrayWithoutHoles(arr) {
|
|
1890
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
1891
|
-
}
|
|
1892
|
-
|
|
1893
|
-
function _iterableToArray(iter) {
|
|
1894
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
1895
|
-
}
|
|
1896
|
-
|
|
1897
|
-
function _nonIterableSpread() {
|
|
1898
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
1899
|
-
}
|
|
1900
|
-
|
|
1901
|
-
function _toConsumableArray(arr) {
|
|
1902
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
1903
|
-
}
|
|
1904
|
-
|
|
1905
|
-
var EmailBody = function EmailBody(_ref, ref) {
|
|
1906
|
-
var id = _ref.id,
|
|
1907
|
-
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
|
|
1908
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
1909
|
-
t = _useTranslation.t;
|
|
1910
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
1911
|
-
required: true,
|
|
1912
|
-
className: "mb-6",
|
|
1913
|
-
"data-cy": "email-body",
|
|
1914
|
-
id: id,
|
|
1915
|
-
label: t("neetoMolecules.shareViaEmail.emailBody"),
|
|
1916
|
-
name: "emailBody",
|
|
1917
|
-
ref: ref,
|
|
1918
|
-
addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
|
|
1919
|
-
});
|
|
1920
|
-
};
|
|
1921
|
-
var EmailBody$1 = /*#__PURE__*/React.forwardRef(EmailBody);
|
|
1922
|
-
|
|
1923
1868
|
var FilePicker = function FilePicker(_ref) {
|
|
1924
1869
|
var _ref$types = _ref.types,
|
|
1925
1870
|
types = _ref$types === void 0 ? [] : _ref$types,
|
|
1926
|
-
onChange = _ref.onChange
|
|
1927
|
-
|
|
1928
|
-
t = _useTranslation.t;
|
|
1871
|
+
onChange = _ref.onChange,
|
|
1872
|
+
children = _ref.children;
|
|
1929
1873
|
var inputRef = React.useRef();
|
|
1930
|
-
var accept = types.
|
|
1874
|
+
var accept = types.reduce(function (acc, ext) {
|
|
1875
|
+
return "".concat(acc, ", ").concat(ext);
|
|
1876
|
+
}, "");
|
|
1931
1877
|
var handleInputChange = function handleInputChange(_ref2) {
|
|
1932
1878
|
var target = _ref2.target;
|
|
1933
1879
|
if (!target.files) return;
|
|
@@ -1941,16 +1887,9 @@ var FilePicker = function FilePicker(_ref) {
|
|
|
1941
1887
|
if (!inputRef.current) return;
|
|
1942
1888
|
inputRef.current.click();
|
|
1943
1889
|
};
|
|
1944
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(
|
|
1945
|
-
icon: neetoIcons.Upload,
|
|
1946
|
-
label: t("neetoMolecules.shareViaEmail.uploadCsv"),
|
|
1947
|
-
size: "small",
|
|
1948
|
-
style: "link",
|
|
1949
|
-
tooltipProps: {
|
|
1950
|
-
content: t("neetoMolecules.shareViaEmail.uploadCsvTooltip")
|
|
1951
|
-
},
|
|
1890
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1952
1891
|
onClick: handleClick
|
|
1953
|
-
}), /*#__PURE__*/React__default["default"].createElement("input", {
|
|
1892
|
+
}, children), /*#__PURE__*/React__default["default"].createElement("input", {
|
|
1954
1893
|
accept: accept,
|
|
1955
1894
|
className: "hidden",
|
|
1956
1895
|
ref: inputRef,
|
|
@@ -1958,69 +1897,6 @@ var FilePicker = function FilePicker(_ref) {
|
|
|
1958
1897
|
onChange: handleInputChange
|
|
1959
1898
|
}));
|
|
1960
1899
|
};
|
|
1961
|
-
var FilePicker$1 = /*#__PURE__*/React__default["default"].memo(FilePicker);
|
|
1962
|
-
|
|
1963
|
-
function _extends() {
|
|
1964
|
-
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
1965
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
1966
|
-
var source = arguments[i];
|
|
1967
|
-
for (var key in source) {
|
|
1968
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1969
|
-
target[key] = source[key];
|
|
1970
|
-
}
|
|
1971
|
-
}
|
|
1972
|
-
}
|
|
1973
|
-
return target;
|
|
1974
|
-
};
|
|
1975
|
-
return _extends.apply(this, arguments);
|
|
1976
|
-
}
|
|
1977
|
-
|
|
1978
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
1979
|
-
if (source == null) return {};
|
|
1980
|
-
var target = {};
|
|
1981
|
-
var sourceKeys = Object.keys(source);
|
|
1982
|
-
var key, i;
|
|
1983
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
1984
|
-
key = sourceKeys[i];
|
|
1985
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1986
|
-
target[key] = source[key];
|
|
1987
|
-
}
|
|
1988
|
-
return target;
|
|
1989
|
-
}
|
|
1990
|
-
|
|
1991
|
-
function _objectWithoutProperties(source, excluded) {
|
|
1992
|
-
if (source == null) return {};
|
|
1993
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
1994
|
-
var key, i;
|
|
1995
|
-
if (Object.getOwnPropertySymbols) {
|
|
1996
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
1997
|
-
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
1998
|
-
key = sourceSymbolKeys[i];
|
|
1999
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
2000
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
2001
|
-
target[key] = source[key];
|
|
2002
|
-
}
|
|
2003
|
-
}
|
|
2004
|
-
return target;
|
|
2005
|
-
}
|
|
2006
|
-
|
|
2007
|
-
var _excluded = ["name"];
|
|
2008
|
-
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
2009
|
-
var name = _ref.name,
|
|
2010
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
2011
|
-
var _useField = formik.useField(name),
|
|
2012
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
2013
|
-
field = _useField2[0],
|
|
2014
|
-
meta = _useField2[1],
|
|
2015
|
-
setValue = _useField2[2].setValue;
|
|
2016
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, field, meta, {
|
|
2017
|
-
onChange: function onChange(date) {
|
|
2018
|
-
return setValue(date || undefined);
|
|
2019
|
-
}
|
|
2020
|
-
}, props, {
|
|
2021
|
-
"data-cy": "email-share-date-input"
|
|
2022
|
-
}));
|
|
2023
|
-
};
|
|
2024
1900
|
|
|
2025
1901
|
var papaparse = {exports: {}};
|
|
2026
1902
|
|
|
@@ -3936,14 +3812,9 @@ License: MIT
|
|
|
3936
3812
|
|
|
3937
3813
|
var Papa = papaparse.exports;
|
|
3938
3814
|
|
|
3939
|
-
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; }
|
|
3940
|
-
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; }
|
|
3941
3815
|
var isValidEmail = function isValidEmail(email) {
|
|
3942
3816
|
return yup.string().email().isValidSync(email);
|
|
3943
3817
|
};
|
|
3944
|
-
var isPastDate = function isPastDate(date) {
|
|
3945
|
-
return dayjs__default["default"](date).isBefore(dayjs__default["default"]().subtract(1, "days"));
|
|
3946
|
-
};
|
|
3947
3818
|
var createEmailOptions = function createEmailOptions() {
|
|
3948
3819
|
var emails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
3949
3820
|
return emails.map(function (email) {
|
|
@@ -3954,27 +3825,253 @@ var createEmailOptions = function createEmailOptions() {
|
|
|
3954
3825
|
};
|
|
3955
3826
|
});
|
|
3956
3827
|
};
|
|
3957
|
-
var parseCsvEmails = function
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3828
|
+
var parseCsvEmails = /*#__PURE__*/function () {
|
|
3829
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(file, onSuccess) {
|
|
3830
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
3831
|
+
while (1) switch (_context.prev = _context.next) {
|
|
3832
|
+
case 0:
|
|
3833
|
+
Papa.parse(file, {
|
|
3834
|
+
header: true,
|
|
3835
|
+
skipEmptyLines: true,
|
|
3836
|
+
transformHeader: function transformHeader(h) {
|
|
3837
|
+
return h.toLowerCase().replace(/\W/g, "");
|
|
3838
|
+
},
|
|
3839
|
+
complete: function complete(results) {
|
|
3840
|
+
var _results$meta$fields;
|
|
3841
|
+
var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
|
|
3842
|
+
if (isEmailFieldPresent) {
|
|
3843
|
+
var emails = results.data.filter(ramda.prop("email")).map(function (item) {
|
|
3844
|
+
return item.email.trim();
|
|
3845
|
+
});
|
|
3846
|
+
onSuccess(createEmailOptions(emails));
|
|
3847
|
+
} else {
|
|
3848
|
+
neetoui.Toastr.error(i18next.t("neetoMolecules.sendToFields.errors.invalidCsv"));
|
|
3849
|
+
}
|
|
3850
|
+
}
|
|
3851
|
+
});
|
|
3852
|
+
case 1:
|
|
3853
|
+
case "end":
|
|
3854
|
+
return _context.stop();
|
|
3974
3855
|
}
|
|
3975
|
-
});
|
|
3856
|
+
}, _callee);
|
|
3857
|
+
}));
|
|
3858
|
+
return function parseCsvEmails(_x, _x2) {
|
|
3859
|
+
return _ref.apply(this, arguments);
|
|
3860
|
+
};
|
|
3861
|
+
}();
|
|
3862
|
+
|
|
3863
|
+
var SendToFields = function SendToFields(_ref) {
|
|
3864
|
+
var emailInputProps = _ref.emailInputProps,
|
|
3865
|
+
ccInputProps = _ref.ccInputProps,
|
|
3866
|
+
bccInputProps = _ref.bccInputProps,
|
|
3867
|
+
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
3868
|
+
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
3869
|
+
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
3870
|
+
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton;
|
|
3871
|
+
var sendToFieldRef = React.useRef();
|
|
3872
|
+
var _useFormikContext = formik.useFormikContext(),
|
|
3873
|
+
_useFormikContext$val = _useFormikContext.values,
|
|
3874
|
+
showCopyEmails = _useFormikContext$val.showCopyEmails,
|
|
3875
|
+
existingSendToEmails = _useFormikContext$val[emailInputProps.name || "sendTo"],
|
|
3876
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
3877
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
3878
|
+
t = _useTranslation.t;
|
|
3879
|
+
var handleCSVFile = /*#__PURE__*/function () {
|
|
3880
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(files) {
|
|
3881
|
+
var _sendToFieldRef$curre, onSuccess;
|
|
3882
|
+
return regenerator.wrap(function _callee$(_context) {
|
|
3883
|
+
while (1) switch (_context.prev = _context.next) {
|
|
3884
|
+
case 0:
|
|
3885
|
+
_context.prev = 0;
|
|
3886
|
+
onSuccess = function onSuccess(values) {
|
|
3887
|
+
return setFieldValue(emailInputProps.name || "sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
|
|
3888
|
+
};
|
|
3889
|
+
_context.next = 4;
|
|
3890
|
+
return parseCsvEmails(files[0], onSuccess);
|
|
3891
|
+
case 4:
|
|
3892
|
+
(_sendToFieldRef$curre = sendToFieldRef.current) === null || _sendToFieldRef$curre === void 0 ? void 0 : _sendToFieldRef$curre.focus();
|
|
3893
|
+
_context.next = 10;
|
|
3894
|
+
break;
|
|
3895
|
+
case 7:
|
|
3896
|
+
_context.prev = 7;
|
|
3897
|
+
_context.t0 = _context["catch"](0);
|
|
3898
|
+
neetoui.Toastr.error(_context.t0);
|
|
3899
|
+
case 10:
|
|
3900
|
+
case "end":
|
|
3901
|
+
return _context.stop();
|
|
3902
|
+
}
|
|
3903
|
+
}, _callee, null, [[0, 7]]);
|
|
3904
|
+
}));
|
|
3905
|
+
return function handleCSVFile(_x) {
|
|
3906
|
+
return _ref2.apply(this, arguments);
|
|
3907
|
+
};
|
|
3908
|
+
}();
|
|
3909
|
+
var handelCcBccButtonClick = function handelCcBccButtonClick(e) {
|
|
3910
|
+
e.stopPropagation();
|
|
3911
|
+
setFieldValue("showCopyEmails", !showCopyEmails);
|
|
3912
|
+
};
|
|
3913
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3914
|
+
className: "relative w-full flex-col gap-2"
|
|
3915
|
+
}, showUploadCsvButton && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3916
|
+
className: "absolute top-0 right-1"
|
|
3917
|
+
}, /*#__PURE__*/React__default["default"].createElement(FilePicker, {
|
|
3918
|
+
types: ALLOWED_FILE_PICKER_TYPES,
|
|
3919
|
+
onChange: handleCSVFile
|
|
3920
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
3921
|
+
"data-cy": "upload-csv-button",
|
|
3922
|
+
icon: neetoIcons.Upload,
|
|
3923
|
+
label: t("neetoMolecules.emailForm.uploadCSV"),
|
|
3924
|
+
size: "small",
|
|
3925
|
+
style: "link",
|
|
3926
|
+
tooltipProps: {
|
|
3927
|
+
content: t("neetoMolecules.sendToFields.uploadCsvTooltip"),
|
|
3928
|
+
position: "right"
|
|
3929
|
+
}
|
|
3930
|
+
}))), /*#__PURE__*/React__default["default"].createElement(formik$1.MultiEmailInput, _extends({
|
|
3931
|
+
"data-testid": "emails",
|
|
3932
|
+
name: "sendTo",
|
|
3933
|
+
ref: sendToFieldRef
|
|
3934
|
+
}, emailInputProps, {
|
|
3935
|
+
suffix: showCcBccButton && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
3936
|
+
"data-cy": "cc-bcc-button",
|
|
3937
|
+
"data-testid": "cc-bcc-button",
|
|
3938
|
+
label: t("neetoMolecules.emailForm.labels.ccBcc"),
|
|
3939
|
+
size: "small",
|
|
3940
|
+
style: "link",
|
|
3941
|
+
onClick: handelCcBccButtonClick
|
|
3942
|
+
})
|
|
3943
|
+
})), showCopyEmails && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3944
|
+
className: "mt-5 flex w-full flex-col gap-6"
|
|
3945
|
+
}, /*#__PURE__*/React__default["default"].createElement(formik$1.MultiEmailInput, _extends({
|
|
3946
|
+
name: "sendToBcc"
|
|
3947
|
+
}, ccInputProps)), /*#__PURE__*/React__default["default"].createElement(formik$1.MultiEmailInput, _extends({
|
|
3948
|
+
name: "sendToCc"
|
|
3949
|
+
}, bccInputProps))));
|
|
3950
|
+
};
|
|
3951
|
+
|
|
3952
|
+
var INITIAL_VALUES = {
|
|
3953
|
+
sendFromEmail: "",
|
|
3954
|
+
replyToEmail: "",
|
|
3955
|
+
notifyEmails: [],
|
|
3956
|
+
emailSubject: "",
|
|
3957
|
+
emailBody: "",
|
|
3958
|
+
isSendLaterEnabled: false,
|
|
3959
|
+
sendEmailDatetime: undefined,
|
|
3960
|
+
category: "email_share",
|
|
3961
|
+
actionButtonText: ""
|
|
3962
|
+
};
|
|
3963
|
+
var EDITOR_ADDONS = ["emoji", "block-quote", "image-upload", "divider"];
|
|
3964
|
+
|
|
3965
|
+
var EmailBody = function EmailBody(_ref, ref) {
|
|
3966
|
+
var id = _ref.id,
|
|
3967
|
+
showVideoEmbedInEditor = _ref.showVideoEmbedInEditor;
|
|
3968
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
3969
|
+
t = _useTranslation.t;
|
|
3970
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoEditor.FormikEditor, {
|
|
3971
|
+
required: true,
|
|
3972
|
+
className: "mb-6",
|
|
3973
|
+
"data-cy": "email-body",
|
|
3974
|
+
id: id,
|
|
3975
|
+
label: t("neetoMolecules.shareViaEmail.emailBody"),
|
|
3976
|
+
name: "emailBody",
|
|
3977
|
+
ref: ref,
|
|
3978
|
+
addons: showVideoEmbedInEditor ? [].concat(_toConsumableArray(EDITOR_ADDONS), ["video-embed"]) : EDITOR_ADDONS
|
|
3976
3979
|
});
|
|
3977
3980
|
};
|
|
3981
|
+
var EmailBody$1 = /*#__PURE__*/React.forwardRef(EmailBody);
|
|
3982
|
+
|
|
3983
|
+
function _arrayWithHoles(arr) {
|
|
3984
|
+
if (Array.isArray(arr)) return arr;
|
|
3985
|
+
}
|
|
3986
|
+
|
|
3987
|
+
function _iterableToArrayLimit(arr, i) {
|
|
3988
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
3989
|
+
if (null != _i) {
|
|
3990
|
+
var _s,
|
|
3991
|
+
_e,
|
|
3992
|
+
_x,
|
|
3993
|
+
_r,
|
|
3994
|
+
_arr = [],
|
|
3995
|
+
_n = !0,
|
|
3996
|
+
_d = !1;
|
|
3997
|
+
try {
|
|
3998
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
3999
|
+
if (Object(_i) !== _i) return;
|
|
4000
|
+
_n = !1;
|
|
4001
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
4002
|
+
} catch (err) {
|
|
4003
|
+
_d = !0, _e = err;
|
|
4004
|
+
} finally {
|
|
4005
|
+
try {
|
|
4006
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
4007
|
+
} finally {
|
|
4008
|
+
if (_d) throw _e;
|
|
4009
|
+
}
|
|
4010
|
+
}
|
|
4011
|
+
return _arr;
|
|
4012
|
+
}
|
|
4013
|
+
}
|
|
4014
|
+
|
|
4015
|
+
function _nonIterableRest() {
|
|
4016
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
4017
|
+
}
|
|
4018
|
+
|
|
4019
|
+
function _slicedToArray(arr, i) {
|
|
4020
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
4021
|
+
}
|
|
4022
|
+
|
|
4023
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
4024
|
+
if (source == null) return {};
|
|
4025
|
+
var target = {};
|
|
4026
|
+
var sourceKeys = Object.keys(source);
|
|
4027
|
+
var key, i;
|
|
4028
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
4029
|
+
key = sourceKeys[i];
|
|
4030
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
4031
|
+
target[key] = source[key];
|
|
4032
|
+
}
|
|
4033
|
+
return target;
|
|
4034
|
+
}
|
|
4035
|
+
|
|
4036
|
+
function _objectWithoutProperties(source, excluded) {
|
|
4037
|
+
if (source == null) return {};
|
|
4038
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
4039
|
+
var key, i;
|
|
4040
|
+
if (Object.getOwnPropertySymbols) {
|
|
4041
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
4042
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
4043
|
+
key = sourceSymbolKeys[i];
|
|
4044
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
4045
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
4046
|
+
target[key] = source[key];
|
|
4047
|
+
}
|
|
4048
|
+
}
|
|
4049
|
+
return target;
|
|
4050
|
+
}
|
|
4051
|
+
|
|
4052
|
+
var _excluded = ["name"];
|
|
4053
|
+
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
4054
|
+
var name = _ref.name,
|
|
4055
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
4056
|
+
var _useField = formik.useField(name),
|
|
4057
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
4058
|
+
field = _useField2[0],
|
|
4059
|
+
meta = _useField2[1],
|
|
4060
|
+
setValue = _useField2[2].setValue;
|
|
4061
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, field, meta, {
|
|
4062
|
+
onChange: function onChange(date) {
|
|
4063
|
+
return setValue(date || undefined);
|
|
4064
|
+
}
|
|
4065
|
+
}, props, {
|
|
4066
|
+
"data-cy": "email-share-date-input"
|
|
4067
|
+
}));
|
|
4068
|
+
};
|
|
4069
|
+
|
|
4070
|
+
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; }
|
|
4071
|
+
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; }
|
|
4072
|
+
var isPastDate = function isPastDate(date) {
|
|
4073
|
+
return dayjs__default["default"](date).isBefore(dayjs__default["default"]().subtract(1, "days"));
|
|
4074
|
+
};
|
|
3978
4075
|
var generateInitialValues = function generateInitialValues(defaultValues) {
|
|
3979
4076
|
return _objectSpread(_objectSpread({}, INITIAL_VALUES), defaultValues);
|
|
3980
4077
|
};
|
|
@@ -4005,56 +4102,22 @@ var Form = function Form(_ref) {
|
|
|
4005
4102
|
children = _ref.children;
|
|
4006
4103
|
var _useFormikContext = formik.useFormikContext(),
|
|
4007
4104
|
values = _useFormikContext.values,
|
|
4008
|
-
setFieldValue = _useFormikContext.setFieldValue,
|
|
4009
4105
|
initialValues = _useFormikContext.initialValues;
|
|
4010
4106
|
var editorRef = React.useRef();
|
|
4011
4107
|
var _useTranslation = reactI18next.useTranslation(),
|
|
4012
4108
|
t = _useTranslation.t;
|
|
4013
4109
|
var handleReset = function handleReset() {
|
|
4014
|
-
editorRef.current.editor.commands.setContent(initialValues.emailBody);
|
|
4110
|
+
return editorRef.current.editor.commands.setContent(initialValues.emailBody);
|
|
4015
4111
|
};
|
|
4016
|
-
var handleCSVFile = React.useCallback( /*#__PURE__*/function () {
|
|
4017
|
-
var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref2) {
|
|
4018
|
-
var _ref4, file, values;
|
|
4019
|
-
return regenerator.wrap(function _callee$(_context) {
|
|
4020
|
-
while (1) switch (_context.prev = _context.next) {
|
|
4021
|
-
case 0:
|
|
4022
|
-
_ref4 = _slicedToArray(_ref2, 1), file = _ref4[0];
|
|
4023
|
-
_context.next = 3;
|
|
4024
|
-
return parseCsvEmails(file);
|
|
4025
|
-
case 3:
|
|
4026
|
-
values = _context.sent;
|
|
4027
|
-
setFieldValue("notifyEmails", values);
|
|
4028
|
-
case 5:
|
|
4029
|
-
case "end":
|
|
4030
|
-
return _context.stop();
|
|
4031
|
-
}
|
|
4032
|
-
}, _callee);
|
|
4033
|
-
}));
|
|
4034
|
-
return function (_x) {
|
|
4035
|
-
return _ref3.apply(this, arguments);
|
|
4036
|
-
};
|
|
4037
|
-
}(), []);
|
|
4038
4112
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
4039
4113
|
className: "space-y-4"
|
|
4040
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
style: "h4",
|
|
4048
|
-
weight: "semibold"
|
|
4049
|
-
}, t("neetoMolecules.shareViaEmail.sendTo")), /*#__PURE__*/React__default["default"].createElement(FilePicker$1, {
|
|
4050
|
-
types: ALLOWED_FILE_PICKER_TYPES,
|
|
4051
|
-
onChange: handleCSVFile
|
|
4052
|
-
})), /*#__PURE__*/React__default["default"].createElement(formik$1.MultiEmailInput, {
|
|
4053
|
-
filterInvalidEmails: true,
|
|
4054
|
-
required: true,
|
|
4055
|
-
label: "",
|
|
4056
|
-
name: "notifyEmails"
|
|
4057
|
-
})), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
4114
|
+
}, /*#__PURE__*/React__default["default"].createElement(SendToFields, {
|
|
4115
|
+
showUploadCsvButton: true,
|
|
4116
|
+
emailInputProps: {
|
|
4117
|
+
label: t("neetoMolecules.shareViaEmail.sendTo"),
|
|
4118
|
+
name: "notifyEmails"
|
|
4119
|
+
}
|
|
4120
|
+
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
4058
4121
|
required: true,
|
|
4059
4122
|
className: "col-span-1",
|
|
4060
4123
|
label: t("neetoMolecules.shareViaEmail.subject"),
|