@bigbinary/neeto-molecules 4.0.124 → 4.0.125

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.
@@ -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/EmailFormComponent/index.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 isEnabled: false,\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 const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n [\"data-cy\"]: \"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 appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/&nbsp;/g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\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 onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, onBlur, 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 { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\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\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\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, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\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(\n \"neeto-notification-email-wrapper__form-container 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, onBlur }, meta: { error, touched } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\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\" data-cy=\"message-input-container\">\n <FormikEditor\n required\n addons={editorAddons}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\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 <div className=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\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 function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: 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 * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: 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 * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\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 isEnabled: PropTypes.bool,\n }),\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 used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\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 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 * 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 * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\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\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\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","isEnabled","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","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","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","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","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","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","classnames","Field","_ref2$field","field","_ref2$meta","meta","touched","undefined","Radio","map","_ref3","_createElement","Item","FormikEditor","addons","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"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/EmailFormComponent/index.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 isEnabled: false,\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 showCcField: false,\n showBccField: 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 const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n [\"data-cy\"]: \"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 appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/&nbsp;/g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\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 nakedInput\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 } from \"neetoui\";\nimport { 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 onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n nakedInput\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n value={text}\n suffix={\n <DynamicVariables\n buttonProps={{ className: \"m-1\" }}\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 );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { 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\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\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, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\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(\n \"neeto-notification-email-wrapper__form-container flex flex-1 flex-col items-start gap-2 !pb-0\",\n { [className]: className }\n )}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <Radio\n className=\"pb-2\"\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 <div className=\"neeto-ui-border-gray-200 w-full border-b pb-1\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"neeto-notification-email-subject-block neeto-ui-border-gray-200 w-full border-b pb-1\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div\n className=\"neeto-notification-email-message-block w-full\"\n data-cy=\"message-input-container\"\n >\n <FormikEditor\n required\n addons={editorAddons}\n data-cy=\"message-input-field\"\n hideSlashCommands={false}\n id=\"form_message\"\n menuType=\"none\"\n name=\"message\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.message\")}\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\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 function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: 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 * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: 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 * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\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 isEnabled: PropTypes.bool,\n }),\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 used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\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 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 * 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 * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\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\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\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","isEnabled","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","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","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","nakedInput","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","children","Radio","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","style","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
@@ -11,6 +11,44 @@ var index = require('./index-JY2zVpnv.js');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
  require('./_commonjsHelpers-BJu3ubxk.js');
13
13
 
14
+ function _interopNamespaceDefault(e) {
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n.default = e;
28
+ return Object.freeze(n);
29
+ }
30
+
31
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
32
+
33
+ var _rect, _path;
34
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
35
+ var SvgAvatarPlaceholder = function SvgAvatarPlaceholder(props) {
36
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
37
+ xmlns: "http://www.w3.org/2000/svg",
38
+ width: 32,
39
+ height: 32,
40
+ fill: "none"
41
+ }, props), _rect || (_rect = /*#__PURE__*/React__namespace.createElement("rect", {
42
+ width: 31.558,
43
+ height: 31.558,
44
+ fill: "#F1F3F4",
45
+ rx: 15.779
46
+ })), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
47
+ fill: "#C2C8CC",
48
+ d: "M15.778 15.778a2.892 2.892 0 1 0 0-5.786 2.892 2.892 0 1 0 0 5.786m0 1.446c-1.931 0-5.786.97-5.786 2.893v1.447h11.572v-1.447c0-1.924-3.855-2.893-5.786-2.893"
49
+ })));
50
+ };
51
+
14
52
  var MemoizedEditorContent = /*#__PURE__*/React.memo(EditorContent);
