@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/cjs/EmailForm.js
CHANGED
|
@@ -18,13 +18,13 @@ var yup = require('yup');
|
|
|
18
18
|
var Select = require('@bigbinary/neetoui/formik/Select');
|
|
19
19
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
20
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
21
|
-
var withT = require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
22
21
|
var SendToFields = require('./SendToFields.js');
|
|
23
22
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
24
23
|
var general = require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
25
24
|
var Input$1 = require('@bigbinary/neetoui/Input');
|
|
26
25
|
var DynamicVariables = require('./DynamicVariables.js');
|
|
27
26
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
27
|
+
require('@bigbinary/neeto-commons-frontend/react-utils/withT');
|
|
28
28
|
require('@bigbinary/neeto-editor/EditorContent');
|
|
29
29
|
require('@bigbinary/neetoui/Button');
|
|
30
30
|
require('./index-JY2zVpnv.js');
|
|
@@ -185,10 +185,18 @@ var ReplyToField = function ReplyToField(_ref) {
|
|
|
185
185
|
});
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
-
var SendToField =
|
|
189
|
-
var
|
|
188
|
+
var SendToField = function SendToField(_ref) {
|
|
189
|
+
var showBccField = _ref.showBccField,
|
|
190
|
+
showCcField = _ref.showCcField,
|
|
191
|
+
showSendToTextField = _ref.showSendToTextField;
|
|
192
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
193
|
+
t = _useTranslation.t;
|
|
194
|
+
if (!showSendToTextField && !showBccField && !showCcField) return null;
|
|
190
195
|
return /*#__PURE__*/jsxRuntime.jsx(SendToFields, {
|
|
191
196
|
showCcBccButton: true,
|
|
197
|
+
showBccField: showSendToTextField ? false : showBccField,
|
|
198
|
+
showCcField: showSendToTextField ? false : showCcField,
|
|
199
|
+
showSendToField: showSendToTextField,
|
|
192
200
|
bccInputProps: {
|
|
193
201
|
label: t("neetoMolecules.emailForm.labels.bCc"),
|
|
194
202
|
name: "sendToBcc",
|
|
@@ -207,7 +215,7 @@ var SendToField = withT(function (_ref) {
|
|
|
207
215
|
required: true
|
|
208
216
|
}
|
|
209
217
|
});
|
|
210
|
-
}
|
|
218
|
+
};
|
|
211
219
|
|
|
212
220
|
var SubjectField = function SubjectField(_ref) {
|
|
213
221
|
var name = _ref.name,
|
|
@@ -295,7 +303,9 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
295
303
|
var _useContext = React.useContext(EmailFormContext),
|
|
296
304
|
showSendToField = _useContext.showSendToField,
|
|
297
305
|
showSendToAsRadio = _useContext.showSendToAsRadio,
|
|
298
|
-
showReplyToField = _useContext.showReplyToField
|
|
306
|
+
showReplyToField = _useContext.showReplyToField,
|
|
307
|
+
showCcField = _useContext.showCcField,
|
|
308
|
+
showBccField = _useContext.showBccField;
|
|
299
309
|
var _useFormikContext = formik.useFormikContext(),
|
|
300
310
|
setFieldValue = _useFormikContext.setFieldValue;
|
|
301
311
|
var sendToFieldOptions = (sendToFieldProps === null || sendToFieldProps === void 0 ? void 0 : sendToFieldProps.options) || sendToOptions;
|
|
@@ -342,7 +352,11 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
342
352
|
key: value
|
|
343
353
|
});
|
|
344
354
|
})
|
|
345
|
-
}),
|
|
355
|
+
}), /*#__PURE__*/jsxRuntime.jsx(SendToField, {
|
|
356
|
+
showBccField: showBccField,
|
|
357
|
+
showCcField: showCcField,
|
|
358
|
+
showSendToTextField: showSendToTextField
|
|
359
|
+
}), showReplyToField && /*#__PURE__*/jsxRuntime.jsx(ReplyToField, _objectSpread$1({
|
|
346
360
|
options: replyToOptions
|
|
347
361
|
}, replyToFieldProps)), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
348
362
|
className: "w-full",
|
|
@@ -399,6 +413,10 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
399
413
|
showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
|
|
400
414
|
_ref$showSendToAsRadi = _ref.showSendToAsRadio,
|
|
401
415
|
showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
|
|
416
|
+
_ref$showCcField = _ref.showCcField,
|
|
417
|
+
showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
|
|
418
|
+
_ref$showBccField = _ref.showBccField,
|
|
419
|
+
showBccField = _ref$showBccField === void 0 ? false : _ref$showBccField,
|
|
402
420
|
_ref$maxEmails = _ref.maxEmails,
|
|
403
421
|
maxEmails = _ref$maxEmails === void 0 ? 10 : _ref$maxEmails;
|
|
404
422
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -407,7 +425,9 @@ var EmailFormProvider = function EmailFormProvider(_ref) {
|
|
|
407
425
|
value: {
|
|
408
426
|
showSendToField: showSendToField,
|
|
409
427
|
showSendToAsRadio: showSendToAsRadio,
|
|
410
|
-
showReplyToField: showReplyToField
|
|
428
|
+
showReplyToField: showReplyToField,
|
|
429
|
+
showCcField: showCcField,
|
|
430
|
+
showBccField: showBccField
|
|
411
431
|
},
|
|
412
432
|
children: /*#__PURE__*/jsxRuntime.jsx(Form, {
|
|
413
433
|
formikProps: _objectSpread({
|
|
@@ -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/cjs/SendToFields.js
CHANGED
|
@@ -2140,7 +2140,13 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2140
2140
|
_ref$showUploadCsvBut = _ref.showUploadCsvButton,
|
|
2141
2141
|
showUploadCsvButton = _ref$showUploadCsvBut === void 0 ? false : _ref$showUploadCsvBut,
|
|
2142
2142
|
_ref$showCcBccButton = _ref.showCcBccButton,
|
|
2143
|
-
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton
|
|
2143
|
+
showCcBccButton = _ref$showCcBccButton === void 0 ? false : _ref$showCcBccButton,
|
|
2144
|
+
_ref$showCcField = _ref.showCcField,
|
|
2145
|
+
showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
|
|
2146
|
+
_ref$showBccField = _ref.showBccField,
|
|
2147
|
+
showBccField = _ref$showBccField === void 0 ? false : _ref$showBccField,
|
|
2148
|
+
_ref$showSendToField = _ref.showSendToField,
|
|
2149
|
+
showSendToField = _ref$showSendToField === void 0 ? true : _ref$showSendToField;
|
|
2144
2150
|
var _useState = React.useState(false),
|
|
2145
2151
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2146
2152
|
isBulkUploadPaneOpen = _useState2[0],
|
|
@@ -2183,7 +2189,7 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2183
2189
|
onClick: function onClick() {
|
|
2184
2190
|
return setIsBulkUploadPaneOpen(true);
|
|
2185
2191
|
}
|
|
2186
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread(_objectSpread({
|
|
2192
|
+
}), showSendToField && /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread(_objectSpread({
|
|
2187
2193
|
name: "sendTo",
|
|
2188
2194
|
ref: sendToFieldRef
|
|
2189
2195
|
}, emailInputProps), {}, {
|
|
@@ -2195,11 +2201,11 @@ var SendToFields = function SendToFields(_ref) {
|
|
|
2195
2201
|
style: "link",
|
|
2196
2202
|
onClick: handelCcBccButtonClick
|
|
2197
2203
|
})
|
|
2198
|
-
})),
|
|
2204
|
+
})), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
2199
2205
|
className: "mt-5 flex w-full flex-col gap-6",
|
|
2200
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread({
|
|
2206
|
+
children: [(showCopyEmails || showCcField) && /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread({
|
|
2201
2207
|
name: "sendToBcc"
|
|
2202
|
-
}, ccInputProps)), /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread({
|
|
2208
|
+
}, ccInputProps)), (showCopyEmails || showBccField) && /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, _objectSpread({
|
|
2203
2209
|
name: "sendToCc"
|
|
2204
2210
|
}, bccInputProps))]
|
|
2205
2211
|
}), /*#__PURE__*/jsxRuntime.jsx(BulkUploadPane, {
|