@bigbinary/neeto-molecules 3.7.22 → 3.7.23
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/EmailForm.js +27 -7
- package/dist/EmailForm.js.map +1 -1
- package/dist/SendToFields.js +11 -5
- package/dist/SendToFields.js.map +1 -1
- package/dist/cjs/EmailForm.js +27 -7
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/SendToFields.js +11 -5
- package/dist/cjs/SendToFields.js.map +1 -1
- package/package.json +1 -1
- package/types/EmailFormProvider.d.ts +2 -0
- package/types/SendToFields.d.ts +3 -0
package/dist/EmailForm.js
CHANGED
|
@@ -16,13 +16,13 @@ import * as yup from 'yup';
|
|
|
16
16
|
import Select from '@bigbinary/neetoui/formik/Select';
|
|
17
17
|
import Input from '@bigbinary/neetoui/formik/Input';
|
|
18
18
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
19
|
-
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
20
19
|
import SendToFields from './SendToFields.js';
|
|
21
20
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
22
21
|
import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
23
22
|
import Input$1 from '@bigbinary/neetoui/Input';
|
|
24
23
|
import DynamicVariables from './DynamicVariables.js';
|
|
25
24
|
import Form from '@bigbinary/neetoui/formik/Form';
|
|
25
|
+
import '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
26
26
|
import '@bigbinary/neeto-editor/EditorContent';
|
|
27
27
|
import '@bigbinary/neetoui/Button';
|
|
28
28
|
import './index-DAYCJu79.js';
|
|
@@ -164,10 +164,18 @@ var ReplyToField = function ReplyToField(_ref) {
|
|
|
164
164
|
});
|
|
165
165
|
};
|
|
166
166
|
|
|
167
|
-
var SendToField =
|
|
168
|
-
var
|
|
167
|
+
var SendToField = function SendToField(_ref) {
|
|
168
|
+
var showBccField = _ref.showBccField,
|
|
169
|
+
showCcField = _ref.showCcField,
|
|
170
|
+
showSendToTextField = _ref.showSendToTextField;
|
|
171
|
+
var _useTranslation = useTranslation(),
|
|
172
|
+
t = _useTranslation.t;
|
|
173
|
+
if (!showSendToTextField && !showBccField && !showCcField) return null;
|
|
169
174
|
return /*#__PURE__*/jsx(SendToFields, {
|
|
170
175
|
showCcBccButton: true,
|
|
176
|
+
showBccField: showSendToTextField ? false : showBccField,
|
|
177
|
+
showCcField: showSendToTextField ? false : showCcField,
|
|
178
|
+
showSendToField: showSendToTextField,
|
|
171
179
|
bccInputProps: {
|
|
172
180
|
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
173
181
|
name: "sendToBcc",
|
|
@@ -186,7 +194,7 @@ var SendToField = withT(function (_ref) {
|
|
|
186
194
|
required: true
|
|
187
195
|
}
|
|
188
196
|
});
|
|
189
|
-
}
|
|
197
|
+
};
|
|
190
198
|
|
|
191
199
|
var SubjectField = function SubjectField(_ref) {
|
|
192
200
|
var name = _ref.name,
|
|
@@ -274,7 +282,9 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
274
282
|
var _useContext = useContext(EmailFormContext),
|
|
275
283
|
showSendToField = _useContext.showSendToField,
|
|
276
284
|
showSendToAsRadio = _useContext.showSendToAsRadio,
|
|
277
|
-
showReplyToField = _useContext.showReplyToField
|
|
285
|
+
showReplyToField = _useContext.showReplyToField,
|
|
286
|
+
showCcField = _useContext.showCcField,
|
|
287
|
+
showBccField = _useContext.showBccField;
|
|
278
288
|
var _useFormikContext = useFormikContext(),
|
|
279
289
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
280
290
|
var sendToFieldOptions = (sendToFieldProps === null || sendToFieldProps === void 0 ? void 0 : sendToFieldProps.options) || sendToOptions;
|
|
@@ -321,7 +331,11 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
321
331
|
key: value
|
|
322
332
|
});
|
|
323
333
|
})
|
|
324
|
-
}),
|
|
334
|
+
}), /*#__PURE__*/jsx(SendToField, {
|
|
335
|
+
showBccField: showBccField,
|
|
336
|
+
showCcField: showCcField,
|
|
337
|
+
showSendToTextField: showSendToTextField
|
|
338
|
+
}), showReplyToField && /*#__PURE__*/jsx(ReplyToField, _objectSpread$1({
|
|
325
339
|
options: replyToOptions
|
|
326
340
|
}, replyToFieldProps)), /*#__PURE__*/jsxs("div", {
|
|
327
341
|
className: "w-full",
|
|
@@ -378,6 +392,10 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
378
392
|
showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
|
|
379
393
|
_ref$showSendToAsRadi = _ref.showSendToAsRadio,
|
|
380
394
|
showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
|
|
395
|
+
_ref$showCcField = _ref.showCcField,
|
|
396
|
+
showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
|
|
397
|
+
_ref$showBccField = _ref.showBccField,
|
|
398
|
+
showBccField = _ref$showBccField === void 0 ? false : _ref$showBccField,
|
|
381
399
|
_ref$maxEmails = _ref.maxEmails,
|
|
382
400
|
maxEmails = _ref$maxEmails === void 0 ? 10 : _ref$maxEmails;
|
|
383
401
|
return /*#__PURE__*/jsx("div", {
|
|
@@ -386,7 +404,9 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
386
404
|
value: {
|
|
387
405
|
showSendToField: showSendToField,
|
|
388
406
|
showSendToAsRadio: showSendToAsRadio,
|
|
389
|
-
showReplyToField: showReplyToField
|
|
407
|
+
showReplyToField: showReplyToField,
|
|
408
|
+
showCcField: showCcField,
|
|
409
|
+
showBccField: showBccField
|
|
390
410
|
},
|
|
391
411
|
children: /*#__PURE__*/jsx(Form, {
|
|
392
412
|
formikProps: _objectSpread({
|
package/dist/EmailForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../src/components/EmailForm/constants.js","../src/components/EmailForm/contexts/EmailForm.js","../src/components/EmailForm/utils.js","../src/components/EmailForm/ReplyToField.jsx","../src/components/EmailForm/SendToField.jsx","../src/components/EmailForm/SubjectField.jsx","../src/components/EmailForm/EmailForm.jsx","../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-cy=\"email-form\"\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2 !pb-0\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && (\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n )}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"neeto-ui-bg-white z-10 w-full justify-start py-6 lg:sticky lg:bottom-0\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","getValidationSchema","_ref","customValidations","schema","clone","concat","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","description","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","withT","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","_jsxs","_Fragment","children","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","sendToFieldOptions","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","_createElement","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$maxEmails","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../src/components/EmailForm/constants.js","../src/components/EmailForm/contexts/EmailForm.js","../src/components/EmailForm/utils.js","../src/components/EmailForm/ReplyToField.jsx","../src/components/EmailForm/SendToField.jsx","../src/components/EmailForm/SubjectField.jsx","../src/components/EmailForm/EmailForm.jsx","../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-cy=\"email-form\"\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2 !pb-0\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n )}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"neeto-ui-bg-white z-10 w-full justify-start py-6 lg:sticky lg:bottom-0\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","getValidationSchema","_ref","customValidations","schema","clone","concat","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","description","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showBccField","showCcField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","_jsxs","_Fragment","children","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","Radio","map","_ref3","_createElement","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$showCcField","_ref$showBccField","_ref$maxEmails","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
|
package/dist/SendToFields.js
CHANGED
|
@@ -2138,7 +2138,13 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2138
2138
|
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
2139
2139
|
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
2140
2140
|
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
2141
|
-
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton
|
|
2141
|
+
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton,
|
|
2142
|
+
_ref$showCcField = _ref.showCcField,
|
|
2143
|
+
showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
|
|
2144
|
+
_ref$showBccField = _ref.showBccField,
|
|
2145
|
+
showBccField = _ref$showBccField === void 0 ? false : _ref$showBccField,
|
|
2146
|
+
_ref$showSendToField = _ref.showSendToField,
|
|
2147
|
+
showSendToField = _ref$showSendToField === void 0 ? true : _ref$showSendToField;
|
|
2142
2148
|
var _useState = useState(false),
|
|
2143
2149
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2144
2150
|
isBulkUploadPaneOpen = _useState2[0],
|
|
@@ -2181,7 +2187,7 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2181
2187
|
onClick: function onClick() {
|
|
2182
2188
|
return setIsBulkUploadPaneOpen(true);
|
|
2183
2189
|
}
|
|
2184
|
-
}), /*#__PURE__*/jsx(MultiEmailInput, _objectSpread(_objectSpread({
|
|
2190
|
+
}), showSendToField && /*#__PURE__*/jsx(MultiEmailInput, _objectSpread(_objectSpread({
|
|
2185
2191
|
name: "sendTo",
|
|
2186
2192
|
ref: sendToFieldRef
|
|
2187
2193
|
}, emailInputProps), {}, {
|
|
@@ -2193,11 +2199,11 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2193
2199
|
style: "link",
|
|
2194
2200
|
onClick: handelCcBccButtonClick
|
|
2195
2201
|
})
|
|
2196
|
-
})),
|
|
2202
|
+
})), /*#__PURE__*/jsxs("div", {
|
|
2197
2203
|
className: "mt-5 flex w-full flex-col gap-6",
|
|
2198
|
-
children: [/*#__PURE__*/jsx(MultiEmailInput, _objectSpread({
|
|
2204
|
+
children: [(showCopyEmails || showCcField) && /*#__PURE__*/jsx(MultiEmailInput, _objectSpread({
|
|
2199
2205
|
name: "sendToBcc"
|
|
2200
|
-
}, ccInputProps)), /*#__PURE__*/jsx(MultiEmailInput, _objectSpread({
|
|
2206
|
+
}, ccInputProps)), (showCopyEmails || showBccField) && /*#__PURE__*/jsx(MultiEmailInput, _objectSpread({
|
|
2201
2207
|
name: "sendToCc"
|
|
2202
2208
|
}, bccInputProps))]
|
|
2203
2209
|
}), /*#__PURE__*/jsx(BulkUploadPane, {
|