@bigbinary/neeto-molecules 4.0.147 → 4.0.149
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EmailForm.js +2 -2
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmojiPicker.js +5 -0
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/InlineInput.js +6 -2
- package/dist/InlineInput.js.map +1 -1
- package/dist/cjs/EmailForm.js +2 -2
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +5 -0
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +6 -2
- package/dist/cjs/InlineInput.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +3 -0
package/dist/EmailForm.js
CHANGED
|
@@ -410,7 +410,7 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
410
410
|
"data-testid": "message-input-field",
|
|
411
411
|
hideSlashCommands: false,
|
|
412
412
|
id: "form_message",
|
|
413
|
-
menuType: "
|
|
413
|
+
menuType: "fixed",
|
|
414
414
|
name: "message",
|
|
415
415
|
placeholder: t("neetoMolecules.emailForm.placeholders.message"),
|
|
416
416
|
ref: editorRef,
|
|
@@ -446,7 +446,7 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
446
446
|
});
|
|
447
447
|
};
|
|
448
448
|
|
|
449
|
-
var css = ".neeto-notification-email-wrapper{height:calc(100vh - 64px);height:calc(100dvh - 64px)}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control{border:none}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control--is-focused{box-shadow:none!important}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__value-container{padding-left:0}.neeto-notification-email-message-block
|
|
449
|
+
var css = ".neeto-notification-email-wrapper{height:calc(100vh - 64px);height:calc(100dvh - 64px)}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control{border:none}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control--is-focused{box-shadow:none!important}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__value-container{padding-left:0}.neeto-notification-email-message-block p.is-editor-empty{font-size:14px}.neeto-notification-email-subject-block .neeto-ui-input__suffix{padding:0}.neeto-molecules-email-preview-ribbon{background:#ffee6a;border-bottom-left-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;box-shadow:0 3px 4px 0 rgba(0,0,0,.149);color:#49545c;font-size:14px;font-weight:500;min-width:-moz-max-content;min-width:max-content;padding:6px 12px;position:absolute;right:-6px;text-align:center;top:-6px;z-index:10}.neeto-molecules-email-preview-ribbon:after{border-color:transparent #ddd06b;border-style:solid;border-width:0 0 12px 6px;content:\"\";left:auto;position:absolute;right:0;top:100%;z-index:-20}";
|
|
450
450
|
n(css,{});
|
|
451
451
|
|
|
452
452
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
package/dist/EmailForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../src/components/EmailForm/constants.js","../src/components/EmailForm/contexts/EmailForm.js","../src/components/EmailForm/utils.js","../src/components/EmailForm/ReplyToField.jsx","../src/components/EmailForm/SendToField.jsx","../src/components/EmailForm/SubjectField.jsx","../src/components/EmailForm/EmailForm.jsx","../src/components/EmailForm/EmailFormComponent/index.jsx","../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n isEnabled: false,\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n nakedInput\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n nakedInput\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n value={text}\n suffix={\n <DynamicVariables\n buttonProps={{ className: \"m-1\" }}\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\n \"neeto-notification-email-wrapper__form-container flex flex-1 flex-col items-start gap-2 !pb-0\",\n { [className]: className }\n )}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <Radio\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"neeto-ui-border-gray-200 w-full border-b pb-1\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"neeto-notification-email-subject-block neeto-ui-border-gray-200 w-full border-b pb-1\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div\n className=\"neeto-notification-email-message-block w-full\"\n data-testid=\"message-input-container\"\n >\n <FormikEditor\n required\n addons={editorAddons}\n data-testid=\"message-input-field\"\n hideSlashCommands={false}\n id=\"form_message\"\n menuType=\"none\"\n name=\"message\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.message\")}\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n isEnabled: PropTypes.bool,\n }),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","isEnabled","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","nakedInput","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","children","Radio","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","style","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../src/components/EmailForm/constants.js","../src/components/EmailForm/contexts/EmailForm.js","../src/components/EmailForm/utils.js","../src/components/EmailForm/ReplyToField.jsx","../src/components/EmailForm/SendToField.jsx","../src/components/EmailForm/SubjectField.jsx","../src/components/EmailForm/EmailForm.jsx","../src/components/EmailForm/EmailFormComponent/index.jsx","../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n isEnabled: false,\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n nakedInput\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n nakedInput\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n value={text}\n suffix={\n <DynamicVariables\n buttonProps={{ className: \"m-1\" }}\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\n \"neeto-notification-email-wrapper__form-container flex flex-1 flex-col items-start gap-2 !pb-0\",\n { [className]: className }\n )}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <Radio\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"neeto-ui-border-gray-200 w-full border-b pb-1\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"neeto-notification-email-subject-block neeto-ui-border-gray-200 w-full border-b pb-1\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div\n className=\"neeto-notification-email-message-block w-full\"\n data-testid=\"message-input-container\"\n >\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=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n isEnabled: PropTypes.bool,\n }),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","isEnabled","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","nakedInput","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","children","Radio","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","style","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
|
package/dist/EmojiPicker.js
CHANGED
|
@@ -31,6 +31,8 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
|
|
|
31
31
|
var onEmojiSelect = _ref.onEmojiSelect;
|
|
32
32
|
var _useEmojiData = useEmojiData(),
|
|
33
33
|
data = _useEmojiData.data;
|
|
34
|
+
var _useTranslation = useTranslation(),
|
|
35
|
+
t = _useTranslation.t;
|
|
34
36
|
var createPicker = function createPicker(ref) {
|
|
35
37
|
new Picker({
|
|
36
38
|
autoFocus: true,
|
|
@@ -49,7 +51,9 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
|
|
|
49
51
|
});
|
|
50
52
|
};
|
|
51
53
|
return /*#__PURE__*/jsx("div", {
|
|
54
|
+
"aria-label": t("neetoMolecules.common.emojiPicker"),
|
|
52
55
|
ref: createPicker,
|
|
56
|
+
role: "dialog",
|
|
53
57
|
style: {
|
|
54
58
|
minWidth: "350px"
|
|
55
59
|
}
|
|
@@ -84,6 +88,7 @@ var EmojiPicker = function EmojiPicker(_ref) {
|
|
|
84
88
|
strategy: "fixed",
|
|
85
89
|
buttonProps: {
|
|
86
90
|
"data-testid": "emoji-picker-dropdown-icon",
|
|
91
|
+
"aria-haspopup": "dialog",
|
|
87
92
|
icon: SmileFaceGrey,
|
|
88
93
|
tooltipProps: {
|
|
89
94
|
content: t("neetoMolecules.common.emojiPicker"),
|
package/dist/EmojiPicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiPicker.js","sources":["../src/components/EmojiPicker/api.js","../src/components/EmojiPicker/constants.js","../src/components/EmojiPicker/hooks/useEmojiData.js","../src/components/EmojiPicker/EmojiPickerMenu.jsx","../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div
|
|
1
|
+
{"version":3,"file":"EmojiPicker.js","sources":["../src/components/EmojiPicker/api.js","../src/components/EmojiPicker/constants.js","../src/components/EmojiPicker/hooks/useEmojiData.js","../src/components/EmojiPicker/EmojiPickerMenu.jsx","../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n const { t } = useTranslation();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return (\n <div\n aria-label={t(\"neetoMolecules.common.emojiPicker\")}\n ref={createPicker}\n role=\"dialog\"\n style={{ minWidth: \"350px\" }}\n />\n );\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10 overflow-x-hidden\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-testid\": \"emoji-picker-dropdown-icon\",\n \"aria-haspopup\": \"dialog\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n touch: [\"hold\", 500],\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","_useTranslation","useTranslation","t","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","_jsx","role","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_objectSpread","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","touch","onClick","onClickOutside","onClose","children"],"mappings":"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"}
|
package/dist/InlineInput.js
CHANGED
|
@@ -14,6 +14,7 @@ import Check from '@bigbinary/neeto-icons/Check';
|
|
|
14
14
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
15
15
|
import Button from '@bigbinary/neetoui/Button';
|
|
16
16
|
import Input from '@bigbinary/neetoui/Input';
|
|
17
|
+
import { useTranslation } from 'react-i18next';
|
|
17
18
|
import { t } from 'i18next';
|
|
18
19
|
import { n } from './inject-css-C2dztUxs.js';
|
|
19
20
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -51,6 +52,8 @@ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t
|
|
|
51
52
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
52
53
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
53
54
|
var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
55
|
+
var _useTranslation = useTranslation(),
|
|
56
|
+
t = _useTranslation.t;
|
|
54
57
|
var _props$saveOnBlur = props.saveOnBlur,
|
|
55
58
|
saveOnBlur = _props$saveOnBlur === void 0 ? false : _props$saveOnBlur,
|
|
56
59
|
_props$clearOnSave = props.clearOnSave,
|
|
@@ -147,6 +150,7 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
147
150
|
children: /*#__PURE__*/jsx(Input, _objectSpread$1(_objectSpread$1({
|
|
148
151
|
size: size,
|
|
149
152
|
disableTrimOnBlur: true,
|
|
153
|
+
"aria-label": t("neetoMolecules.inlineInput.editableField"),
|
|
150
154
|
className: "neeto-molecules-autosave-input",
|
|
151
155
|
"data-testid": "neeto-molecules-autosave-input",
|
|
152
156
|
disabled: isSubmitting,
|
|
@@ -156,11 +160,11 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
156
160
|
suffix: /*#__PURE__*/jsxs(Fragment, {
|
|
157
161
|
children: [/*#__PURE__*/jsx(Button, _objectSpread$1(_objectSpread$1({
|
|
158
162
|
size: size,
|
|
163
|
+
"aria-label": t("neetoMolecules.common.actions.save"),
|
|
159
164
|
"data-testid": "neeto-molecules-autosave-input-save",
|
|
160
165
|
icon: Check,
|
|
161
166
|
loading: isSubmitting || isSaving,
|
|
162
167
|
style: "text",
|
|
163
|
-
tabIndex: -1,
|
|
164
168
|
tooltipProps: TOOLTIP_PROPS["save"],
|
|
165
169
|
onClick: onSubmit
|
|
166
170
|
}, submitButtonProps), {}, {
|
|
@@ -168,10 +172,10 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
168
172
|
})), /*#__PURE__*/jsx(Button, _objectSpread$1(_objectSpread$1({
|
|
169
173
|
ref: ref,
|
|
170
174
|
size: size,
|
|
175
|
+
"aria-label": t("neetoMolecules.common.actions.cancel"),
|
|
171
176
|
"data-testid": "neeto-molecules-autosave-input-cancel",
|
|
172
177
|
icon: Close,
|
|
173
178
|
style: "text",
|
|
174
|
-
tabIndex: -1,
|
|
175
179
|
tooltipProps: TOOLTIP_PROPS["cancel"],
|
|
176
180
|
onClick: onCancel
|
|
177
181
|
}, cancelButtonProps), {}, {
|
package/dist/InlineInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tabIndex","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../src/components/InlineInput/constants.js","../src/components/InlineInput/utils.js","../src/components/InlineInput/InlineInput.jsx","../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAEC,CAAC,CAAC,oCAAoC,CAAC;AAChDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;GACR;AACDC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,OAAO,EAAEC,CAAC,CAAC,sCAAsC,CAAC;AAClDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;AACT;AACF,CAAC;;;;;ACbM,IAAME,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;AAAA,IAAA,OACFH,IAAI,CAACI,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACd,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACF,IAAI,CAAC,GAAIE,GAAG,CAACC,OAAO,GAAGH,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;;;;ACJL,SAAA,YAAA,GAAA,qKAAA,IAAAI,CAAA,EAAAf,CAAA,EAAAgB,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAK,mBAAA,CAAAH,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAX,CAAA,IAAA,EAAA,EAAAY,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAb,CAAA,EAAA,CAAA,EAAAgB,CAAA,EAAAnB,CAAA,EAAAoB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAtB,CAAA,EAAA,CAAA,CAAA,EAAAqB,CAAA,WAAAA,CAAAA,CAAApC,CAAA,EAAAgB,CAAA,WAAAM,CAAA,GAAAtB,CAAA,EAAAuB,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAkB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAApB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAlB,CAAA,OAAAgC,CAAA,IAAAF,CAAA,IAAA,CAAAV,CAAA,IAAApB,CAAA,GAAA+B,CAAA,CAAAxB,MAAA,EAAAP,CAAA,UAAAoB,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAA/B,CAAA,CAAA,EAAAoC,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAO,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,KAAA,CAAAhB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAoB,CAAA,GAAAd,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,GAAAE,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAmB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAd,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAW,CAAA,EAAAO,CAAA,EAAA,EAAA,IAAAR,CAAA,GAAA,CAAA,EAAA,MAAAS,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAP,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAO,CAAA,CAAA,EAAAf,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAY,CAAA,EAAA,CAAAtC,CAAA,GAAAuB,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAM,CAAA,GAAA,EAAAV,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAU,CAAA,CAAAf,CAAA,GAAA,EAAA,CAAA,EAAAkB,CAAA,CAAAb,CAAA,EAAAG,CAAA,CAAA,IAAAO,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,GAAA,CAAA,EAAAR,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAApB,CAAA,GAAAsB,CAAA,CAAAF,CAAA,WAAApB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAvC,CAAA,CAAAyC,IAAA,EAAA,OAAAzC,CAAA,CAAA,CAAA0B,CAAA,GAAA1B,CAAA,CAAA0C,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAvB,CAAA,GAAAsB,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAtB,CAAA,CAAAwC,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAAf,CAAA,IAAAgC,CAAA,GAAAC,CAAA,CAAAf,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAe,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAAnC,CAAA,EAAA,EAAAsB,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA1B,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA8B,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAY,KAAA,EAAA1C,CAAA,EAAAyC,IAAA,EAAAT,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAS,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAV,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAA5C,CAAA,GAAA2B,MAAA,CAAAkB,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAAlB,CAAA,CAAAA,CAAA,IAAAkB,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAW,mBAAA,CAAA7B,CAAA,GAAA,EAAA,EAAAkB,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAlB,CAAA,GAAA0B,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAA,CAAA,CAAA,SAAAO,CAAAA,CAAAf,CAAA,WAAAY,MAAA,CAAAmB,cAAA,GAAAnB,MAAA,CAAAmB,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAf,mBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAf,mBAAA,CAAAH,CAAA,iBAAAkB,0BAAA,CAAA,EAAAf,mBAAA,CAAAe,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAnB,mBAAA,CAAAe,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,CAAA,EAAAG,mBAAA,CAAAH,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAW,mBAAA,CAAAH,CAAA,8DAAAuB,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAC,CAAA,EAAA5B,CAAA,EAAA6B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,EAAA,EAAA,IAAAsB,CAAA,GAAAK,MAAA,CAAAyB,cAAA,CAAA,CAAA,IAAA,EAAA9B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAO,mBAAA,GAAA,SAAAwB,mBAAAtC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,EAAA,EAAA,SAAAoB,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAW,mBAAA,CAAAd,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAuC,OAAA,CAAAtC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAqC,UAAA,GAAAvD,CAAA,EAAAwD,YAAA,EAAA,CAAAxD,CAAA,EAAAyD,QAAA,EAAA,CAAAzD,CAAA,MAAAe,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAS,mBAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,CAAA,CAAA,CAAA;AAgBA,IAAM0D,WAAW,gBAAGC,UAAU,CAAC,UAACC,KAAK,EAAE/C,GAAG,EAAK;AAC7C,EAAA,IAAAgD,eAAA,GAAcC,cAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;AACT,EAAA,IAAA+D,iBAAA,GAeIH,KAAK,CAdPI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,kBAAA,GAchBL,KAAK,CAbPM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;IAAAE,eAAA,GAajBP,KAAK,CAZPQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,YAAA,GAYdT,KAAK,CAXPlB,KAAK;AAALA,IAAAA,KAAK,GAAA2B,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IACVC,QAAQ,GAUNV,KAAK,CAVPU,QAAQ;IAAAC,gBAAA,GAUNX,KAAK,CATPY,SAAS;AAATA,IAAAA,SAAS,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,mBAAA,GASZb,KAAK,CARPc,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,mBAAA;IAAAG,mBAAA,GAQjBhB,KAAK,CAPPiB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGD,IAAI,GAAAC,mBAAA;IAAAE,qBAAA,GAOjBlB,KAAK,CANPmB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAMpBpB,KAAK,CALPqB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACtBE,KAAK,GAIHtB,KAAK,CAJPsB,KAAK;IAAAC,qBAAA,GAIHvB,KAAK,CAHPwB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAGR,IAAI,GAAAQ,qBAAA;IAAAE,WAAA,GAGtBzB,KAAK,CAFP0B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,WAAA;AACZE,IAAAA,UAAU,GAAAC,wBAAA,CACX5B,KAAK,EAAA6B,WAAA,CAAA;AAET,EAAA,IAAAC,SAAA,GAAwCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;EACpC,IAAAI,qBAAA,GAA0CC,sBAAsB,CAACvD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI,EAAE,CAAC;IAAAwD,sBAAA,GAAAL,cAAA,CAAAG,qBAAA,EAAA,CAAA,CAAA;AAAtEG,IAAAA,aAAa,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,sBAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAMG,QAAQ,GAAGC,MAAM,CAAC,IAAI,CAAC;AAC7B,EAAA,IAAMC,eAAe,GAAGD,MAAM,CAAC,IAAI,CAAC;AACpC,EAAA,IAAME,YAAY,GAAGL,aAAa,KAAIA,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEM,IAAI,EAAE,CAAA;AAC3D,EAAA,IAAMC,YAAY,GAChBtC,QAAQ,IAAKuC,UAAU,CAACH,YAAY,CAAC,IAAII,QAAQ,CAACJ,YAAY,CAAE;AAElE,EAAA,IAAMK,OAAO,GAAGV,aAAa,KAAKzD,KAAK,IAAIwC,KAAK;AAEhD,EAAA,IAAM4B,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAI,CAACJ,YAAY,IAAIZ,YAAY,EAAE;IAEnCV,iBAAiB,CAACoB,YAAY,CAAC;IAE/B,IAAIxC,UAAU,IAAI6C,OAAO,EAAE;AACzBE,MAAAA,QAAQ,EAAE;AAEV,MAAA;AACF,IAAA;AAEAC,IAAAA,QAAQ,EAAE;EACZ,CAAC;AAEDC,EAAAA,iBAAiB,CAACV,eAAe,EAAEO,cAAc,CAAC;AAElD,EAAA,IAAMC,QAAQ,gBAAA,YAAA;IAAA,IAAAG,IAAA,GAAAC,iBAAA,cAAAlE,YAAA,EAAA,CAAAE,CAAA,CAAG,SAAAiE,OAAAA,GAAA;AAAA,MAAA,OAAAnE,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAAmE,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAtF,CAAA,GAAAsF,QAAA,CAAAnG,CAAA;AAAA,UAAA,KAAA,CAAA;YACf6E,eAAe,CAAC,IAAI,CAAC;AAACsB,YAAAA,QAAA,CAAAtF,CAAA,GAAA,CAAA;AAAAsF,YAAAA,QAAA,CAAAnG,CAAA,GAAA,CAAA;YAAA,OAEdwD,YAAY,CAAC8B,YAAY,CAAC;AAAA,UAAA,KAAA,CAAA;AAChCtC,YAAAA,WAAW,IAAIkC,gBAAgB,CAAC,EAAE,CAAC;AAAC,UAAA,KAAA,CAAA;AAAAiB,YAAAA,QAAA,CAAAtF,CAAA,GAAA,CAAA;YAEpCgE,eAAe,CAAC,KAAK,CAAC;YAAC,OAAAsB,QAAA,CAAAvF,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAuF,QAAA,CAAAlF,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAiF,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAE1B,CAAA,CAAA;AAAA,IAAA,OAAA,SARKL,QAAQA,GAAA;AAAA,MAAA,OAAAG,IAAA,CAAAI,KAAA,CAAA,IAAA,EAAAhH,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAQb;AAED,EAAA,IAAM0G,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACrBnC,YAAY,CAAC2B,YAAY,CAAC;EAC5B,CAAC;EAED,IAAMe,QAAQ,GAAGC,UAAU,CACzB,QAAQ,EACR,UAAAC,KAAK,EAAI;IACPA,KAAK,CAACC,eAAe,EAAE;AACvBV,IAAAA,QAAQ,EAAE;AACZ,EAAA,CAAC,EACD;AAAEW,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;EAED,IAAMC,SAAS,GAAGJ,UAAU,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,YAAA;IAAA,OAAMT,QAAQ,EAAE;EAAA,CAAA,EAAE;AAC3EY,IAAAA,IAAI,EAAE,QAAQ;AACdE,IAAAA,OAAO,EAAEnB;AACX,GAAC,CAAC;AAEFoB,EAAAA,SAAS,CAAC,YAAA;IAAA,OAAMzB,QAAQ,CAACvF,OAAO,IAAIuF,QAAQ,CAACvF,OAAO,CAACiH,KAAK,EAAE;EAAA,CAAA,EAAE,CAACjC,YAAY,CAAC,CAAC;AAE7E,EAAA,oBACEkC,GAAA,CAAA,KAAA,EAAA;IACExD,SAAS,EAAEyD,UAAU,CAAC,gBAAgB,EAAAC,eAAA,CAAA,EAAA,EAAK1D,SAAS,EAAGA,SAAS,CAAE,CAAE;AACpE3D,IAAAA,GAAG,EAAE0F,eAAgB;AAAA4B,IAAAA,QAAA,eAErBH,GAAA,CAACI,KAAK,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACE/C,MAAAA,IAAI,EAAJA,IAAI;MACVgD,iBAAiB,EAAA,IAAA;MACjB,YAAA,EAAYtI,CAAC,CAAC,0CAA0C,CAAE;AAC1DwE,MAAAA,SAAS,EAAC,gCAAgC;AAC1C,MAAA,aAAA,EAAY,gCAAgC;AAC5C+D,MAAAA,QAAQ,EAAEzC,YAAa;MACvBjF,GAAG,EAAET,SAAS,CAACiG,QAAQ,EAAEkB,QAAQ,EAAEK,SAAS,CAAE;AAC9ClF,MAAAA,KAAK,EAAEyD;AAAc,KAAA,EACjBZ,UAAU,CAAA,EAAA,EAAA,EAAA;MACdiD,MAAM,eACJC,IAAA,CAAAC,QAAA,EAAA;AAAAP,QAAAA,QAAA,gBACEH,GAAA,CAACW,MAAM,EAAAN,eAAA,CAAAA,eAAA,CAAA;AACC/C,UAAAA,IAAI,EAAJA,IAAI;UACV,YAAA,EAAYtF,CAAC,CAAC,oCAAoC,CAAE;AACpD,UAAA,aAAA,EAAY,qCAAqC;AACjD4I,UAAAA,IAAI,EAAEC,KAAM;UACZC,OAAO,EAAEhD,YAAY,IAAIxB,QAAS;AAClCyE,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,YAAY,EAAEnJ,aAAa,CAAC,MAAM,CAAE;AACpCoJ,UAAAA,OAAO,EAAElC;AAAS,SAAA,EACdhC,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBwD,UAAAA,QAAQ,EACN,CAAC7B,YAAY,IACbZ,YAAY,IACZxB,QAAQ,IACRS,iBAAiB,CAACwD,QAAQ,IAC1B,CAAC1B;SACF,CACF,CAAC,eACFmB,GAAA,CAACW,MAAM,EAAAN,eAAA,CAAAA,eAAA,CAAA;AACCxH,UAAAA,GAAG,EAAHA,GAAG;AAAEyE,UAAAA,IAAI,EAAJA,IAAI;UACf,YAAA,EAAYtF,CAAC,CAAC,sCAAsC,CAAE;AACtD,UAAA,aAAA,EAAY,uCAAuC;AACnD4I,UAAAA,IAAI,EAAEM,KAAM;AACZH,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,YAAY,EAAEnJ,aAAa,CAAC,QAAQ,CAAE;AACtCoJ,UAAAA,OAAO,EAAEjC;AAAS,SAAA,EACd/B,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBsD,UAAAA,QAAQ,EAAEzC,YAAY,IAAIxB,QAAQ,IAAIW,iBAAiB,CAACsD;AAAS,SAAA,CAClE,CAAC;AAAA,OACF,CACH;AACDY,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEpI,CAAC,EAAI;AAAA,QAAA,IAAAqI,oBAAA;AACb7D,QAAAA,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAA6D,oBAAA,GAAV7D,UAAU,CAAE4D,QAAQ,MAAA,IAAA,IAAAC,oBAAA,KAAA,MAAA,IAApBA,oBAAA,CAAA5G,IAAA,CAAA+C,UAAU,EAAaxE,CAAC,CAAC;AACzBqF,QAAAA,gBAAgB,CAACrF,CAAC,CAACsI,MAAM,CAAC3G,KAAK,CAAC;AAClC,MAAA;KAAE,CACH;AAAC,GACC,CAAC;AAEV,CAAC;AAEDgB,WAAW,CAACV,WAAW,GAAG,aAAa;;;;;AChJvC,IAAMsG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAApC,IAAA,EAA2B;AAAA,EAAA,IAArBqC,IAAI,GAAArC,IAAA,CAAJqC,IAAI;AAAK3F,IAAAA,KAAK,GAAA4B,wBAAA,CAAA0B,IAAA,EAAAzB,SAAA,CAAA;AACzC,EAAA,IAAA+D,SAAA,GAAgDC,QAAQ,CAACF,IAAI,CAAC;IAAAG,UAAA,GAAA7D,cAAA,CAAA2D,SAAA,EAAA,CAAA,CAAA;AAAvDG,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,IAAI,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,WAAA,GAAAH,UAAA,CAAA,CAAA,CAAA;IAAII,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU;AAE1C,EAAA,IAAAC,iBAAA,GAAuDC,gBAAgB,EAAE;IAAjEC,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEpE,YAAY,GAAAkE,iBAAA,CAAZlE,YAAY;IAAEqE,SAAS,GAAAH,iBAAA,CAATG,SAAS;IAAEjF,KAAK,GAAA8E,iBAAA,CAAL9E,KAAK;AAElD,EAAA,IAAMR,YAAY,GAAG,SAAfA,YAAYA,CAAGhC,KAAK,EAAI;AAAA,IAAA,IAAA+B,mBAAA;IAC5BqF,QAAQ,CAACpH,KAAK,CAAC;AAEf,IAAA,CAAA+B,mBAAA,GAAAb,KAAK,CAACc,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAAjC,IAAA,CAAAoB,KAAK,EAAgBlB,KAAK,CAAC;IAE3B,OAAOwH,UAAU,EAAE;EACrB,CAAC;EAED,oBACElC,GAAA,CAACtE,WAAW,EAAA2E,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;IACV+B,KAAK,EAAER,IAAI,CAACS,OAAO,GAAGT,IAAI,CAACQ,KAAK,GAAG,EAAG;AACtC9F,IAAAA,QAAQ,EAAEwB;AAAa,GAAA,EACnBlC,KAAK,CAAA,EAAA,EAAA,EAAA;AACTiB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,GAAQ;AAAA,MAAA,IAAAD,mBAAA;AAClBuF,MAAAA,SAAS,EAAE;AACX,MAAA,CAAAvF,mBAAA,GAAAhB,KAAK,CAACiB,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAApC,IAAA,CAAAoB,KAAqB,CAAC;AACxB,IAAA;GAAE,EAAAyE,aAAA,CAAAA,aAAA,CAAA;AACI3D,IAAAA,YAAY,EAAZA;AAAY,GAAA,EAAK4F,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAEX,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEzE,IAAAA,KAAK,EAALA;AAAK,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACrDE,IAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAEoB,YAAY,EAAI;MACjCsD,QAAQ,CAACtD,YAAY,CAAC;MACtBuD,UAAU,CAAC,IAAI,CAAC;AAClB,IAAA;AAAE,GAAA,CACH,CAAC;AAEN;;;;"}
|
package/dist/cjs/EmailForm.js
CHANGED
|
@@ -433,7 +433,7 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
433
433
|
"data-testid": "message-input-field",
|
|
434
434
|
hideSlashCommands: false,
|
|
435
435
|
id: "form_message",
|
|
436
|
-
menuType: "
|
|
436
|
+
menuType: "fixed",
|
|
437
437
|
name: "message",
|
|
438
438
|
placeholder: t("neetoMolecules.emailForm.placeholders.message"),
|
|
439
439
|
ref: editorRef,
|
|
@@ -469,7 +469,7 @@ var EmailForm = function EmailForm(_ref) {
|
|
|
469
469
|
});
|
|
470
470
|
};
|
|
471
471
|
|
|
472
|
-
var css = ".neeto-notification-email-wrapper{height:calc(100vh - 64px);height:calc(100dvh - 64px)}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control{border:none}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control--is-focused{box-shadow:none!important}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__value-container{padding-left:0}.neeto-notification-email-message-block
|
|
472
|
+
var css = ".neeto-notification-email-wrapper{height:calc(100vh - 64px);height:calc(100dvh - 64px)}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control{border:none}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__control--is-focused{box-shadow:none!important}.neeto-notification-email-outer-wrapper .neeto-ui-react-select__container .neeto-ui-react-select__value-container{padding-left:0}.neeto-notification-email-message-block p.is-editor-empty{font-size:14px}.neeto-notification-email-subject-block .neeto-ui-input__suffix{padding:0}.neeto-molecules-email-preview-ribbon{background:#ffee6a;border-bottom-left-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;box-shadow:0 3px 4px 0 rgba(0,0,0,.149);color:#49545c;font-size:14px;font-weight:500;min-width:-moz-max-content;min-width:max-content;padding:6px 12px;position:absolute;right:-6px;text-align:center;top:-6px;z-index:10}.neeto-molecules-email-preview-ribbon:after{border-color:transparent #ddd06b;border-style:solid;border-width:0 0 12px 6px;content:\"\";left:auto;position:absolute;right:0;top:100%;z-index:-20}";
|
|
473
473
|
injectCss.n(css,{});
|
|
474
474
|
|
|
475
475
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/EmailFormComponent/index.jsx","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n isEnabled: false,\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n nakedInput\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n nakedInput\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n value={text}\n suffix={\n <DynamicVariables\n buttonProps={{ className: \"m-1\" }}\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\n \"neeto-notification-email-wrapper__form-container flex flex-1 flex-col items-start gap-2 !pb-0\",\n { [className]: className }\n )}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <Radio\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"neeto-ui-border-gray-200 w-full border-b pb-1\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"neeto-notification-email-subject-block neeto-ui-border-gray-200 w-full border-b pb-1\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div\n className=\"neeto-notification-email-message-block w-full\"\n data-testid=\"message-input-container\"\n >\n <FormikEditor\n required\n addons={editorAddons}\n data-testid=\"message-input-field\"\n hideSlashCommands={false}\n id=\"form_message\"\n menuType=\"none\"\n name=\"message\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.message\")}\n ref={editorRef}\n variables={messageVariables}\n shouldUpdate={(nextProps, prevProps) =>\n notEqualsDeep(nextProps.variables, prevProps.variables)\n }\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n isEnabled: PropTypes.bool,\n }),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","isEnabled","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","nakedInput","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","children","Radio","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","style","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/EmailFormComponent/index.jsx","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n isEnabled: false,\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const sendToFieldValidation = maxEmails => {\n const validation = yup\n .array()\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .test(\n \"max-email-count\",\n t(\"neetoMolecules.emailForm.errors.maxEmails\", { count: maxEmails }),\n emails => emails?.length <= maxEmails\n );\n\n return yup.object({\n sendTo: validation\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .nullable(),\n sendToCc: validation,\n sendToBcc: validation,\n });\n};\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport { createContext } from \"react\";\n\nconst EmailFormContext = createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n showCcField: false,\n showBccField: false,\n});\n\nexport { EmailFormContext };\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\n\nimport {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n sendToFieldValidation,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio\n ? SEND_TO_ID_FIELD_VALIDATION\n : sendToFieldValidation(maxEmails)\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n const isYupObject = customValidations.type === \"object\";\n\n if (isYupObject) {\n const customFields = customValidations.fields || {};\n schema = schema.shape(customFields);\n } else if (typeof customValidations === \"object\") {\n schema = schema.shape(customValidations);\n }\n\n return schema;\n};\n\nexport const getReplyToFieldLabelProps = ({ popoverProps }) => ({\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: !isPresent(popoverProps) && {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n touch: [\"hold\", 500],\n },\n popoverProps: isPresent(popoverProps) && {\n ...popoverProps,\n appendTo: \"parent\",\n description:\n popoverProps.description ||\n t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n});\n\nexport const resolveContent = (content, func, variable) => {\n if (typeof func === \"function\") {\n return func(content, variable);\n }\n\n return content;\n};\n\nexport const normalizeHtmlString = str => {\n if (typeof str !== \"string\") return str;\n\n return str\n .replace(/\\uFEFF/g, \"\")\n .replace(/\\r\\n|\\r/g, \"\\n\")\n .replace(/ /g, \" \")\n .replace(/[\\t ]+/g, \" \")\n .replace(/\\s*\\n\\s*/g, \"\\n\")\n .replace(/\\n+/g, \"\\n\")\n .replace(/>\\s+</g, \"><\")\n .trim();\n};\n","import { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getReplyToFieldLabelProps } from \"./utils\";\n\nconst ReplyToField = ({ options = [], popoverProps = {} }) => {\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const isDropdownField = isNotEmpty(options);\n const labelProps = getReplyToFieldLabelProps({ popoverProps });\n\n if (isDropdownField) {\n return (\n <Select\n {...{ labelProps, options }}\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n {...{ labelProps }}\n autoFocus\n nakedInput\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n onChange={event =>\n setFieldValue(\"replyTo\", event.target.value?.toLowerCase())\n }\n />\n );\n};\n\nexport default ReplyToField;\n","import { useTranslation } from \"react-i18next\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = ({ showBccField, showCcField, showSendToTextField }) => {\n const { t } = useTranslation();\n\n if (!showSendToTextField && !showBccField && !showCcField) return null;\n\n return (\n <SendToFields\n showCcBccButton\n showBccField={showSendToTextField ? false : showBccField}\n showCcField={showSendToTextField ? false : showCcField}\n showSendToField={showSendToTextField}\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n );\n};\n\nexport default SendToField;\n","import { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n onBlur,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug, category }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const variable = category ? `${category}.${slug}` : slug;\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${variable}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <Input\n {...{ error, name, onBlur, required }}\n nakedInput\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n placeholder={t(\"neetoMolecules.emailForm.placeholders.subject\")}\n value={text}\n suffix={\n <DynamicVariables\n buttonProps={{ className: \"m-1\" }}\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n );\n};\n\nexport default SubjectField;\n","import { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { notEqualsDeep, isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Button } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { equals } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\nimport { normalizeHtmlString } from \"./utils\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n handleResetToDefault,\n isLoading,\n replyToFieldProps,\n sendToFieldProps,\n replyToOptions,\n sendToOptions = [],\n isUpdating = false,\n isResetting = false,\n showFields = true,\n className = \"\",\n editorAddons = EDITOR_ADDONS,\n showResetToDefaultButton,\n editorRef = null,\n defaultValues = {},\n}) => {\n const { t } = useTranslation();\n\n const {\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n } = useContext(EmailFormContext);\n\n const { setFieldValue, values, resetForm } = useFormikContext();\n\n const normalizedValues = {\n ...values,\n message: normalizeHtmlString(values.message),\n };\n\n const normalizedDefaultValues = {\n ...defaultValues,\n message: normalizeHtmlString(defaultValues?.message),\n };\n\n normalizedDefaultValues.replyTo ||= globalProps.user.email;\n\n const disabled = equals(normalizedValues, normalizedDefaultValues);\n\n const sendToFieldOptions = sendToFieldProps?.options || sendToOptions;\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToFieldOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\n \"neeto-notification-email-wrapper__form-container flex flex-1 flex-col items-start gap-2 !pb-0\",\n { [className]: className }\n )}\n >\n <div className=\"w-full grow\">\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-5\">\n {showSendToRadioField && (\n <Radio\n className=\"pb-2\"\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToFieldOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n <SendToField\n {...{ showBccField, showCcField, showSendToTextField }}\n />\n {showReplyToField && (\n <div className=\"neeto-ui-border-gray-200 w-full border-b pb-1\">\n <ReplyToField options={replyToOptions} {...replyToFieldProps} />\n </div>\n )}\n <Field name=\"subject\">\n {({ field: { value, onBlur }, meta: { error, touched } }) => (\n <div className=\"neeto-notification-email-subject-block neeto-ui-border-gray-200 w-full border-b pb-1\">\n <SubjectField\n {...{ onBlur, subjectVariables }}\n required\n error={touched && error ? t(error) : undefined}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n <div\n className=\"neeto-notification-email-message-block w-full\"\n data-testid=\"message-input-container\"\n >\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=\"neeto-ui-bg-white neeto-notification-email-wrapper__action-block z-10 flex w-full justify-between py-6 lg:sticky lg:bottom-0\">\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n isSubmitting={isLoading || isUpdating}\n />\n {showResetToDefaultButton && (\n <div className=\"neeto-ui-action-block__wrapper\">\n <Button\n {...{ disabled }}\n data-testid=\"reset-to-default-button\"\n label={t(\"neetoMolecules.emailForm.labels.resetToDefault\")}\n loading={isResetting}\n style=\"tertiary\"\n onClick={() => {\n resetForm();\n handleResetToDefault();\n }}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This function that gets triggered when the 'Reset to default' button is clicked.\n */\n handleResetToDefault: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Reset to default' button.\n */\n isResetting: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n /**\n * To provide props to the replyToField. Supports options that will\n * be rendered as the reply to options and popover props.\n */\n replyToFieldProps: PropTypes.object,\n /**\n * To provide props to the sendToField. Supports sendTo options.\n */\n sendToFieldProps: PropTypes.object,\n /**\n * This Boolean value, when set to true, shows reset to default button.\n */\n showResetToDefaultButton: PropTypes.bool,\n /**\n * A reference to the editor.\n */\n editorRef: PropTypes.any,\n /**\n * To override the default editor addons\n */\n editorAddons: PropTypes.array,\n /**\n * The default values for the email form.\n */\n defaultValues: PropTypes.object,\n};\n\nexport default EmailForm;\n","import { noop, isNotEmpty } from \"neetocist\";\nimport { Tooltip } from \"neetoui\";\nimport { BlockNavigation, Switch } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, pluck } from \"ramda\";\n\nimport { EmailFormProvider, EmailForm, EmailPreview } from \"..\";\nimport Header from \"../../Header\";\nimport MobilePreviewHeader from \"../../MobilePreviewHeader\";\nimport { INITIAL_FORM_VALUES } from \"../constants\";\nimport \"../email-form.scss\";\nimport { resolveContent } from \"../utils\";\n\nconst EmailFormComponent = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema,\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n blockNavigation = true,\n showCcField = false,\n showBccField = false,\n isLoading = false,\n maxEmails = 10,\n emailFormProps = {},\n emailPreviewProps = {},\n headerProps = {},\n tooltipProps = {},\n switchProps = {},\n mobilePreviewProps = {},\n}) => {\n const { formatBody, formatSubject, bodyVariables, subjectVariables } =\n emailPreviewProps;\n\n const shouldShowFields = values => isEmpty(switchProps) || values.isEnabled;\n\n return (\n <EmailFormProvider\n {...{\n formikProps,\n initialValues,\n maxEmails,\n onSubmit,\n showBccField,\n showCcField,\n showReplyToField,\n showSendToAsRadio,\n showSendToField,\n validationSchema,\n }}\n >\n {({ values, isSubmitting }) => (\n <div className=\"neeto-notification-email-wrapper flex flex-grow flex-col overflow-y-auto lg:flex-row\">\n <div className=\"neeto-notification-email-wrapper__form-wrapper flex w-full flex-col px-5 md:px-10 lg:h-full lg:w-1/2 lg:overflow-y-auto\">\n {blockNavigation && <BlockNavigation />}\n {isNotEmpty(headerProps) && (\n <Header className=\"px-0\" size=\"small\" {...headerProps} />\n )}\n {isNotEmpty(switchProps) && (\n <div className=\"flex items-center justify-between gap-y-0.5 pb-6\">\n <Tooltip\n disabled={!switchProps?.disabled}\n position=\"top\"\n {...tooltipProps}\n >\n <div className=\"flex items-center gap-2\">\n <Switch\n data-testid=\"switch\"\n name=\"isEnabled\"\n {...switchProps}\n />\n </div>\n </Tooltip>\n </div>\n )}\n {shouldShowFields(values) && children}\n <EmailForm\n isLoading={isSubmitting || isLoading}\n isUpdating={isSubmitting || isLoading}\n showFields={shouldShowFields(values)}\n {...emailFormProps}\n />\n </div>\n {shouldShowFields(values) && (\n <MobilePreviewHeader\n className=\"lg:hidden\"\n {...mobilePreviewProps}\n />\n )}\n {shouldShowFields(values) && (\n <div className=\"neeto-notification-email-wrapper__preview-wrapper neeto-ui-bg-gray-100 w-full px-6 py-10 lg:w-1/2 lg:overflow-y-auto\">\n <EmailPreview\n body={resolveContent(values.message, formatBody, bodyVariables)}\n from={values.sendFrom}\n to={pluck(\"value\", values?.sendTo ?? [])}\n subject={resolveContent(\n values.subject,\n formatSubject,\n subjectVariables\n )}\n {...emailPreviewProps}\n />\n </div>\n )}\n </div>\n )}\n </EmailFormProvider>\n );\n};\n\nEmailFormComponent.propTypes = {\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n isEnabled: PropTypes.bool,\n }),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * These are the values that will be passed to EmailForm Component\n */\n emailFormProps: PropTypes.shape({\n messageVariables: PropTypes.array,\n subjectVariables: PropTypes.array,\n handleCancel: PropTypes.func,\n handleResetToDefault: PropTypes.func,\n isLoading: PropTypes.bool,\n replyToFieldProps: PropTypes.object,\n sendToFieldProps: PropTypes.object,\n replyToOptions: PropTypes.array,\n sendToOptions: PropTypes.array,\n isUpdating: PropTypes.bool,\n showFields: PropTypes.bool,\n className: PropTypes.string,\n showResetToDefaultButton: PropTypes.bool,\n editorRef: PropTypes.any,\n editorAddons: PropTypes.array,\n }),\n /**\n * These are the values that will be passed to EmailPreview Component\n */\n emailPreviewProps: PropTypes.shape({\n to: PropTypes.array,\n from: PropTypes.string,\n subject: PropTypes.string,\n body: PropTypes.string,\n actionButtonText: PropTypes.string,\n logo: PropTypes.string,\n customContent: PropTypes.string,\n className: PropTypes.string,\n formatBody: PropTypes.func,\n formatSubject: PropTypes.func,\n bodyVariables: PropTypes.object,\n subjectVariables: PropTypes.object,\n }),\n /**\n * These are the values that will be passed to Header Component\n */\n headerProps: PropTypes.object,\n /**\n * These are the values that will be passed to Tooltip Component\n */\n tooltipProps: PropTypes.object,\n /**\n * These are the values that will be passed to Switch Component\n */\n switchProps: PropTypes.object,\n /**\n * These are the values that will be passed to MobilePreviewHeader Component\n */\n mobilePreviewProps: PropTypes.object,\n};\n\nexport default EmailFormComponent;\n","import { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n showCcField = false,\n showBccField = false,\n maxEmails = 10,\n}) => (\n <div\n className=\"neeto-notification-email-outer-wrapper\"\n data-testid=\"email-form-provider\"\n >\n <EmailFormContext.Provider\n value={{\n showSendToField,\n showSendToAsRadio,\n showReplyToField,\n showCcField,\n showBccField,\n }}\n >\n <Form\n className=\"neeto-notification-email-inner-wrapper\"\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n maxEmails,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n /**\n * A prop to limit number of send to emails\n */\n maxEmails: PropTypes.number,\n /**\n * A Boolean value that determines whether the '**Cc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showCcField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**Bcc**' field should be displayed or not when showSendToField is false.\n * This prop has no effect when showSendToField is true.\n */\n showBccField: PropTypes.bool,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","isEnabled","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","sendToFieldValidation","maxEmails","validation","array","emails","every","prop","count","length","min","entity","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","createContext","showSendToField","showSendToAsRadio","showReplyToField","showCcField","showBccField","getValidationSchema","_ref","customValidations","schema","clone","concat","isYupObject","type","customFields","fields","shape","_typeof","getReplyToFieldLabelProps","_ref2","popoverProps","helpIconProps","_defineProperty","isPresent","content","touch","_objectSpread","appendTo","description","resolveContent","func","variable","normalizeHtmlString","str","replace","trim","ReplyToField","_ref$options","options","_ref$popoverProps","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","isDropdownField","isNotEmpty","labelProps","_jsx","Select","isClearable","className","label","name","onChange","data","_data$value","Input","autoFocus","nakedInput","placeholder","size","event","_event$target$value","target","toLowerCase","SendToField","showSendToTextField","SendToFields","showCcBccButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","onBlur","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","slug","key","category","textAreaElement","document","querySelector","splitIndex","selectionEnd","updatedSubject","slice","join","suffix","DynamicVariables","buttonProps","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","EmailForm","_ref$messageVariables","messageVariables","handleCancel","handleResetToDefault","isLoading","replyToFieldProps","sendToFieldProps","replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$isResetting","isResetting","_ref$showFields","showFields","_ref$className","_ref$editorAddons","editorAddons","showResetToDefaultButton","_ref$editorRef","editorRef","_ref$defaultValues","defaultValues","_useContext","useContext","values","resetForm","normalizedValues","normalizedDefaultValues","globalProps","user","disabled","equals","sendToFieldOptions","showSendToRadioField","_jsxs","classnames","children","Radio","map","_createElement","Item","Field","_ref3","_ref3$field","field","_ref3$meta","meta","touched","undefined","FormikEditor","addons","hideSlashCommands","menuType","ref","shouldUpdate","nextProps","prevProps","notEqualsDeep","ActionBlock","cancelButtonProps","onClick","isSubmitting","Button","loading","style","EmailFormComponent","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","formikProps","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","_ref$blockNavigation","blockNavigation","_ref$showCcField","_ref$showBccField","_ref$isLoading","_ref$maxEmails","_ref$emailFormProps","emailFormProps","_ref$emailPreviewProp","emailPreviewProps","_ref$headerProps","headerProps","_ref$tooltipProps","tooltipProps","_ref$switchProps","switchProps","_ref$mobilePreviewPro","mobilePreviewProps","formatBody","formatSubject","bodyVariables","shouldShowFields","isEmpty","EmailFormProvider","_values$sendTo","BlockNavigation","Header","Tooltip","position","Switch","MobilePreviewHeader","EmailPreview","body","from","sendFrom","to","pluck","_ref$validationSchema","Provider","Form","enableReinitialize"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,MAAM,EAAE,EAAE;AACVC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,cAAc,EAAE,KAAK;AACrBC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,SAAS,EAAE;AACb,CAAC;AAEM,IAAMC,4BAA4B,GAAGC,cAAG,CAACC,MAAM,CAAC;AACrDL,EAAAA,OAAO,EAAEI,cAAG,CACTE,MAAM,EAAE,CACRC,QAAQ,CAACC,SAAC,CAAC,iDAAiD,CAAC,CAAC;AACjEP,EAAAA,OAAO,EAAEG,cAAG,CACTE,MAAM,EAAE,CACRG,IAAI,CACH,SAAS,EACTD,SAAC,CAAC,iDAAiD,CAAC,EACpD,UAAAE,KAAK,EAAA;AAAA,IAAA,OAAI,CAACC,mBAAa,CAACD,KAAK,CAAC;EAAA,CAChC;AACJ,CAAC,CAAC;AAEK,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,SAAS,EAAI;AAChD,EAAA,IAAMC,UAAU,GAAGV,cAAG,CACnBW,KAAK,EAAE,CACPN,IAAI,CACH,kBAAkB,EAClBD,SAAC,CAAC,qDAAqD,CAAC,EACxD,UAAAQ,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEC,KAAK,CAACC,UAAI,CAAC,OAAO,CAAC,CAAC;EAAA,CACxC,CAAC,CACAT,IAAI,CACH,iBAAiB,EACjBD,SAAC,CAAC,2CAA2C,EAAE;AAAEW,IAAAA,KAAK,EAAEN;GAAW,CAAC,EACpE,UAAAG,MAAM,EAAA;IAAA,OAAI,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAEI,MAAM,KAAIP,SAAS;AAAA,EAAA,CACvC,CAAC;EAEH,OAAOT,cAAG,CAACC,MAAM,CAAC;IAChBX,MAAM,EAAEoB,UAAU,CACfO,GAAG,CACF,CAAC,EACDb,SAAC,CAAC,0CAA0C,EAAE;MAC5Cc,MAAM,EAAEd,SAAC,CAAC,oDAAoD;AAChE,KAAC,CACH,CAAC,CACAe,QAAQ,EAAE;AACb3B,IAAAA,QAAQ,EAAEkB,UAAU;AACpBjB,IAAAA,SAAS,EAAEiB;AACb,GAAC,CAAC;AACJ,CAAC;AAEM,IAAMU,2BAA2B,GAAGpB,cAAG,CAACC,MAAM,CAAC;AACpDV,EAAAA,QAAQ,EAAES,cAAG,CAACE,MAAM,EAAE,CAACC,QAAQ,CAC7BC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,wCAAwC;AACpD,GAAC,CACH;AACF,CAAC,CAAC;AAEK,IAAMiB,yBAAyB,GAAGrB,cAAG,CAACC,MAAM,CAAC;EAClDP,OAAO,EAAEM,cAAG,CACTE,MAAM,EAAE,CACRiB,QAAQ,EAAE,CACVG,KAAK,CAAClB,SAAC,CAAC,qDAAqD,CAAC,CAAC,CAC/DD,QAAQ,CACPC,SAAC,CAAC,0CAA0C,EAAE;IAC5Cc,MAAM,EAAEd,SAAC,CAAC,qDAAqD;AACjE,GAAC,CACH;AACJ,CAAC,CAAC;AAEK,IAAMmB,aAAa,GAAG,CAC3B,WAAW,EACX,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,CACd;;ACtFD;AAGA,IAAMC,gBAAgB,gBAAGC,mBAAa,CAAC;AACrCC,EAAAA,eAAe,EAAE,KAAK;AACtBC,EAAAA,iBAAiB,EAAE,KAAK;AACxBC,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,YAAY,EAAE;AAChB,CAAC,CAAC;;;;ACCK,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAM1B;AAAA,EAAA,IALJN,eAAe,GAAAM,IAAA,CAAfN,eAAe;IACfE,gBAAgB,GAAAI,IAAA,CAAhBJ,gBAAgB;IAChBD,iBAAiB,GAAAK,IAAA,CAAjBL,iBAAiB;IACjBM,iBAAiB,GAAAD,IAAA,CAAjBC,iBAAiB;IACjBxB,SAAS,GAAAuB,IAAA,CAATvB,SAAS;AAET,EAAA,IAAIyB,MAAM,GAAGnC,4BAA4B,CAACoC,KAAK,EAAE;AAEjD,EAAA,IAAIT,eAAe,EAAE;AACnBQ,IAAAA,MAAM,GAAGA,MAAM,CAACE,MAAM,CACpBT,iBAAiB,GACbP,2BAA2B,GAC3BZ,qBAAqB,CAACC,SAAS,CACrC,CAAC;AACH,EAAA;EAEA,IAAImB,gBAAgB,EAAEM,MAAM,GAAGA,MAAM,CAACE,MAAM,CAACf,yBAAyB,CAAC;AAEvE,EAAA,IAAMgB,WAAW,GAAGJ,iBAAiB,CAACK,IAAI,KAAK,QAAQ;AAEvD,EAAA,IAAID,WAAW,EAAE;AACf,IAAA,IAAME,YAAY,GAAGN,iBAAiB,CAACO,MAAM,IAAI,EAAE;AACnDN,IAAAA,MAAM,GAAGA,MAAM,CAACO,KAAK,CAACF,YAAY,CAAC;AACrC,EAAA,CAAC,MAAM,IAAIG,OAAA,CAAOT,iBAAiB,CAAA,KAAK,QAAQ,EAAE;AAChDC,IAAAA,MAAM,GAAGA,MAAM,CAACO,KAAK,CAACR,iBAAiB,CAAC;AAC1C,EAAA;AAEA,EAAA,OAAOC,MAAM;AACf,CAAC;AAEM,IAAMS,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,YAAY,GAAAD,KAAA,CAAZC,YAAY;EAAA,OAAQ;AAC9DC,IAAAA,aAAa,EAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACV,aAAa,EAAG,kBAAkB,mBACrB,CAACC,mBAAS,CAACH,YAAY,CAAC,IAAI;AACxCI,MAAAA,OAAO,EAAE7C,SAAC,CAAC,2CAA2C,CAAC;AACvD8C,MAAAA,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG;KACpB,CAAA,EAAA,cAAA,EACaF,mBAAS,CAACH,YAAY,CAAC,IAAAM,eAAA,CAAAA,eAAA,CAAA,EAAA,EAChCN,YAAY,CAAA,EAAA,EAAA,EAAA;AACfO,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,WAAW,EACTR,YAAY,CAACQ,WAAW,IACxBjD,SAAC,CAAC,2CAA2C;KAAC,CACjD;GAEJ;AAAA,CAAC;AAEK,IAAMkD,cAAc,GAAG,SAAjBA,cAAcA,CAAIL,OAAO,EAAEM,IAAI,EAAEC,QAAQ,EAAK;AACzD,EAAA,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;AAC9B,IAAA,OAAOA,IAAI,CAACN,OAAO,EAAEO,QAAQ,CAAC;AAChC,EAAA;AAEA,EAAA,OAAOP,OAAO;AAChB,CAAC;AAEM,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,GAAG,EAAI;AACxC,EAAA,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAOA,GAAG;EAEvC,OAAOA,GAAG,CACPC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CACtBA,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CACzBA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CACvBA,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CACvBA,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAC1BA,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CACrBA,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CACvBC,IAAI,EAAE;AACX,CAAC;;ACvED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA7B,IAAA,EAA4C;AAAA,EAAA,IAAA8B,YAAA,GAAA9B,IAAA,CAAtC+B,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,iBAAA,GAAAhC,IAAA,CAAEa,YAAY;AAAZA,IAAAA,YAAY,GAAAmB,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;AACrD,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;AACT,EAAA,IAAA+D,iBAAA,GAA0BC,uBAAgB,EAAE;IAApCC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AAErB,EAAA,IAAMC,eAAe,GAAGC,oBAAU,CAACR,OAAO,CAAC;EAC3C,IAAMS,UAAU,GAAG7B,yBAAyB,CAAC;AAAEE,IAAAA,YAAY,EAAZA;AAAa,GAAC,CAAC;AAE9D,EAAA,IAAIyB,eAAe,EAAE;IACnB,oBACEG,cAAA,CAACC,MAAM,EAAA;AACCF,MAAAA,UAAU,EAAVA,UAAU;AAAET,MAAAA,OAAO,EAAPA,OAAO;MACzBY,WAAW,EAAA,IAAA;AACXC,MAAAA,SAAS,EAAC,QAAQ;AAClB,MAAA,aAAA,EAAY,gBAAgB;AAC5BC,MAAAA,KAAK,EAAEzE,CAAC,CAAC,yCAAyC,CAAE;AACpD0E,MAAAA,IAAI,EAAC,SAAS;AACdC,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,IAAI,EAAA;AAAA,QAAA,IAAAC,WAAA;AAAA,QAAA,OAAIZ,aAAa,CAAC,SAAS,GAAAY,WAAA,GAAED,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAE1E,KAAK,MAAA,IAAA,IAAA2E,WAAA,cAAAA,WAAA,GAAI,EAAE,CAAC;AAAA,MAAA;AAAC,KAC/D,CAAC;AAEN,EAAA;EAEA,oBACER,cAAA,CAACS,KAAK,EAAA;AACEV,IAAAA,UAAU,EAAVA,UAAU;IAChBW,SAAS,EAAA,IAAA;IACTC,UAAU,EAAA,IAAA;IACVjF,QAAQ,EAAA,IAAA;AACRyE,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,aAAA,EAAY,cAAc;AAC1BC,IAAAA,KAAK,EAAEzE,CAAC,CAAC,yCAAyC,CAAE;AACpD0E,IAAAA,IAAI,EAAC,SAAS;AACdO,IAAAA,WAAW,EAAEjF,CAAC,CAAC,wDAAwD,CAAE;AACzEkF,IAAAA,IAAI,EAAC,OAAO;AACZP,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEQ,KAAK,EAAA;AAAA,MAAA,IAAAC,mBAAA;AAAA,MAAA,OACbnB,aAAa,CAAC,SAAS,GAAAmB,mBAAA,GAAED,KAAK,CAACE,MAAM,CAACnF,KAAK,MAAA,IAAA,IAAAkF,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoBE,WAAW,EAAE,CAAC;AAAA,IAAA;AAC5D,GACF,CAAC;AAEN,CAAC;;ACzCD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA3D,IAAA,EAA2D;AAAA,EAAA,IAArDF,YAAY,GAAAE,IAAA,CAAZF,YAAY;IAAED,WAAW,GAAAG,IAAA,CAAXH,WAAW;IAAE+D,mBAAmB,GAAA5D,IAAA,CAAnB4D,mBAAmB;AACnE,EAAA,IAAA3B,eAAA,GAAcC,2BAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;EAET,IAAI,CAACwF,mBAAmB,IAAI,CAAC9D,YAAY,IAAI,CAACD,WAAW,EAAE,OAAO,IAAI;EAEtE,oBACE4C,cAAA,CAACoB,YAAY,EAAA;IACXC,eAAe,EAAA,IAAA;AACfhE,IAAAA,YAAY,EAAE8D,mBAAmB,GAAG,KAAK,GAAG9D,YAAa;AACzDD,IAAAA,WAAW,EAAE+D,mBAAmB,GAAG,KAAK,GAAG/D,WAAY;AACvDH,IAAAA,eAAe,EAAEkE,mBAAoB;AACrCG,IAAAA,aAAa,EAAE;AACblB,MAAAA,KAAK,EAAEzE,CAAC,CAAC,qCAAqC,CAAC;AAC/C0E,MAAAA,IAAI,EAAE,WAAW;MACjBO,WAAW,EAAEjF,CAAC,CACZ,4DACF;KACA;AACF4F,IAAAA,YAAY,EAAE;AACZnB,MAAAA,KAAK,EAAEzE,CAAC,CAAC,oCAAoC,CAAC;AAC9C0E,MAAAA,IAAI,EAAE,UAAU;MAChBO,WAAW,EAAEjF,CAAC,CACZ,4DACF;KACA;AACF6F,IAAAA,eAAe,EAAE;AACfC,MAAAA,EAAE,EAAE,QAAQ;AACZpB,MAAAA,IAAI,EAAE,QAAQ;AACdD,MAAAA,KAAK,EAAEzE,CAAC,CAAC,wCAAwC,CAAC;AAClDiF,MAAAA,WAAW,EAAEjF,CAAC,CACZ,4DACF,CAAC;AACDD,MAAAA,QAAQ,EAAE;AACZ;AAAE,GACH,CAAC;AAEN,CAAC;;AChCD,IAAMgG,YAAY,GAAG,SAAfA,YAAYA,CAAAnE,IAAA,EAQZ;AAAA,EAAA,IAPJ8C,IAAI,GAAA9C,IAAA,CAAJ8C,IAAI;IACJsB,IAAI,GAAApE,IAAA,CAAJoE,IAAI;IACJC,UAAU,GAAArE,IAAA,CAAVqE,UAAU;IAAAC,qBAAA,GAAAtE,IAAA,CACVuE,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBE,KAAK,GAAAxE,IAAA,CAALwE,KAAK;IAAAC,aAAA,GAAAzE,IAAA,CACL7B,QAAQ;AAARA,IAAAA,QAAQ,GAAAsG,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAChBC,MAAM,GAAA1E,IAAA,CAAN0E,MAAM;AAEN,EAAA,IAAAC,SAAA,GAAoDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5DI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAA5C,eAAA,GAAcC,2BAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;AAET,EAAA,IAAM6G,eAAe,GAAG,SAAlBA,eAAeA,CAAArE,KAAA,EAAgC;AAAA,IAAA,IAArBsE,IAAI,GAAAtE,KAAA,CAATuE,GAAG;MAAQC,QAAQ,GAAAxE,KAAA,CAARwE,QAAQ;IAC5C,IAAMC,eAAe,GAAGC,QAAQ,CAACC,aAAa,kBAAAnF,MAAA,CAAkB0C,IAAI,EAAA,GAAA,CAAG,CAAC;AACxE,IAAA,IAAM0C,UAAU,GACdT,kBAAkB,IAAIM,eAAe,GACjCA,eAAe,CAACI,YAAY,GAC5BrB,IAAI,CAACpF,MAAM;AAEjB,IAAA,IAAMwC,QAAQ,GAAG4D,QAAQ,GAAA,EAAA,CAAAhF,MAAA,CAAMgF,QAAQ,EAAA,GAAA,CAAA,CAAAhF,MAAA,CAAI8E,IAAI,CAAA,GAAKA,IAAI;IACxD,IAAMQ,cAAc,GAAG,CACrBtB,IAAI,CAACuB,KAAK,CAAC,CAAC,EAAEH,UAAU,CAAC,EAAA,KAAA,CAAApF,MAAA,CACnBoB,QAAQ,EAAA,IAAA,CAAA,EACd4C,IAAI,CAACuB,KAAK,CAACH,UAAU,CAAC,CACvB,CAACI,IAAI,CAAC,EAAE,CAAC;IACVvB,UAAU,CAACqB,cAAc,CAAC;EAC5B,CAAC;EAED,oBACEjD,cAAA,CAACS,OAAK,EAAA;AACEsB,IAAAA,KAAK,EAALA,KAAK;AAAE1B,IAAAA,IAAI,EAAJA,IAAI;AAAE4B,IAAAA,MAAM,EAANA,MAAM;AAAEvG,IAAAA,QAAQ,EAARA,QAAQ;IACnCiF,UAAU,EAAA,IAAA;AACVP,IAAAA,KAAK,EAAEzE,CAAC,CAAC,yCAAyC,CAAE;AACpDiF,IAAAA,WAAW,EAAEjF,CAAC,CAAC,+CAA+C,CAAE;AAChEE,IAAAA,KAAK,EAAE8F,IAAK;IACZyB,MAAM,eACJpD,cAAA,CAACqD,gBAAgB,EAAA;AACfC,MAAAA,WAAW,EAAE;AAAEnD,QAAAA,SAAS,EAAE;OAAQ;AAClCoD,MAAAA,SAAS,EAAEzB,gBAAiB;AAC5B0B,MAAAA,aAAa,EAAE;AACbrD,QAAAA,SAAS,EAAE,0CAA0C;AACrDsD,QAAAA,UAAU,EAAE;OACZ;AACFC,MAAAA,eAAe,EAAElB;AAAgB,KAClC,CACF;AACDlC,IAAAA,QAAQ,EAAEqD,4BAAoB,CAAC/B,UAAU,CAAE;IAC3CgC,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQrB,qBAAqB,CAAC,IAAI,CAAC;AAAA,IAAA;AAAC,GAC5C,CAAC;AAEN,CAAC;;;;ACxCD,IAAMsB,SAAS,GAAG,SAAZA,SAASA,CAAAtG,IAAA,EAkBT;AAAA,EAAA,IAAAuG,qBAAA,GAAAvG,IAAA,CAjBJwG,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAjC,qBAAA,GAAAtE,IAAA,CACrBuE,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBmC,YAAY,GAAAzG,IAAA,CAAZyG,YAAY;IACZC,oBAAoB,GAAA1G,IAAA,CAApB0G,oBAAoB;IACpBC,SAAS,GAAA3G,IAAA,CAAT2G,SAAS;IACTC,iBAAiB,GAAA5G,IAAA,CAAjB4G,iBAAiB;IACjBC,gBAAgB,GAAA7G,IAAA,CAAhB6G,gBAAgB;IAChBC,cAAc,GAAA9G,IAAA,CAAd8G,cAAc;IAAAC,kBAAA,GAAA/G,IAAA,CACdgH,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAE,eAAA,GAAAjH,IAAA,CAClBkH,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,gBAAA,GAAAnH,IAAA,CAClBoH,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAE,eAAA,GAAArH,IAAA,CACnBsH,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;IAAAE,cAAA,GAAAvH,IAAA,CACjB4C,SAAS;AAATA,IAAAA,SAAS,GAAA2E,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAC,iBAAA,GAAAxH,IAAA,CACdyH,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAGjI,aAAa,GAAAiI,iBAAA;IAC5BE,wBAAwB,GAAA1H,IAAA,CAAxB0H,wBAAwB;IAAAC,cAAA,GAAA3H,IAAA,CACxB4H,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;IAAAE,kBAAA,GAAA7H,IAAA,CAChB8H,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;AAElB,EAAA,IAAA5F,eAAA,GAAcC,2BAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;AAET,EAAA,IAAA2J,WAAA,GAMIC,gBAAU,CAACxI,gBAAgB,CAAC;IAL9BE,eAAe,GAAAqI,WAAA,CAAfrI,eAAe;IACfC,iBAAiB,GAAAoI,WAAA,CAAjBpI,iBAAiB;IACjBC,gBAAgB,GAAAmI,WAAA,CAAhBnI,gBAAgB;IAChBC,WAAW,GAAAkI,WAAA,CAAXlI,WAAW;IACXC,YAAY,GAAAiI,WAAA,CAAZjI,YAAY;AAGd,EAAA,IAAAqC,iBAAA,GAA6CC,uBAAgB,EAAE;IAAvDC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAE4F,MAAM,GAAA9F,iBAAA,CAAN8F,MAAM;IAAEC,SAAS,GAAA/F,iBAAA,CAAT+F,SAAS;AAExC,EAAA,IAAMC,gBAAgB,GAAAhH,eAAA,CAAAA,eAAA,KACjB8G,MAAM,CAAA,EAAA,EAAA,EAAA;AACTpK,IAAAA,OAAO,EAAE4D,mBAAmB,CAACwG,MAAM,CAACpK,OAAO;GAAC,CAC7C;AAED,EAAA,IAAMuK,uBAAuB,GAAAjH,eAAA,CAAAA,eAAA,KACxB2G,aAAa,CAAA,EAAA,EAAA,EAAA;IAChBjK,OAAO,EAAE4D,mBAAmB,CAACqG,aAAa,aAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEjK,OAAO;GAAC,CACrD;EAEDuK,uBAAuB,CAAC1K,OAAO,KAA/B0K,uBAAuB,CAAC1K,OAAO,GAAK2K,WAAW,CAACC,IAAI,CAAChJ,KAAK,CAAA;AAE1D,EAAA,IAAMiJ,QAAQ,GAAGC,YAAM,CAACL,gBAAgB,EAAEC,uBAAuB,CAAC;EAElE,IAAMK,kBAAkB,GAAG,CAAA5B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9E,OAAO,KAAIiF,aAAa;EACrE,IAAM0B,oBAAoB,GACxBhJ,eAAe,IAAIC,iBAAiB,IAAI4C,oBAAU,CAACkG,kBAAkB,CAAC;AAExE,EAAA,IAAM7E,mBAAmB,GAAGlE,eAAe,IAAI,CAACgJ,oBAAoB;AAEpE,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,YAAY;IACxB/F,SAAS,EAAEgG,UAAU,CACnB,+FAA+F,EAAA7H,eAAA,CAAA,EAAA,EAC5F6B,SAAS,EAAGA,SAAS,CAC1B,CAAE;AAAAiG,IAAAA,QAAA,gBAEFpG,cAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,aAAa;MAAAiG,QAAA,EACzBvB,UAAU,iBACTqB,eAAA,CAAA,KAAA,EAAA;AAAK/F,QAAAA,SAAS,EAAC,sDAAsD;AAAAiG,QAAAA,QAAA,EAAA,CAClEH,oBAAoB,iBACnBjG,cAAA,CAACqG,KAAK,EAAA;AACJlG,UAAAA,SAAS,EAAC,MAAM;AAChB,UAAA,aAAA,EAAY,YAAY;AACxBC,UAAAA,KAAK,EAAEzE,CAAC,CAAC,wCAAwC,CAAE;AACnDoE,UAAAA,UAAU,EAAE;AAAErE,YAAAA,QAAQ,EAAE;WAAO;AAC/B2E,UAAAA,IAAI,EAAC,UAAU;AAAA+F,UAAAA,QAAA,EAEdJ,kBAAkB,CAACM,GAAG,CAAC,UAAAnI,KAAA,EAAA;AAAA,YAAA,IAAGiC,KAAK,GAAAjC,KAAA,CAALiC,KAAK;cAAEvE,KAAK,GAAAsC,KAAA,CAALtC,KAAK;AAAA,YAAA,oBACrC0K,mBAAA,CAACF,KAAK,CAACG,IAAI,EAAA;AAAOpG,cAAAA,KAAK,EAALA,KAAK;AAAEvE,cAAAA,KAAK,EAALA,KAAK;AAAI6G,cAAAA,GAAG,EAAE7G;AAAM,aAAE,CAAC;UAAA,CACjD;AAAC,SACG,CACR,eACDmE,cAAA,CAACkB,WAAW,EAAA;AACJ7D,UAAAA,YAAY,EAAZA,YAAY;AAAED,UAAAA,WAAW,EAAXA,WAAW;AAAE+D,UAAAA,mBAAmB,EAAnBA;AAAmB,SACrD,CAAC,EACDhE,gBAAgB,iBACf6C,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAC,+CAA+C;AAAAiG,UAAAA,QAAA,eAC5DpG,cAAA,CAACZ,YAAY,EAAAV,eAAA,CAAA;AAACY,YAAAA,OAAO,EAAE+E;AAAe,WAAA,EAAKF,iBAAiB,CAAG;AAAC,SAC7D,CACN,eACDnE,cAAA,CAACyG,YAAK,EAAA;AAACpG,UAAAA,IAAI,EAAC,SAAS;UAAA+F,QAAA,EAClB,SAAAA,QAAAA,CAAAM,KAAA,EAAA;AAAA,YAAA,IAAAC,WAAA,GAAAD,KAAA,CAAGE,KAAK;cAAI/K,KAAK,GAAA8K,WAAA,CAAL9K,KAAK;cAAEoG,MAAM,GAAA0E,WAAA,CAAN1E,MAAM;cAAA4E,UAAA,GAAAH,KAAA,CAAII,IAAI;cAAI/E,KAAK,GAAA8E,UAAA,CAAL9E,KAAK;cAAEgF,OAAO,GAAAF,UAAA,CAAPE,OAAO;AAAA,YAAA,oBAClD/G,cAAA,CAAA,KAAA,EAAA;AAAKG,cAAAA,SAAS,EAAC,sFAAsF;cAAAiG,QAAA,eACnGpG,cAAA,CAAC0B,YAAY,EAAA;AACLO,gBAAAA,MAAM,EAANA,MAAM;AAAEH,gBAAAA,gBAAgB,EAAhBA,gBAAgB;gBAC9BpG,QAAQ,EAAA,IAAA;gBACRqG,KAAK,EAAEgF,OAAO,IAAIhF,KAAK,GAAGpG,CAAC,CAACoG,KAAK,CAAC,GAAGiF,SAAU;AAC/C3G,gBAAAA,IAAI,EAAC,SAAS;AACdsB,gBAAAA,IAAI,EAAE9F,KAAM;AACZ+F,gBAAAA,UAAU,EAAE,SAAZA,UAAUA,CAAED,IAAI,EAAA;AAAA,kBAAA,OAAI/B,aAAa,CAAC,SAAS,EAAE+B,IAAI,CAAC;AAAA,gBAAA;eACnD;AAAC,aACC,CAAC;AAAA,UAAA;SAEH,CAAC,eACR3B,cAAA,CAAA,KAAA,EAAA;AACEG,UAAAA,SAAS,EAAC,+CAA+C;AACzD,UAAA,aAAA,EAAY,yBAAyB;UAAAiG,QAAA,eAErCpG,cAAA,CAACiH,YAAY,EAAA;YACXvL,QAAQ,EAAA,IAAA;AACRwL,YAAAA,MAAM,EAAElC,YAAa;AACrB,YAAA,aAAA,EAAY,qBAAqB;AACjCmC,YAAAA,iBAAiB,EAAE,KAAM;AACzB1F,YAAAA,EAAE,EAAC,cAAc;AACjB2F,YAAAA,QAAQ,EAAC,OAAO;AAChB/G,YAAAA,IAAI,EAAC,SAAS;AACdO,YAAAA,WAAW,EAAEjF,CAAC,CAAC,+CAA+C,CAAE;AAChE0L,YAAAA,GAAG,EAAElC,SAAU;AACf5B,YAAAA,SAAS,EAAEQ,gBAAiB;AAC5BuD,YAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGC,SAAS,EAAEC,SAAS,EAAA;cAAA,OACjCC,uBAAa,CAACF,SAAS,CAAChE,SAAS,EAAEiE,SAAS,CAACjE,SAAS,CAAC;AAAA,YAAA;WAE1D;AAAC,SACC,CAAC;OACH;KAEJ,CAAC,eACN2C,eAAA,CAAA,KAAA,EAAA;AAAK/F,MAAAA,SAAS,EAAC,8HAA8H;MAAAiG,QAAA,EAAA,cAC3IpG,cAAA,CAAC0H,WAAW,EAAA;AACVC,QAAAA,iBAAiB,EAAE;AAAEC,UAAAA,OAAO,EAAE5D;SAAe;QAC7C6D,YAAY,EAAE3D,SAAS,IAAIO;AAAW,OACvC,CAAC,EACDQ,wBAAwB,iBACvBjF,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAC,gCAAgC;QAAAiG,QAAA,eAC7CpG,cAAA,CAAC8H,MAAM,EAAA;AACChC,UAAAA,QAAQ,EAARA,QAAQ;AACd,UAAA,aAAA,EAAY,yBAAyB;AACrC1F,UAAAA,KAAK,EAAEzE,CAAC,CAAC,gDAAgD,CAAE;AAC3DoM,UAAAA,OAAO,EAAEpD,WAAY;AACrBqD,UAAAA,KAAK,EAAC,UAAU;AAChBJ,UAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbnC,YAAAA,SAAS,EAAE;AACXxB,YAAAA,oBAAoB,EAAE;AACxB,UAAA;SACD;AAAC,OACC,CACN;AAAA,KACE,CAAC;AAAA,GACH,CAAC;AAEV;;;;;;;ACrJA,IAAMgE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA1K,IAAA,EAoBlB;AAAA,EAAA,IAAA2K,aAAA,GAAA3K,IAAA,CAnBJ4K,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,aAAA;IAAAG,kBAAA,GAAA9K,IAAA,CACf+K,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAGzN,mBAAmB,GAAAyN,kBAAA;IACnCjC,SAAQ,GAAA7I,IAAA,CAAR6I,QAAQ;IACRmC,WAAW,GAAAhL,IAAA,CAAXgL,WAAW;IACXC,gBAAgB,GAAAjL,IAAA,CAAhBiL,gBAAgB;IAAAC,oBAAA,GAAAlL,IAAA,CAChBN,eAAe;AAAfA,IAAAA,eAAe,GAAAwL,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAAnL,IAAA,CACvBJ,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAuL,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAApL,IAAA,CACxBL,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAyL,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,oBAAA,GAAArL,IAAA,CACzBsL,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,oBAAA;IAAAE,gBAAA,GAAAvL,IAAA,CACtBH,WAAW;AAAXA,IAAAA,WAAW,GAAA0L,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAC,iBAAA,GAAAxL,IAAA,CACnBF,YAAY;AAAZA,IAAAA,YAAY,GAAA0L,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAC,cAAA,GAAAzL,IAAA,CACpB2G,SAAS;AAATA,IAAAA,SAAS,GAAA8E,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;IAAAC,cAAA,GAAA1L,IAAA,CACjBvB,SAAS;AAATA,IAAAA,SAAS,GAAAiN,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAC,mBAAA,GAAA3L,IAAA,CACd4L,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,mBAAA;IAAAE,qBAAA,GAAA7L,IAAA,CACnB8L,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,gBAAA,GAAA/L,IAAA,CACtBgM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,iBAAA,GAAAjM,IAAA,CAChBkM,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAE,gBAAA,GAAAnM,IAAA,CACjBoM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,qBAAA,GAAArM,IAAA,CAChBsM,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEvB,EAAA,IAAQE,UAAU,GAChBT,iBAAiB,CADXS,UAAU;IAAEC,aAAa,GAC/BV,iBAAiB,CADCU,aAAa;IAAEC,aAAa,GAC9CX,iBAAiB,CADgBW,aAAa;IAAElI,gBAAgB,GAChEuH,iBAAiB,CAD+BvH,gBAAgB;AAGlE,EAAA,IAAMmI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGzE,MAAM,EAAA;AAAA,IAAA,OAAI0E,aAAO,CAACP,WAAW,CAAC,IAAInE,MAAM,CAACnK,SAAS;AAAA,EAAA,CAAA;EAE3E,oBACE2E,cAAA,CAACmK,iBAAiB,EAAA;AAEd5B,IAAAA,WAAW,EAAXA,WAAW;AACXD,IAAAA,aAAa,EAAbA,aAAa;AACbtM,IAAAA,SAAS,EAATA,SAAS;AACTmM,IAAAA,QAAQ,EAARA,QAAQ;AACR9K,IAAAA,YAAY,EAAZA,YAAY;AACZD,IAAAA,WAAW,EAAXA,WAAW;AACXD,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,IAAAA,eAAe,EAAfA,eAAe;AACfuL,IAAAA,gBAAgB,EAAhBA,gBAAgB;IAAApC,QAAA,EAGjB,SAAAA,QAAAA,CAAAjI,KAAA,EAAA;AAAA,MAAA,IAAAiM,cAAA;AAAA,MAAA,IAAG5E,MAAM,GAAArH,KAAA,CAANqH,MAAM;QAAEqC,YAAY,GAAA1J,KAAA,CAAZ0J,YAAY;AAAA,MAAA,oBACtB3B,eAAA,CAAA,KAAA,EAAA;AAAK/F,QAAAA,SAAS,EAAC,sFAAsF;AAAAiG,QAAAA,QAAA,gBACnGF,eAAA,CAAA,KAAA,EAAA;AAAK/F,UAAAA,SAAS,EAAC,yHAAyH;AAAAiG,UAAAA,QAAA,GACrIyC,eAAe,iBAAI7I,cAAA,CAACqK,eAAe,IAAE,CAAC,EACtCvK,oBAAU,CAACyJ,WAAW,CAAC,iBACtBvJ,cAAA,CAACsK,MAAM,EAAA5L,eAAA,CAAA;AAACyB,YAAAA,SAAS,EAAC,MAAM;AAACU,YAAAA,IAAI,EAAC;WAAO,EAAK0I,WAAW,CAAG,CACzD,EACAzJ,oBAAU,CAAC6J,WAAW,CAAC,iBACtB3J,cAAA,CAAA,KAAA,EAAA;AAAKG,YAAAA,SAAS,EAAC,kDAAkD;AAAAiG,YAAAA,QAAA,eAC/DpG,cAAA,CAACuK,OAAO,EAAA7L,eAAA,CAAAA,eAAA,CAAA;cACNoH,QAAQ,EAAE,EAAC6D,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAXA,WAAW,CAAE7D,QAAQ,CAAC;AACjC0E,cAAAA,QAAQ,EAAC;AAAK,aAAA,EACVf,YAAY,CAAA,EAAA,EAAA,EAAA;AAAArD,cAAAA,QAAA,eAEhBpG,cAAA,CAAA,KAAA,EAAA;AAAKG,gBAAAA,SAAS,EAAC,yBAAyB;AAAAiG,gBAAAA,QAAA,eACtCpG,cAAA,CAACyK,MAAM,EAAA/L,eAAA,CAAA;AACL,kBAAA,aAAA,EAAY,QAAQ;AACpB2B,kBAAAA,IAAI,EAAC;AAAW,iBAAA,EACZsJ,WAAW,CAChB;eACE;aAAC,CACC;AAAC,WACP,CACN,EACAM,gBAAgB,CAACzE,MAAM,CAAC,IAAIY,SAAQ,eACrCpG,cAAA,CAAC6D,SAAS,EAAAnF,eAAA,CAAA;YACRwF,SAAS,EAAE2D,YAAY,IAAI3D,SAAU;YACrCO,UAAU,EAAEoD,YAAY,IAAI3D,SAAU;YACtCW,UAAU,EAAEoF,gBAAgB,CAACzE,MAAM;WAAE,EACjC2D,cAAc,CACnB,CAAC;SACC,CAAC,EACLc,gBAAgB,CAACzE,MAAM,CAAC,iBACvBxF,cAAA,CAAC0K,mBAAmB,EAAAhM,eAAA,CAAA;AAClByB,UAAAA,SAAS,EAAC;SAAW,EACjB0J,kBAAkB,CACvB,CACF,EACAI,gBAAgB,CAACzE,MAAM,CAAC,iBACvBxF,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAC,sHAAsH;AAAAiG,UAAAA,QAAA,eACnIpG,cAAA,CAAC2K,YAAY,EAAAjM,eAAA,CAAA;YACXkM,IAAI,EAAE/L,cAAc,CAAC2G,MAAM,CAACpK,OAAO,EAAE0O,UAAU,EAAEE,aAAa,CAAE;YAChEa,IAAI,EAAErF,MAAM,CAACsF,QAAS;YACtBC,EAAE,EAAEC,WAAK,CAAC,OAAO,GAAAZ,cAAA,GAAE5E,MAAM,KAAA,IAAA,IAANA,MAAM,uBAANA,MAAM,CAAE3K,MAAM,MAAA,IAAA,IAAAuP,cAAA,cAAAA,cAAA,GAAI,EAAE,CAAE;YACzCjP,OAAO,EAAE0D,cAAc,CACrB2G,MAAM,CAACrK,OAAO,EACd4O,aAAa,EACbjI,gBACF;AAAE,WAAA,EACEuH,iBAAiB,CACtB;AAAC,SACC,CACN;AAAA,OACE,CAAC;AAAA,IAAA;AACP,GACgB,CAAC;AAExB;;;;ACvGA,IAAMc,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA5M,IAAA,EAAA;AAAA,EAAA,IAAA2K,aAAA,GAAA3K,IAAA,CACrB4K,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,aAAA;IAAAG,kBAAA,GAAA9K,IAAA,CACf+K,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAGzN,mBAAmB,GAAAyN,kBAAA;IACnCjC,QAAQ,GAAA7I,IAAA,CAAR6I,QAAQ;IACRmC,WAAW,GAAAhL,IAAA,CAAXgL,WAAW;IAAA0C,qBAAA,GAAA1N,IAAA,CACXiL,gBAAgB;AAAEhL,IAAAA,iBAAiB,GAAAyN,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAxC,oBAAA,GAAAlL,IAAA,CACxCN,eAAe;AAAfA,IAAAA,eAAe,GAAAwL,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IAAAC,qBAAA,GAAAnL,IAAA,CACvBJ,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAuL,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAApL,IAAA,CACxBL,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAyL,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IAAAG,gBAAA,GAAAvL,IAAA,CACzBH,WAAW;AAAXA,IAAAA,WAAW,GAAA0L,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;IAAAC,iBAAA,GAAAxL,IAAA,CACnBF,YAAY;AAAZA,IAAAA,YAAY,GAAA0L,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,cAAA,GAAA1L,IAAA,CACpBvB,SAAS;AAATA,IAAAA,SAAS,GAAAiN,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAAA,EAAA,oBAEdjJ,cAAA,CAAA,KAAA,EAAA;AACEG,IAAAA,SAAS,EAAC,wCAAwC;AAClD,IAAA,aAAA,EAAY,qBAAqB;AAAAiG,IAAAA,QAAA,eAEjCpG,cAAA,CAACjD,gBAAgB,CAACmO,QAAQ,EAAA;AACxBrP,MAAAA,KAAK,EAAE;AACLoB,QAAAA,eAAe,EAAfA,eAAe;AACfC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,QAAAA,WAAW,EAAXA,WAAW;AACXC,QAAAA,YAAY,EAAZA;OACA;MAAA+I,QAAA,eAEFpG,cAAA,CAACmL,IAAI,EAAA;AACHhL,QAAAA,SAAS,EAAC,wCAAwC;AAClDoI,QAAAA,WAAW,EAAA7J,aAAA,CAAA;AACT0M,UAAAA,kBAAkB,EAAE,IAAI;UACxB5C,gBAAgB,EAAElL,mBAAmB,CAAC;AACpCL,YAAAA,eAAe,EAAfA,eAAe;AACfE,YAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBM,YAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBxB,YAAAA,SAAS,EAATA;AACF,WAAC,CAAC;AACFsM,UAAAA,aAAa,EAAA5J,aAAA,CAAAA,aAAA,KACR4J,aAAa,CAAA,EAAA,EAAA,EAAA;YAChBrN,OAAO,EAAEqN,aAAa,CAACrN,OAAO,IAAI2K,WAAW,CAACC,IAAI,CAAChJ;WAAK,CACzD;AACDsL,UAAAA,QAAQ,EAARA;AAAQ,SAAA,EACLI,WAAW,CACd;AAAAnC,QAAAA,QAAA,EAEDA;OACG;KACmB;AAAC,GACzB,CAAC;AAAA;;;;;;;"}
|
package/dist/cjs/EmojiPicker.js
CHANGED
|
@@ -33,6 +33,8 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
|
|
|
33
33
|
var onEmojiSelect = _ref.onEmojiSelect;
|
|
34
34
|
var _useEmojiData = useEmojiData(),
|
|
35
35
|
data = _useEmojiData.data;
|
|
36
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
37
|
+
t = _useTranslation.t;
|
|
36
38
|
var createPicker = function createPicker(ref) {
|
|
37
39
|
new emojiMart.Picker({
|
|
38
40
|
autoFocus: true,
|
|
@@ -51,7 +53,9 @@ var EmojiPickerMenu = function EmojiPickerMenu(_ref) {
|
|
|
51
53
|
});
|
|
52
54
|
};
|
|
53
55
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
56
|
+
"aria-label": t("neetoMolecules.common.emojiPicker"),
|
|
54
57
|
ref: createPicker,
|
|
58
|
+
role: "dialog",
|
|
55
59
|
style: {
|
|
56
60
|
minWidth: "350px"
|
|
57
61
|
}
|
|
@@ -86,6 +90,7 @@ var EmojiPicker = function EmojiPicker(_ref) {
|
|
|
86
90
|
strategy: "fixed",
|
|
87
91
|
buttonProps: {
|
|
88
92
|
"data-testid": "emoji-picker-dropdown-icon",
|
|
93
|
+
"aria-haspopup": "dialog",
|
|
89
94
|
icon: SmileFaceGrey,
|
|
90
95
|
tooltipProps: {
|
|
91
96
|
content: t("neetoMolecules.common.emojiPicker"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return <div
|
|
1
|
+
{"version":3,"file":"EmojiPicker.js","sources":["../../src/components/EmojiPicker/api.js","../../src/components/EmojiPicker/constants.js","../../src/components/EmojiPicker/hooks/useEmojiData.js","../../src/components/EmojiPicker/EmojiPickerMenu.jsx","../../src/components/EmojiPicker/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"https://cdn.jsdelivr.net/npm/@emoji-mart/data\");\n\nconst emojiPickerApi = { fetch };\n\nexport default emojiPickerApi;\n","export const QUERY_KEYS = { EMOJI_DATA: \"emoji-data\" };\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport emojiPickerApi from \"../api\";\nimport { QUERY_KEYS } from \"../constants\";\n\nexport const useEmojiData = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EMOJI_DATA],\n queryFn: emojiPickerApi.fetch,\n });\n","import { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useEmojiData } from \"./hooks/useEmojiData\";\n\nconst EmojiPickerMenu = ({ onEmojiSelect }) => {\n const { data } = useEmojiData();\n const { t } = useTranslation();\n\n const createPicker = ref => {\n new Picker({\n autoFocus: true,\n data,\n native: true,\n onEmojiSelect,\n previewPosition: \"none\",\n ref: { current: ref },\n skinTonePosition: \"none\",\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n });\n };\n\n return (\n <div\n aria-label={t(\"neetoMolecules.common.emojiPicker\")}\n ref={createPicker}\n role=\"dialog\"\n style={{ minWidth: \"350px\" }}\n />\n );\n};\n\nEmojiPickerMenu.propTypes = { onEmojiSelect: PropTypes.func };\n\nexport default EmojiPickerMenu;\n","import { useState } from \"react\";\n\nimport { SmileFaceGrey } from \"neetoicons\";\nimport { Dropdown } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport EmojiPickerMenu from \"./EmojiPickerMenu\";\n\nconst EmojiPicker = ({ onSelect, dropdownProps, open = false }) => {\n const { t } = useTranslation();\n const [isOpen, setIsOpen] = useState(open);\n\n const onEmojiClick = emoji => {\n setIsOpen(false);\n onSelect(emoji);\n };\n\n return (\n <Dropdown\n {...{ isOpen }}\n closeOnEsc\n closeOnSelect={false}\n dropdownProps={{ className: \"neeto-ui-shadow-s z-10 overflow-x-hidden\" }}\n position=\"bottom-start\"\n strategy=\"fixed\"\n buttonProps={{\n \"data-testid\": \"emoji-picker-dropdown-icon\",\n \"aria-haspopup\": \"dialog\",\n icon: SmileFaceGrey,\n tooltipProps: {\n content: t(\"neetoMolecules.common.emojiPicker\"),\n position: \"top\",\n touch: [\"hold\", 500],\n },\n onClick: () => setIsOpen(true),\n style: \"text\",\n }}\n onClickOutside={() => setIsOpen(false)}\n onClose={() => setIsOpen(false)}\n {...dropdownProps}\n >\n <EmojiPickerMenu onEmojiSelect={onEmojiClick} />\n </Dropdown>\n );\n};\n\nEmojiPicker.propTypes = {\n /**\n * Function to be called when an emoji is selected\n */\n onSelect: PropTypes.func,\n /**\n * Props to be passed to the dropdown component.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values([\"absolute\", \"fixed\"])),\n }),\n /**\n * Whether to open the emoji picker by default or not.\n */\n open: PropTypes.bool,\n};\n\nexport default EmojiPicker;\n"],"names":["fetch","axios","get","emojiPickerApi","QUERY_KEYS","EMOJI_DATA","useEmojiData","useQuery","queryKey","queryFn","EmojiPickerMenu","_ref","onEmojiSelect","_useEmojiData","data","_useTranslation","useTranslation","t","createPicker","ref","Picker","autoFocus","previewPosition","current","skinTonePosition","style","maxWidth","theme","_jsx","role","minWidth","EmojiPicker","onSelect","dropdownProps","_ref$open","open","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","onEmojiClick","emoji","Dropdown","_objectSpread","closeOnEsc","closeOnSelect","className","position","strategy","buttonProps","icon","SmileFaceGrey","tooltipProps","content","touch","onClick","onClickOutside","onClose","children"],"mappings":"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"}
|
package/dist/cjs/InlineInput.js
CHANGED
|
@@ -16,6 +16,7 @@ var Check = require('@bigbinary/neeto-icons/Check');
|
|
|
16
16
|
var Close = require('@bigbinary/neeto-icons/Close');
|
|
17
17
|
var Button = require('@bigbinary/neetoui/Button');
|
|
18
18
|
var Input = require('@bigbinary/neetoui/Input');
|
|
19
|
+
var reactI18next = require('react-i18next');
|
|
19
20
|
var i18next = require('i18next');
|
|
20
21
|
var injectCss = require('./inject-css-B6qYtOJe.js');
|
|
21
22
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -53,6 +54,8 @@ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t
|
|
|
53
54
|
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
54
55
|
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
55
56
|
var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
57
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
58
|
+
t = _useTranslation.t;
|
|
56
59
|
var _props$saveOnBlur = props.saveOnBlur,
|
|
57
60
|
saveOnBlur = _props$saveOnBlur === void 0 ? false : _props$saveOnBlur,
|
|
58
61
|
_props$clearOnSave = props.clearOnSave,
|
|
@@ -149,6 +152,7 @@ var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
149
152
|
children: /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$1(_objectSpread$1({
|
|
150
153
|
size: size,
|
|
151
154
|
disableTrimOnBlur: true,
|
|
155
|
+
"aria-label": t("neetoMolecules.inlineInput.editableField"),
|
|
152
156
|
className: "neeto-molecules-autosave-input",
|
|
153
157
|
"data-testid": "neeto-molecules-autosave-input",
|
|
154
158
|
disabled: isSubmitting,
|
|
@@ -158,11 +162,11 @@ var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
158
162
|
suffix: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
159
163
|
children: [/*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$1(_objectSpread$1({
|
|
160
164
|
size: size,
|
|
165
|
+
"aria-label": t("neetoMolecules.common.actions.save"),
|
|
161
166
|
"data-testid": "neeto-molecules-autosave-input-save",
|
|
162
167
|
icon: Check,
|
|
163
168
|
loading: isSubmitting || isSaving,
|
|
164
169
|
style: "text",
|
|
165
|
-
tabIndex: -1,
|
|
166
170
|
tooltipProps: TOOLTIP_PROPS["save"],
|
|
167
171
|
onClick: onSubmit
|
|
168
172
|
}, submitButtonProps), {}, {
|
|
@@ -170,10 +174,10 @@ var InlineInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
170
174
|
})), /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$1(_objectSpread$1({
|
|
171
175
|
ref: ref,
|
|
172
176
|
size: size,
|
|
177
|
+
"aria-label": t("neetoMolecules.common.actions.cancel"),
|
|
173
178
|
"data-testid": "neeto-molecules-autosave-input-cancel",
|
|
174
179
|
icon: Close,
|
|
175
180
|
style: "text",
|
|
176
|
-
tabIndex: -1,
|
|
177
181
|
tooltipProps: TOOLTIP_PROPS["cancel"],
|
|
178
182
|
onClick: onCancel
|
|
179
183
|
}, cancelButtonProps), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tabIndex={-1}\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tabIndex","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../../src/components/InlineInput/constants.js","../../src/components/InlineInput/utils.js","../../src/components/InlineInput/InlineInput.jsx","../../src/components/InlineInput/FormikInlineInput.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const TOOLTIP_PROPS = {\n save: {\n content: t(\"neetoMolecules.common.actions.save\"),\n position: \"top\",\n delay: 300,\n },\n cancel: {\n content: t(\"neetoMolecules.common.actions.cancel\"),\n position: \"top\",\n delay: 300,\n },\n};\n","export const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import { forwardRef, useEffect, useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport useStateWithDependency from \"neetocommons/react-utils/useStateWithDependency\";\nimport useHotkeys from \"neetohotkeys\";\nimport { Check, Close } from \"neetoicons\";\nimport { Button, Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TOOLTIP_PROPS } from \"./constants\";\nimport \"./inlineinput.scss\";\nimport { mergeRefs } from \"./utils\";\n\nconst InlineInput = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const {\n saveOnBlur = false,\n clearOnSave = false,\n nullable = false,\n value = \"\",\n isSaving,\n className = \"\",\n handleSubmit = noop,\n handleCancel = noop,\n submitButtonProps = {},\n cancelButtonProps = {},\n dirty,\n onInlineInputBlur = noop,\n size = \"medium\",\n ...otherProps\n } = props;\n\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [internalValue, setInternalValue] = useStateWithDependency(value ?? \"\");\n const inputRef = useRef(null);\n const inputWrapperRef = useRef(null);\n const trimmedValue = internalValue && internalValue?.trim();\n const isValidValue =\n nullable || (isNotEmpty(trimmedValue) && isNotNil(trimmedValue));\n\n const isDirty = internalValue !== value || dirty;\n\n const handleFocusOut = () => {\n if (!isValidValue || isSubmitting) return;\n\n onInlineInputBlur(trimmedValue);\n\n if (saveOnBlur && isDirty) {\n onSubmit();\n\n return;\n }\n\n onCancel();\n };\n\n useOnClickOutside(inputWrapperRef, handleFocusOut);\n\n const onSubmit = async () => {\n setIsSubmitting(true);\n try {\n await handleSubmit(trimmedValue);\n clearOnSave && setInternalValue(\"\");\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const onCancel = () => {\n handleCancel(trimmedValue);\n };\n\n const closeRef = useHotkeys(\n \"escape\",\n event => {\n event.stopPropagation();\n onCancel();\n },\n { mode: \"scoped\" }\n );\n\n const submitRef = useHotkeys([\"command+return\", \"return\"], () => onSubmit(), {\n mode: \"scoped\",\n enabled: isValidValue,\n });\n\n useEffect(() => inputRef.current && inputRef.current.focus(), [isSubmitting]);\n\n return (\n <div\n className={classnames(\"flex flex-grow\", { [className]: className })}\n ref={inputWrapperRef}\n >\n <Input\n {...{ size }}\n disableTrimOnBlur\n aria-label={t(\"neetoMolecules.inlineInput.editableField\")}\n className=\"neeto-molecules-autosave-input\"\n data-testid=\"neeto-molecules-autosave-input\"\n disabled={isSubmitting}\n ref={mergeRefs(inputRef, closeRef, submitRef)}\n value={internalValue}\n {...otherProps}\n suffix={\n <>\n <Button\n {...{ size }}\n aria-label={t(\"neetoMolecules.common.actions.save\")}\n data-testid=\"neeto-molecules-autosave-input-save\"\n icon={Check}\n loading={isSubmitting || isSaving}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"save\"]}\n onClick={onSubmit}\n {...submitButtonProps}\n disabled={\n !isValidValue ||\n isSubmitting ||\n isSaving ||\n submitButtonProps.disabled ||\n !isDirty\n }\n />\n <Button\n {...{ ref, size }}\n aria-label={t(\"neetoMolecules.common.actions.cancel\")}\n data-testid=\"neeto-molecules-autosave-input-cancel\"\n icon={Close}\n style=\"text\"\n tooltipProps={TOOLTIP_PROPS[\"cancel\"]}\n onClick={onCancel}\n {...cancelButtonProps}\n disabled={isSubmitting || isSaving || cancelButtonProps.disabled}\n />\n </>\n }\n onChange={e => {\n otherProps?.onChange?.(e);\n setInternalValue(e.target.value);\n }}\n />\n </div>\n );\n});\n\nInlineInput.displayName = \"InlineInput\";\n\nInlineInput.propTypes = {\n /**\n * To provide additional classes to the component.\n */\n className: PropTypes.string,\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To enable submission of empty values.\n */\n nullable: PropTypes.bool,\n /**\n * To specify whether the value is being saved.\n */\n isSaving: PropTypes.bool,\n /**\n * To specify whether to save the value on blur.\n */\n saveOnBlur: PropTypes.bool,\n /**\n * To specify whether to clear the input on save.\n */\n clearOnSave: PropTypes.bool,\n /**\n * To specify additional props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To specify additional props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Function to be called on clicking the submit button.\n */\n handleSubmit: PropTypes.func,\n /**\n * Function to be called on clicking the cancel button .\n */\n handleCancel: PropTypes.func,\n /**\n * Size of the input field and buttons.\n * Options: \"small\", \"medium\", \"large\"\n */\n size: PropTypes.oneOf([\"small\", \"medium\", \"large\"]),\n};\n\nexport default InlineInput;\n","import { useField, useFormikContext } from \"formik\";\nimport { omit } from \"ramda\";\n\nimport InlineInput from \"./InlineInput\";\n\nconst FormikInlineInput = ({ name, ...props }) => {\n const [field, meta, { setValue, setTouched }] = useField(name);\n\n const { submitForm, isSubmitting, resetForm, dirty } = useFormikContext();\n\n const handleSubmit = value => {\n setValue(value);\n\n props.handleSubmit?.(value);\n\n return submitForm();\n };\n\n return (\n <InlineInput\n error={meta.touched ? meta.error : \"\"}\n isSaving={isSubmitting}\n {...props}\n handleCancel={() => {\n resetForm();\n props.handleCancel?.();\n }}\n {...{ handleSubmit, ...omit([\"onBlur\"], field), dirty }}\n onInlineInputBlur={trimmedValue => {\n setValue(trimmedValue);\n setTouched(true);\n }}\n />\n );\n};\n\nexport default FormikInlineInput;\n"],"names":["TOOLTIP_PROPS","save","content","t","position","delay","cancel","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","InlineInput","forwardRef","props","_useTranslation","useTranslation","_props$saveOnBlur","saveOnBlur","_props$clearOnSave","clearOnSave","_props$nullable","nullable","_props$value","isSaving","_props$className","className","_props$handleSubmit","handleSubmit","noop","_props$handleCancel","handleCancel","_props$submitButtonPr","submitButtonProps","_props$cancelButtonPr","cancelButtonProps","dirty","_props$onInlineInputB","onInlineInputBlur","_props$size","size","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isSubmitting","setIsSubmitting","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","internalValue","setInternalValue","inputRef","useRef","inputWrapperRef","trimmedValue","trim","isValidValue","isNotEmpty","isNotNil","isDirty","handleFocusOut","onSubmit","onCancel","useOnClickOutside","_ref","_asyncToGenerator","_callee","_context","apply","closeRef","useHotkeys","event","stopPropagation","mode","submitRef","enabled","useEffect","focus","_jsx","classnames","_defineProperty","children","Input","_objectSpread","disableTrimOnBlur","disabled","suffix","_jsxs","_Fragment","Button","icon","Check","loading","style","tooltipProps","onClick","Close","onChange","_otherProps$onChange","target","FormikInlineInput","name","_useField","useField","_useField2","field","meta","_useField2$","setValue","setTouched","_useFormikContext","useFormikContext","submitForm","resetForm","error","touched","omit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAEC,SAAC,CAAC,oCAAoC,CAAC;AAChDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;GACR;AACDC,EAAAA,MAAM,EAAE;AACNJ,IAAAA,OAAO,EAAEC,SAAC,CAAC,sCAAsC,CAAC;AAClDC,IAAAA,QAAQ,EAAE,KAAK;AACfC,IAAAA,KAAK,EAAE;AACT;AACF,CAAC;;;;;ACbM,IAAME,SAAS,GACpB,SADWA,SAASA,GAAA;AAAA,EAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAChBC,IAAI,GAAA,IAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAJ,SAAA,CAAAI,IAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OACR,UAAAC,IAAI,EAAA;AAAA,IAAA,OACFH,IAAI,CAACI,OAAO,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OACd,OAAOA,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACF,IAAI,CAAC,GAAIE,GAAG,CAACC,OAAO,GAAGH,IAAK;AAAA,IAAA,CAC9D,CAAC;AAAA,EAAA,CAAA;AAAA,CAAA;;;;;ACJL,SAAA,YAAA,GAAA,qKAAA,IAAAI,CAAA,EAAAf,CAAA,EAAAgB,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAK,mBAAA,CAAAH,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAI,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAX,CAAA,IAAA,EAAA,EAAAY,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAb,CAAA,EAAA,CAAA,EAAAgB,CAAA,EAAAnB,CAAA,EAAAoB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAAtB,CAAA,EAAA,CAAA,CAAA,EAAAqB,CAAA,WAAAA,CAAAA,CAAApC,CAAA,EAAAgB,CAAA,WAAAM,CAAA,GAAAtB,CAAA,EAAAuB,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAkB,CAAA,CAAAf,CAAA,GAAAF,CAAA,EAAAmB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAApB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAAlB,CAAA,OAAAgC,CAAA,IAAAF,CAAA,IAAA,CAAAV,CAAA,IAAApB,CAAA,GAAA+B,CAAA,CAAAxB,MAAA,EAAAP,CAAA,UAAAoB,CAAA,EAAAE,CAAA,GAAAS,CAAA,CAAA/B,CAAA,CAAA,EAAAoC,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAO,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,KAAA,CAAAhB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAoB,CAAA,GAAAd,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAhB,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAc,CAAA,GAAAE,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAe,CAAA,CAAAf,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAmB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAd,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAW,CAAA,EAAAO,CAAA,EAAA,EAAA,IAAAR,CAAA,GAAA,CAAA,EAAA,MAAAS,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAP,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAO,CAAA,CAAA,EAAAf,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAY,CAAA,EAAA,CAAAtC,CAAA,GAAAuB,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAM,CAAA,GAAA,EAAAV,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAU,CAAA,CAAAf,CAAA,GAAA,EAAA,CAAA,EAAAkB,CAAA,CAAAb,CAAA,EAAAG,CAAA,CAAA,IAAAO,CAAA,CAAAf,CAAA,GAAAQ,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,GAAA,CAAA,EAAAR,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAApB,CAAA,GAAAsB,CAAA,CAAAF,CAAA,WAAApB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAvC,CAAA,CAAAyC,IAAA,EAAA,OAAAzC,CAAA,CAAA,CAAA0B,CAAA,GAAA1B,CAAA,CAAA0C,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAvB,CAAA,GAAAsB,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAtB,CAAA,CAAAwC,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAAf,CAAA,IAAAgC,CAAA,GAAAC,CAAA,CAAAf,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAe,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAAnC,CAAA,EAAA,EAAAsB,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA1B,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA8B,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAY,KAAA,EAAA1C,CAAA,EAAAyC,IAAA,EAAAT,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAhB,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAS,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAV,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAA5C,CAAA,GAAA2B,MAAA,CAAAkB,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAAlB,CAAA,CAAAA,CAAA,IAAAkB,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAW,mBAAA,CAAA7B,CAAA,GAAA,EAAA,EAAAkB,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAlB,CAAA,GAAA0B,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAA,CAAA,CAAA,SAAAO,CAAAA,CAAAf,CAAA,WAAAY,MAAA,CAAAmB,cAAA,GAAAnB,MAAA,CAAAmB,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAf,mBAAA,CAAAd,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAf,mBAAA,CAAAH,CAAA,iBAAAkB,0BAAA,CAAA,EAAAf,mBAAA,CAAAe,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAnB,mBAAA,CAAAe,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,CAAA,EAAAG,mBAAA,CAAAH,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAS,mBAAA,CAAAH,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAW,mBAAA,CAAAH,CAAA,8DAAAuB,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAC,CAAA,EAAA5B,CAAA,EAAA6B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,EAAA,EAAA,IAAAsB,CAAA,GAAAK,MAAA,CAAAyB,cAAA,CAAA,CAAA,IAAA,EAAA9B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAO,mBAAA,GAAA,SAAAwB,mBAAAtC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,EAAA,EAAA,SAAAoB,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAW,mBAAA,CAAAd,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAuC,OAAA,CAAAtC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAqC,UAAA,GAAAvD,CAAA,EAAAwD,YAAA,EAAA,CAAAxD,CAAA,EAAAyD,QAAA,EAAA,CAAAzD,CAAA,MAAAe,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAS,mBAAA,CAAAd,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAlB,CAAA,CAAA,CAAA,CAAA;AAgBA,IAAM0D,WAAW,gBAAGC,gBAAU,CAAC,UAACC,KAAK,EAAE/C,GAAG,EAAK;AAC7C,EAAA,IAAAgD,eAAA,GAAcC,2BAAc,EAAE;IAAtB9D,CAAC,GAAA6D,eAAA,CAAD7D,CAAC;AACT,EAAA,IAAA+D,iBAAA,GAeIH,KAAK,CAdPI,UAAU;AAAVA,IAAAA,UAAU,GAAAD,iBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,iBAAA;IAAAE,kBAAA,GAchBL,KAAK,CAbPM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,kBAAA;IAAAE,eAAA,GAajBP,KAAK,CAZPQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAE,YAAA,GAYdT,KAAK,CAXPlB,KAAK;AAALA,IAAAA,KAAK,GAAA2B,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IACVC,QAAQ,GAUNV,KAAK,CAVPU,QAAQ;IAAAC,gBAAA,GAUNX,KAAK,CATPY,SAAS;AAATA,IAAAA,SAAS,GAAAD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAE,mBAAA,GASZb,KAAK,CARPc,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,mBAAA;IAAAG,mBAAA,GAQjBhB,KAAK,CAPPiB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAGD,cAAI,GAAAC,mBAAA;IAAAE,qBAAA,GAOjBlB,KAAK,CANPmB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAMpBpB,KAAK,CALPqB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACtBE,KAAK,GAIHtB,KAAK,CAJPsB,KAAK;IAAAC,qBAAA,GAIHvB,KAAK,CAHPwB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,MAAA,GAAGR,cAAI,GAAAQ,qBAAA;IAAAE,WAAA,GAGtBzB,KAAK,CAFP0B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,WAAA;AACZE,IAAAA,UAAU,GAAAC,wBAAA,CACX5B,KAAK,EAAA6B,WAAA,CAAA;AAET,EAAA,IAAAC,SAAA,GAAwCC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,UAAA,CAAA,CAAA,CAAA;EACpC,IAAAI,qBAAA,GAA0CC,sBAAsB,CAACvD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAALA,KAAK,GAAI,EAAE,CAAC;IAAAwD,sBAAA,GAAAL,cAAA,CAAAG,qBAAA,EAAA,CAAA,CAAA;AAAtEG,IAAAA,aAAa,GAAAD,sBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,sBAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAMG,QAAQ,GAAGC,YAAM,CAAC,IAAI,CAAC;AAC7B,EAAA,IAAMC,eAAe,GAAGD,YAAM,CAAC,IAAI,CAAC;AACpC,EAAA,IAAME,YAAY,GAAGL,aAAa,KAAIA,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEM,IAAI,EAAE,CAAA;AAC3D,EAAA,IAAMC,YAAY,GAChBtC,QAAQ,IAAKuC,oBAAU,CAACH,YAAY,CAAC,IAAII,cAAQ,CAACJ,YAAY,CAAE;AAElE,EAAA,IAAMK,OAAO,GAAGV,aAAa,KAAKzD,KAAK,IAAIwC,KAAK;AAEhD,EAAA,IAAM4B,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,IAAA,IAAI,CAACJ,YAAY,IAAIZ,YAAY,EAAE;IAEnCV,iBAAiB,CAACoB,YAAY,CAAC;IAE/B,IAAIxC,UAAU,IAAI6C,OAAO,EAAE;AACzBE,MAAAA,QAAQ,EAAE;AAEV,MAAA;AACF,IAAA;AAEAC,IAAAA,QAAQ,EAAE;EACZ,CAAC;AAEDC,EAAAA,iBAAiB,CAACV,eAAe,EAAEO,cAAc,CAAC;AAElD,EAAA,IAAMC,QAAQ,gBAAA,YAAA;IAAA,IAAAG,IAAA,GAAAC,iBAAA,cAAAlE,YAAA,EAAA,CAAAE,CAAA,CAAG,SAAAiE,OAAAA,GAAA;AAAA,MAAA,OAAAnE,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAAmE,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAtF,CAAA,GAAAsF,QAAA,CAAAnG,CAAA;AAAA,UAAA,KAAA,CAAA;YACf6E,eAAe,CAAC,IAAI,CAAC;AAACsB,YAAAA,QAAA,CAAAtF,CAAA,GAAA,CAAA;AAAAsF,YAAAA,QAAA,CAAAnG,CAAA,GAAA,CAAA;YAAA,OAEdwD,YAAY,CAAC8B,YAAY,CAAC;AAAA,UAAA,KAAA,CAAA;AAChCtC,YAAAA,WAAW,IAAIkC,gBAAgB,CAAC,EAAE,CAAC;AAAC,UAAA,KAAA,CAAA;AAAAiB,YAAAA,QAAA,CAAAtF,CAAA,GAAA,CAAA;YAEpCgE,eAAe,CAAC,KAAK,CAAC;YAAC,OAAAsB,QAAA,CAAAvF,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAuF,QAAA,CAAAlF,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAiF,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAE1B,CAAA,CAAA;AAAA,IAAA,OAAA,SARKL,QAAQA,GAAA;AAAA,MAAA,OAAAG,IAAA,CAAAI,KAAA,CAAA,IAAA,EAAAhH,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAQb;AAED,EAAA,IAAM0G,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACrBnC,YAAY,CAAC2B,YAAY,CAAC;EAC5B,CAAC;EAED,IAAMe,QAAQ,GAAGC,UAAU,CACzB,QAAQ,EACR,UAAAC,KAAK,EAAI;IACPA,KAAK,CAACC,eAAe,EAAE;AACvBV,IAAAA,QAAQ,EAAE;AACZ,EAAA,CAAC,EACD;AAAEW,IAAAA,IAAI,EAAE;AAAS,GACnB,CAAC;EAED,IAAMC,SAAS,GAAGJ,UAAU,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAAE,YAAA;IAAA,OAAMT,QAAQ,EAAE;EAAA,CAAA,EAAE;AAC3EY,IAAAA,IAAI,EAAE,QAAQ;AACdE,IAAAA,OAAO,EAAEnB;AACX,GAAC,CAAC;AAEFoB,EAAAA,eAAS,CAAC,YAAA;IAAA,OAAMzB,QAAQ,CAACvF,OAAO,IAAIuF,QAAQ,CAACvF,OAAO,CAACiH,KAAK,EAAE;EAAA,CAAA,EAAE,CAACjC,YAAY,CAAC,CAAC;AAE7E,EAAA,oBACEkC,cAAA,CAAA,KAAA,EAAA;IACExD,SAAS,EAAEyD,UAAU,CAAC,gBAAgB,EAAAC,eAAA,CAAA,EAAA,EAAK1D,SAAS,EAAGA,SAAS,CAAE,CAAE;AACpE3D,IAAAA,GAAG,EAAE0F,eAAgB;AAAA4B,IAAAA,QAAA,eAErBH,cAAA,CAACI,KAAK,EAAAC,eAAA,CAAAA,eAAA,CAAA;AACE/C,MAAAA,IAAI,EAAJA,IAAI;MACVgD,iBAAiB,EAAA,IAAA;MACjB,YAAA,EAAYtI,CAAC,CAAC,0CAA0C,CAAE;AAC1DwE,MAAAA,SAAS,EAAC,gCAAgC;AAC1C,MAAA,aAAA,EAAY,gCAAgC;AAC5C+D,MAAAA,QAAQ,EAAEzC,YAAa;MACvBjF,GAAG,EAAET,SAAS,CAACiG,QAAQ,EAAEkB,QAAQ,EAAEK,SAAS,CAAE;AAC9ClF,MAAAA,KAAK,EAAEyD;AAAc,KAAA,EACjBZ,UAAU,CAAA,EAAA,EAAA,EAAA;MACdiD,MAAM,eACJC,eAAA,CAAAC,mBAAA,EAAA;AAAAP,QAAAA,QAAA,gBACEH,cAAA,CAACW,MAAM,EAAAN,eAAA,CAAAA,eAAA,CAAA;AACC/C,UAAAA,IAAI,EAAJA,IAAI;UACV,YAAA,EAAYtF,CAAC,CAAC,oCAAoC,CAAE;AACpD,UAAA,aAAA,EAAY,qCAAqC;AACjD4I,UAAAA,IAAI,EAAEC,KAAM;UACZC,OAAO,EAAEhD,YAAY,IAAIxB,QAAS;AAClCyE,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,YAAY,EAAEnJ,aAAa,CAAC,MAAM,CAAE;AACpCoJ,UAAAA,OAAO,EAAElC;AAAS,SAAA,EACdhC,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBwD,UAAAA,QAAQ,EACN,CAAC7B,YAAY,IACbZ,YAAY,IACZxB,QAAQ,IACRS,iBAAiB,CAACwD,QAAQ,IAC1B,CAAC1B;SACF,CACF,CAAC,eACFmB,cAAA,CAACW,MAAM,EAAAN,eAAA,CAAAA,eAAA,CAAA;AACCxH,UAAAA,GAAG,EAAHA,GAAG;AAAEyE,UAAAA,IAAI,EAAJA,IAAI;UACf,YAAA,EAAYtF,CAAC,CAAC,sCAAsC,CAAE;AACtD,UAAA,aAAA,EAAY,uCAAuC;AACnD4I,UAAAA,IAAI,EAAEM,KAAM;AACZH,UAAAA,KAAK,EAAC,MAAM;AACZC,UAAAA,YAAY,EAAEnJ,aAAa,CAAC,QAAQ,CAAE;AACtCoJ,UAAAA,OAAO,EAAEjC;AAAS,SAAA,EACd/B,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrBsD,UAAAA,QAAQ,EAAEzC,YAAY,IAAIxB,QAAQ,IAAIW,iBAAiB,CAACsD;AAAS,SAAA,CAClE,CAAC;AAAA,OACF,CACH;AACDY,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEpI,CAAC,EAAI;AAAA,QAAA,IAAAqI,oBAAA;AACb7D,QAAAA,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAA6D,oBAAA,GAAV7D,UAAU,CAAE4D,QAAQ,MAAA,IAAA,IAAAC,oBAAA,KAAA,MAAA,IAApBA,oBAAA,CAAA5G,IAAA,CAAA+C,UAAU,EAAaxE,CAAC,CAAC;AACzBqF,QAAAA,gBAAgB,CAACrF,CAAC,CAACsI,MAAM,CAAC3G,KAAK,CAAC;AAClC,MAAA;KAAE,CACH;AAAC,GACC,CAAC;AAEV,CAAC;AAEDgB,WAAW,CAACV,WAAW,GAAG,aAAa;;;;;AChJvC,IAAMsG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAApC,IAAA,EAA2B;AAAA,EAAA,IAArBqC,IAAI,GAAArC,IAAA,CAAJqC,IAAI;AAAK3F,IAAAA,KAAK,GAAA4B,wBAAA,CAAA0B,IAAA,EAAAzB,SAAA,CAAA;AACzC,EAAA,IAAA+D,SAAA,GAAgDC,eAAQ,CAACF,IAAI,CAAC;IAAAG,UAAA,GAAA7D,cAAA,CAAA2D,SAAA,EAAA,CAAA,CAAA;AAAvDG,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,IAAI,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,WAAA,GAAAH,UAAA,CAAA,CAAA,CAAA;IAAII,QAAQ,GAAAD,WAAA,CAARC,QAAQ;IAAEC,UAAU,GAAAF,WAAA,CAAVE,UAAU;AAE1C,EAAA,IAAAC,iBAAA,GAAuDC,uBAAgB,EAAE;IAAjEC,UAAU,GAAAF,iBAAA,CAAVE,UAAU;IAAEpE,YAAY,GAAAkE,iBAAA,CAAZlE,YAAY;IAAEqE,SAAS,GAAAH,iBAAA,CAATG,SAAS;IAAEjF,KAAK,GAAA8E,iBAAA,CAAL9E,KAAK;AAElD,EAAA,IAAMR,YAAY,GAAG,SAAfA,YAAYA,CAAGhC,KAAK,EAAI;AAAA,IAAA,IAAA+B,mBAAA;IAC5BqF,QAAQ,CAACpH,KAAK,CAAC;AAEf,IAAA,CAAA+B,mBAAA,GAAAb,KAAK,CAACc,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAAjC,IAAA,CAAAoB,KAAK,EAAgBlB,KAAK,CAAC;IAE3B,OAAOwH,UAAU,EAAE;EACrB,CAAC;EAED,oBACElC,cAAA,CAACtE,WAAW,EAAA2E,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;IACV+B,KAAK,EAAER,IAAI,CAACS,OAAO,GAAGT,IAAI,CAACQ,KAAK,GAAG,EAAG;AACtC9F,IAAAA,QAAQ,EAAEwB;AAAa,GAAA,EACnBlC,KAAK,CAAA,EAAA,EAAA,EAAA;AACTiB,IAAAA,YAAY,EAAE,SAAdA,YAAYA,GAAQ;AAAA,MAAA,IAAAD,mBAAA;AAClBuF,MAAAA,SAAS,EAAE;AACX,MAAA,CAAAvF,mBAAA,GAAAhB,KAAK,CAACiB,YAAY,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,IAAlBA,mBAAA,CAAApC,IAAA,CAAAoB,KAAqB,CAAC;AACxB,IAAA;GAAE,EAAAyE,aAAA,CAAAA,aAAA,CAAA;AACI3D,IAAAA,YAAY,EAAZA;AAAY,GAAA,EAAK4F,UAAI,CAAC,CAAC,QAAQ,CAAC,EAAEX,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEzE,IAAAA,KAAK,EAALA;AAAK,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACrDE,IAAAA,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAEoB,YAAY,EAAI;MACjCsD,QAAQ,CAACtD,YAAY,CAAC;MACtBuD,UAAU,CAAC,IAAI,CAAC;AAClB,IAAA;AAAE,GAAA,CACH,CAAC;AAEN;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.149",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|