@bigbinary/neeto-molecules 1.0.114 → 1.1.0
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/Container.cjs.js +1 -1
- package/dist/Container.js +1 -1
- package/dist/CustomDomainDashboard.cjs.js +23 -24
- package/dist/CustomDomainDashboard.cjs.js.map +1 -1
- package/dist/CustomDomainDashboard.js +26 -27
- package/dist/CustomDomainDashboard.js.map +1 -1
- 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/Header.cjs.js +21 -23
- package/dist/Header.cjs.js.map +1 -1
- package/dist/Header.js +24 -26
- package/dist/Header.js.map +1 -1
- package/dist/MenuBar.cjs.js +1 -1
- package/dist/MenuBar.js +1 -1
- package/dist/NeetoWidget.cjs.js +52 -31
- package/dist/NeetoWidget.cjs.js.map +1 -1
- package/dist/NeetoWidget.js +54 -33
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Scrollable.cjs.js +5 -1
- package/dist/Scrollable.cjs.js.map +1 -1
- package/dist/Scrollable.js +5 -1
- package/dist/Scrollable.js.map +1 -1
- package/dist/Security.cjs.js +28 -25
- package/dist/Security.cjs.js.map +1 -1
- package/dist/Security.js +31 -28
- package/dist/Security.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 +251 -139
- package/dist/Sidebar.cjs.js.map +1 -1
- package/dist/Sidebar.js +254 -142
- package/dist/Sidebar.js.map +1 -1
- package/dist/SubHeader.cjs.js +1 -1
- package/dist/SubHeader.js +1 -1
- package/package.json +3 -3
- package/src/translations/en.json +16 -3
- package/types/Header.d.ts +3 -2
- package/types/NavigationHeader.d.ts +63 -41
- package/types/SendToFields.d.ts +63 -0
- package/types/Sidebar.d.ts +2 -1
package/dist/EmailForm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useRef, useState, useContext } from 'react';
|
|
2
2
|
import { useFormikContext, Field } from 'formik';
|
|
3
3
|
import { isEditorEmpty, FormikEditor, EditorContent } from '@bigbinary/neeto-editor';
|
|
4
|
-
import {
|
|
4
|
+
import { Toastr, Button, Input as Input$1, Typography } from '@bigbinary/neetoui';
|
|
5
5
|
import { Select, Input, MultiEmailInput, ActionBlock, Form } from '@bigbinary/neetoui/formik';
|
|
6
6
|
import { useTranslation, Trans } from 'react-i18next';
|
|
7
7
|
import { t } from 'i18next';
|
|
@@ -10,10 +10,10 @@ import * as yup from 'yup';
|
|
|
10
10
|
import { string } from 'yup';
|
|
11
11
|
import { isNotEmpty, noop, isPresent } from '@bigbinary/neeto-commons-frontend/pure';
|
|
12
12
|
import { Info, Upload } from '@bigbinary/neeto-icons';
|
|
13
|
+
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
13
14
|
import require$$0 from 'stream';
|
|
14
15
|
import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
|
|
15
16
|
import DynamicVariables from '@bigbinary/neeto-molecules/DynamicVariables';
|
|
16
|
-
import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
17
17
|
|
|
18
18
|
function _typeof$1(obj) {
|
|
19
19
|
"@babel/helpers - typeof";
|
|
@@ -147,7 +147,6 @@ var REPLY_TO_FIELD_VALIDATION = yup.object({
|
|
|
147
147
|
}))
|
|
148
148
|
});
|
|
149
149
|
var EDITOR_ADDONS = ["highlight", "emoji", "code-block", "block-quote", "image-upload", "divider", "video-embed"];
|
|
150
|
-
var ALLOWED_FILE_PICKER_TYPES = [".csv"];
|
|
151
150
|
|
|
152
151
|
/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */
|
|
153
152
|
var EmailFormContext = /*#__PURE__*/React.createContext({
|
|
@@ -203,6 +202,21 @@ var ReplyToField = function ReplyToField(_ref) {
|
|
|
203
202
|
});
|
|
204
203
|
};
|
|
205
204
|
|
|
205
|
+
function _extends() {
|
|
206
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
207
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
208
|
+
var source = arguments[i];
|
|
209
|
+
for (var key in source) {
|
|
210
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
211
|
+
target[key] = source[key];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return target;
|
|
216
|
+
};
|
|
217
|
+
return _extends.apply(this, arguments);
|
|
218
|
+
}
|
|
219
|
+
|
|
206
220
|
function _arrayLikeToArray(arr, len) {
|
|
207
221
|
if (len == null || len > arr.length) len = arr.length;
|
|
208
222
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
@@ -604,6 +618,8 @@ try {
|
|
|
604
618
|
}
|
|
605
619
|
}
|
|
606
620
|
|
|
621
|
+
var ALLOWED_FILE_PICKER_TYPES = [".csv"];
|
|
622
|
+
|
|
607
623
|
var FilePicker = function FilePicker(_ref) {
|
|
608
624
|
var _ref$types = _ref.types,
|
|
609
625
|
types = _ref$types === void 0 ? [] : _ref$types,
|
|
@@ -2576,10 +2592,16 @@ var parseCsvEmails = /*#__PURE__*/function () {
|
|
|
2576
2592
|
return h.toLowerCase().replace(/\W/g, "");
|
|
2577
2593
|
},
|
|
2578
2594
|
complete: function complete(results) {
|
|
2579
|
-
var
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2595
|
+
var _results$meta$fields;
|
|
2596
|
+
var isEmailFieldPresent = (_results$meta$fields = results.meta.fields) === null || _results$meta$fields === void 0 ? void 0 : _results$meta$fields.includes("email");
|
|
2597
|
+
if (isEmailFieldPresent) {
|
|
2598
|
+
var emails = results.data.filter(prop("email")).map(function (item) {
|
|
2599
|
+
return item.email.trim();
|
|
2600
|
+
});
|
|
2601
|
+
onSuccess(createEmailOptions(emails));
|
|
2602
|
+
} else {
|
|
2603
|
+
Toastr.error(t("neetoMolecules.sendToFields.errors.invalidCsv"));
|
|
2604
|
+
}
|
|
2583
2605
|
}
|
|
2584
2606
|
});
|
|
2585
2607
|
case 1:
|
|
@@ -2592,37 +2614,35 @@ var parseCsvEmails = /*#__PURE__*/function () {
|
|
|
2592
2614
|
return _ref.apply(this, arguments);
|
|
2593
2615
|
};
|
|
2594
2616
|
}();
|
|
2595
|
-
var getValidationSchema = function getValidationSchema(_ref2) {
|
|
2596
|
-
var showSendToField = _ref2.showSendToField,
|
|
2597
|
-
showReplyToField = _ref2.showReplyToField,
|
|
2598
|
-
customValidations = _ref2.customValidations;
|
|
2599
|
-
var schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();
|
|
2600
|
-
if (showSendToField) schema = schema.concat(SEND_TO_FIELD_VALIDATION);
|
|
2601
|
-
if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);
|
|
2602
|
-
return schema.shape(customValidations);
|
|
2603
|
-
};
|
|
2604
2617
|
|
|
2605
|
-
var
|
|
2618
|
+
var SendToFields = function SendToFields(_ref) {
|
|
2619
|
+
var emailInputProps = _ref.emailInputProps,
|
|
2620
|
+
ccInputProps = _ref.ccInputProps,
|
|
2621
|
+
bccInputProps = _ref.bccInputProps,
|
|
2622
|
+
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
2623
|
+
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
2624
|
+
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
2625
|
+
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton;
|
|
2626
|
+
var sendToFieldRef = useRef();
|
|
2627
|
+
var _useFormikContext = useFormikContext(),
|
|
2628
|
+
_useFormikContext$val = _useFormikContext.values,
|
|
2629
|
+
showCopyEmails = _useFormikContext$val.showCopyEmails,
|
|
2630
|
+
existingSendToEmails = _useFormikContext$val[emailInputProps.name || "sendTo"],
|
|
2631
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
2606
2632
|
var _useTranslation = useTranslation(),
|
|
2607
2633
|
t = _useTranslation.t;
|
|
2608
|
-
var _useFormikContext = useFormikContext(),
|
|
2609
|
-
setFieldValue = _useFormikContext.setFieldValue,
|
|
2610
|
-
values = _useFormikContext.values;
|
|
2611
|
-
var sendToFieldRef = useRef();
|
|
2612
|
-
var showCopyEmailFieldValue = values.showCopyEmails,
|
|
2613
|
-
existingSendToEmails = values.sendTo;
|
|
2614
2634
|
var handleCSVFile = /*#__PURE__*/function () {
|
|
2615
|
-
var
|
|
2616
|
-
var _sendToFieldRef$curre,
|
|
2635
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(files) {
|
|
2636
|
+
var _sendToFieldRef$curre, onSuccess;
|
|
2617
2637
|
return regenerator.wrap(function _callee$(_context) {
|
|
2618
2638
|
while (1) switch (_context.prev = _context.next) {
|
|
2619
2639
|
case 0:
|
|
2620
2640
|
_context.prev = 0;
|
|
2621
|
-
|
|
2622
|
-
return setFieldValue("sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
|
|
2641
|
+
onSuccess = function onSuccess(values) {
|
|
2642
|
+
return setFieldValue(emailInputProps.name || "sendTo", [].concat(_toConsumableArray(existingSendToEmails), _toConsumableArray(values)));
|
|
2623
2643
|
};
|
|
2624
2644
|
_context.next = 4;
|
|
2625
|
-
return parseCsvEmails(files[0],
|
|
2645
|
+
return parseCsvEmails(files[0], onSuccess);
|
|
2626
2646
|
case 4:
|
|
2627
2647
|
(_sendToFieldRef$curre = sendToFieldRef.current) === null || _sendToFieldRef$curre === void 0 ? void 0 : _sendToFieldRef$curre.focus();
|
|
2628
2648
|
_context.next = 10;
|
|
@@ -2638,14 +2658,18 @@ var SendToField = function SendToField() {
|
|
|
2638
2658
|
}, _callee, null, [[0, 7]]);
|
|
2639
2659
|
}));
|
|
2640
2660
|
return function handleCSVFile(_x) {
|
|
2641
|
-
return
|
|
2661
|
+
return _ref2.apply(this, arguments);
|
|
2642
2662
|
};
|
|
2643
2663
|
}();
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2664
|
+
var handelCcBccButtonClick = function handelCcBccButtonClick(e) {
|
|
2665
|
+
e.stopPropagation();
|
|
2666
|
+
setFieldValue("showCopyEmails", !showCopyEmails);
|
|
2667
|
+
};
|
|
2668
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2669
|
+
className: "relative w-full flex-col gap-2"
|
|
2670
|
+
}, showUploadCsvButton && /*#__PURE__*/React.createElement("div", {
|
|
2671
|
+
className: "absolute top-0 right-1"
|
|
2672
|
+
}, /*#__PURE__*/React.createElement(FilePicker, {
|
|
2649
2673
|
types: ALLOWED_FILE_PICKER_TYPES,
|
|
2650
2674
|
onChange: handleCSVFile
|
|
2651
2675
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -2653,35 +2677,57 @@ var SendToField = function SendToField() {
|
|
|
2653
2677
|
icon: Upload,
|
|
2654
2678
|
label: t("neetoMolecules.emailForm.uploadCSV"),
|
|
2655
2679
|
size: "small",
|
|
2656
|
-
style: "link"
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2680
|
+
style: "link",
|
|
2681
|
+
tooltipProps: {
|
|
2682
|
+
content: t("neetoMolecules.sendToFields.uploadCsvTooltip"),
|
|
2683
|
+
position: "right"
|
|
2684
|
+
}
|
|
2685
|
+
}))), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
2686
|
+
"data-testid": "emails",
|
|
2660
2687
|
name: "sendTo",
|
|
2661
|
-
ref: sendToFieldRef
|
|
2662
|
-
|
|
2663
|
-
suffix: /*#__PURE__*/React.createElement(Button, {
|
|
2688
|
+
ref: sendToFieldRef
|
|
2689
|
+
}, emailInputProps, {
|
|
2690
|
+
suffix: showCcBccButton && /*#__PURE__*/React.createElement(Button, {
|
|
2664
2691
|
"data-cy": "cc-bcc-button",
|
|
2692
|
+
"data-testid": "cc-bcc-button",
|
|
2665
2693
|
label: t("neetoMolecules.emailForm.labels.ccBcc"),
|
|
2666
2694
|
size: "small",
|
|
2667
2695
|
style: "link",
|
|
2668
|
-
onClick:
|
|
2669
|
-
return setFieldValue("showCopyEmails", !showCopyEmailFieldValue);
|
|
2670
|
-
}
|
|
2696
|
+
onClick: handelCcBccButtonClick
|
|
2671
2697
|
})
|
|
2672
|
-
})),
|
|
2673
|
-
className: "flex w-full flex-col gap-6"
|
|
2674
|
-
}, /*#__PURE__*/React.createElement(MultiEmailInput, {
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
}
|
|
2679
|
-
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
2680
|
-
name: "sendToBcc",
|
|
2681
|
-
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
2682
|
-
})));
|
|
2698
|
+
})), showCopyEmails && /*#__PURE__*/React.createElement("div", {
|
|
2699
|
+
className: "mt-5 flex w-full flex-col gap-6"
|
|
2700
|
+
}, /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
2701
|
+
name: "sendToBcc"
|
|
2702
|
+
}, ccInputProps)), /*#__PURE__*/React.createElement(MultiEmailInput, _extends({
|
|
2703
|
+
name: "sendToCc"
|
|
2704
|
+
}, bccInputProps))));
|
|
2683
2705
|
};
|
|
2684
2706
|
|
|
2707
|
+
var SendToField = withT(function (_ref) {
|
|
2708
|
+
var t = _ref.t;
|
|
2709
|
+
return /*#__PURE__*/React.createElement(SendToFields, {
|
|
2710
|
+
showCcBccButton: true,
|
|
2711
|
+
showUploadCsvButton: true,
|
|
2712
|
+
bccInputProps: {
|
|
2713
|
+
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
2714
|
+
name: "sendToBcc",
|
|
2715
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
2716
|
+
},
|
|
2717
|
+
ccInputProps: {
|
|
2718
|
+
label: t("neetoMolecules.emailForm.labels.cc"),
|
|
2719
|
+
name: "sendToCc",
|
|
2720
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
2721
|
+
},
|
|
2722
|
+
emailInputProps: {
|
|
2723
|
+
id: "sendTo",
|
|
2724
|
+
name: "sendTo",
|
|
2725
|
+
label: t("neetoMolecules.emailForm.labels.sendTo"),
|
|
2726
|
+
placeholder: t("neetoMolecules.emailForm.placeholders.commaSeparatedEmails")
|
|
2727
|
+
}
|
|
2728
|
+
});
|
|
2729
|
+
});
|
|
2730
|
+
|
|
2685
2731
|
function _arrayWithHoles(arr) {
|
|
2686
2732
|
if (Array.isArray(arr)) return arr;
|
|
2687
2733
|
}
|
|
@@ -2864,6 +2910,16 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
2864
2910
|
}));
|
|
2865
2911
|
};
|
|
2866
2912
|
|
|
2913
|
+
var getValidationSchema = function getValidationSchema(_ref) {
|
|
2914
|
+
var showSendToField = _ref.showSendToField,
|
|
2915
|
+
showReplyToField = _ref.showReplyToField,
|
|
2916
|
+
customValidations = _ref.customValidations;
|
|
2917
|
+
var schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();
|
|
2918
|
+
if (showSendToField) schema = schema.concat(SEND_TO_FIELD_VALIDATION);
|
|
2919
|
+
if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);
|
|
2920
|
+
return schema.shape(customValidations);
|
|
2921
|
+
};
|
|
2922
|
+
|
|
2867
2923
|
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; }
|
|
2868
2924
|
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; }
|
|
2869
2925
|
var EmailFormProvider = function EmailFormProvider(_ref) {
|