15
53
  var EmailPreview = withT(function (_ref) {
16
54
  var t = _ref.t,
@@ -27,84 +65,81 @@ var EmailPreview = withT(function (_ref) {
27
65
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
28
66
  "data-cy": "email-preview-card",
29
67
  "data-testid": "email-preview",
30
- className: classnames("neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white neeto-ui-theme--light neeto-notification-email-wrapper__preview flex flex-1 flex-col border", className),
31
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
32
- className: "neeto-ui-border-gray-300 flex flex-col gap-y-3 border-b p-6",
33
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
34
- className: "flex gap-2",
35
- "data-cy": "email-send-to-preview",
36
- "data-testid": "email-to-block",
37
- children: [/*#__PURE__*/jsxRuntime.jsxs(Typography, {
38
- className: "neeto-ui-text-gray-500",
39
- lineHeight: "normal",
40
- style: "body2",
41
- children: [t("neetoMolecules.emailPreview.to"), ":"]
42
- }), neetoCist.isPresent(to) ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
43
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
44
- lineHeight: "normal",
45
- style: "body2",
46
- children: to.join(", ")
47
- }) : /*#__PURE__*/jsxRuntime.jsx("div", {
48
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40"
49
- })]
50
- }), from && /*#__PURE__*/jsxRuntime.jsxs("div", {
51
- className: "neeto-ui-border-gray-200 flex items-center gap-2 border-t pt-3",
52
- children: [/*#__PURE__*/jsxRuntime.jsxs(Typography, {
53
- className: "neeto-ui-text-gray-500",
54
- lineHeight: "normal",
55
- style: "body2",
56
- children: [t("neetoMolecules.emailPreview.from"), ":"]
57
- }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
58
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
59
- "data-cy": "email-send-from-preview",
60
- lineHeight: "normal",
61
- style: "body2",
62
- children: from
63
- })]
64
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
65
- className: "neeto-ui-border-gray-200 flex items-center gap-2 border-t pt-3",
66
- children: [/*#__PURE__*/jsxRuntime.jsxs(Typography, {
67
- className: "neeto-ui-text-gray-500",
68
- lineHeight: "normal",
69
- style: "body2",
70
- children: [t("neetoMolecules.emailPreview.subject"), ":"]
71
- }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
72
- className: "neeto-ui-text-gray-800 min-w-0 flex-grow break-words",
73
- "data-cy": "email-subject-preview",
74
- lineHeight: "normal",
75
- style: "body2",
68
+ className: classnames("neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-theme--light neeto-notification-email-wrapper__preview relative flex flex-1 flex-col px-6 py-8", className),
69
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
70
+ className: "neeto-molecules-email-preview-ribbon",
71
+ children: t("neetoMolecules.emailPreview.previewMessage")
72
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
73
+ className: "w-full pb-4",
74
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
75
+ className: "neeto-ui-text-gray-800 min-w-0 grow space-x-2 break-words",
76
+ "data-cy": "email-subject-preview",
77
+ lineHeight: "normal",
78
+ style: "h4",
79
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
76
80
  children: subject || /*#__PURE__*/jsxRuntime.jsx("span", {
77
81
  className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40"
78
82
  })
83
+ })
84
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
85
+ className: "mt-4 flex items-center gap-2",
86
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
87
+ className: "shrink-0",
88
+ children: /*#__PURE__*/jsxRuntime.jsx(SvgAvatarPlaceholder, {})
89
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
90
+ className: "neeto-ui-flex-col flex gap-1",
91
+ children: [neetoCist.isPresent(from) ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
92
+ style: "h6",
93
+ weight: "medium",
94
+ children: from
95
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
96
+ className: "flex gap-2",
97
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
98
+ className: "neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-24"
99
+ }), /*#__PURE__*/jsxRuntime.jsx("span", {
100
+ className: "neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-24"
101
+ })]
102
+ }), neetoCist.isPresent(to) ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
103
+ className: "neeto-ui-text-gray-500 line-clamp-1",
104
+ "data-testid": "email-to-block",
105
+ style: "nano",
106
+ children: to.join(", ")
107
+ }) : /*#__PURE__*/jsxRuntime.jsx("span", {
108
+ className: "neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-16",
109
+ "data-testid": "email-to-block"
110
+ })]
79
111
  })]
80
112
  })]
81
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
82
- className: "neeto-ui-text-gray-800 flex flex-1 flex-col justify-between gap-y-6 p-6 pe-10 text-base leading-relaxed",
113
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
114
+ className: "neeto-ui-rounded neeto-ui-bg-gray-100 flex flex-1 flex-col justify-between gap-y-6 px-6 py-4 text-base leading-relaxed",
83
115
  "data-cy": "email-body-preview-container",
84
- children: [body ? /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent, {
85
- className: "whitespace-normal",
86
- content: body
87
- }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
88
- className: "flex flex-col gap-y-4",
89
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
90
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
91
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
92
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72"
93
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
94
- className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
116
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
117
+ className: "neeto-ui-bg-white w-full p-6 md:p-8 2xl:mx-auto 2xl:max-w-lg",
118
+ children: [body ? /*#__PURE__*/jsxRuntime.jsx(MemoizedEditorContent, {
119
+ className: "whitespace-normal",
120
+ content: body
121
+ }) : /*#__PURE__*/jsxRuntime.jsxs("div", {
122
+ className: "flex flex-col gap-y-4",
123
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
124
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
125
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
126
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72"
127
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
128
+ className: "neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80"
129
+ })]
130
+ }), customContent && customContent, actionButtonText && /*#__PURE__*/jsxRuntime.jsx("div", {
131
+ className: "mt-6 flex w-full items-center justify-center",
132
+ children: /*#__PURE__*/jsxRuntime.jsx(Button, {
133
+ className: "pointer-events-none",
134
+ label: actionButtonText
135
+ })
136
+ }), logo && /*#__PURE__*/jsxRuntime.jsx("img", {
137
+ alt: t("neetoMolecules.emailPreview.logoAltText"),
138
+ className: "h-20 w-36 object-cover",
139
+ "data-cy": "company-logo-preview",
140
+ src: logo
95
141
  })]
