@bigbinary/neeto-molecules 1.13.3 → 1.13.4
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/dist/ShareViaEmail.js +55 -24
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +53 -22
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/package.json +1 -1
package/dist/ShareViaEmail.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React__default, { forwardRef, useRef } from 'react';
|
|
1
|
+
import React__default, { forwardRef, useMemo, useRef } from 'react';
|
|
2
2
|
import { LeftArrow } from '@bigbinary/neeto-icons';
|
|
3
|
-
import {
|
|
3
|
+
import { DateTimePicker, Label, Typography, Button } from '@bigbinary/neetoui';
|
|
4
4
|
import { Input, Switch, ActionBlock, Form as Form$1 } from '@bigbinary/neetoui/formik';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
6
|
import EmailPreview from './EmailPreview.js';
|
|
@@ -54,24 +54,6 @@ var EmailBody = function EmailBody(_ref, ref) {
|
|
|
54
54
|
};
|
|
55
55
|
var EmailBody$1 = /*#__PURE__*/forwardRef(EmailBody);
|
|
56
56
|
|
|
57
|
-
var _excluded = ["name"];
|
|
58
|
-
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
59
|
-
var name = _ref.name,
|
|
60
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
61
|
-
var _useField = useField(name),
|
|
62
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
63
|
-
field = _useField2[0],
|
|
64
|
-
meta = _useField2[1],
|
|
65
|
-
setValue = _useField2[2].setValue;
|
|
66
|
-
return /*#__PURE__*/React__default.createElement(DatePicker, _extends({}, field, meta, {
|
|
67
|
-
onChange: function onChange(date) {
|
|
68
|
-
return setValue(date || undefined);
|
|
69
|
-
}
|
|
70
|
-
}, props, {
|
|
71
|
-
"data-cy": "email-share-date-input"
|
|
72
|
-
}));
|
|
73
|
-
};
|
|
74
|
-
|
|
75
57
|
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; }
|
|
76
58
|
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; }
|
|
77
59
|
var isPastDate = function isPastDate(date) {
|
|
@@ -100,6 +82,58 @@ var emailFormValidationSchema = function emailFormValidationSchema(disableReplyT
|
|
|
100
82
|
actionButtonText: yup.string().required(t("neetoMolecules.shareViaEmail.validations.requiredField.startButtonText"))
|
|
101
83
|
});
|
|
102
84
|
};
|
|
85
|
+
var disabledTime = function disabledTime(selectedDate) {
|
|
86
|
+
var current = selectedDate ? dayjs(selectedDate).startOf("day") : null;
|
|
87
|
+
if (!current) return {};
|
|
88
|
+
var today = dayjs().startOf("day");
|
|
89
|
+
var isAfterToday = current.isAfter(today, "day");
|
|
90
|
+
var isBeforeToday = current.isBefore(today, "day");
|
|
91
|
+
if (isAfterToday) {
|
|
92
|
+
return {
|
|
93
|
+
minTime: null,
|
|
94
|
+
maxTime: null
|
|
95
|
+
};
|
|
96
|
+
} else if (isBeforeToday) {
|
|
97
|
+
return {
|
|
98
|
+
minTime: "0:00",
|
|
99
|
+
maxTime: "24:00"
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
|
|
104
|
+
var currentTime = dayjs().format("HH:mm");
|
|
105
|
+
var endOfDay = "23:59";
|
|
106
|
+
return {
|
|
107
|
+
minTime: currentTime,
|
|
108
|
+
maxTime: endOfDay
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var _excluded = ["name", "disabledDate"];
|
|
113
|
+
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
114
|
+
var name = _ref.name,
|
|
115
|
+
disabledDate = _ref.disabledDate,
|
|
116
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
117
|
+
var _useField = useField(name),
|
|
118
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
119
|
+
field = _useField2[0],
|
|
120
|
+
meta = _useField2[1],
|
|
121
|
+
setValue = _useField2[2].setValue;
|
|
122
|
+
var disabledTimeFrame = useMemo(function () {
|
|
123
|
+
return disabledTime(field === null || field === void 0 ? void 0 : field.value);
|
|
124
|
+
}, [field === null || field === void 0 ? void 0 : field.value]);
|
|
125
|
+
return /*#__PURE__*/React__default.createElement(DateTimePicker, _extends({}, field, meta, {
|
|
126
|
+
timePickerProps: disabledTimeFrame,
|
|
127
|
+
datePickerProps: {
|
|
128
|
+
disabledDate: disabledDate,
|
|
129
|
+
"data-cy": props["data-cy"],
|
|
130
|
+
"data-testid": props["data-testid"]
|
|
131
|
+
},
|
|
132
|
+
onChange: function onChange(date) {
|
|
133
|
+
return setValue(date || undefined);
|
|
134
|
+
}
|
|
135
|
+
}, props));
|
|
136
|
+
};
|
|
103
137
|
|
|
104
138
|
var Form = function Form(_ref) {
|
|
105
139
|
var showSendFromField = _ref.showSendFromField,
|
|
@@ -149,14 +183,11 @@ var Form = function Form(_ref) {
|
|
|
149
183
|
weight: "semibold"
|
|
150
184
|
}, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React__default.createElement(FormikDatePicker, {
|
|
151
185
|
autoFocus: true,
|
|
152
|
-
showTime: true,
|
|
153
186
|
"data-cy": "email-share-date-input",
|
|
154
187
|
"data-testid": "formik-date-picker",
|
|
155
188
|
disabledDate: isPastDate,
|
|
156
189
|
name: "sendEmailDatetime",
|
|
157
|
-
|
|
158
|
-
size: "large",
|
|
159
|
-
type: "date"
|
|
190
|
+
size: "large"
|
|
160
191
|
}), /*#__PURE__*/React__default.createElement(Input, {
|
|
161
192
|
required: true,
|
|
162
193
|
label: t("neetoMolecules.shareViaEmail.startButtonText"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/FormikDatePicker.jsx","../src/components/ShareViaEmail/utils.js","../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","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import React from \"react\";\n\nimport { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nconst FormikDatePicker = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <DatePicker\n {...field}\n {...meta}\n onChange={date => setValue(date || undefined)}\n {...props}\n data-cy=\"email-share-date-input\"\n />\n );\n};\n\nexport default FormikDatePicker;\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n","import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n showTime\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n picker=\"date\"\n size=\"large\"\n type=\"date\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","FormikDatePicker","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","DatePicker","_extends","onChange","date","isPastDate","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","current","editor","commands","setContent","Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","showTime","disabledDate","picker","size","type","classnames","ActionBlock","cancelButtonProps","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","productName","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","EmailPreview","body","subject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShareViaEmail.js","sources":["../src/components/ShareViaEmail/constants.js","../src/components/ShareViaEmail/EmailBodyEditor.jsx","../src/components/ShareViaEmail/utils.js","../src/components/ShareViaEmail/FormikDatePicker.jsx","../src/components/ShareViaEmail/Form.jsx","../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = selectedDate ? dayjs(selectedDate).startOf(\"day\") : null;\n\n if (!current) return {};\n\n const today = dayjs().startOf(\"day\");\n const isAfterToday = current.isAfter(today, \"day\");\n const isBeforeToday = current.isBefore(today, \"day\");\n\n if (isAfterToday) {\n return { minTime: null, maxTime: null };\n } else if (isBeforeToday) {\n return { minTime: \"0:00\", maxTime: \"24:00\" };\n }\n\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n const currentTime = dayjs().format(\"HH:mm\");\n const endOfDay = \"23:59\";\n\n return { minTime: currentTime, maxTime: endOfDay };\n};\n","import React, { useMemo } from \"react\";\n\nimport { useField } from \"formik\";\nimport { DateTimePicker } from \"neetoui\";\n\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n const disabledTimeFrame = useMemo(\n () => disabledTime(field?.value),\n [field?.value]\n );\n\n return (\n <DateTimePicker\n {...field}\n {...meta}\n timePickerProps={disabledTimeFrame}\n datePickerProps={{\n disabledDate,\n \"data-cy\": props[\"data-cy\"],\n \"data-testid\": props[\"data-testid\"],\n }}\n onChange={date => setValue(date || undefined)}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","isAfterToday","isAfter","isBeforeToday","minTime","maxTime","currentTime","format","endOfDay","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","disabledTimeFrame","useMemo","DateTimePicker","_extends","timePickerProps","datePickerProps","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","productName","_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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"}
|
|
@@ -81,24 +81,6 @@ var EmailBody = function EmailBody(_ref, ref) {
|
|
|
81
81
|
};
|
|
82
82
|
var EmailBody$1 = /*#__PURE__*/React.forwardRef(EmailBody);
|
|
83
83
|
|
|
84
|
-
var _excluded = ["name"];
|
|
85
|
-
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
86
|
-
var name = _ref.name,
|
|
87
|
-
props = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
88
|
-
var _useField = formik.useField(name),
|
|
89
|
-
_useField2 = slicedToArray._slicedToArray(_useField, 3),
|
|
90
|
-
field = _useField2[0],
|
|
91
|
-
meta = _useField2[1],
|
|
92
|
-
setValue = _useField2[2].setValue;
|
|
93
|
-
return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends._extends({}, field, meta, {
|
|
94
|
-
onChange: function onChange(date) {
|
|
95
|
-
return setValue(date || undefined);
|
|
96
|
-
}
|
|
97
|
-
}, props, {
|
|
98
|
-
"data-cy": "email-share-date-input"
|
|
99
|
-
}));
|
|
100
|
-
};
|
|
101
|
-
|
|
102
84
|
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; }
|
|
103
85
|
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._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; }
|
|
104
86
|
var isPastDate = function isPastDate(date) {
|
|
@@ -127,6 +109,58 @@ var emailFormValidationSchema = function emailFormValidationSchema(disableReplyT
|
|
|
127
109
|
actionButtonText: yup__namespace.string().required(i18next.t("neetoMolecules.shareViaEmail.validations.requiredField.startButtonText"))
|
|
128
110
|
});
|
|
129
111
|
};
|
|
112
|
+
var disabledTime = function disabledTime(selectedDate) {
|
|
113
|
+
var current = selectedDate ? dayjs__default["default"](selectedDate).startOf("day") : null;
|
|
114
|
+
if (!current) return {};
|
|
115
|
+
var today = dayjs__default["default"]().startOf("day");
|
|
116
|
+
var isAfterToday = current.isAfter(today, "day");
|
|
117
|
+
var isBeforeToday = current.isBefore(today, "day");
|
|
118
|
+
if (isAfterToday) {
|
|
119
|
+
return {
|
|
120
|
+
minTime: null,
|
|
121
|
+
maxTime: null
|
|
122
|
+
};
|
|
123
|
+
} else if (isBeforeToday) {
|
|
124
|
+
return {
|
|
125
|
+
minTime: "0:00",
|
|
126
|
+
maxTime: "24:00"
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats
|
|
131
|
+
var currentTime = dayjs__default["default"]().format("HH:mm");
|
|
132
|
+
var endOfDay = "23:59";
|
|
133
|
+
return {
|
|
134
|
+
minTime: currentTime,
|
|
135
|
+
maxTime: endOfDay
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
var _excluded = ["name", "disabledDate"];
|
|
140
|
+
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
141
|
+
var name = _ref.name,
|
|
142
|
+
disabledDate = _ref.disabledDate,
|
|
143
|
+
props = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
144
|
+
var _useField = formik.useField(name),
|
|
145
|
+
_useField2 = slicedToArray._slicedToArray(_useField, 3),
|
|
146
|
+
field = _useField2[0],
|
|
147
|
+
meta = _useField2[1],
|
|
148
|
+
setValue = _useField2[2].setValue;
|
|
149
|
+
var disabledTimeFrame = React.useMemo(function () {
|
|
150
|
+
return disabledTime(field === null || field === void 0 ? void 0 : field.value);
|
|
151
|
+
}, [field === null || field === void 0 ? void 0 : field.value]);
|
|
152
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.DateTimePicker, _extends._extends({}, field, meta, {
|
|
153
|
+
timePickerProps: disabledTimeFrame,
|
|
154
|
+
datePickerProps: {
|
|
155
|
+
disabledDate: disabledDate,
|
|
156
|
+
"data-cy": props["data-cy"],
|
|
157
|
+
"data-testid": props["data-testid"]
|
|
158
|
+
},
|
|
159
|
+
onChange: function onChange(date) {
|
|
160
|
+
return setValue(date || undefined);
|
|
161
|
+
}
|
|
162
|
+
}, props));
|
|
163
|
+
};
|
|
130
164
|
|
|
131
165
|
var Form = function Form(_ref) {
|
|
132
166
|
var showSendFromField = _ref.showSendFromField,
|
|
@@ -176,14 +210,11 @@ var Form = function Form(_ref) {
|
|
|
176
210
|
weight: "semibold"
|
|
177
211
|
}, t("neetoMolecules.shareViaEmail.sendLater")))), values.isSendLaterEnabled && /*#__PURE__*/React__default["default"].createElement(FormikDatePicker, {
|
|
178
212
|
autoFocus: true,
|
|
179
|
-
showTime: true,
|
|
180
213
|
"data-cy": "email-share-date-input",
|
|
181
214
|
"data-testid": "formik-date-picker",
|
|
182
215
|
disabledDate: isPastDate,
|
|
183
216
|
name: "sendEmailDatetime",
|
|
184
|
-
|
|
185
|
-
size: "large",
|
|
186
|
-
type: "date"
|
|
217
|
+
size: "large"
|
|
187
218
|
}), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
188
219
|
required: true,
|
|
189
220
|
label: t("neetoMolecules.shareViaEmail.startButtonText"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/utils.js","../../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","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import React from \"react\";\n\nimport { useField } from \"formik\";\nimport { DatePicker } from \"neetoui\";\n\nconst FormikDatePicker = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <DatePicker\n {...field}\n {...meta}\n onChange={date => setValue(date || undefined)}\n {...props}\n data-cy=\"email-share-date-input\"\n />\n );\n};\n\nexport default FormikDatePicker;\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n","import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n showTime\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n picker=\"date\"\n size=\"large\"\n type=\"date\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","FormikDatePicker","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","DatePicker","_extends","onChange","date","isPastDate","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","current","editor","commands","setContent","Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","showTime","disabledDate","picker","size","type","classnames","ActionBlock","cancelButtonProps","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","productName","_ref$title","title","shareViaEmailTitle","sendToEmails","map","scrollToErrorField","formProps","noValidate","formikProps","enableReinitialize","validateOnMount","validationSchema","onSubmit","_ref2","Button","icon","LeftArrow","iconPosition","to","EmailForm","EmailPreview","body","subject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShareViaEmail.js","sources":["../../src/components/ShareViaEmail/constants.js","../../src/components/ShareViaEmail/EmailBodyEditor.jsx","../../src/components/ShareViaEmail/utils.js","../../src/components/ShareViaEmail/FormikDatePicker.jsx","../../src/components/ShareViaEmail/Form.jsx","../../src/components/ShareViaEmail/index.jsx"],"sourcesContent":["export const ONE_MEGABYTE = 1_048_576;\n\nexport const INITIAL_VALUES = {\n sendFromEmail: \"\",\n replyToEmail: \"\",\n notifyEmails: [],\n emailSubject: \"\",\n emailBody: \"\",\n isSendLaterEnabled: false,\n sendEmailDatetime: undefined,\n category: \"email_share\",\n actionButtonText: \"\",\n};\n\nexport const EDITOR_ADDONS = [\n \"emoji\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","import React, { forwardRef } from \"react\";\n\nimport { FormikEditor } from \"neetoeditor\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\n\nconst EmailBody = ({ id, showVideoEmbedInEditor }, ref) => {\n const { t } = useTranslation();\n\n return (\n <FormikEditor\n required\n className=\"mb-6\"\n data-cy=\"email-body\"\n id={id}\n label={t(\"neetoMolecules.shareViaEmail.emailBody\")}\n name=\"emailBody\"\n ref={ref}\n addons={\n showVideoEmbedInEditor\n ? [...EDITOR_ADDONS, \"video-embed\"]\n : EDITOR_ADDONS\n }\n />\n );\n};\n\nexport default forwardRef(EmailBody);\n","import dayjs from \"dayjs\";\nimport { t } from \"i18next\";\nimport { isNot } from \"neetocist\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport Papa from \"papaparse\";\nimport { prop } from \"ramda\";\nimport { string } from \"yup\";\nimport * as yup from \"yup\";\n\nimport { INITIAL_VALUES } from \"./constants\";\n\nconst isValidEmail = email => string().email().isValidSync(email);\n\nexport const isPastDate = date =>\n dayjs(date).isBefore(dayjs().subtract(1, \"days\"));\n\nexport const createEmailOptions = (emails = []) =>\n emails.map(email => ({\n label: email,\n value: email,\n valid: isValidEmail(email),\n }));\n\nexport const parseCsvEmails = file =>\n new Promise(resolve => {\n Papa.parse(file, {\n header: true,\n skipEmptyLines: true,\n transformHeader: h => h.toLowerCase().replace(/\\W/g, \"\"),\n complete: results => {\n const isEmailFieldPresent = results.meta.fields?.includes(\"email\");\n if (!isEmailFieldPresent) return resolve([]);\n\n const emails = results.data\n .map(item => item.email?.trim())\n .filter(isNot(undefined));\n\n return resolve(createEmailOptions(emails));\n },\n });\n });\n\nexport const generateInitialValues = defaultValues => ({\n ...INITIAL_VALUES,\n ...defaultValues,\n});\n\nexport const emailFormValidationSchema = disableReplyTo =>\n yup.object().shape({\n emailSubject: yup\n .string()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.subject\")\n ),\n emailBody: yup\n .string()\n .test(\n \"emailBody\",\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.emailBody\"),\n value => !isEditorEmpty(value)\n ),\n sendFromEmail: yup\n .string()\n .trim()\n .email(\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\")\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendFrom\")\n ),\n replyToEmail:\n !disableReplyTo &&\n yup\n .string()\n .trim()\n .email(\n t(\n \"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"\n )\n )\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.replyTo\")\n ),\n notifyEmails: yup\n .array()\n .min(\n 1,\n t(\n \"neetoMolecules.shareViaEmail.validations.atleastOneIsRequired.emailAddress\"\n )\n )\n .test(\n \"are-all-emails-valid\",\n t(\"neetoMolecules.shareViaEmail.validations.invalidField.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n isSendLaterEnabled: yup.boolean(),\n sendEmailDatetime: yup.date().when(\"isSendLaterEnabled\", {\n is: true,\n then: yup\n .date()\n .required(\n t(\"neetoMolecules.shareViaEmail.validations.requiredField.sendLater\")\n ),\n }),\n name: yup.string(),\n actionButtonText: yup\n .string()\n .required(\n t(\n \"neetoMolecules.shareViaEmail.validations.requiredField.startButtonText\"\n )\n ),\n });\n\nexport const disabledTime = selectedDate => {\n const current = selectedDate ? dayjs(selectedDate).startOf(\"day\") : null;\n\n if (!current) return {};\n\n const today = dayjs().startOf(\"day\");\n const isAfterToday = current.isAfter(today, \"day\");\n const isBeforeToday = current.isBefore(today, \"day\");\n\n if (isAfterToday) {\n return { minTime: null, maxTime: null };\n } else if (isBeforeToday) {\n return { minTime: \"0:00\", maxTime: \"24:00\" };\n }\n\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n const currentTime = dayjs().format(\"HH:mm\");\n const endOfDay = \"23:59\";\n\n return { minTime: currentTime, maxTime: endOfDay };\n};\n","import React, { useMemo } from \"react\";\n\nimport { useField } from \"formik\";\nimport { DateTimePicker } from \"neetoui\";\n\nimport { disabledTime } from \"./utils\";\n\nconst FormikDatePicker = ({ name, disabledDate, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n const disabledTimeFrame = useMemo(\n () => disabledTime(field?.value),\n [field?.value]\n );\n\n return (\n <DateTimePicker\n {...field}\n {...meta}\n timePickerProps={disabledTimeFrame}\n datePickerProps={{\n disabledDate,\n \"data-cy\": props[\"data-cy\"],\n \"data-testid\": props[\"data-testid\"],\n }}\n onChange={date => setValue(date || undefined)}\n {...props}\n />\n );\n};\n\nexport default FormikDatePicker;\n","import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Typography, Label } from \"neetoui\";\nimport { Input, Switch, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nimport EmailBody from \"./EmailBodyEditor\";\nimport FormikDatePicker from \"./FormikDatePicker\";\nimport { isPastDate } from \"./utils\";\n\nconst Form = ({\n showSendFromField,\n disableReplyTo,\n showVideoEmbedInEditor,\n children,\n}) => {\n const { values, initialValues } = useFormikContext();\n const editorRef = useRef();\n const { t } = useTranslation();\n\n const handleReset = () =>\n editorRef.current.editor.commands.setContent(initialValues.emailBody);\n\n return (\n <>\n <div className=\"space-y-4\">\n <SendToFields\n showUploadCsvButton\n emailInputProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendTo\"),\n name: \"notifyEmails\",\n required: true,\n }}\n />\n <Input\n required\n className=\"col-span-1\"\n label={t(\"neetoMolecules.shareViaEmail.subject\")}\n name=\"emailSubject\"\n />\n <EmailBody\n {...{ showVideoEmbedInEditor }}\n id=\"emailBody\"\n ref={editorRef}\n />\n <div ref={editorRef} />\n <div>\n <Label className=\"flex items-center gap-2\">\n <Switch\n data-cy=\"send-later-switch\"\n data-testid=\"send-later-switch\"\n name=\"isSendLaterEnabled\"\n />\n <Typography\n component=\"span\"\n data-cy=\"send-later-label\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {t(\"neetoMolecules.shareViaEmail.sendLater\")}\n </Typography>\n </Label>\n </div>\n {values.isSendLaterEnabled && (\n <FormikDatePicker\n autoFocus\n data-cy=\"email-share-date-input\"\n data-testid=\"formik-date-picker\"\n disabledDate={isPastDate}\n name=\"sendEmailDatetime\"\n size=\"large\"\n />\n )}\n <Input\n required\n label={t(\"neetoMolecules.shareViaEmail.startButtonText\")}\n name=\"actionButtonText\"\n />\n <div className=\"flex flex-col gap-4 sm:flex-row sm:gap-6\">\n {showSendFromField && (\n <Input\n required\n className={classnames({ \"w-full flex-grow-0\": !disableReplyTo })}\n data-testid=\"neeto-molecules-share-via-email-send-from\"\n label={t(\"neetoMolecules.shareViaEmail.sendFrom\")}\n name=\"sendFromEmail\"\n />\n )}\n {!disableReplyTo && (\n <Input\n required\n data-testid=\"replyTo-field\"\n label={t(\"neetoMolecules.shareViaEmail.replyTo\")}\n name=\"replyToEmail\"\n className={classnames({\n \"w-full flex-grow-0\": showSendFromField,\n })}\n />\n )}\n </div>\n </div>\n {children && (\n <div className=\"neeto-ui-border-gray-300 mt-4 border-t py-4\">\n <h3 className=\"mb-4\">\n {t(\"neetoMolecules.shareViaEmail.additionalOptions\")}\n </h3>\n {children}\n </div>\n )}\n <div className=\"mt-6\">\n <ActionBlock\n cancelButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.reset\"),\n type: \"reset\",\n onClick: handleReset,\n }}\n submitButtonProps={{\n label: t(\"neetoMolecules.shareViaEmail.sendEmail\"),\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Form;\n","import React from \"react\";\n\nimport { LeftArrow } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmailPreview from \"components/EmailPreview\";\n\nimport EmailForm from \"./Form\";\nimport { emailFormValidationSchema, generateInitialValues } from \"./utils\";\n\nconst ShareViaEmail = ({\n showSendFromField = false,\n backToUrl,\n handleSubmit,\n children,\n description,\n defaultValues,\n disableReplyTo,\n productName,\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 {...{ productName }}\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 * product name for the `<EmailPreview />` component can be passed.\n */\n productName: PropTypes.string,\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","EmailBody","_ref","ref","id","showVideoEmbedInEditor","_useTranslation","useTranslation","t","React","createElement","FormikEditor","required","className","label","name","addons","concat","_toConsumableArray","forwardRef","isPastDate","date","dayjs","isBefore","subtract","generateInitialValues","defaultValues","_objectSpread","emailFormValidationSchema","disableReplyTo","yup","object","shape","string","test","value","isEditorEmpty","trim","email","array","min","emails","every","prop","when","is","then","disabledTime","selectedDate","current","startOf","today","isAfterToday","isAfter","isBeforeToday","minTime","maxTime","currentTime","format","endOfDay","FormikDatePicker","disabledDate","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","disabledTimeFrame","useMemo","DateTimePicker","_extends","timePickerProps","datePickerProps","onChange","Form","showSendFromField","children","_useFormikContext","useFormikContext","values","initialValues","editorRef","useRef","handleReset","editor","commands","setContent","Fragment","SendToFields","showUploadCsvButton","emailInputProps","Input","Label","Switch","Typography","component","lineHeight","style","weight","autoFocus","size","classnames","ActionBlock","cancelButtonProps","type","onClick","submitButtonProps","ShareViaEmail","_ref$showSendFromFiel","backToUrl","handleSubmit","description","productName","_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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.4",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|