@bigbinary/neeto-molecules 5.3.25 → 5.3.27
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/cjs/mail-Di35Ay-Z.js +20 -0
- package/dist/cjs/mail-Di35Ay-Z.js.map +1 -0
- package/dist/cjs/v2/DynamicVariables.js +17 -8
- package/dist/cjs/v2/DynamicVariables.js.map +1 -1
- package/dist/cjs/v2/EmailForm.js +94 -9
- package/dist/cjs/v2/EmailForm.js.map +1 -1
- package/dist/cjs/v2/SessionEnvironment.js +2 -15
- package/dist/cjs/v2/SessionEnvironment.js.map +1 -1
- package/dist/mail-CkquKByM.js +18 -0
- package/dist/mail-CkquKByM.js.map +1 -0
- package/dist/v2/DynamicVariables.js +18 -9
- package/dist/v2/DynamicVariables.js.map +1 -1
- package/dist/v2/EmailForm.js +97 -12
- package/dist/v2/EmailForm.js.map +1 -1
- package/dist/v2/SessionEnvironment.js +1 -14
- package/dist/v2/SessionEnvironment.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/ar.json +2 -1
- package/src/translations/bg.json +2 -1
- package/src/translations/ca.json +2 -1
- package/src/translations/cs.json +2 -1
- package/src/translations/da.json +2 -1
- package/src/translations/de.json +2 -1
- package/src/translations/en.json +1 -0
- package/src/translations/es-MX.json +2 -1
- package/src/translations/es.json +2 -1
- package/src/translations/et.json +2 -1
- package/src/translations/fi.json +2 -1
- package/src/translations/fil.json +2 -1
- package/src/translations/fr.json +2 -1
- package/src/translations/he.json +2 -1
- package/src/translations/hi.json +2 -1
- package/src/translations/hr.json +2 -1
- package/src/translations/hu.json +2 -1
- package/src/translations/id.json +2 -1
- package/src/translations/it.json +2 -1
- package/src/translations/ja.json +2 -1
- package/src/translations/ko.json +2 -1
- package/src/translations/lv.json +2 -1
- package/src/translations/nl.json +2 -1
- package/src/translations/pl.json +2 -1
- package/src/translations/pt-BR.json +2 -1
- package/src/translations/pt.json +2 -1
- package/src/translations/ro.json +2 -1
- package/src/translations/ru.json +2 -1
- package/src/translations/sk.json +2 -1
- package/src/translations/sl.json +2 -1
- package/src/translations/sv.json +2 -1
- package/src/translations/th.json +2 -1
- package/src/translations/tr.json +2 -1
- package/src/translations/uk.json +2 -1
- package/src/translations/vi.json +2 -1
- package/src/translations/zh-CN.json +2 -1
- package/src/translations/zh-TW.json +2 -1
- package/types/v2/EmailForm.d.ts +1 -0
- package/types/v2/EmailFormProvider.d.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../../../src/v2/components/EmailForm/constants.js","../../../src/v2/components/EmailForm/contexts/EmailForm.js","../../../src/v2/components/EmailForm/utils.js","../../../src/v2/components/EmailForm/ReplyToField.jsx","../../../src/v2/components/EmailForm/SendToField.jsx","../../../src/v2/components/EmailForm/SubjectField.jsx","../../../src/v2/components/EmailForm/EmailForm.jsx","../../../src/v2/components/EmailForm/EmailFormComponent/index.jsx","../../../src/v2/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor/v2\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n isEnabled: false,\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n className: \"reply-to-help-icon\",\n ...(isPresent(popoverProps)\n ? {\n popoverProps: {\n ...popoverProps,\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n }\n : {\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n }),\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\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=\"reply-to-select-field\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n size=\"large\"\n onChange={value => setFieldValue(\"replyTo\", value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"reply-to-input-field\"\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 \"../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 { Input } from \"@bigbinary/neeto-atoms\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"../DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const inputElement = document.querySelector(`[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && inputElement\n ? inputElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <div className=\"me-2 inline-flex\">\n <DynamicVariables\n buttonProps={{ className: \"self-center\" }}\n dropdownProps={{ className: \"overflow-y-auto\" }}\n variables={subjectVariables}\n onVariableClick={tagClickHandler}\n />\n </div>\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, RadioGroup } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor/v2\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2 !pb-0\", {\n [className]: className,\n })}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <RadioGroup\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <RadioGroup.Item {...{ label, value }} key={value} />\n ))}\n </RadioGroup>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"w-full\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div className=\"w-full\" data-testid=\"message-input-container\">\n <FormikEditor\n required\n addons={editorAddons}\n data-testid=\"message-input-field\"\n hideSlashCommands={false}\n id=\"form_message\"\n menuType=\"fixed\"\n name=\"message\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.message\")}\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"bg-background z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div>\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n variant=\"secondary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { BlockNavigation, Switch } from \"@bigbinary/neeto-atoms/formik\";\nimport { noop, isNotEmpty } from \"neetocist\";\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 { 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=\"flex h-[calc(100dvh-64px)] flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"bg-muted 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 { Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { noop } from \"neetocist\";\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 onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","isEnabled","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_objectSpread","className","isPresent","description","tooltipProps","content","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","label","name","size","onChange","Input","autoFocus","placeholder","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","inputElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","children","DynamicVariables","buttonProps","dropdownProps","variables","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","_defineProperty","RadioGroup","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","variant","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","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../../src/v2/components/EmailForm/constants.js","../../../src/v2/components/EmailForm/contexts/EmailForm.js","../../../src/v2/components/EmailForm/utils.js","../../../src/v2/components/EmailForm/ReplyToField.jsx","../../../src/v2/components/EmailForm/SendToField.jsx","../../../src/v2/components/EmailForm/SendToQuestionField.jsx","../../../src/v2/components/EmailForm/SubjectField.jsx","../../../src/v2/components/EmailForm/EmailForm.jsx","../../../src/v2/components/EmailForm/EmailFormComponent/index.jsx","../../../src/v2/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor/v2\";\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 showSendToAsSelect: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n showSendToAsSelect,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio || showSendToAsSelect\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n className: \"reply-to-help-icon\",\n ...(isPresent(popoverProps)\n ? {\n popoverProps: {\n ...popoverProps,\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n }\n : {\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n }),\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { Input, Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\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=\"reply-to-select-field\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n size=\"large\"\n onChange={value => setFieldValue(\"replyTo\", value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"reply-to-input-field\"\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 \"../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 { useEffect } from \"react\";\n\nimport { Input } from \"@bigbinary/neeto-atoms\";\nimport { Select } from \"@bigbinary/neeto-atoms/formik\";\nimport { FieldLegend, FieldSet } from \"@bigbinary/neeto-atoms/primitives\";\nimport { useField } from \"formik\";\nimport { Mail } from \"lucide-react\";\nimport { findBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nconst renderOptionLabel = ({ label }) => (\n <span className=\"flex min-w-0 items-center gap-2\">\n <Mail aria-hidden className=\"text-muted-foreground size-4 shrink-0\" />\n <span className=\"truncate\" title={label}>\n {label}\n </span>\n </span>\n);\n\nconst SendToQuestionField = ({ options }) => {\n const { t } = useTranslation();\n const [field, meta, { setValue }] = useField(\"sendToId\");\n const singleOptionValue = options.length === 1 ? options[0].value : undefined;\n const selectedOption = findBy({ value: field.value }, options);\n\n useEffect(() => {\n if (singleOptionValue !== undefined && field.value !== singleOptionValue) {\n setValue(singleOptionValue);\n }\n }, [field.value, setValue, singleOptionValue]);\n\n const fieldProps = {\n required: true,\n label: t(\"neetoMolecules.emailForm.labels.getEmailAddressFrom\"),\n labelProps: {\n className:\n \"text-muted-foreground font-normal [&>.text-destructive]:hidden\",\n },\n className: \"grid items-center gap-3 sm:grid-cols-[auto_minmax(0,1fr)]\",\n size: \"large\",\n };\n\n return (\n <FieldSet className=\"w-full gap-3 p-0\" data-testid=\"send-to-id\">\n <FieldLegend className=\"flex items-center gap-2\" variant=\"label\">\n {t(\"neetoMolecules.emailForm.labels.sendTo\")}\n <span aria-hidden className=\"text-destructive\">\n *\n </span>\n </FieldLegend>\n {options.length === 1 ? (\n <Input\n {...fieldProps}\n readOnly\n error={meta.touched ? meta.error : undefined}\n prefix={<Mail aria-hidden />}\n value={selectedOption?.label || \"\"}\n />\n ) : (\n <Select\n {...{ ...fieldProps, options }}\n formatOptionLabel={renderOptionLabel}\n isSearchable={false}\n name=\"sendToId\"\n />\n )}\n </FieldSet>\n );\n};\n\nexport default SendToQuestionField;\n","import { useState } from \"react\";\n\nimport { Input } from \"@bigbinary/neeto-atoms\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils/general\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"../DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const inputElement = document.querySelector(`[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && inputElement\n ? inputElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <div className=\"me-2 inline-flex\">\n <DynamicVariables\n buttonProps={{ className: \"self-center\" }}\n dropdownProps={{ className: \"overflow-y-auto\" }}\n variables={subjectVariables}\n onVariableClick={tagClickHandler}\n />\n </div>\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, RadioGroup } from \"@bigbinary/neeto-atoms/formik\";\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty, notEqualsDeep } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor/v2\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SendToQuestionField from \"./SendToQuestionField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showSendToAsSelect,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToSelectField = showSendToField && showSendToAsSelect;\n const showSendToRadioField =\n showSendToField &&\n showSendToAsRadio &&\n !showSendToSelectField &&\n isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField =\n showSendToField && !showSendToSelectField && !showSendToRadioField;\n\n return (\n <div\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 <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToSelectField && (\n <SendToQuestionField options={sendToFieldOptions} />\n )}\n {showSendToRadioField && (\n <RadioGroup\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <RadioGroup.Item {...{ label, value }} key={value} />\n ))}\n </RadioGroup>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"w-full\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div className=\"w-full\" data-testid=\"message-input-container\">\n <FormikEditor\n required\n addons={editorAddons}\n data-testid=\"message-input-field\"\n hideSlashCommands={false}\n id=\"form_message\"\n menuType=\"fixed\"\n name=\"message\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.message\")}\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"bg-background z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div>\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n variant=\"secondary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a question selector with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { BlockNavigation, Switch } from \"@bigbinary/neeto-atoms/formik\";\nimport { noop, isNotEmpty } from \"neetocist\";\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 { 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 showSendToAsSelect = 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 showSendToAsSelect,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"flex h-[calc(100dvh-64px)] flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"bg-muted 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 a radio group or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be a question selector or not.\n */\n showSendToAsSelect: 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 { Form } from \"@bigbinary/neeto-atoms/formik\";\nimport { noop } from \"neetocist\";\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 showSendToAsSelect = 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 showSendToAsSelect,\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 showSendToAsSelect,\n customValidations,\n maxEmails,\n }),\n initialValues,\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 a radio group or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be a question selector or not.\n */\n showSendToAsSelect: 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","showSendToAsSelect","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_objectSpread","className","isPresent","description","tooltipProps","content","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","label","name","size","onChange","Input","autoFocus","placeholder","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","renderOptionLabel","_jsxs","children","Mail","title","SendToQuestionField","_useField","useField","_useField2","_slicedToArray","field","meta","setValue","singleOptionValue","undefined","selectedOption","findBy","useEffect","fieldProps","FieldSet","FieldLegend","variant","readOnly","error","touched","prefix","formatOptionLabel","isSearchable","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","_ref$required","onBlur","_useState","useState","_useState2","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","inputElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","dropdownProps","variables","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","disabled","equals","sendToFieldOptions","showSendToSelectField","showSendToRadioField","classnames","_defineProperty","RadioGroup","map","_createElement","Item","Field","_ref3","_ref3$field","_ref3$meta","FormikEditor","addons","hideSlashCommands","menuType","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$showSendToAsSele","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ var Windows = require('@bigbinary/neeto-icons/misc/Windows');
|
|
|
18
18
|
var smartphone = require('../smartphone-C5BfT7lH.js');
|
|
19
19
|
var globe = require('../globe-D2R-KREO.js');
|
|
20
20
|
var createLucideIcon = require('../createLucideIcon-BbuuRL2u.js');
|
|
21
|
+
var mail = require('../mail-Di35Ay-Z.js');
|
|
21
22
|
var user = require('../user-bZmvS8wE.js');
|
|
22
23
|
var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
23
24
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -57,20 +58,6 @@ require('../circle-question-mark-BijjM_4y.js');
|
|
|
57
58
|
*/
|
|
58
59
|
|
|
59
60
|
|
|
60
|
-
const __iconNode$2 = [
|
|
61
|
-
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
62
|
-
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
63
|
-
];
|
|
64
|
-
const Mail = createLucideIcon.createLucideIcon("mail", __iconNode$2);
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @license lucide-react v1.24.0 - ISC
|
|
68
|
-
*
|
|
69
|
-
* This source code is licensed under the ISC license.
|
|
70
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
71
|
-
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
61
|
const __iconNode$1 = [
|
|
75
62
|
[
|
|
76
63
|
"path",
|
|
@@ -113,7 +100,7 @@ var INTEGER = "integer";
|
|
|
113
100
|
var ICONS_MAP = {
|
|
114
101
|
name: user.User,
|
|
115
102
|
user: user.User,
|
|
116
|
-
email: Mail,
|
|
103
|
+
email: mail.Mail,
|
|
117
104
|
phone_number: Phone,
|
|
118
105
|
location: MapPin,
|
|
119
106
|
timezone: globe.Globe,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionEnvironment.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/mail.mjs","../../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../../src/v2/components/SessionEnvironment/constants.js","../../../src/v2/components/SessionEnvironment/utils.jsx","../../../src/v2/components/SessionEnvironment/EditField.jsx","../../../src/v2/components/SessionEnvironment/Item.jsx","../../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\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: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n mobile_safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n // ua-parser-js v2 renamed \"Mac OS\" to \"macOS\" (and reports \"iOS\"/\"Ubuntu\"\n // directly), so the derived lookup keys changed; keep the v1 keys too.\n macos: Apple,\n ios: Apple,\n ubuntu: Ubuntu,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\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 { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\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=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\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=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\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 { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\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) || 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 const handleValueKeyDown = event => {\n if (!isEditable) return;\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setIsEditing(true);\n }\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n const resolvedLabel =\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`);\n const isValueEmpty = isNil(value) || value === \"\";\n // An empty editable field renders a self-describing \"Add <field>\" target\n // instead of a bare \"-\" a few pixels wide.\n const showAddPlaceholder = isValueEmpty && isEditable;\n\n return (\n <div\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 content={resolvedLabel}>\n {/* Icons act as the row's label — mute them like the text labels so\n values carry the visual weight. */}\n <div className=\"text-muted-foreground flex-shrink-0\">\n {iconToRender}\n </div>\n </Tooltip>\n ) : (\n <Typography\n className=\"whitespace-nowrap\"\n color=\"muted\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body3\"\n >\n {resolvedLabel}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body3\",\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\n content={valueToRender}\n disabled={isValueEmpty}\n position=\"top\"\n >\n <Typography\n color={showAddPlaceholder ? \"muted\" : undefined}\n data-testid={`metadata-value-${labelKey}`}\n role={isEditable ? \"button\" : undefined}\n tabIndex={isEditable ? 0 : undefined}\n variant=\"body3\"\n weight={showAddPlaceholder ? \"normal\" : \"medium\"}\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n onKeyDown={handleValueKeyDown}\n >\n {showAddPlaceholder\n ? t(\"neetoMolecules.common.actions.add\", {\n entity: resolvedLabel,\n })\n : valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && !isValueEmpty && (\n <CopyToClipboardButton\n className=\"text-muted-foreground size-6 flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\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 className=\"uppercase\" variant=\"h6\" weight=\"bold\">\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 { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\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 data-testid=\"neeto-ui-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=\"border-border 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=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"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":["__iconNode","createLucideIcon","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","mobile_safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","macos","ios","ubuntu","Ubuntu","linux","mobile","Smartphone","desktop","Monitor","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","X","variant","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","handleValueKeyDown","key","preventDefault","useEffect","labelKey","resolvedLabel","isValueEmpty","showAddPlaceholder","classNames","Tooltip","Typography","color","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","disabled","undefined","role","tabIndex","onKeyDown","entity","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"SessionEnvironment.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/map-pin.mjs","../../../node_modules/lucide-react/dist/esm/icons/phone.mjs","../../../src/v2/components/SessionEnvironment/constants.js","../../../src/v2/components/SessionEnvironment/utils.jsx","../../../src/v2/components/SessionEnvironment/EditField.jsx","../../../src/v2/components/SessionEnvironment/Item.jsx","../../../src/v2/components/SessionEnvironment/DetailsBlock.jsx","../../../src/v2/components/SessionEnvironment/index.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\",\n key: \"1r0f0z\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"10\", r: \"3\", key: \"ilqhr7\" }]\n];\nconst MapPin = createLucideIcon(\"map-pin\", __iconNode);\n\nexport { __iconNode, MapPin as default };\n//# sourceMappingURL=map-pin.mjs.map\n","/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\",\n key: \"9njp5v\"\n }\n ]\n];\nconst Phone = createLucideIcon(\"phone\", __iconNode);\n\nexport { __iconNode, Phone as default };\n//# sourceMappingURL=phone.mjs.map\n","import {\n Globe,\n Mail,\n MapPin,\n Monitor,\n Phone,\n Smartphone,\n User,\n} from \"lucide-react\";\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: Mail,\n phone_number: Phone,\n location: MapPin,\n timezone: Globe,\n chrome: Chrome,\n safari: Safari,\n mobile_safari: Safari,\n firefox: Firefox,\n edge: Edge,\n ie: Edge,\n windows: Windows,\n mac_os: Apple,\n // ua-parser-js v2 renamed \"Mac OS\" to \"macOS\" (and reports \"iOS\"/\"Ubuntu\"\n // directly), so the derived lookup keys changed; keep the v1 keys too.\n macos: Apple,\n ios: Apple,\n ubuntu: Ubuntu,\n linux: Ubuntu,\n mobile: Smartphone,\n desktop: Monitor,\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 { Button, Input } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { hyphenate } from \"neetocist\";\nimport useHotkeys from \"neetohotkeys\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ENTER, ESCAPE, PHONE_NUMBER } from \"./constants\";\nimport { getInputType, mergeRefs } from \"./utils\";\n\nimport { PhoneNumberInput } from \"../PhoneNumber\";\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=\"relative flex min-w-0 flex-grow items-center\">\n <InputComponent\n {...{ error }}\n autoFocus\n className=\"w-full [&_input]:pe-[2.8125rem]\"\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=\"absolute end-0 top-0 flex h-8 items-center pe-1\">\n <Button\n data-testid={`metadata-cancel-${hyphenate(name)}`}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n }}\n onClick={handleMetadataCancel}\n />\n <Button\n data-testid={`metadata-submit-${hyphenate(name)}`}\n icon={Check}\n size=\"sm\"\n variant=\"ghost\"\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 { Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { isPresent, hyphenate } from \"neetocist\";\nimport { isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BOOLEAN_VALUES_MAP, PHONE_NUMBER } from \"./constants\";\nimport EditField from \"./EditField\";\nimport { getIcon } from \"./utils\";\n\nimport CopyToClipboardButton from \"../CopyToClipboardButton\";\nimport TimeFormat from \"../TimeFormat\";\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) || 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 const handleValueKeyDown = event => {\n if (!isEditable) return;\n\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setIsEditing(true);\n }\n };\n\n useEffect(() => {\n setValue(item.value);\n }, [item]);\n\n const labelKey = hyphenate(name ?? label);\n const resolvedLabel =\n label || t(`neetoMolecules.sessionEnvironment.details.keys.${name}`);\n const isValueEmpty = isNil(value) || value === \"\";\n // An empty editable field renders a self-describing \"Add <field>\" target\n // instead of a bare \"-\" a few pixels wide.\n const showAddPlaceholder = isValueEmpty && isEditable;\n\n return (\n <div\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 content={resolvedLabel}>\n {/* Icons act as the row's label — mute them like the text labels so\n values carry the visual weight. */}\n <div className=\"text-muted-foreground flex-shrink-0\">\n {iconToRender}\n </div>\n </Tooltip>\n ) : (\n <Typography\n className=\"whitespace-nowrap\"\n color=\"muted\"\n data-testid={`metadata-label-${labelKey}`}\n variant=\"body3\"\n >\n {resolvedLabel}\n </Typography>\n )}\n {!isEditing ? (\n <>\n {kind === \"datetime\" ? (\n <TimeFormat.DateWeekTime\n date={value}\n typographyProps={{\n variant: \"body3\",\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\n content={valueToRender}\n disabled={isValueEmpty}\n position=\"top\"\n >\n <Typography\n color={showAddPlaceholder ? \"muted\" : undefined}\n data-testid={`metadata-value-${labelKey}`}\n role={isEditable ? \"button\" : undefined}\n tabIndex={isEditable ? 0 : undefined}\n variant=\"body3\"\n weight={showAddPlaceholder ? \"normal\" : \"medium\"}\n className={classNames(\n `truncate overflow-hidden break-all whitespace-normal ${extraClasses}`,\n {\n \"hover:border-input focus-visible:ring-ring cursor-pointer rounded border border-transparent p-0.5 transition-colors focus-visible:ring-1 focus-visible:outline-none motion-reduce:transition-none\":\n isEditable,\n \"whitespace-nowrap\": !allowMultiline,\n }\n )}\n onClick={() => isEditable && setIsEditing(true)}\n onKeyDown={handleValueKeyDown}\n >\n {showAddPlaceholder\n ? t(\"neetoMolecules.common.actions.add\", {\n entity: resolvedLabel,\n })\n : valueToRender}\n </Typography>\n </Tooltip>\n )}\n {showCopyButton && !isValueEmpty && (\n <CopyToClipboardButton\n className=\"text-muted-foreground size-6 flex-shrink-0\"\n value={valueToRender}\n variant=\"ghost\"\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { isPresent, noop } from \"neetocist\";\n\nimport Item from \"./Item\";\nimport { isValuePresent } from \"./utils\";\n\nimport HelpPopover from \"../HelpPopover\";\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 className=\"uppercase\" variant=\"h6\" weight=\"bold\">\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 { Button, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { filterBy, isPresent, noop, removeBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { pluck, not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DetailsBlock from \"./DetailsBlock\";\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 data-testid=\"neeto-ui-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=\"border-border 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=\"border-border my-4\" />\n {pluck(\"value\", customViewMoreItems)}\n </>\n )}\n </>\n )}\n <Button\n className=\"mb-4\"\n data-testid=\"view-more-less-button\"\n icon={showViewMore ? ChevronUp : ChevronDown}\n variant=\"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":["__iconNode","createLucideIcon","BOOLEAN_VALUES_MAP","ENTER","ESCAPE","PHONE_NUMBER","INTEGER","ICONS_MAP","name","User","user","email","Mail","phone_number","Phone","location","MapPin","timezone","Globe","chrome","Chrome","safari","Safari","mobile_safari","firefox","Firefox","edge","Edge","ie","windows","Windows","mac_os","Apple","macos","ios","ubuntu","Ubuntu","linux","mobile","Smartphone","desktop","Monitor","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","X","variant","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","handleValueKeyDown","key","preventDefault","useEffect","labelKey","resolvedLabel","isValueEmpty","showAddPlaceholder","classNames","Tooltip","Typography","color","_Fragment","TimeFormat","DateWeekTime","date","typographyProps","weight","disabled","undefined","role","tabIndex","onKeyDown","entity","CopyToClipboardButton","DetailsBlock","_ref$allowMultiline","details","_ref$handleCancel","noop","_ref$handleSubmit","helpPopoverProps","_ref$showIcons","_ref$title","title","HelpPopover","_objectSpread","detail","map","index","_createElement","SessionEnvironment","_ref$helpPopoverProps","_ref$iconSize","_ref$isLoading","isLoading","_ref$moreDetails","moreDetails","showViewMore","setShowViewMore","customViewMoreItems","filterBy","Spinner","removeBy","pluck","ChevronUp","ChevronDown","not"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { c as createLucideIcon } from './createLucideIcon--oLqczpc.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @license lucide-react v1.24.0 - ISC
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the ISC license.
|
|
7
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
const __iconNode = [
|
|
12
|
+
["path", { d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7", key: "132q7q" }],
|
|
13
|
+
["rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", key: "izxlao" }]
|
|
14
|
+
];
|
|
15
|
+
const Mail = createLucideIcon("mail", __iconNode);
|
|
16
|
+
|
|
17
|
+
export { Mail as M };
|
|
18
|
+
//# sourceMappingURL=mail-CkquKByM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail-CkquKByM.js","sources":["../node_modules/lucide-react/dist/esm/icons/mail.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\", key: \"132q7q\" }],\n [\"rect\", { x: \"2\", y: \"4\", width: \"20\", height: \"16\", rx: \"2\", key: \"izxlao\" }]\n];\nconst Mail = createLucideIcon(\"mail\", __iconNode);\n\nexport { __iconNode, Mail as default };\n//# sourceMappingURL=mail.mjs.map\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,yCAAyC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3E,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;AAChF,CAAC;AACI,MAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
3
|
import { DropdownMenu, Typography, cn, Button } from '@bigbinary/neeto-atoms';
|
|
4
|
-
import { findBy, noop } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { findBy, _truncate, noop } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/v2/utils/general';
|
|
6
6
|
import { mergeLeft, uniqBy, prop, isEmpty } from 'ramda';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -31,6 +31,8 @@ const __iconNode = [
|
|
|
31
31
|
];
|
|
32
32
|
const Braces = createLucideIcon("braces", __iconNode);
|
|
33
33
|
|
|
34
|
+
var MAX_LABEL_LENGTH = 100;
|
|
35
|
+
|
|
34
36
|
var parseVariables = function parseVariables() {
|
|
35
37
|
var variableArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
36
38
|
var uncategorized = [];
|
|
@@ -138,14 +140,21 @@ var DynamicVariables = function DynamicVariables(_ref) {
|
|
|
138
140
|
className: "flex flex-wrap items-center gap-2",
|
|
139
141
|
"data-testid": joinHyphenCase("dynamic-variables-list", label),
|
|
140
142
|
children: variables.map(function (item) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
var _item$label;
|
|
144
|
+
return /*#__PURE__*/jsxs("div", {
|
|
145
|
+
className: "group relative max-w-full",
|
|
146
|
+
children: [/*#__PURE__*/jsx(DropdownMenu.MenuItem, {
|
|
147
|
+
className: "border-border text-foreground hover:border-primary hover:text-primary focus-visible:border-primary focus-visible:text-primary max-w-full cursor-pointer rounded-md border px-1.5 py-1 text-start text-sm leading-tight transition-colors select-none focus:outline-none [&>span]:[overflow-wrap:anywhere] [&>span]:whitespace-normal",
|
|
148
|
+
"data-testid": joinHyphenCase("dynamic-variables-list-item", item.label),
|
|
149
|
+
onClick: function onClick() {
|
|
150
|
+
return onVariableClick(item);
|
|
151
|
+
},
|
|
152
|
+
children: _truncate(item.label, MAX_LABEL_LENGTH)
|
|
153
|
+
}), ((_item$label = item.label) === null || _item$label === void 0 ? void 0 : _item$label.length) > MAX_LABEL_LENGTH && /*#__PURE__*/jsx("span", {
|
|
154
|
+
className: "bg-popover text-popover-foreground border-border pointer-events-none absolute end-0 bottom-full z-50 mb-1 hidden w-80 rounded-md border p-2 text-xs shadow-md group-focus-within:block group-hover:block",
|
|
155
|
+
children: item.label
|
|
156
|
+
})]
|
|
157
|
+
}, item.key);
|
|
149
158
|
})
|
|
150
159
|
})]
|
|
151
160
|
}, label);
|