@bigbinary/neeto-molecules 3.16.74 → 3.16.76

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 CHANGED
@@ -442,6 +442,8 @@ var EmailFormComponent = function EmailFormComponent(_ref) {
442
442
  showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
443
443
  _ref$showSendToAsRadi = _ref.showSendToAsRadio,
444
444
  showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
445
+ _ref$blockNavigation = _ref.blockNavigation,
446
+ blockNavigation = _ref$blockNavigation === void 0 ? true : _ref$blockNavigation,
445
447
  _ref$showCcField = _ref.showCcField,
446
448
  showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
447
449
  _ref$showBccField = _ref.showBccField,
@@ -488,7 +490,7 @@ var EmailFormComponent = function EmailFormComponent(_ref) {
488
490
  className: "neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row",
489
491
  children: [/*#__PURE__*/jsxs("div", {
490
492
  className: "flex w-full flex-col px-6 lg:h-full lg:w-1/2 lg:overflow-y-auto",
491
- children: [/*#__PURE__*/jsx(BlockNavigation, {}), isNotEmpty(headerProps) && /*#__PURE__*/jsx(Header, _objectSpread$1({
493
+ children: [blockNavigation && /*#__PURE__*/jsx(BlockNavigation, {}), isNotEmpty(headerProps) && /*#__PURE__*/jsx(Header, _objectSpread$1({
492
494
  className: "px-0",
493
495
  size: "small"
494
496
  }, headerProps)), isNotEmpty(switchProps) && /*#__PURE__*/jsx("div", {
@@ -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 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 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","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 { 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 { 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 handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\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 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=\"flex w-full justify-between\">\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 {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper neeto-ui-bg-white z-10 w-full justify-end py-6 lg:sticky lg:bottom-0\">\n <Button\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isLoading || isUpdating}\n style=\"tertiary\"\n onClick={handleResetToDefault}\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 * 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\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 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=\"flex w-full flex-col px-6 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n <BlockNavigation />\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between space-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-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 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","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","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","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","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","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$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","disabled","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","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/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 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 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","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 { 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 { 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 handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\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 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=\"flex w-full justify-between\">\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 {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper neeto-ui-bg-white z-10 w-full justify-end py-6 lg:sticky lg:bottom-0\">\n <Button\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isLoading || isUpdating}\n style=\"tertiary\"\n onClick={handleResetToDefault}\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 * 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\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=\"flex w-full flex-col px-6 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 space-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-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 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","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","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","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","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","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","disabled","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
@@ -246,9 +246,10 @@ var Item = function Item(_ref) {
246
246
  useEffect(function () {
247
247
  setValue(item.value);
248
248
  }, [item]);
249
+ var labelKey = hyphenate(name !== null && name !== void 0 ? name : label);
249
250
  return /*#__PURE__*/jsxs("div", {
250
- "data-cy": "metadata-".concat(hyphenate(name), "-container"),
251
- "data-testid": "metadata-".concat(hyphenate(name), "-container"),
251
+ "data-cy": "metadata-".concat(labelKey, "-container"),
252
+ "data-testid": "metadata-".concat(labelKey, "-container"),
252
253
  className: classnames("mb-3 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
253
254
  "flex-wrap": name !== PHONE_NUMBER && allowMultiline,
254
255
  "flex-nowrap": !allowMultiline
@@ -261,6 +262,8 @@ var Item = function Item(_ref) {
261
262
  })
262
263
  }) : /*#__PURE__*/jsx(Typography, {
263
264
  className: "neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap",
265
+ "data-cy": "metadata-label-".concat(labelKey),
266
+ "data-testid": "metadata-label-".concat(labelKey),
264
267
  style: "body2",
265
268
  children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
266
269
  }), !isEditing ? /*#__PURE__*/jsxs(Fragment, {
@@ -277,8 +280,8 @@ var Item = function Item(_ref) {
277
280
  content: valueToRender,
278
281
  position: "top",
279
282
  children: /*#__PURE__*/jsx(Typography, {
280
- "data-cy": "metadata-value-".concat(hyphenate(name)),
281
- "data-testid": "metadata-value-".concat(name),
283
+ "data-cy": "metadata-value-".concat(labelKey),
284
+ "data-testid": "metadata-value-".concat(labelKey),
282
285
  style: "body2",
283
286
  weight: "medium",
284
287
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
@@ -421,6 +424,7 @@ var SessionEnvironment = function SessionEnvironment(_ref) {
421
424
  })]
422
425
  }), /*#__PURE__*/jsx(Button, {
423
426
  className: "mb-4",
427
+ "data-cy": "view-more-less-button",
424
428
  icon: showViewMore ? Up : Down,
425
429
  style: "link",
426
430
  label: showViewMore ? t("neetoMolecules.sessionEnvironment.viewLess") : t("neetoMolecules.sessionEnvironment.viewMore"),
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEnvironment.js","sources":["../src/components/SessionEnvironment/constants.js","../src/components/SessionEnvironment/utils.jsx","../src/components/SessionEnvironment/EditField.jsx","../src/components/SessionEnvironment/Item.jsx","../src/components/SessionEnvironment/DetailsBlock.jsx","../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-cy={`metadata-input-${hyphenate(name)}`}\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n data-cy={`metadata-cancel-${hyphenate(name)}`}\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-cy={`metadata-submit-${hyphenate(name)}`}\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n return (\n <div\n data-cy={`metadata-${hyphenate(name)}-container`}\n data-testid={`metadata-${hyphenate(name)}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap\"\n style=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-cy={`metadata-value-${hyphenate(name)}`}\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"medium\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
1
+ {"version":3,"file":"SessionEnvironment.js","sources":["../src/components/SessionEnvironment/constants.js","../src/components/SessionEnvironment/utils.jsx","../src/components/SessionEnvironment/EditField.jsx","../src/components/SessionEnvironment/Item.jsx","../src/components/SessionEnvironment/DetailsBlock.jsx","../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-cy={`metadata-input-${hyphenate(name)}`}\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n data-cy={`metadata-cancel-${hyphenate(name)}`}\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-cy={`metadata-submit-${hyphenate(name)}`}\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n\n return (\n <div\n data-cy={`metadata-${labelKey}-container`}\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap\"\n data-cy={`metadata-label-${labelKey}`}\n data-testid={`metadata-label-${labelKey}`}\n style=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-cy={`metadata-value-${labelKey}`}\n data-testid={`metadata-value-${labelKey}`}\n style=\"body2\"\n weight=\"medium\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-cy=\"view-more-less-button\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","labelKey","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
@@ -465,6 +465,8 @@ var EmailFormComponent = function EmailFormComponent(_ref) {
465
465
  showReplyToField = _ref$showReplyToField === void 0 ? false : _ref$showReplyToField,
466
466
  _ref$showSendToAsRadi = _ref.showSendToAsRadio,
467
467
  showSendToAsRadio = _ref$showSendToAsRadi === void 0 ? false : _ref$showSendToAsRadi,
468
+ _ref$blockNavigation = _ref.blockNavigation,
469
+ blockNavigation = _ref$blockNavigation === void 0 ? true : _ref$blockNavigation,
468
470
  _ref$showCcField = _ref.showCcField,
469
471
  showCcField = _ref$showCcField === void 0 ? false : _ref$showCcField,
470
472
  _ref$showBccField = _ref.showBccField,
@@ -511,7 +513,7 @@ var EmailFormComponent = function EmailFormComponent(_ref) {
511
513
  className: "neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row",
512
514
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
513
515
  className: "flex w-full flex-col px-6 lg:h-full lg:w-1/2 lg:overflow-y-auto",
514
- children: [/*#__PURE__*/jsxRuntime.jsx(BlockNavigation, {}), neetoCist.isNotEmpty(headerProps) && /*#__PURE__*/jsxRuntime.jsx(Header, _objectSpread$1({
516
+ children: [blockNavigation && /*#__PURE__*/jsxRuntime.jsx(BlockNavigation, {}), neetoCist.isNotEmpty(headerProps) && /*#__PURE__*/jsxRuntime.jsx(Header, _objectSpread$1({
515
517
  className: "px-0",
516
518
  size: "small"
517
519
  }, headerProps)), neetoCist.isNotEmpty(switchProps) && /*#__PURE__*/jsxRuntime.jsx("div", {
@@ -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 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 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","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 { 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 { 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 handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\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 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=\"flex w-full justify-between\">\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 {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper neeto-ui-bg-white z-10 w-full justify-end py-6 lg:sticky lg:bottom-0\">\n <Button\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isLoading || isUpdating}\n style=\"tertiary\"\n onClick={handleResetToDefault}\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 * 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\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 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=\"flex w-full flex-col px-6 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n <BlockNavigation />\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between space-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-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 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","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","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","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","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","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$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","disabled","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","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/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 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 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","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 { 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 { 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 handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\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 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=\"flex w-full justify-between\">\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 {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper neeto-ui-bg-white z-10 w-full justify-end py-6 lg:sticky lg:bottom-0\">\n <Button\n data-cy=\"resetToDefaultButton\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isLoading || isUpdating}\n style=\"tertiary\"\n onClick={handleResetToDefault}\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 * 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\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=\"flex w-full flex-col px-6 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 space-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-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 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","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","shape","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","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","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_useContext","useContext","sendToFieldOptions","showSendToRadioField","classnames","Field","field","meta","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","disabled","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize","globalProps","user"],"mappings":"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"}
@@ -248,9 +248,10 @@ var Item = function Item(_ref) {
248
248
  React.useEffect(function () {
249
249
  setValue(item.value);
250
250
  }, [item]);
251
+ var labelKey = neetoCist.hyphenate(name !== null && name !== void 0 ? name : label);
251
252
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
252
- "data-cy": "metadata-".concat(neetoCist.hyphenate(name), "-container"),
253
- "data-testid": "metadata-".concat(neetoCist.hyphenate(name), "-container"),
253
+ "data-cy": "metadata-".concat(labelKey, "-container"),
254
+ "data-testid": "metadata-".concat(labelKey, "-container"),
254
255
  className: classnames("mb-3 flex place-items-center gap-2 align-middle", extraWrapperClasses, {
255
256
  "flex-wrap": name !== PHONE_NUMBER && allowMultiline,
256
257
  "flex-nowrap": !allowMultiline
@@ -263,6 +264,8 @@ var Item = function Item(_ref) {
263
264
  })
264
265
  }) : /*#__PURE__*/jsxRuntime.jsx(Typography, {
265
266
  className: "neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap",
267
+ "data-cy": "metadata-label-".concat(labelKey),
268
+ "data-testid": "metadata-label-".concat(labelKey),
266
269
  style: "body2",
267
270
  children: label || t("neetoMolecules.sessionEnvironment.details.keys.".concat(name))
268
271
  }), !isEditing ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -279,8 +282,8 @@ var Item = function Item(_ref) {
279
282
  content: valueToRender,
280
283
  position: "top",
281
284
  children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
282
- "data-cy": "metadata-value-".concat(neetoCist.hyphenate(name)),
283
- "data-testid": "metadata-value-".concat(name),
285
+ "data-cy": "metadata-value-".concat(labelKey),
286
+ "data-testid": "metadata-value-".concat(labelKey),
284
287
  style: "body2",
285
288
  weight: "medium",
286
289
  className: classnames("overflow-hidden truncate whitespace-normal break-all ".concat(extraClasses), {
@@ -423,6 +426,7 @@ var SessionEnvironment = function SessionEnvironment(_ref) {
423
426
  })]
424
427
  }), /*#__PURE__*/jsxRuntime.jsx(Button, {
425
428
  className: "mb-4",
429
+ "data-cy": "view-more-less-button",
426
430
  icon: showViewMore ? Up : Down,
427
431
  style: "link",
428
432
  label: showViewMore ? t("neetoMolecules.sessionEnvironment.viewLess") : t("neetoMolecules.sessionEnvironment.viewMore"),
@@ -1 +1 @@
1
- {"version":3,"file":"SessionEnvironment.js","sources":["../../src/components/SessionEnvironment/constants.js","../../src/components/SessionEnvironment/utils.jsx","../../src/components/SessionEnvironment/EditField.jsx","../../src/components/SessionEnvironment/Item.jsx","../../src/components/SessionEnvironment/DetailsBlock.jsx","../../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-cy={`metadata-input-${hyphenate(name)}`}\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n data-cy={`metadata-cancel-${hyphenate(name)}`}\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-cy={`metadata-submit-${hyphenate(name)}`}\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n return (\n <div\n data-cy={`metadata-${hyphenate(name)}-container`}\n data-testid={`metadata-${hyphenate(name)}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap\"\n style=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-cy={`metadata-value-${hyphenate(name)}`}\n data-testid={`metadata-value-${name}`}\n style=\"body2\"\n weight=\"medium\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":"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"}
1
+ {"version":3,"file":"SessionEnvironment.js","sources":["../../src/components/SessionEnvironment/constants.js","../../src/components/SessionEnvironment/utils.jsx","../../src/components/SessionEnvironment/EditField.jsx","../../src/components/SessionEnvironment/Item.jsx","../../src/components/SessionEnvironment/DetailsBlock.jsx","../../src/components/SessionEnvironment/index.jsx"],"sourcesContent":["import {\n Computer,\n Email,\n Location,\n Mobile,\n Phone,\n Subdomain,\n User,\n} from \"neetoicons\";\nimport {\n Apple,\n Chrome,\n Edge,\n Firefox,\n Safari,\n Ubuntu,\n Windows,\n} from \"neetoicons/misc\";\n\nexport const BOOLEAN_VALUES_MAP = { true: \"Yes\", false: \"No\" };\nexport const ENTER = \"enter\";\nexport const ESCAPE = \"escape\";\nexport const PHONE_NUMBER = \"phone_number\";\nexport const INTEGER = \"integer\";\nexport const ICONS_MAP = {\n name: User,\n user: User,\n email: Email,\n phone_number: Phone,\n location: Location,\n timezone: Subdomain,\n chrome: Chrome,\n safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n linux: Ubuntu,\n mobile: Mobile,\n desktop: Computer,\n};\n","import { isPresent } from \"neetocist\";\nimport { prop, pipe } from \"ramda\";\n\nimport { ICONS_MAP, INTEGER, PHONE_NUMBER } from \"./constants\";\n\nexport const getInputType = ({ name, kind }) => {\n if (name === PHONE_NUMBER) return \"tel\";\n else if (kind === INTEGER) return \"number\";\n\n return \"text\";\n};\n\nexport const getIcon = ({ iconSize, name, value }) => {\n const Icon =\n name === \"browser\" || name === \"os\"\n ? ICONS_MAP[value?.toLowerCase().replace(\" \", \"_\")]\n : ICONS_MAP[name];\n\n return isPresent(Icon) ? <Icon size={iconSize} /> : null;\n};\n\nexport const isValuePresent = pipe(prop(\"value\"), isPresent);\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs\n .filter(Boolean)\n .forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PhoneNumberInput } from \"components/PhoneNumber\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nconst EditField = ({\n name,\n error,\n label,\n kind,\n value,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n}) => {\n const { t } = useTranslation();\n\n const enterRef = useHotkeys(ENTER, handleMetadataSubmit, {\n mode: \"scoped\",\n });\n\n const cancelRef = useHotkeys(ESCAPE, handleMetadataCancel, {\n mode: \"scoped\",\n });\n\n const InputComponent = name === PHONE_NUMBER ? PhoneNumberInput : Input;\n\n return (\n <div className=\"neeto-molecules-session-environment-editable-field relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n data-cy={`metadata-input-${hyphenate(name)}`}\n data-testid={`metadata-input-${hyphenate(name)}`}\n placeholder={t(\"neetoMolecules.common.enter\", { what: label })}\n ref={mergeRefs(enterRef, cancelRef)}\n type={getInputType({ name, kind })}\n value={value || \"\"}\n onChange={handleChange}\n />\n <div className=\"neeto-molecules-session-environment-editable-field__actions absolute right-0 top-0 flex h-8 items-center pr-1\">\n <Button\n data-cy={`metadata-cancel-${hyphenate(name)}`}\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={Close}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-cy={`metadata-submit-${hyphenate(name)}`}\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"small\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n }}\n onClick={handleMetadataSubmit}\n />\n </div>\n </div>\n );\n};\n\nexport default memo(EditField);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport TimeFormat from \"components/TimeFormat\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nconst Item = ({\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n item,\n showIcons,\n}) => {\n const [isEditing, setIsEditing] = useState(item.isEditing);\n const [value, setValue] = useState(item.value);\n\n const { t } = useTranslation();\n\n const {\n icon,\n isEditable = false,\n extraClasses = \"\",\n extraWrapperClasses = \"\",\n id,\n fieldValueId,\n custom = false,\n name,\n kind,\n error,\n label,\n showCopyButton = false,\n } = item;\n\n const valueToRender = useMemo(() => {\n if (isNil(value)) return \"-\";\n\n if (typeof value === \"boolean\") return BOOLEAN_VALUES_MAP[value.toString()];\n\n if (name === \"email\") return value.toLowerCase();\n\n return value;\n }, [value]);\n\n const iconToRender = useMemo(\n () => icon || getIcon({ iconSize, name, value }),\n [icon, iconSize, name, value]\n );\n\n const onSuccess = () => setIsEditing(false);\n\n const handleMetadataSubmit = () =>\n handleSubmit({ fieldId: id, fieldValueId, name, value, custom, onSuccess });\n\n const handleMetadataCancel = () => {\n setIsEditing(false);\n setValue(item.value);\n handleCancel(name);\n };\n\n const handleChange = event => {\n const value = name === PHONE_NUMBER ? event : event.target.value;\n setValue(value);\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n\n return (\n <div\n data-cy={`metadata-${labelKey}-container`}\n data-testid={`metadata-${labelKey}-container`}\n className={classNames(\n \"mb-3 flex place-items-center gap-2 align-middle\",\n extraWrapperClasses,\n {\n \"flex-wrap\": name !== PHONE_NUMBER && allowMultiline,\n \"flex-nowrap\": !allowMultiline,\n }\n )}\n >\n {showIcons && isPresent(iconToRender) ? (\n <Tooltip\n content={\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)\n }\n >\n <div className=\"flex-shrink-0\">{iconToRender}</div>\n </Tooltip>\n ) : (\n <Typography\n className=\"neeto-molecules-session-environment-editable-field neeto-ui-text-gray-600 whitespace-nowrap\"\n data-cy={`metadata-label-${labelKey}`}\n data-testid={`metadata-label-${labelKey}`}\n style=\"body2\"\n >\n {label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`)}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n style: \"body2\",\n weight: \"medium\",\n className: classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n { \"whitespace-nowrap\": !allowMultiline }\n ),\n }}\n />\n ) : (\n <Tooltip content={valueToRender} position=\"top\">\n <Typography\n data-cy={`metadata-value-${labelKey}`}\n data-testid={`metadata-value-${labelKey}`}\n style=\"body2\"\n weight=\"medium\"\n className={classNames(\n `overflow-hidden truncate whitespace-normal break-all ${extraClasses}`,\n {\n \"neeto-molecules-session-environment-editable-text cursor-pointer p-0.5\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n >\n {valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"flex-shrink-0\"\n size=\"small\"\n style=\"text\"\n value={valueToRender}\n />\n )}\n </>\n ) : (\n <EditField\n {...{\n error,\n handleChange,\n handleMetadataCancel,\n handleMetadataSubmit,\n kind,\n label,\n name,\n value,\n }}\n />\n )}\n </div>\n );\n};\n\nexport default Item;\n","import { memo } from \"react\";\n\nimport { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nconst DetailsBlock = ({\n allowMultiline = true,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps,\n iconSize,\n showIcons = false,\n title = \"\",\n}) => (\n <div className=\"mb-4\" data-testid=\"details-block-items-parent\">\n {title && (\n <div className=\"mb-2 flex items-center gap-2\">\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"h5\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {title}\n </Typography>\n {isPresent(helpPopoverProps) && <HelpPopover {...helpPopoverProps} />}\n </div>\n )}\n {details\n .filter(detail => detail.isEditable || isValuePresent(detail))\n .map((detail, index) => (\n <Item\n {...{\n allowMultiline,\n handleCancel,\n handleSubmit,\n iconSize,\n showIcons,\n }}\n item={detail}\n key={index}\n />\n ))}\n </div>\n);\n\nexport default memo(DetailsBlock);\n","import { memo, useMemo, useState } from \"react\";\n\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport { Down, Up } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\nimport \"./session-environment.scss\";\n\nconst SessionEnvironment = ({\n allowMultiline = false,\n details,\n handleCancel = noop,\n handleSubmit = noop,\n helpPopoverProps = {},\n iconSize = 20,\n isLoading = false,\n moreDetails = [],\n title = \"\",\n}) => {\n const [showViewMore, setShowViewMore] = useState(false);\n\n const customViewMoreItems = useMemo(\n () => filterBy({ kind: \"custom\" }, moreDetails),\n [moreDetails]\n );\n\n const { t } = useTranslation();\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full\">\n <DetailsBlock\n {...{\n allowMultiline,\n details,\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n title,\n }}\n showIcons\n />\n {showViewMore && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n <DetailsBlock\n {...{\n handleCancel,\n handleSubmit,\n helpPopoverProps,\n iconSize,\n }}\n details={removeBy({ kind: \"custom\" }, moreDetails)}\n />\n {isPresent(customViewMoreItems) && (\n <>\n <hr className=\"neeto-ui-border-gray-200 my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-cy=\"view-more-less-button\"\n icon={showViewMore ? Up : Down}\n style=\"link\"\n label={\n showViewMore\n ? t(\"neetoMolecules.sessionEnvironment.viewLess\")\n : t(\"neetoMolecules.sessionEnvironment.viewMore\")\n }\n onClick={() => setShowViewMore(not)}\n />\n </div>\n );\n};\n\nSessionEnvironment.propTypes = {\n /*\n details can be an array of fields to be displayed.\n */\n details: PropTypes.array,\n /*\n handleCancel is a function that will be called when the cancel button is clicked.\n */\n handleCancel: PropTypes.func,\n /*\n handleSubmit is a function that will be called when the form is submitted.\n */\n handleSubmit: PropTypes.func,\n /*\n helpPopoverProps are the props that will be passed to the HelpPopover component.\n */\n helpPopoverProps: PropTypes.object,\n /*\n iconSize is a number that will be used to set the size of the icon.\n */\n iconSize: PropTypes.number,\n /*\n isLoading is a boolean that will be used to show a spinner when true.\n */\n isLoading: PropTypes.bool,\n /*\n moreDetails can be an array of fields to be displayed when the view more button is clicked.\n */\n moreDetails: PropTypes.array,\n /*\n The title to be displayed above the details.\n */\n title: PropTypes.string,\n /*\n allowMultiline is a boolean that will be used to decide whether the items should be displayed in a single line or multiple lines.\n */\n allowMultiline: PropTypes.bool,\n};\n\nexport default memo(SessionEnvironment);\n"],"names":["BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Email","phone_number","Phone","location","Location","timezone","Subdomain","chrome","Chrome","safari","Safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","linux","Ubuntu","mobile","Mobile","desktop","Computer","getInputType","_ref","kind","getIcon","_ref2","iconSize","value","Icon","toLowerCase","replace","isPresent","_jsx","size","isValuePresent","pipe","prop","mergeRefs","_len","arguments","length","refs","Array","_key","node","filter","Boolean","forEach","ref","current","EditField","error","label","handleChange","handleMetadataCancel","handleMetadataSubmit","_useTranslation","useTranslation","t","enterRef","useHotkeys","mode","cancelRef","InputComponent","PhoneNumberInput","Input","_jsxs","className","children","autoFocus","concat","hyphenate","placeholder","what","type","onChange","Button","icon","Close","style","tooltipProps","content","position","onClick","Check","memo","Item","allowMultiline","handleCancel","handleSubmit","item","showIcons","_useState","useState","isEditing","_useState2","_slicedToArray","setIsEditing","_useState3","_useState4","setValue","_item$isEditable","isEditable","_item$extraClasses","extraClasses","_item$extraWrapperCla","extraWrapperClasses","id","fieldValueId","_item$custom","custom","_item$showCopyButton","showCopyButton","valueToRender","useMemo","isNil","toString","iconToRender","onSuccess","fieldId","event","target","useEffect","labelKey","classNames","Tooltip","Typography","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","textTransform","HelpPopover","_objectSpread","detail","map","index","_createElement","key","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","Up","Down","not"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,IAAMA,kBAAkB,GAAG;AAAE,EAAA,MAAA,EAAM,KAAK;EAAE,OAAO,EAAA,IAAA;AAAK,CAAC,CAAA;AACvD,IAAMC,KAAK,GAAG,OAAO,CAAA;AACrB,IAAMC,MAAM,GAAG,QAAQ,CAAA;AACvB,IAAMC,YAAY,GAAG,cAAc,CAAA;AACnC,IAAMC,OAAO,GAAG,SAAS,CAAA;AACzB,IAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAEC,IAAI;AACVC,EAAAA,IAAI,EAAED,IAAI;AACVE,EAAAA,KAAK,EAAEC,KAAK;AACZC,EAAAA,YAAY,EAAEC,KAAK;AACnBC,EAAAA,QAAQ,EAAEC,QAAQ;AAClBC,EAAAA,QAAQ,EAAEC,SAAS;AACnBC,EAAAA,MAAM,EAAEC,MAAM;AACdC,EAAAA,MAAM,EAAEC,MAAM;AACdC,EAAAA,OAAO,EAAEC,OAAO;AAChBC,EAAAA,IAAI,EAAEC,IAAI;AACVC,EAAAA,EAAE,EAAED,IAAI;AACRE,EAAAA,OAAO,EAAEC,OAAO;AAChBC,EAAAA,MAAM,EAAEC,KAAK;AACbC,EAAAA,KAAK,EAAEC,MAAM;AACbC,EAAAA,MAAM,EAAEC,MAAM;AACdC,EAAAA,OAAO,EAAEC,QAAAA;AACX,CAAC;;ACpCM,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAuB;AAAA,EAAA,IAAjB/B,IAAI,GAAA+B,IAAA,CAAJ/B,IAAI;IAAEgC,IAAI,GAAAD,IAAA,CAAJC,IAAI,CAAA;AACvC,EAAA,IAAIhC,IAAI,KAAKH,YAAY,EAAE,OAAO,KAAK,CAAC,KACnC,IAAImC,IAAI,KAAKlC,OAAO,EAAE,OAAO,QAAQ,CAAA;AAE1C,EAAA,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,IAAMmC,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA,EAAkC;AAAA,EAAA,IAA5BC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEnC,IAAI,GAAAkC,KAAA,CAAJlC,IAAI;IAAEoC,KAAK,GAAAF,KAAA,CAALE,KAAK,CAAA;AAC7C,EAAA,IAAMC,IAAI,GACRrC,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,IAAI,GAC/BD,SAAS,CAACqC,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEE,WAAW,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACjDxC,SAAS,CAACC,IAAI,CAAC,CAAA;AAErB,EAAA,OAAOwC,mBAAS,CAACH,IAAI,CAAC,gBAAGI,cAAA,CAACJ,IAAI,EAAA;AAACK,IAAAA,IAAI,EAAEP,QAAAA;GAAW,CAAC,GAAG,IAAI,CAAA;AAC1D,CAAC,CAAA;AAEM,IAAMQ,cAAc,GAAGC,UAAI,CAACC,UAAI,CAAC,OAAO,CAAC,EAAEL,mBAAS,CAAC,CAAA;AAErD,IAAMM,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAAC,IAAAA,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAAJ,GAAAA,SAAA,CAAAI,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;IAAA,OACFH,IAAI,CACDI,MAAM,CAACC,OAAO,CAAC,CACfC,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACV,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,CAAC,GAAII,GAAG,CAACC,OAAO,GAAGL,IAAK,CAAA;AAAA,KAC9D,CAAC,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;;ACjBP,IAAMM,SAAS,GAAG,SAAZA,SAASA,CAAA5B,IAAA,EAST;AAAA,EAAA,IARJ/B,IAAI,GAAA+B,IAAA,CAAJ/B,IAAI;IACJ4D,KAAK,GAAA7B,IAAA,CAAL6B,KAAK;IACLC,KAAK,GAAA9B,IAAA,CAAL8B,KAAK;IACL7B,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJI,KAAK,GAAAL,IAAA,CAALK,KAAK;IACL0B,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;IACZC,oBAAoB,GAAAhC,IAAA,CAApBgC,oBAAoB;IACpBC,oBAAoB,GAAAjC,IAAA,CAApBiC,oBAAoB,CAAA;AAEpB,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMC,QAAQ,GAAGC,UAAU,CAAC1E,KAAK,EAAEqE,oBAAoB,EAAE;AACvDM,IAAAA,IAAI,EAAE,QAAA;AACR,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMC,SAAS,GAAGF,UAAU,CAACzE,MAAM,EAAEmE,oBAAoB,EAAE;AACzDO,IAAAA,IAAI,EAAE,QAAA;AACR,GAAC,CAAC,CAAA;EAEF,IAAME,cAAc,GAAGxE,IAAI,KAAKH,YAAY,GAAG4E,4BAAgB,GAAGC,KAAK,CAAA;AAEvE,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,iGAAiG;IAAAC,QAAA,EAAA,cAC9GpC,cAAA,CAAC+B,cAAc,EAAA;AACPZ,MAAAA,KAAK,EAALA,KAAK;MACXkB,SAAS,EAAA,IAAA;AACT,MAAA,SAAA,EAAA,iBAAA,CAAAC,MAAA,CAA2BC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAC7C,MAAA,aAAA,EAAA,iBAAA,CAAA+E,MAAA,CAA+BC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AACjDiF,MAAAA,WAAW,EAAEd,CAAC,CAAC,6BAA6B,EAAE;AAAEe,QAAAA,IAAI,EAAErB,KAAAA;AAAM,OAAC,CAAE;AAC/DJ,MAAAA,GAAG,EAAEX,SAAS,CAACsB,QAAQ,EAAEG,SAAS,CAAE;MACpCY,IAAI,EAAErD,YAAY,CAAC;AAAE9B,QAAAA,IAAI,EAAJA,IAAI;AAAEgC,QAAAA,IAAI,EAAJA,IAAAA;AAAK,OAAC,CAAE;MACnCI,KAAK,EAAEA,KAAK,IAAI,EAAG;AACnBgD,MAAAA,QAAQ,EAAEtB,YAAAA;KACX,CAAC,eACFa,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,+GAA+G;MAAAC,QAAA,EAAA,cAC5HpC,cAAA,CAAC4C,MAAM,EAAA;AACL,QAAA,SAAA,EAAA,kBAAA,CAAAN,MAAA,CAA4BC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAC9C,QAAA,aAAA,EAAA,kBAAA,CAAA+E,MAAA,CAAgCC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAClDsF,QAAAA,IAAI,EAAEC,KAAM;AACZ7C,QAAAA,IAAI,EAAC,OAAO;AACZ8C,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAEvB,CAAC,CAAC,sCAAsC,CAAC;AAClDwB,UAAAA,QAAQ,EAAE,KAAA;SACV;AACFC,QAAAA,OAAO,EAAE7B,oBAAAA;AAAqB,OAC/B,CAAC,eACFtB,cAAA,CAAC4C,MAAM,EAAA;AACL,QAAA,SAAA,EAAA,kBAAA,CAAAN,MAAA,CAA4BC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAC9C,QAAA,aAAA,EAAA,kBAAA,CAAA+E,MAAA,CAAgCC,mBAAS,CAAChF,IAAI,CAAC,CAAG;AAClDsF,QAAAA,IAAI,EAAEO,KAAM;AACZnD,QAAAA,IAAI,EAAC,OAAO;AACZ8C,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,YAAY,EAAE;AACZC,UAAAA,OAAO,EAAEvB,CAAC,CAAC,oCAAoC,CAAC;AAChDwB,UAAAA,QAAQ,EAAE,KAAA;SACV;AACFC,QAAAA,OAAO,EAAE5B,oBAAAA;AAAqB,OAC/B,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,kBAAe8B,aAAAA,UAAI,CAACnC,SAAS,CAAC;;AC/D9B,IAAMoC,IAAI,GAAG,SAAPA,IAAIA,CAAAhE,IAAA,EAOJ;AAAA,EAAA,IANJiE,cAAc,GAAAjE,IAAA,CAAdiE,cAAc;IACdC,YAAY,GAAAlE,IAAA,CAAZkE,YAAY;IACZC,YAAY,GAAAnE,IAAA,CAAZmE,YAAY;IACZ/D,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRgE,IAAI,GAAApE,IAAA,CAAJoE,IAAI;IACJC,SAAS,GAAArE,IAAA,CAATqE,SAAS,CAAA;AAET,EAAA,IAAAC,SAAA,GAAkCC,cAAQ,CAACH,IAAI,CAACI,SAAS,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAnDE,IAAAA,SAAS,GAAAC,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAG,UAAA,GAA0BL,cAAQ,CAACH,IAAI,CAAC/D,KAAK,CAAC;IAAAwE,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAvCvE,IAAAA,KAAK,GAAAwE,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAA3C,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IACEmB,IAAI,GAYFa,IAAI,CAZNb,IAAI;IAAAwB,gBAAA,GAYFX,IAAI,CAXNY,UAAU;AAAVA,IAAAA,UAAU,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;IAAAE,kBAAA,GAWhBb,IAAI,CAVNc,YAAY;AAAZA,IAAAA,YAAY,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAAAE,qBAAA,GAUff,IAAI,CATNgB,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IACxBE,EAAE,GAQAjB,IAAI,CARNiB,EAAE;IACFC,YAAY,GAOVlB,IAAI,CAPNkB,YAAY;IAAAC,YAAA,GAOVnB,IAAI,CANNoB,MAAM;AAANA,IAAAA,MAAM,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,YAAA;IACdtH,IAAI,GAKFmG,IAAI,CALNnG,IAAI;IACJgC,IAAI,GAIFmE,IAAI,CAJNnE,IAAI;IACJ4B,KAAK,GAGHuC,IAAI,CAHNvC,KAAK;IACLC,KAAK,GAEHsC,IAAI,CAFNtC,KAAK;IAAA2D,oBAAA,GAEHrB,IAAI,CADNsB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA,CAAA;AAGxB,EAAA,IAAME,aAAa,GAAGC,aAAO,CAAC,YAAM;AAClC,IAAA,IAAIC,WAAK,CAACxF,KAAK,CAAC,EAAE,OAAO,GAAG,CAAA;AAE5B,IAAA,IAAI,OAAOA,KAAK,KAAK,SAAS,EAAE,OAAO1C,kBAAkB,CAAC0C,KAAK,CAACyF,QAAQ,EAAE,CAAC,CAAA;IAE3E,IAAI7H,IAAI,KAAK,OAAO,EAAE,OAAOoC,KAAK,CAACE,WAAW,EAAE,CAAA;AAEhD,IAAA,OAAOF,KAAK,CAAA;AACd,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;EAEX,IAAM0F,YAAY,GAAGH,aAAO,CAC1B,YAAA;IAAA,OAAMrC,IAAI,IAAIrD,OAAO,CAAC;AAAEE,MAAAA,QAAQ,EAARA,QAAQ;AAAEnC,MAAAA,IAAI,EAAJA,IAAI;AAAEoC,MAAAA,KAAK,EAALA,KAAAA;AAAM,KAAC,CAAC,CAAA;GAChD,EAAA,CAACkD,IAAI,EAAEnD,QAAQ,EAAEnC,IAAI,EAAEoC,KAAK,CAC9B,CAAC,CAAA;AAED,EAAA,IAAM2F,SAAS,GAAG,SAAZA,SAASA,GAAA;IAAA,OAASrB,YAAY,CAAC,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAE3C,EAAA,IAAM1C,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAA;AAAA,IAAA,OACxBkC,YAAY,CAAC;AAAE8B,MAAAA,OAAO,EAAEZ,EAAE;AAAEC,MAAAA,YAAY,EAAZA,YAAY;AAAErH,MAAAA,IAAI,EAAJA,IAAI;AAAEoC,MAAAA,KAAK,EAALA,KAAK;AAAEmF,MAAAA,MAAM,EAANA,MAAM;AAAEQ,MAAAA,SAAS,EAATA,SAAAA;AAAU,KAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAE7E,EAAA,IAAMhE,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjC2C,YAAY,CAAC,KAAK,CAAC,CAAA;AACnBG,IAAAA,QAAQ,CAACV,IAAI,CAAC/D,KAAK,CAAC,CAAA;IACpB6D,YAAY,CAACjG,IAAI,CAAC,CAAA;GACnB,CAAA;AAED,EAAA,IAAM8D,YAAY,GAAG,SAAfA,YAAYA,CAAGmE,KAAK,EAAI;AAC5B,IAAA,IAAM7F,KAAK,GAAGpC,IAAI,KAAKH,YAAY,GAAGoI,KAAK,GAAGA,KAAK,CAACC,MAAM,CAAC9F,KAAK,CAAA;IAChEyE,QAAQ,CAACzE,KAAK,CAAC,CAAA;GAChB,CAAA;AAED+F,EAAAA,eAAS,CAAC,YAAM;AACdtB,IAAAA,QAAQ,CAACV,IAAI,CAAC/D,KAAK,CAAC,CAAA;AACtB,GAAC,EAAE,CAAC+D,IAAI,CAAC,CAAC,CAAA;EAEV,IAAMiC,QAAQ,GAAGpD,mBAAS,CAAChF,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,IAAI,GAAI6D,KAAK,CAAC,CAAA;AAEzC,EAAA,oBACEc,eAAA,CAAA,KAAA,EAAA;IACE,SAAAI,EAAAA,WAAAA,CAAAA,MAAA,CAAqBqD,QAAQ,EAAa,YAAA,CAAA;IAC1C,aAAArD,EAAAA,WAAAA,CAAAA,MAAA,CAAyBqD,QAAQ,EAAa,YAAA,CAAA;AAC9CxD,IAAAA,SAAS,EAAEyD,UAAU,CACnB,iDAAiD,EACjDlB,mBAAmB,EACnB;AACE,MAAA,WAAW,EAAEnH,IAAI,KAAKH,YAAY,IAAImG,cAAc;AACpD,MAAA,aAAa,EAAE,CAACA,cAAAA;AAClB,KACF,CAAE;IAAAnB,QAAA,EAAA,CAEDuB,SAAS,IAAI5D,mBAAS,CAACsF,YAAY,CAAC,gBACnCrF,cAAA,CAAC6F,OAAO,EAAA;MACN5C,OAAO,EACL7B,KAAK,IAAIM,CAAC,mDAAAY,MAAA,CAAmD/E,IAAI,CAAE,CACpE;AAAA6E,MAAAA,QAAA,eAEDpC,cAAA,CAAA,KAAA,EAAA;AAAKmC,QAAAA,SAAS,EAAC,eAAe;AAAAC,QAAAA,QAAA,EAAEiD,YAAAA;OAAkB,CAAA;AAAC,KAC5C,CAAC,gBAEVrF,cAAA,CAAC8F,UAAU,EAAA;AACT3D,MAAAA,SAAS,EAAC,6FAA6F;MACvG,SAAAG,EAAAA,iBAAAA,CAAAA,MAAA,CAA2BqD,QAAQ,CAAG;MACtC,aAAArD,EAAAA,iBAAAA,CAAAA,MAAA,CAA+BqD,QAAQ,CAAG;AAC1C5C,MAAAA,KAAK,EAAC,OAAO;MAAAX,QAAA,EAEZhB,KAAK,IAAIM,CAAC,mDAAAY,MAAA,CAAmD/E,IAAI,CAAE,CAAA;AAAC,KAC3D,CACb,EACA,CAACuG,SAAS,gBACT5B,eAAA,CAAA6D,mBAAA,EAAA;MAAA3D,QAAA,EAAA,CACG7C,IAAI,KAAK,UAAU,gBAClBS,cAAA,CAACgG,UAAU,CAACC,YAAY,EAAA;AACtBC,QAAAA,IAAI,EAAEvG,KAAM;AACZwG,QAAAA,eAAe,EAAE;AACfpD,UAAAA,KAAK,EAAE,OAAO;AACdqD,UAAAA,MAAM,EAAE,QAAQ;AAChBjE,UAAAA,SAAS,EAAEyD,UAAU,CAAA,uDAAA,CAAAtD,MAAA,CACqCkC,YAAY,CACpE,EAAA;AAAE,YAAA,mBAAmB,EAAE,CAACjB,cAAAA;WAC1B,CAAA;AACF,SAAA;AAAE,OACH,CAAC,gBAEFvD,cAAA,CAAC6F,OAAO,EAAA;AAAC5C,QAAAA,OAAO,EAAEgC,aAAc;AAAC/B,QAAAA,QAAQ,EAAC,KAAK;QAAAd,QAAA,eAC7CpC,cAAA,CAAC8F,UAAU,EAAA;UACT,SAAAxD,EAAAA,iBAAAA,CAAAA,MAAA,CAA2BqD,QAAQ,CAAG;UACtC,aAAArD,EAAAA,iBAAAA,CAAAA,MAAA,CAA+BqD,QAAQ,CAAG;AAC1C5C,UAAAA,KAAK,EAAC,OAAO;AACbqD,UAAAA,MAAM,EAAC,QAAQ;AACfjE,UAAAA,SAAS,EAAEyD,UAAU,CAAA,uDAAA,CAAAtD,MAAA,CACqCkC,YAAY,CACpE,EAAA;AACE,YAAA,wEAAwE,EACtEF,UAAU;AACZ,YAAA,mBAAmB,EAAE,CAACf,cAAAA;AACxB,WACF,CAAE;UACFJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,YAAA,OAAQmB,UAAU,IAAIL,YAAY,CAAC,IAAI,CAAC,CAAA;WAAC;AAAA7B,UAAAA,QAAA,EAE/C6C,aAAAA;SACS,CAAA;AAAC,OACN,CACV,EACAD,cAAc,iBACbhF,cAAA,CAACqG,qBAAqB,EAAA;AACpBlE,QAAAA,SAAS,EAAC,eAAe;AACzBlC,QAAAA,IAAI,EAAC,OAAO;AACZ8C,QAAAA,KAAK,EAAC,MAAM;AACZpD,QAAAA,KAAK,EAAEsF,aAAAA;AAAc,OACtB,CACF,CAAA;AAAA,KACD,CAAC,gBAEHjF,cAAA,CAACkB,WAAS,EAAA;AAENC,MAAAA,KAAK,EAALA,KAAK;AACLE,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBC,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBhC,MAAAA,IAAI,EAAJA,IAAI;AACJ6B,MAAAA,KAAK,EAALA,KAAK;AACL7D,MAAAA,IAAI,EAAJA,IAAI;AACJoC,MAAAA,KAAK,EAALA,KAAAA;AAAK,KAER,CACF,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;ACjKD,IAAM2G,YAAY,GAAG,SAAfA,YAAYA,CAAAhH,IAAA,EAAA;AAAA,EAAA,IAAAiH,mBAAA,GAAAjH,IAAA,CAChBiE,cAAc;AAAdA,IAAAA,cAAc,GAAAgD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrBC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,iBAAA,GAAAnH,IAAA,CACPkE,YAAY;AAAZA,IAAAA,YAAY,GAAAiD,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,cAAI,GAAAD,iBAAA;IAAAE,iBAAA,GAAArH,IAAA,CACnBmE,YAAY;AAAZA,IAAAA,YAAY,GAAAkD,iBAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,iBAAA;IACnBC,gBAAgB,GAAAtH,IAAA,CAAhBsH,gBAAgB;IAChBlH,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAAmH,cAAA,GAAAvH,IAAA,CACRqE,SAAS;AAATA,IAAAA,SAAS,GAAAkD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAC,UAAA,GAAAxH,IAAA,CACjByH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA,CAAA;AAAA,EAAA,oBAEV5E,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,MAAM;AAAC,IAAA,aAAA,EAAY,4BAA4B;IAAAC,QAAA,EAAA,CAC3D2E,KAAK,iBACJ7E,eAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,8BAA8B;MAAAC,QAAA,EAAA,cAC3CpC,cAAA,CAAC8F,UAAU,EAAA;AACT3D,QAAAA,SAAS,EAAC,wBAAwB;AAClCY,QAAAA,KAAK,EAAC,IAAI;AACViE,QAAAA,aAAa,EAAC,WAAW;AACzBZ,QAAAA,MAAM,EAAC,MAAM;AAAAhE,QAAAA,QAAA,EAEZ2E,KAAAA;AAAK,OACI,CAAC,EACZhH,mBAAS,CAAC6G,gBAAgB,CAAC,iBAAI5G,cAAA,CAACiH,WAAW,EAAAC,aAAA,CAAKN,EAAAA,EAAAA,gBAAgB,CAAG,CAAC,CAAA;AAAA,KAClE,CACN,EACAJ,OAAO,CACL3F,MAAM,CAAC,UAAAsG,MAAM,EAAA;AAAA,MAAA,OAAIA,MAAM,CAAC7C,UAAU,IAAIpE,cAAc,CAACiH,MAAM,CAAC,CAAA;AAAA,KAAA,CAAC,CAC7DC,GAAG,CAAC,UAACD,MAAM,EAAEE,KAAK,EAAA;MAAA,oBACjBC,mBAAA,CAAChE,IAAI,EAAA;AAEDC,QAAAA,cAAc,EAAdA,cAAc;AACdC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,YAAY,EAAZA,YAAY;AACZ/D,QAAAA,QAAQ,EAARA,QAAQ;AACRiE,QAAAA,SAAS,EAATA,SAAS;AAEXD,QAAAA,IAAI,EAAEyD,MAAO;AACbI,QAAAA,GAAG,EAAEF,KAAAA;AAAM,OACZ,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACD,CAAC,CAAA;AAAA,CACP,CAAA;AAED,qBAAehE,aAAAA,UAAI,CAACiD,YAAY,CAAC;;;;;ACxCjC,IAAMkB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAlI,IAAA,EAUlB;AAAA,EAAA,IAAAiH,mBAAA,GAAAjH,IAAA,CATJiE,cAAc;AAAdA,IAAAA,cAAc,GAAAgD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IACtBC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IAAAC,iBAAA,GAAAnH,IAAA,CACPkE,YAAY;AAAZA,IAAAA,YAAY,GAAAiD,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,cAAI,GAAAD,iBAAA;IAAAE,iBAAA,GAAArH,IAAA,CACnBmE,YAAY;AAAZA,IAAAA,YAAY,GAAAkD,iBAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,iBAAA;IAAAc,qBAAA,GAAAnI,IAAA,CACnBsH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAa,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,aAAA,GAAApI,IAAA,CACrBI,QAAQ;AAARA,IAAAA,QAAQ,GAAAgI,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAC,cAAA,GAAArI,IAAA,CACbsI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,gBAAA,GAAAvI,IAAA,CACjBwI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAf,UAAA,GAAAxH,IAAA,CAChByH,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA,CAAA;AAEV,EAAA,IAAAlD,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAE,UAAA,GAAAC,cAAA,CAAAJ,SAAA,EAAA,CAAA,CAAA;AAAhDmE,IAAAA,YAAY,GAAAhE,UAAA,CAAA,CAAA,CAAA;AAAEiE,IAAAA,eAAe,GAAAjE,UAAA,CAAA,CAAA,CAAA,CAAA;EAEpC,IAAMkE,mBAAmB,GAAG/C,aAAO,CACjC,YAAA;AAAA,IAAA,OAAMgD,kBAAQ,CAAC;AAAE3I,MAAAA,IAAI,EAAE,QAAA;KAAU,EAAEuI,WAAW,CAAC,CAAA;GAC/C,EAAA,CAACA,WAAW,CACd,CAAC,CAAA;AAED,EAAA,IAAAtG,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAIkG,SAAS,EAAE;AACb,IAAA,oBACE5H,cAAA,CAAA,KAAA,EAAA;AAAKmC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DpC,cAAA,CAACmI,OAAO,EAAE,EAAA,CAAA;AAAC,KACR,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACEjG,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,QAAQ;IAAAC,QAAA,EAAA,cACrBpC,cAAA,CAACsG,cAAY,EAAA;AAET/C,MAAAA,cAAc,EAAdA,cAAc;AACdiD,MAAAA,OAAO,EAAPA,OAAO;AACPhD,MAAAA,YAAY,EAAZA,YAAY;AACZC,MAAAA,YAAY,EAAZA,YAAY;AACZmD,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBlH,MAAAA,QAAQ,EAARA,QAAQ;AACRqH,MAAAA,KAAK,EAALA,KAAK;MAEPpD,SAAS,EAAA,IAAA;AAAA,KACV,CAAC,EACDoE,YAAY,iBACX7F,eAAA,CAAA6D,mBAAA,EAAA;AAAA3D,MAAAA,QAAA,gBACEpC,cAAA,CAAA,IAAA,EAAA;AAAImC,QAAAA,SAAS,EAAC,+BAAA;AAA+B,OAAE,CAAC,eAChDnC,cAAA,CAACsG,cAAY,EAAA;AAET9C,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,YAAY,EAAZA,YAAY;AACZmD,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBlH,QAAAA,QAAQ,EAARA,QAAQ;QAEV8G,OAAO,EAAE4B,kBAAQ,CAAC;AAAE7I,UAAAA,IAAI,EAAE,QAAA;AAAS,SAAC,EAAEuI,WAAW,CAAA;OAClD,CAAC,EACD/H,mBAAS,CAACkI,mBAAmB,CAAC,iBAC7B/F,eAAA,CAAA6D,mBAAA,EAAA;AAAA3D,QAAAA,QAAA,gBACEpC,cAAA,CAAA,IAAA,EAAA;AAAImC,UAAAA,SAAS,EAAC,+BAAA;AAA+B,SAAE,CAAC,EAC/CkG,WAAK,CAAC,OAAO,EAAEJ,mBAAmB,CAAC,CAAA;AAAA,OACpC,CACH,CAAA;AAAA,KACD,CACH,eACDjI,cAAA,CAAC4C,MAAM,EAAA;AACLT,MAAAA,SAAS,EAAC,MAAM;AAChB,MAAA,SAAA,EAAQ,uBAAuB;AAC/BU,MAAAA,IAAI,EAAEkF,YAAY,GAAGO,EAAE,GAAGC,IAAK;AAC/BxF,MAAAA,KAAK,EAAC,MAAM;MACZ3B,KAAK,EACH2G,YAAY,GACRrG,CAAC,CAAC,4CAA4C,CAAC,GAC/CA,CAAC,CAAC,4CAA4C,CACnD;MACDyB,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ6E,eAAe,CAACQ,SAAG,CAAC,CAAA;AAAA,OAAA;AAAC,KACrC,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CAAC,CAAA;AAyCD,YAAenF,aAAAA,UAAI,CAACmE,kBAAkB,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.16.74",
3
+ "version": "3.16.76",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -152,6 +152,7 @@ declare const EmailForm: React.FC<{
152
152
  showSendToField?: boolean;
153
153
  showReplyToField?: boolean;
154
154
  showSendToAsRadio?: boolean;
155
+ blockNavigation?: boolean;
155
156
  showCcField?: boolean;
156
157
  showBccField?: boolean;
157
158
  isLoading?: boolean;