96
- }), customContent && customContent, actionButtonText && /*#__PURE__*/jsxRuntime.jsx("div", {
97
- className: "mt-6 flex w-full items-center justify-center",
98
- children: /*#__PURE__*/jsxRuntime.jsx(Button, {
99
- className: "pointer-events-none",
100
- label: actionButtonText
101
- })
102
- }), logo && /*#__PURE__*/jsxRuntime.jsx("img", {
103
- alt: t("neetoMolecules.emailPreview.logoAltText"),
104
- className: "h-20 w-36 object-cover",
105
- "data-cy": "company-logo-preview",
106
- src: logo
107
- })]
142
+ })
108
143
  })]
109
144
  });
110
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"EmailPreview.js","sources":["../../src/components/EmailPreview.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n actionButtonText,\n logo,\n className = \"\",\n customContent,\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-m neeto-ui-bg-white neeto-ui-theme--light neeto-notification-email-wrapper__preview flex flex-1 flex-col border\",\n className\n )}\n >\n <div className=\"neeto-ui-border-gray-300 flex flex-col gap-y-3 border-b p-6\">\n <div\n className=\"flex gap-2\"\n data-cy=\"email-send-to-preview\"\n data-testid=\"email-to-block\"\n >\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.to\")}:\n </Typography>\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full mt-2 h-2 w-40\" />\n )}\n </div>\n {from && (\n <div className=\"neeto-ui-border-gray-200 flex items-center gap-2 border-t pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.from\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-send-from-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {from}\n </Typography>\n </div>\n )}\n <div className=\"neeto-ui-border-gray-200 flex items-center gap-2 border-t pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.emailPreview.subject\")}:\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 flex-grow break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </Typography>\n </div>\n </div>\n <div\n className=\"neeto-ui-text-gray-800 flex flex-1 flex-col justify-between gap-y-6 p-6 pe-10 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n {body ? (\n <MemoizedEditorContent className=\"whitespace-normal\" content={body} />\n ) : (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {customContent && customContent}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button className=\"pointer-events-none\" label={actionButtonText} />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n /**\n * To pass custom content that will be rendered above the action button.\n */\n customContent: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["MemoizedEditorContent","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","actionButtonText","logo","_ref$className","className","customContent","_jsxs","classnames","children","Typography","lineHeight","style","isPresent","_jsx","join","content","Button","label","alt","src","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
1
+ {"version":3,"file":"EmailPreview.js","sources":["../../src/assets/images/avatar-placeholder.svg","../../src/components/EmailPreview.jsx"],"sourcesContent":["<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<rect width=\"31.5581\" height=\"31.5581\" rx=\"15.779\" fill=\"#F1F3F4\"/>\n<path d=\"M15.7778 15.7778C17.3761 15.7778 18.6707 14.4833 18.6707 12.885C18.6707 11.2867 17.3761 9.99219 15.7778 9.99219C14.1796 9.99219 12.885 11.2867 12.885 12.885C12.885 14.4833 14.1796 15.7778 15.7778 15.7778ZM15.7778 17.2243C13.8469 17.2243 9.99219 18.1933 9.99219 20.1171V21.5635H21.5635V20.1171C21.5635 18.1933 17.7088 17.2243 15.7778 17.2243Z\" fill=\"#C2C8CC\"/>\n</svg>\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { EditorContent } from \"neetoeditor\";\nimport { Typography, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport AvatarPlaceholder from \"assets/images/avatar-placeholder\";\n\nconst MemoizedEditorContent = memo(EditorContent);\n\nconst EmailPreview = withT(\n ({\n t,\n to = [],\n from,\n subject,\n body,\n actionButtonText,\n logo,\n className = \"\",\n customContent,\n }) => (\n <div\n data-cy=\"email-preview-card\"\n data-testid=\"email-preview\"\n className={classnames(\n \"neeto-ui-bg-white neeto-ui-rounded-lg neeto-ui-theme--light neeto-notification-email-wrapper__preview relative flex flex-1 flex-col px-6 py-8\",\n className\n )}\n >\n <div className=\"neeto-molecules-email-preview-ribbon\">\n {t(\"neetoMolecules.emailPreview.previewMessage\")}\n </div>\n <div className=\"w-full pb-4\">\n <Typography\n className=\"neeto-ui-text-gray-800 min-w-0 grow space-x-2 break-words\"\n data-cy=\"email-subject-preview\"\n lineHeight=\"normal\"\n style=\"h4\"\n >\n <span>\n {subject || (\n <span className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40\" />\n )}\n </span>\n </Typography>\n <div className=\"mt-4 flex items-center gap-2\">\n <div className=\"shrink-0\">\n <AvatarPlaceholder />\n </div>\n <div className=\"neeto-ui-flex-col flex gap-1\">\n {isPresent(from) ? (\n <Typography style=\"h6\" weight=\"medium\">\n {from}\n </Typography>\n ) : (\n <div className=\"flex gap-2\">\n <span className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-24\" />\n <span className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-24\" />\n </div>\n )}\n {isPresent(to) ? (\n <Typography\n className=\"neeto-ui-text-gray-500 line-clamp-1\"\n data-testid=\"email-to-block\"\n style=\"nano\"\n >\n {to.join(\", \")}\n </Typography>\n ) : (\n <span\n className=\"neeto-ui-bg-gray-100 neeto-ui-rounded-full h-2 w-16\"\n data-testid=\"email-to-block\"\n />\n )}\n </div>\n </div>\n </div>\n <div\n className=\"neeto-ui-rounded neeto-ui-bg-gray-100 flex flex-1 flex-col justify-between gap-y-6 px-6 py-4 text-base leading-relaxed\"\n data-cy=\"email-body-preview-container\"\n >\n <div className=\"neeto-ui-bg-white w-full p-6 md:p-8 2xl:mx-auto 2xl:max-w-lg\">\n {body ? (\n <MemoizedEditorContent\n className=\"whitespace-normal\"\n content={body}\n />\n ) : (\n <div className=\"flex flex-col gap-y-4\">\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-40 max-w-full md:w-72\" />\n <div className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2 w-48 max-w-full md:w-80\" />\n </div>\n )}\n {customContent && customContent}\n {actionButtonText && (\n <div className=\"mt-6 flex w-full items-center justify-center\">\n <Button\n className=\"pointer-events-none\"\n label={actionButtonText}\n />\n </div>\n )}\n {logo && (\n <img\n alt={t(\"neetoMolecules.emailPreview.logoAltText\")}\n className=\"h-20 w-36 object-cover\"\n data-cy=\"company-logo-preview\"\n src={logo}\n />\n )}\n </div>\n </div>\n </div>\n )\n);\n\nEmailPreview.propTypes = {\n /**\n * The value of the send-to field.\n */\n to: PropTypes.arrayOf(PropTypes.string),\n /**\n * The value of the send-from field.\n */\n from: PropTypes.string,\n /**\n * The subject of the email.\n */\n subject: PropTypes.string,\n /**\n * The body of the email.\n */\n body: PropTypes.string,\n /**\n * The text to be shown in the action button.\n */\n actionButtonText: PropTypes.string,\n /**\n * Source link for the company logo.\n */\n logo: PropTypes.string,\n /**\n * To pass custom content that will be rendered above the action button.\n */\n customContent: PropTypes.string,\n};\n\nexport default EmailPreview;\n"],"names":["React","MemoizedEditorContent","memo","EditorContent","EmailPreview","withT","_ref","t","_ref$to","to","from","subject","body","actionButtonText","logo","_ref$className","className","customContent","_jsxs","classnames","children","_jsx","Typography","lineHeight","style","AvatarPlaceholder","isPresent","weight","join","content","Button","label","alt","src","propTypes","PropTypes","arrayOf","string"],"mappings":"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"}
@@ -1468,6 +1468,8 @@ var ErrorPage = function ErrorPage(_ref) {
1468
1468
  errorKey = _ref2.errorKey,
1469
1469
  titleKey = _ref2.titleKey;
1470
1470
  React.useEffect(function () {
1471
+ var pageLoader = document.getElementById("neeto-page-loader");
1472
+ if (pageLoader) pageLoader.remove();
1471
1473
  var onBackButtonPress = function onBackButtonPress() {
1472
1474
  if (!showErrorPage) return;
1473
1475
  useDisplayErrorPage.useErrorDisplayStore.setState({