@bigbinary/neeto-message-templates-frontend 1.3.5 → 1.3.7
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/CHANGELOG.md +23 -0
- package/README.md +2 -0
- package/dist/SendMessagePane.js +6 -2
- package/dist/SendMessagePane.js.map +1 -1
- package/dist/SendToApiPane.js +3 -1
- package/dist/SendToApiPane.js.map +1 -1
- package/dist/cjs/SendMessagePane.js +6 -2
- package/dist/cjs/SendMessagePane.js.map +1 -1
- package/dist/cjs/SendToApiPane.js +3 -1
- package/dist/cjs/SendToApiPane.js.map +1 -1
- package/package.json +18 -18
- package/types.d.ts +2 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!---
|
|
2
|
+
|
|
3
|
+
------- FOLLOW THESE WHILE ADDING AN ENTRY -------
|
|
4
|
+
|
|
5
|
+
** Add BREAKING keyword in bold for changes which could potentially break the component, eg: **BREAKING**.
|
|
6
|
+
** Enclose a prop name in double backticks, eg: `menuType`.
|
|
7
|
+
** Represent a version as second level heading and write the version number inside a square bracket, eg: ## [3.3.2].
|
|
8
|
+
|
|
9
|
+
--->
|
|
10
|
+
# Changelog
|
|
11
|
+
|
|
12
|
+
All notable changes to this project will be documented in this file.
|
|
13
|
+
|
|
14
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
15
|
+
|
|
16
|
+
Prefix the change with one of these keywords:
|
|
17
|
+
|
|
18
|
+
- *Added*: for new features.
|
|
19
|
+
- *Changed*: for changes in existing functionality.
|
|
20
|
+
- *Deprecated*: for soon-to-be removed features.
|
|
21
|
+
- *Removed*: for now removed features.
|
|
22
|
+
- *Fixed*: for any bug fixes.
|
|
23
|
+
- *Security*: in case of vulnerabilities.
|
package/README.md
CHANGED
|
@@ -200,6 +200,7 @@ to compose and send messages.
|
|
|
200
200
|
model. If the owner is an Organization, this prop can be left unspecified.
|
|
201
201
|
- `isSaveAsTemplateEnabled` - To allow users to save the contents of current
|
|
202
202
|
message as a new template.
|
|
203
|
+
- `canManageTemplates` - When this is set to false, `save as template` option won't be displayed to users.
|
|
203
204
|
|
|
204
205
|
##### Usage
|
|
205
206
|
|
|
@@ -305,6 +306,7 @@ it if needed and send the data to the specified HTTP(S) endpoint.
|
|
|
305
306
|
- `onClose`: This function will be executed while closing the pane.
|
|
306
307
|
- `onSubmit`: This function will be executed while submitting the form.
|
|
307
308
|
- `isSubmitting`: A boolean to know the form submission status
|
|
309
|
+
- `canManageTemplates` - When this is set to false, `save as template` option won't be displayed to users.
|
|
308
310
|
|
|
309
311
|
##### Usage
|
|
310
312
|
|
package/dist/SendMessagePane.js
CHANGED
|
@@ -109,7 +109,8 @@ var WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({
|
|
|
109
109
|
function ownKeys$2(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; }
|
|
110
110
|
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
111
111
|
var EmailAndSms = function EmailAndSms(_ref) {
|
|
112
|
-
var
|
|
112
|
+
var canManageTemplates = _ref.canManageTemplates,
|
|
113
|
+
onClose = _ref.onClose,
|
|
113
114
|
templates = _ref.templates,
|
|
114
115
|
setFocusField = _ref.setFocusField,
|
|
115
116
|
templateVariables = _ref.templateVariables,
|
|
@@ -193,7 +194,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
|
|
|
193
194
|
ref: editorRef,
|
|
194
195
|
rows: DEFAULT_EDITOR_ROW_COUNT,
|
|
195
196
|
variables: templateVariables
|
|
196
|
-
}), shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
197
|
+
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
197
198
|
className: "absolute bottom-0 left-0",
|
|
198
199
|
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
199
200
|
cancelButtonProps: {
|
|
@@ -365,6 +366,8 @@ var SendMessageForm = function SendMessageForm(_ref) {
|
|
|
365
366
|
helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
|
|
366
367
|
_ref$isSaveAsTemplate = _ref.isSaveAsTemplateEnabled,
|
|
367
368
|
isSaveAsTemplateEnabled = _ref$isSaveAsTemplate === void 0 ? true : _ref$isSaveAsTemplate,
|
|
369
|
+
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
370
|
+
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
368
371
|
setFocusField = _ref.paneProps.setFocusField;
|
|
369
372
|
var _useTranslation = useTranslation(),
|
|
370
373
|
t = _useTranslation.t;
|
|
@@ -409,6 +412,7 @@ var SendMessageForm = function SendMessageForm(_ref) {
|
|
|
409
412
|
onClose: onClose,
|
|
410
413
|
templates: templates
|
|
411
414
|
}) : /*#__PURE__*/jsx(EmailAndSms, {
|
|
415
|
+
canManageTemplates: canManageTemplates,
|
|
412
416
|
customFields: customFields,
|
|
413
417
|
customFieldsInitialValues: customFieldsInitialValues,
|
|
414
418
|
customFieldsValidationSchema: customFieldsValidationSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendMessagePane.js","sources":["../app/javascript/src/components/commons/NoDataPage.jsx","../app/javascript/src/components/SendMessagePane/constants.js","../app/javascript/src/components/SendMessagePane/Form/EmailAndSms.jsx","../app/javascript/src/components/SendMessagePane/Form/Whatsapp.jsx","../app/javascript/src/components/SendMessagePane/index.jsx"],"sourcesContent":["import { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\n\nconst NoDataPage = ({ type, helpDocUrl = \"\" }) => {\n const { t } = useTranslation();\n\n const { label } = MESSAGE_TEMPLATES[type];\n\n if (type === MESSAGE_TYPES.whatsapp) {\n return (\n <div className=\"flex h-full w-full items-center justify-center px-6 text-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: t(\"neetoMessageTemplate.template.whatsappTemplates\"),\n })}{\" \"}\n {helpDocUrl && (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.whatsapp.helpDocText\"\n components={{\n Link: <Button href={helpDocUrl} size=\"large\" style=\"link\" />,\n }}\n />\n )}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: label,\n })}\n </Typography>\n </div>\n );\n};\n\nexport default NoDataPage;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nconst formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const SEND_MESSAGE_INITIAL_VALUES = {\n subject: \"\",\n body: \"\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const EMAIL_MESSAGE_FORM_SCHEMA = yup.object().shape({\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n )\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\")),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n body: yup\n .string()\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\"))\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({\n variableContents: yup.object().shape({\n body: yup\n .array()\n .of(\n yup\n .string()\n .required(\n t(\"neetoMessageTemplate.template.validation.variablePresence\")\n )\n ),\n }),\n});\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Pane, Select } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { mergeAll, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport { areValuesEqual } from \"components/utils\";\n\nimport {\n EMAIL_MESSAGE_FORM_SCHEMA,\n SEND_MESSAGE_INITIAL_VALUES,\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n} from \"../constants\";\n\nconst EmailAndSms = ({\n onClose,\n templates,\n setFocusField,\n templateVariables,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n type,\n handleSubmit,\n isSaveAsTemplateEnabled,\n}) => {\n const editorRef = useRef(null);\n const { t } = useTranslation();\n\n const isEmailTemplate = type === \"email\";\n const [INITIAL_VALUES, SEND_MESSAGE_FORM_SCHEMA] = isEmailTemplate\n ? [SEND_MESSAGE_INITIAL_VALUES, EMAIL_MESSAGE_FORM_SCHEMA]\n : [\n omit([\"subject\"], SEND_MESSAGE_INITIAL_VALUES),\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n ];\n\n const updatedInitialValues = mergeAll([\n INITIAL_VALUES,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...SEND_MESSAGE_FORM_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const shouldShowSaveAsTemplate = ({ id, subject, body } = {}) => {\n if (!isSaveAsTemplateEnabled) return false;\n\n const template = findBy({ id }, templates);\n const hasContent = isPresent(subject) || isPresent(body);\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.subject, subject) && template?.body === body\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ setValues, values }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n setValues({ ...values, ...template });\n editorRef.current?.editor?.commands?.setContent(template.body);\n };\n\n return (\n <>\n {isTemplateSelectionEnabled && (\n <Select\n isClearable\n isSearchable\n innerRef={setFocusField}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={handleTemplateChange}\n />\n )}\n {customFields}\n {isEmailTemplate && (\n <Input\n required\n label={t(\"neetoMessageTemplate.template.subject\")}\n name=\"subject\"\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n autoFocus={!(isTemplateSelectionEnabled || isEmailTemplate)}\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={t(\"neetoMessageTemplate.template.body\")}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {shouldShowSaveAsTemplate(values) && <SaveAsTemplate />}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\nexport default EmailAndSms;\n","import {\n capitalize,\n nullSafe,\n findBy,\n isNotEmpty,\n renameKeys,\n} from \"neetocist\";\nimport { Pane, Textarea, Typography } from \"neetoui\";\nimport { Select, Form, Input, ActionBlock } from \"neetoui/formik\";\nimport { mergeAll, omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA } from \"../constants\";\n\nconst Whatsapp = ({\n templates,\n onClose,\n handleSubmit,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n}) => {\n const { t } = useTranslation();\n\n const getInitialVariableComponents = variables => {\n const initialComponents = {};\n\n variables?.forEach(({ type, count }) => {\n initialComponents[type] = Array(count).fill(\"\");\n });\n\n return initialComponents;\n };\n\n const getTemplateMessage = components =>\n nullSafe(pluck)(\"text\", components)?.join(\"\\n\");\n\n const initialFormValues = {\n selectedTemplate: { label: templates[0]?.name, value: templates[0]?.id },\n templateMessage: getTemplateMessage(templates[0]?.components),\n variableContents: getInitialVariableComponents(templates[0]?.variableCount),\n };\n\n const updatedInitialValues = mergeAll([\n initialFormValues,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const initialValueKeys = Object.keys(initialFormValues);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n const customFieldValues = omit(initialValueKeys, values);\n setValues({\n selectedTemplate: { label: template.name, value: template.id },\n templateMessage: getTemplateMessage(template.components),\n variableContents: getInitialVariableComponents(\n template.variableCount\n ),\n ...customFieldValues,\n });\n };\n\n return (\n <>\n <Select\n required\n defaultValue={initialFormValues.selectedTemplate}\n label={t(\"neetoMessageTemplate.template.title\")}\n name=\"selectedTemplate\"\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n onChange={handleTemplateChange}\n />\n {customFields}\n <Textarea\n disabled\n nakedTextarea\n label={t(\"neetoMessageTemplate.template.preview\")}\n value={values.templateMessage}\n />\n {isNotEmpty(values.variableContents) && (\n <>\n {Object.keys(values.variableContents).map(group => (\n <div className=\"flex flex-col gap-y-2\" key={group}>\n <Typography style=\"h4\">\n {t(\"neetoMessageTemplate.template.resolveVariable\", {\n type: capitalize(group),\n })}\n </Typography>\n {values.variableContents[group].map((_, index) => (\n <div key={`${group}-${index}`}>\n <Input\n required\n key={`${group}-${index}`}\n label={`{{${index + 1}}}`}\n name={`variableContents.${group}.${index}`}\n />\n </div>\n ))}\n </div>\n ))}\n </>\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default Whatsapp;\n","import { noop } from \"neetocist\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport NoDataPage from \"components/commons/NoDataPage\";\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport EmailAndSms from \"./Form/EmailAndSms\";\nimport WhatsappForm from \"./Form/Whatsapp\";\n\nconst SendMessagePane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendMessageForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendMessageForm = ({\n type = \"\",\n handleSubmit = noop,\n onClose = noop,\n customFields = null,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n templateVariables = {},\n ownerId = \"\", // Optional by default. Required in case if the owner of message-templates is not the Organization\n helpDocUrl = \"\",\n isSaveAsTemplateEnabled = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { value } = MESSAGE_TEMPLATES[type];\n const isWhatsappTemplate = type === \"whatsapp\";\n const templateParams = {\n status: \"active\",\n templateType: value,\n ownerId,\n };\n\n const { data: { templates = [] } = {}, isLoading } =\n useFetchTemplates(templateParams);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isWhatsappTemplate && isEmpty(templates)) {\n return <NoDataPage {...{ helpDocUrl, type }} />;\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.common.send\")} {MESSAGE_TYPES[type]}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n {isWhatsappTemplate ? (\n <WhatsappForm\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n onClose,\n templates,\n }}\n />\n ) : (\n <EmailAndSms\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n isSaveAsTemplateEnabled,\n onClose,\n setFocusField,\n templateVariables,\n templates,\n type,\n }}\n />\n )}\n </Pane.Body>\n </>\n );\n};\n\nexport default SendMessagePane;\n"],"names":["NoDataPage","_ref","type","_ref$helpDocUrl","helpDocUrl","_useTranslation","useTranslation","t","label","MESSAGE_TEMPLATES","MESSAGE_TYPES","whatsapp","_jsx","className","children","_jsxs","Typography","Trans","i18nKey","components","Link","Button","href","size","style","formatEditorContent","value","replaceAll","trim","SEND_MESSAGE_INITIAL_VALUES","subject","body","shouldSaveAsTemplate","templateName","EMAIL_MESSAGE_FORM_SCHEMA","yup","object","shape","string","required","test","when","is","then","entity","SMS_MESSAGE_FORM_VALIDATION_SCHEMA","WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA","variableContents","array","of","EmailAndSms","onClose","templates","setFocusField","templateVariables","customFields","customFieldsInitialValues","customFieldsValidationSchema","handleSubmit","isSaveAsTemplateEnabled","editorRef","useRef","isEmailTemplate","_ref2","omit","_ref3","_slicedToArray","INITIAL_VALUES","SEND_MESSAGE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","_objectSpread","fields","shouldShowSaveAsTemplate","_ref4","arguments","length","undefined","id","template","findBy","hasContent","isPresent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","Form","formProps","noValidate","formikProps","initialValues","validationSchema","onSubmit","_ref5","setValues","values","handleTemplateChange","_editorRef$current","current","editor","commands","setContent","_Fragment","Select","isClearable","isSearchable","innerRef","options","renameKeys","name","placeholder","onChange","Input","ref","FormikEditor","hideSlashCommands","autoFocus","contentClassName","defaults","rows","DEFAULT_EDITOR_ROW_COUNT","variables","SaveAsTemplate","Pane","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","Whatsapp","_templates$","_templates$2","_templates$3","_templates$4","getInitialVariableComponents","initialComponents","forEach","count","Array","fill","getTemplateMessage","_nullSafe","nullSafe","pluck","join","initialFormValues","selectedTemplate","templateMessage","variableCount","initialValueKeys","Object","keys","customFieldValues","defaultValue","Textarea","disabled","nakedTextarea","isNotEmpty","map","group","capitalize","_","index","concat","SendMessagePane","props","isOpen","paneProps","SendMessageForm","_ref$type","_ref$handleSubmit","noop","_ref$onClose","_ref$customFields","_ref$customFieldsInit","_ref$customFieldsVali","_ref$templateVariable","_ref$ownerId","ownerId","_ref$isSaveAsTemplate","isWhatsappTemplate","templateParams","status","templateType","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","isLoading","Spinner","isEmpty","Header","weight","Body","WhatsappForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,eAAA,GAAAF,IAAA,CAAEG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;AACzC,EAAA,IAAAE,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAQC,KAAK,GAAKC,iBAAiB,CAACP,IAAI,CAAC,CAAjCM,KAAK;AAEb,EAAA,IAAIN,IAAI,KAAKQ,aAAa,CAACC,QAAQ,EAAE;AACnC,IAAA,oBACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,iEAAiE;MAAAC,QAAA,eAC9EC,IAAA,CAACC,UAAU,EAAA;AAAAF,QAAAA,QAAA,EACRP,CAAAA,CAAC,CAAC,0CAA0C,EAAE;UAC7CL,IAAI,EAAEK,CAAC,CAAC,iDAAiD;SAC1D,CAAC,EAAE,GAAG,EACNH,UAAU,iBACTQ,GAAA,CAACK,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,oDAAoD;AAC5DC,UAAAA,UAAU,EAAE;YACVC,IAAI,eAAER,GAAA,CAACS,MAAM,EAAA;AAACC,cAAAA,IAAI,EAAElB,UAAW;AAACmB,cAAAA,IAAI,EAAC,OAAO;AAACC,cAAAA,KAAK,EAAC;aAAQ;AAC7D;AAAE,SACH,CACF;OACS;AAAC,KACV,CAAC;AAEV;AAEA,EAAA,oBACEZ,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yDAAyD;IAAAC,QAAA,eACtEF,GAAA,CAACI,UAAU,EAAA;AAAAF,MAAAA,QAAA,EACRP,CAAC,CAAC,0CAA0C,EAAE;AAC7CL,QAAAA,IAAI,EAAEM;OACP;KACS;AAAC,GACV,CAAC;AAEV,CAAC;;ACpCD,IAAMiB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAC/BA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEC,UAAU,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAACC,IAAI,EAAE;AAAA,CAAA;AAEnD,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,oBAAoB,EAAE,KAAK;AAC3BC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,yBAAyB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC1DP,EAAAA,OAAO,EAAEK,GAAG,CACTG,MAAM,EAAE,CACRV,IAAI,EAAE,CACNW,QAAQ,CAAChC,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAC1EwB,EAAAA,IAAI,EAAEI,GAAG,CACNG,MAAM,EAAE,CACRE,IAAI,CACH,MAAM,EACNjC,CAAC,CAAC,uDAAuD,CAAC,EAC1D,UAAAmB,KAAK,EAAA;AAAA,IAAA,OAAI,CAAC,CAACD,mBAAmB,CAACC,KAAK,CAAC;GACvC,CAAC,CACAa,QAAQ,CAAChC,CAAC,CAAC,uDAAuD,CAAC,CAAC;EACvE0B,YAAY,EAAEE,GAAG,CAACG,MAAM,EAAE,CAACG,IAAI,CAAC,sBAAsB,EAAE;AACtDC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,IAAI,EAAER,GAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CACzBhC,CAAC,CAAC,yDAAyD,EAAE;MAC3DqC,MAAM,EAAErC,CAAC,CAAC,4CAA4C;AACxD,KAAC,CACH;GACD;AACH,CAAC,CAAC;AAEK,IAAMsC,kCAAkC,GAAGV,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACnEN,IAAI,EAAEI,GAAG,CACNG,MAAM,EAAE,CACRC,QAAQ,CAAChC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CACpEiC,IAAI,CACH,MAAM,EACNjC,CAAC,CAAC,uDAAuD,CAAC,EAC1D,UAAAmB,KAAK,EAAA;AAAA,IAAA,OAAI,CAAC,CAACD,mBAAmB,CAACC,KAAK,CAAC;AAAA,GACvC,CAAC;EACHO,YAAY,EAAEE,GAAG,CAACG,MAAM,EAAE,CAACG,IAAI,CAAC,sBAAsB,EAAE;AACtDC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,IAAI,EAAER,GAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CACzBhC,CAAC,CAAC,yDAAyD,EAAE;MAC3DqC,MAAM,EAAErC,CAAC,CAAC,4CAA4C;AACxD,KAAC,CACH;GACD;AACH,CAAC,CAAC;AAEK,IAAMuC,wCAAwC,GAAGX,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACzEU,gBAAgB,EAAEZ,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;IACnCN,IAAI,EAAEI,GAAG,CACNa,KAAK,EAAE,CACPC,EAAE,CACDd,GAAG,CACAG,MAAM,EAAE,CACRC,QAAQ,CACPhC,CAAC,CAAC,2DAA2D,CAC/D,CACJ;GACH;AACH,CAAC,CAAC;;;;AC/CF,IAAM2C,WAAW,GAAG,SAAdA,WAAWA,CAAAjD,IAAA,EAWX;AAAA,EAAA,IAVJkD,OAAO,GAAAlD,IAAA,CAAPkD,OAAO;IACPC,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACTC,aAAa,GAAApD,IAAA,CAAboD,aAAa;IACbC,iBAAiB,GAAArD,IAAA,CAAjBqD,iBAAiB;IACjBC,YAAY,GAAAtD,IAAA,CAAZsD,YAAY;IACZC,yBAAyB,GAAAvD,IAAA,CAAzBuD,yBAAyB;IACzBC,4BAA4B,GAAAxD,IAAA,CAA5BwD,4BAA4B;IAC5BvD,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJwD,YAAY,GAAAzD,IAAA,CAAZyD,YAAY;IACZC,uBAAuB,GAAA1D,IAAA,CAAvB0D,uBAAuB;AAEvB,EAAA,IAAMC,SAAS,GAAGC,MAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAAxD,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMuD,eAAe,GAAG5D,IAAI,KAAK,OAAO;EACxC,IAAA6D,KAAA,GAAmDD,eAAe,GAC9D,CAACjC,2BAA2B,EAAEK,yBAAyB,CAAC,GACxD,CACE8B,IAAI,CAAC,CAAC,SAAS,CAAC,EAAEnC,2BAA2B,CAAC,EAC9CgB,kCAAkC,CACnC;IAAAoB,KAAA,GAAAC,cAAA,CAAAH,KAAA,EAAA,CAAA,CAAA;AALEI,IAAAA,cAAc,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,KAAA,CAAA,CAAA,CAAA;EAO/C,IAAMI,oBAAoB,GAAGC,QAAQ,CAAC,CACpCH,cAAc,EACdX,yBAAyB,CAC1B,CAAC;AAEF,EAAA,IAAMe,uBAAuB,GAAGpC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAAmC,eAAA,CAAAA,eAAA,CAC7CJ,EAAAA,EAAAA,wBAAwB,KAAxBA,IAAAA,IAAAA,wBAAwB,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wBAAwB,CAAEK,MAAM,CAChChB,EAAAA,4BAA4B,KAA5BA,IAAAA,IAAAA,4BAA4B,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,4BAA4B,CAAEgB,MAAM,CACxC,CAAC;AAEF,EAAA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAmC;AAAA,IAAA,IAAAC,KAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAP,EAAE;MAAxBG,EAAE,GAAAJ,KAAA,CAAFI,EAAE;MAAEjD,OAAO,GAAA6C,KAAA,CAAP7C,OAAO;MAAEC,IAAI,GAAA4C,KAAA,CAAJ5C,IAAI;AACnD,IAAA,IAAI,CAAC4B,uBAAuB,EAAE,OAAO,KAAK;IAE1C,IAAMqB,QAAQ,GAAGC,MAAM,CAAC;AAAEF,MAAAA,EAAE,EAAFA;KAAI,EAAE3B,SAAS,CAAC;IAC1C,IAAM8B,UAAU,GAAGC,SAAS,CAACrD,OAAO,CAAC,IAAIqD,SAAS,CAACpD,IAAI,CAAC;IACxD,IAAMqD,8BAA8B,GAAG,EACrCC,cAAc,CAACL,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAElD,OAAO,EAAEA,OAAO,CAAC,IAAI,CAAAkD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEjD,IAAI,MAAKA,IAAI,CACtE;IAED,OAAOmD,UAAU,IAAIE,8BAA8B;GACpD;AAED,EAAA,IAAME,0BAA0B,GAAGH,SAAS,CAAC/B,SAAS,CAAC;EAEvD,oBACExC,GAAA,CAAC2E,WAAI,EAAA;AACHC,IAAAA,SAAS,EAAE;AACTC,MAAAA,UAAU,EAAE,IAAI;AAChB5E,MAAAA,SAAS,EAAE;KACX;AACF6E,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAEtB,oBAAoB;AACnCuB,MAAAA,gBAAgB,EAAErB,uBAAuB;AACzCsB,MAAAA,QAAQ,EAAEnC;KACV;AAAA5C,IAAAA,QAAA,EAED,SAAAA,QAAAgF,CAAAA,KAAA,EAA2B;AAAA,MAAA,IAAxBC,SAAS,GAAAD,KAAA,CAATC,SAAS;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;AACnB,MAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGvE,KAAK,EAAI;AAAA,QAAA,IAAAwE,kBAAA;QACpC,IAAI,CAACxE,KAAK,EAAE;QAEZ,IAAMsD,QAAQ,GAAGC,MAAM,CAAC;AAAEF,UAAAA,EAAE,EAAErD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEA;SAAO,EAAE0B,SAAS,CAAC;QACxD2C,SAAS,CAAAvB,eAAA,CAAAA,eAAA,KAAMwB,MAAM,CAAA,EAAKhB,QAAQ,CAAE,CAAC;AACrC,QAAA,CAAAkB,kBAAA,GAAAtC,SAAS,CAACuC,OAAO,MAAA,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmBE,MAAM,MAAAF,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAzBA,kBAAA,CAA2BG,QAAQ,cAAAH,kBAAA,KAAA,KAAA,CAAA,IAAnCA,kBAAA,CAAqCI,UAAU,CAACtB,QAAQ,CAACjD,IAAI,CAAC;OAC/D;MAED,oBACEhB,IAAA,CAAAwF,QAAA,EAAA;AAAAzF,QAAAA,QAAA,EACGwE,CAAAA,0BAA0B,iBACzB1E,GAAA,CAAC4F,MAAM,EAAA;UACLC,WAAW,EAAA,IAAA;UACXC,YAAY,EAAA,IAAA;AACZC,UAAAA,QAAQ,EAAEtD,aAAc;AACxB7C,UAAAA,KAAK,EAAED,CAAC,CAAC,qCAAqC,CAAE;UAChDqG,OAAO,EAAEC,UAAU,CAAC;AAAEC,YAAAA,IAAI,EAAE,OAAO;AAAE/B,YAAAA,EAAE,EAAE;WAAS,EAAE3B,SAAS,CAAE;AAC/D2D,UAAAA,WAAW,EAAExG,CAAC,CACZ,iDACF,CAAE;AACFyG,UAAAA,QAAQ,EAAEf;SACX,CACF,EACA1C,YAAY,EACZO,eAAe,iBACdlD,GAAA,CAACqG,KAAK,EAAA;UACJ1E,QAAQ,EAAA,IAAA;AACR/B,UAAAA,KAAK,EAAED,CAAC,CAAC,uCAAuC,CAAE;AAClDuG,UAAAA,IAAI,EAAC,SAAS;AACdI,UAAAA,GAAG,EAAE5B,0BAA0B,GAAG,IAAI,GAAGjC;AAAc,SACxD,CACF,eACDzC,GAAA,CAACuG,YAAY,EAAA;UACXC,iBAAiB,EAAA,IAAA;UACjB7E,QAAQ,EAAA,IAAA;AACR8E,UAAAA,SAAS,EAAE,EAAE/B,0BAA0B,IAAIxB,eAAe,CAAE;AAC5DwD,UAAAA,gBAAgB,EAAC,UAAU;AAC3BC,UAAAA,QAAQ,EAAEzD,eAAe,GAAGgB,SAAS,GAAG,EAAG;AAC3CtE,UAAAA,KAAK,EAAED,CAAC,CAAC,oCAAoC,CAAE;AAC/CuG,UAAAA,IAAI,EAAC,MAAM;AACXI,UAAAA,GAAG,EAAEtD,SAAU;AACf4D,UAAAA,IAAI,EAAEC,wBAAyB;AAC/BC,UAAAA,SAAS,EAAEpE;AAAkB,SAC9B,CAAC,EACDoB,wBAAwB,CAACsB,MAAM,CAAC,iBAAIpF,GAAA,CAAC+G,cAAc,IAAE,CAAC,eACvD/G,GAAA,CAACgH,IAAI,CAACC,MAAM,EAAA;AAAChH,UAAAA,SAAS,EAAC,0BAA0B;UAAAC,QAAA,eAC/CF,GAAA,CAACkH,WAAW,EAAA;AACVC,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,gCAAgC;AAC3CC,cAAAA,OAAO,EAAE7E;aACT;AACF8E,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,8BAA8B;cACzCzH,KAAK,EAAED,CAAC,CAAC,oCAAoC;AAC/C;WACD;AAAC,SACS,CAAC;AAAA,OACd,CAAC;AAEP;AAAC,GACG,CAAC;AAEX,CAAC;;;;AC/HD,IAAM2H,QAAQ,GAAG,SAAXA,QAAQA,CAAAjI,IAAA,EAOR;AAAA,EAAA,IAAAkI,WAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA;AAAA,EAAA,IANJlF,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACTD,OAAO,GAAAlD,IAAA,CAAPkD,OAAO;IACPO,YAAY,GAAAzD,IAAA,CAAZyD,YAAY;IACZH,YAAY,GAAAtD,IAAA,CAAZsD,YAAY;IACZC,yBAAyB,GAAAvD,IAAA,CAAzBuD,yBAAyB;IACzBC,4BAA4B,GAAAxD,IAAA,CAA5BwD,4BAA4B;AAE5B,EAAA,IAAApD,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMgI,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAGb,SAAS,EAAI;IAChD,IAAMc,iBAAiB,GAAG,EAAE;IAE5Bd,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEe,OAAO,CAAC,UAAA1E,KAAA,EAAqB;AAAA,MAAA,IAAlB7D,IAAI,GAAA6D,KAAA,CAAJ7D,IAAI;QAAEwI,KAAK,GAAA3E,KAAA,CAAL2E,KAAK;AAC/BF,MAAAA,iBAAiB,CAACtI,IAAI,CAAC,GAAGyI,KAAK,CAACD,KAAK,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC;AACjD,KAAC,CAAC;AAEF,IAAA,OAAOJ,iBAAiB;GACzB;AAED,EAAA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG1H,UAAU,EAAA;AAAA,IAAA,IAAA2H,SAAA;AAAA,IAAA,OAAA,CAAAA,SAAA,GACnCC,QAAQ,CAACC,KAAK,CAAC,CAAC,MAAM,EAAE7H,UAAU,CAAC,MAAA,IAAA,IAAA2H,SAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAqCG,IAAI,CAAC,IAAI,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMC,iBAAiB,GAAG;AACxBC,IAAAA,gBAAgB,EAAE;AAAE3I,MAAAA,KAAK,EAAA2H,CAAAA,WAAA,GAAE/E,SAAS,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA+E,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,WAAA,CAAcrB,IAAI;MAAEpF,KAAK,EAAA,CAAA0G,YAAA,GAAEhF,SAAS,CAAC,CAAC,CAAC,MAAAgF,IAAAA,IAAAA,YAAA,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAcrD;KAAI;AACxEqE,IAAAA,eAAe,EAAEP,kBAAkB,CAAAR,CAAAA,YAAA,GAACjF,SAAS,CAAC,CAAC,CAAC,cAAAiF,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAA,CAAclH,UAAU,CAAC;AAC7D4B,IAAAA,gBAAgB,EAAEwF,4BAA4B,CAAAD,CAAAA,YAAA,GAAClF,SAAS,CAAC,CAAC,CAAC,MAAAkF,IAAAA,IAAAA,YAAA,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAce,aAAa;GAC3E;EAED,IAAMhF,oBAAoB,GAAGC,QAAQ,CAAC,CACpC4E,iBAAiB,EACjB1F,yBAAyB,CAC1B,CAAC;AAEF,EAAA,IAAMe,uBAAuB,GAAGpC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAAmC,eAAA,CAAAA,eAAA,CAC7C1B,EAAAA,EAAAA,wCAAwC,KAAxCA,IAAAA,IAAAA,wCAAwC,KAAxCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wCAAwC,CAAE2B,MAAM,CAChDhB,EAAAA,4BAA4B,KAA5BA,IAAAA,IAAAA,4BAA4B,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,4BAA4B,CAAEgB,MAAM,CACxC,CAAC;AAEF,EAAA,IAAM6E,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAACN,iBAAiB,CAAC;EAEvD,oBACEtI,GAAA,CAAC2E,WAAI,EAAA;AACHC,IAAAA,SAAS,EAAE;AACTC,MAAAA,UAAU,EAAE,IAAI;AAChB5E,MAAAA,SAAS,EAAE;KACX;AACF6E,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAEtB,oBAAoB;AACnCuB,MAAAA,gBAAgB,EAAErB,uBAAuB;AACzCsB,MAAAA,QAAQ,EAAEnC;KACV;AAAA5C,IAAAA,QAAA,EAED,SAAAA,QAAAmD,CAAAA,KAAA,EAA2B;AAAA,MAAA,IAAxB+B,MAAM,GAAA/B,KAAA,CAAN+B,MAAM;QAAED,SAAS,GAAA9B,KAAA,CAAT8B,SAAS;AACnB,MAAA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGvE,KAAK,EAAI;QACpC,IAAI,CAACA,KAAK,EAAE;QAEZ,IAAMsD,QAAQ,GAAGC,MAAM,CAAC;AAAEF,UAAAA,EAAE,EAAErD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEA;SAAO,EAAE0B,SAAS,CAAC;AACxD,QAAA,IAAMqG,iBAAiB,GAAGzF,IAAI,CAACsF,gBAAgB,EAAEtD,MAAM,CAAC;AACxDD,QAAAA,SAAS,CAAAvB,eAAA,CAAA;AACP2E,UAAAA,gBAAgB,EAAE;YAAE3I,KAAK,EAAEwE,QAAQ,CAAC8B,IAAI;YAAEpF,KAAK,EAAEsD,QAAQ,CAACD;WAAI;AAC9DqE,UAAAA,eAAe,EAAEP,kBAAkB,CAAC7D,QAAQ,CAAC7D,UAAU,CAAC;AACxD4B,UAAAA,gBAAgB,EAAEwF,4BAA4B,CAC5CvD,QAAQ,CAACqE,aACX;SACGI,EAAAA,iBAAiB,CACrB,CAAC;OACH;MAED,oBACE1I,IAAA,CAAAwF,QAAA,EAAA;QAAAzF,QAAA,EAAA,cACEF,GAAA,CAAC4F,QAAM,EAAA;UACLjE,QAAQ,EAAA,IAAA;UACRmH,YAAY,EAAER,iBAAiB,CAACC,gBAAiB;AACjD3I,UAAAA,KAAK,EAAED,CAAC,CAAC,qCAAqC,CAAE;AAChDuG,UAAAA,IAAI,EAAC,kBAAkB;UACvBF,OAAO,EAAEC,UAAU,CAAC;AAAEC,YAAAA,IAAI,EAAE,OAAO;AAAE/B,YAAAA,EAAE,EAAE;WAAS,EAAE3B,SAAS,CAAE;AAC/D4D,UAAAA,QAAQ,EAAEf;AAAqB,SAChC,CAAC,EACD1C,YAAY,eACb3C,GAAA,CAAC+I,QAAQ,EAAA;UACPC,QAAQ,EAAA,IAAA;UACRC,aAAa,EAAA,IAAA;AACbrJ,UAAAA,KAAK,EAAED,CAAC,CAAC,uCAAuC,CAAE;UAClDmB,KAAK,EAAEsE,MAAM,CAACoD;SACf,CAAC,EACDU,UAAU,CAAC9D,MAAM,CAACjD,gBAAgB,CAAC,iBAClCnC,GAAA,CAAA2F,QAAA,EAAA;AAAAzF,UAAAA,QAAA,EACGyI,MAAM,CAACC,IAAI,CAACxD,MAAM,CAACjD,gBAAgB,CAAC,CAACgH,GAAG,CAAC,UAAAC,KAAK,EAAA;AAAA,YAAA,oBAC7CjJ,IAAA,CAAA,KAAA,EAAA;AAAKF,cAAAA,SAAS,EAAC,uBAAuB;cAAAC,QAAA,EAAA,cACpCF,GAAA,CAACI,UAAU,EAAA;AAACQ,gBAAAA,KAAK,EAAC,IAAI;AAAAV,gBAAAA,QAAA,EACnBP,CAAC,CAAC,+CAA+C,EAAE;kBAClDL,IAAI,EAAE+J,UAAU,CAACD,KAAK;iBACvB;AAAC,eACQ,CAAC,EACZhE,MAAM,CAACjD,gBAAgB,CAACiH,KAAK,CAAC,CAACD,GAAG,CAAC,UAACG,CAAC,EAAEC,KAAK,EAAA;AAAA,gBAAA,oBAC3CvJ,GAAA,CAAA,KAAA,EAAA;kBAAAE,QAAA,eACEF,GAAA,CAACqG,KAAK,EAAA;oBACJ1E,QAAQ,EAAA,IAAA;AAER/B,oBAAAA,KAAK,OAAA4J,MAAA,CAAOD,KAAK,GAAG,CAAC,EAAK,IAAA,CAAA;AAC1BrD,oBAAAA,IAAI,sBAAAsD,MAAA,CAAsBJ,KAAK,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAID,KAAK;AAAG,mBAAA,EAAA,EAAA,CAAAC,MAAA,CAFnCJ,KAAK,OAAAI,MAAA,CAAID,KAAK,CAGvB;iBAACC,EAAAA,EAAAA,CAAAA,MAAA,CANSJ,KAAK,EAAA,GAAA,CAAA,CAAAI,MAAA,CAAID,KAAK,CAOtB,CAAC;AAAA,eACP,CAAC;AAAA,aAAA,EAfwCH,KAgBvC,CAAC;WACP;AAAC,SACF,CACH,eACDpJ,GAAA,CAACgH,IAAI,CAACC,MAAM,EAAA;AAAChH,UAAAA,SAAS,EAAC,0BAA0B;UAAAC,QAAA,eAC/CF,GAAA,CAACkH,WAAW,EAAA;AACVC,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,gCAAgC;AAC3CC,cAAAA,OAAO,EAAE7E;aACT;AACF8E,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,8BAA8B;cACzCzH,KAAK,EAAED,CAAC,CAAC,oCAAoC;AAC/C;WACD;AAAC,SACS,CAAC;AAAA,OACd,CAAC;AAEP;AAAC,GACG,CAAC;AAEX,CAAC;;;;ACjID,IAAM8J,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAI;AAC/B,EAAA,IAAQC,MAAM,GAAcD,KAAK,CAAzBC,MAAM;IAAEpH,OAAO,GAAKmH,KAAK,CAAjBnH,OAAO;EAEvB,oBACEvC,GAAA,CAACgH,IAAI,EAAA;AAAO2C,IAAAA,MAAM,EAANA,MAAM;AAAEpH,IAAAA,OAAO,EAAPA,OAAO;IAAArC,QAAA,EACxB,SAAAA,QAAAA,CAAA0J,SAAS,EAAA;MAAA,oBAAI5J,GAAA,CAAC6J,eAAe,EAAAjG,aAAA,KAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAU8F,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,SAAS,EAATA;AAAS,OAAA,CAAA,CAAK,CAAC;AAAA;AAAA,GAC1D,CAAC;AAEX;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAxK,IAAA,EAYf;AAAA,EAAA,IAAAyK,SAAA,GAAAzK,IAAA,CAXJC,IAAI;AAAJA,IAAAA,IAAI,GAAAwK,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;IAAAC,iBAAA,GAAA1K,IAAA,CACTyD,YAAY;AAAZA,IAAAA,YAAY,GAAAiH,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,IAAI,GAAAD,iBAAA;IAAAE,YAAA,GAAA5K,IAAA,CACnBkD,OAAO;AAAPA,IAAAA,OAAO,GAAA0H,YAAA,KAAGD,KAAAA,CAAAA,GAAAA,IAAI,GAAAC,YAAA;IAAAC,iBAAA,GAAA7K,IAAA,CACdsD,YAAY;AAAZA,IAAAA,YAAY,GAAAuH,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAC,qBAAA,GAAA9K,IAAA,CACnBuD,yBAAyB;AAAzBA,IAAAA,yBAAyB,GAAAuH,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAA/K,IAAA,CAC9BwD,4BAA4B;AAA5BA,IAAAA,4BAA4B,GAAAuH,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAhL,IAAA,CACjCqD,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA2H,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,YAAA,GAAAjL,IAAA,CACtBkL,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAA/K,eAAA,GAAAF,IAAA,CACZG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAiL,qBAAA,GAAAnL,IAAA,CACf0D,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAyH,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;AACjB/H,IAAAA,aAAa,GAAApD,IAAA,CAA1BuK,SAAS,CAAInH,aAAa;AAE1B,EAAA,IAAAhD,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAQmB,KAAK,GAAKjB,iBAAiB,CAACP,IAAI,CAAC,CAAjCwB,KAAK;AACb,EAAA,IAAM2J,kBAAkB,GAAGnL,IAAI,KAAK,UAAU;AAC9C,EAAA,IAAMoL,cAAc,GAAG;AACrBC,IAAAA,MAAM,EAAE,QAAQ;AAChBC,IAAAA,YAAY,EAAE9J,KAAK;AACnByJ,IAAAA,OAAO,EAAPA;GACD;AAED,EAAA,IAAAM,kBAAA,GACEC,iBAAiB,CAACJ,cAAc,CAAC;IAAAK,qBAAA,GAAAF,kBAAA,CAD3BG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArBzI,SAAS;AAATA,IAAAA,SAAS,GAAA0I,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAASC,SAAS,GAAAN,kBAAA,CAATM,SAAS;AAGhD,EAAA,IAAIA,SAAS,EAAE;AACb,IAAA,oBACEnL,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,GAAA,CAACoL,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAIX,kBAAkB,IAAIY,OAAO,CAAC7I,SAAS,CAAC,EAAE;IAC5C,oBAAOxC,GAAA,CAACZ,UAAU,EAAA;AAAOI,MAAAA,UAAU,EAAVA,UAAU;AAAEF,MAAAA,IAAI,EAAJA;AAAI,KAAK,CAAC;AACjD;EAEA,oBACEa,IAAA,CAAAwF,QAAA,EAAA;AAAAzF,IAAAA,QAAA,EACEF,cAAAA,GAAA,CAACgH,IAAI,CAACsE,MAAM,EAAA;MAAApL,QAAA,eACVC,IAAA,CAACC,UAAU,EAAA;AAACQ,QAAAA,KAAK,EAAC,IAAI;AAAC2K,QAAAA,MAAM,EAAC,UAAU;QAAArL,QAAA,EAAA,CACrCP,CAAC,CAAC,kCAAkC,CAAC,EAAC,GAAC,EAACG,aAAa,CAACR,IAAI,CAAC;OAClD;AAAC,KACF,CAAC,eACdU,GAAA,CAACgH,IAAI,CAACwE,IAAI,EAAA;AAAAtL,MAAAA,QAAA,EACPuK,kBAAkB,gBACjBzK,GAAA,CAACyL,QAAY,EAAA;AAET9I,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,QAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,QAAAA,YAAY,EAAZA,YAAY;AACZP,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,SAAS,EAATA;AAAS,OAEZ,CAAC,gBAEFxC,GAAA,CAACsC,WAAW,EAAA;AAERK,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,QAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBR,QAAAA,OAAO,EAAPA,OAAO;AACPE,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,QAAAA,SAAS,EAATA,SAAS;AACTlD,QAAAA,IAAI,EAAJA;OAEH;AACF,KACQ,CAAC;AAAA,GACZ,CAAC;AAEP,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"SendMessagePane.js","sources":["../app/javascript/src/components/commons/NoDataPage.jsx","../app/javascript/src/components/SendMessagePane/constants.js","../app/javascript/src/components/SendMessagePane/Form/EmailAndSms.jsx","../app/javascript/src/components/SendMessagePane/Form/Whatsapp.jsx","../app/javascript/src/components/SendMessagePane/index.jsx"],"sourcesContent":["import { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\n\nconst NoDataPage = ({ type, helpDocUrl = \"\" }) => {\n const { t } = useTranslation();\n\n const { label } = MESSAGE_TEMPLATES[type];\n\n if (type === MESSAGE_TYPES.whatsapp) {\n return (\n <div className=\"flex h-full w-full items-center justify-center px-6 text-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: t(\"neetoMessageTemplate.template.whatsappTemplates\"),\n })}{\" \"}\n {helpDocUrl && (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.whatsapp.helpDocText\"\n components={{\n Link: <Button href={helpDocUrl} size=\"large\" style=\"link\" />,\n }}\n />\n )}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: label,\n })}\n </Typography>\n </div>\n );\n};\n\nexport default NoDataPage;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nconst formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const SEND_MESSAGE_INITIAL_VALUES = {\n subject: \"\",\n body: \"\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const EMAIL_MESSAGE_FORM_SCHEMA = yup.object().shape({\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n )\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\")),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n body: yup\n .string()\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\"))\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({\n variableContents: yup.object().shape({\n body: yup\n .array()\n .of(\n yup\n .string()\n .required(\n t(\"neetoMessageTemplate.template.validation.variablePresence\")\n )\n ),\n }),\n});\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Pane, Select } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { mergeAll, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport { areValuesEqual } from \"components/utils\";\n\nimport {\n EMAIL_MESSAGE_FORM_SCHEMA,\n SEND_MESSAGE_INITIAL_VALUES,\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n} from \"../constants\";\n\nconst EmailAndSms = ({\n canManageTemplates,\n onClose,\n templates,\n setFocusField,\n templateVariables,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n type,\n handleSubmit,\n isSaveAsTemplateEnabled,\n}) => {\n const editorRef = useRef(null);\n const { t } = useTranslation();\n\n const isEmailTemplate = type === \"email\";\n const [INITIAL_VALUES, SEND_MESSAGE_FORM_SCHEMA] = isEmailTemplate\n ? [SEND_MESSAGE_INITIAL_VALUES, EMAIL_MESSAGE_FORM_SCHEMA]\n : [\n omit([\"subject\"], SEND_MESSAGE_INITIAL_VALUES),\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n ];\n\n const updatedInitialValues = mergeAll([\n INITIAL_VALUES,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...SEND_MESSAGE_FORM_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const shouldShowSaveAsTemplate = ({ id, subject, body } = {}) => {\n if (!isSaveAsTemplateEnabled) return false;\n\n const template = findBy({ id }, templates);\n const hasContent = isPresent(subject) || isPresent(body);\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.subject, subject) && template?.body === body\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ setValues, values }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n setValues({ ...values, ...template });\n editorRef.current?.editor?.commands?.setContent(template.body);\n };\n\n return (\n <>\n {isTemplateSelectionEnabled && (\n <Select\n isClearable\n isSearchable\n innerRef={setFocusField}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={handleTemplateChange}\n />\n )}\n {customFields}\n {isEmailTemplate && (\n <Input\n required\n label={t(\"neetoMessageTemplate.template.subject\")}\n name=\"subject\"\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n autoFocus={!(isTemplateSelectionEnabled || isEmailTemplate)}\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={t(\"neetoMessageTemplate.template.body\")}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\nexport default EmailAndSms;\n","import {\n capitalize,\n nullSafe,\n findBy,\n isNotEmpty,\n renameKeys,\n} from \"neetocist\";\nimport { Pane, Textarea, Typography } from \"neetoui\";\nimport { Select, Form, Input, ActionBlock } from \"neetoui/formik\";\nimport { mergeAll, omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA } from \"../constants\";\n\nconst Whatsapp = ({\n templates,\n onClose,\n handleSubmit,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n}) => {\n const { t } = useTranslation();\n\n const getInitialVariableComponents = variables => {\n const initialComponents = {};\n\n variables?.forEach(({ type, count }) => {\n initialComponents[type] = Array(count).fill(\"\");\n });\n\n return initialComponents;\n };\n\n const getTemplateMessage = components =>\n nullSafe(pluck)(\"text\", components)?.join(\"\\n\");\n\n const initialFormValues = {\n selectedTemplate: { label: templates[0]?.name, value: templates[0]?.id },\n templateMessage: getTemplateMessage(templates[0]?.components),\n variableContents: getInitialVariableComponents(templates[0]?.variableCount),\n };\n\n const updatedInitialValues = mergeAll([\n initialFormValues,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const initialValueKeys = Object.keys(initialFormValues);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n const customFieldValues = omit(initialValueKeys, values);\n setValues({\n selectedTemplate: { label: template.name, value: template.id },\n templateMessage: getTemplateMessage(template.components),\n variableContents: getInitialVariableComponents(\n template.variableCount\n ),\n ...customFieldValues,\n });\n };\n\n return (\n <>\n <Select\n required\n defaultValue={initialFormValues.selectedTemplate}\n label={t(\"neetoMessageTemplate.template.title\")}\n name=\"selectedTemplate\"\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n onChange={handleTemplateChange}\n />\n {customFields}\n <Textarea\n disabled\n nakedTextarea\n label={t(\"neetoMessageTemplate.template.preview\")}\n value={values.templateMessage}\n />\n {isNotEmpty(values.variableContents) && (\n <>\n {Object.keys(values.variableContents).map(group => (\n <div className=\"flex flex-col gap-y-2\" key={group}>\n <Typography style=\"h4\">\n {t(\"neetoMessageTemplate.template.resolveVariable\", {\n type: capitalize(group),\n })}\n </Typography>\n {values.variableContents[group].map((_, index) => (\n <div key={`${group}-${index}`}>\n <Input\n required\n key={`${group}-${index}`}\n label={`{{${index + 1}}}`}\n name={`variableContents.${group}.${index}`}\n />\n </div>\n ))}\n </div>\n ))}\n </>\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default Whatsapp;\n","import { noop } from \"neetocist\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport NoDataPage from \"components/commons/NoDataPage\";\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport EmailAndSms from \"./Form/EmailAndSms\";\nimport WhatsappForm from \"./Form/Whatsapp\";\n\nconst SendMessagePane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendMessageForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendMessageForm = ({\n type = \"\",\n handleSubmit = noop,\n onClose = noop,\n customFields = null,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n templateVariables = {},\n ownerId = \"\", // Optional by default. Required in case if the owner of message-templates is not the Organization\n helpDocUrl = \"\",\n isSaveAsTemplateEnabled = true,\n canManageTemplates = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { value } = MESSAGE_TEMPLATES[type];\n const isWhatsappTemplate = type === \"whatsapp\";\n const templateParams = {\n status: \"active\",\n templateType: value,\n ownerId,\n };\n\n const { data: { templates = [] } = {}, isLoading } =\n useFetchTemplates(templateParams);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isWhatsappTemplate && isEmpty(templates)) {\n return <NoDataPage {...{ helpDocUrl, type }} />;\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.common.send\")} {MESSAGE_TYPES[type]}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n {isWhatsappTemplate ? (\n <WhatsappForm\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n onClose,\n templates,\n }}\n />\n ) : (\n <EmailAndSms\n {...{\n canManageTemplates,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n isSaveAsTemplateEnabled,\n onClose,\n setFocusField,\n templateVariables,\n templates,\n type,\n }}\n />\n )}\n </Pane.Body>\n </>\n );\n};\n\nexport default SendMessagePane;\n"],"names":["NoDataPage","_ref","type","_ref$helpDocUrl","helpDocUrl","_useTranslation","useTranslation","t","label","MESSAGE_TEMPLATES","MESSAGE_TYPES","whatsapp","_jsx","className","children","_jsxs","Typography","Trans","i18nKey","components","Link","Button","href","size","style","formatEditorContent","value","replaceAll","trim","SEND_MESSAGE_INITIAL_VALUES","subject","body","shouldSaveAsTemplate","templateName","EMAIL_MESSAGE_FORM_SCHEMA","yup","object","shape","string","required","test","when","is","then","entity","SMS_MESSAGE_FORM_VALIDATION_SCHEMA","WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA","variableContents","array","of","EmailAndSms","canManageTemplates","onClose","templates","setFocusField","templateVariables","customFields","customFieldsInitialValues","customFieldsValidationSchema","handleSubmit","isSaveAsTemplateEnabled","editorRef","useRef","isEmailTemplate","_ref2","omit","_ref3","_slicedToArray","INITIAL_VALUES","SEND_MESSAGE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","_objectSpread","fields","shouldShowSaveAsTemplate","_ref4","arguments","length","undefined","id","template","findBy","hasContent","isPresent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","Form","formProps","noValidate","formikProps","initialValues","validationSchema","onSubmit","_ref5","setValues","values","handleTemplateChange","_editorRef$current","current","editor","commands","setContent","_Fragment","Select","isClearable","isSearchable","innerRef","options","renameKeys","name","placeholder","onChange","Input","ref","FormikEditor","hideSlashCommands","autoFocus","contentClassName","defaults","rows","DEFAULT_EDITOR_ROW_COUNT","variables","SaveAsTemplate","Pane","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","Whatsapp","_templates$","_templates$2","_templates$3","_templates$4","getInitialVariableComponents","initialComponents","forEach","count","Array","fill","getTemplateMessage","_nullSafe","nullSafe","pluck","join","initialFormValues","selectedTemplate","templateMessage","variableCount","initialValueKeys","Object","keys","customFieldValues","defaultValue","Textarea","disabled","nakedTextarea","isNotEmpty","map","group","capitalize","_","index","concat","SendMessagePane","props","isOpen","paneProps","SendMessageForm","_ref$type","_ref$handleSubmit","noop","_ref$onClose","_ref$customFields","_ref$customFieldsInit","_ref$customFieldsVali","_ref$templateVariable","_ref$ownerId","ownerId","_ref$isSaveAsTemplate","_ref$canManageTemplat","isWhatsappTemplate","templateParams","status","templateType","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","isLoading","Spinner","isEmpty","Header","weight","Body","WhatsappForm"],"mappings":"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"}
|
package/dist/SendToApiPane.js
CHANGED
|
@@ -72,6 +72,8 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
72
72
|
onClose = _ref.onClose,
|
|
73
73
|
onSubmit = _ref.onSubmit,
|
|
74
74
|
isSubmitting = _ref.isSubmitting,
|
|
75
|
+
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
76
|
+
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
75
77
|
setFocusField = _ref.paneProps.setFocusField;
|
|
76
78
|
var _useTranslation = useTranslation(),
|
|
77
79
|
t = _useTranslation.t;
|
|
@@ -156,7 +158,7 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
156
158
|
}), /*#__PURE__*/jsx(KeyValuePairs, {
|
|
157
159
|
label: t("neetoMessageTemplate.api.additionalData"),
|
|
158
160
|
name: "additionalData"
|
|
159
|
-
}), shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
|
|
161
|
+
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
|
|
160
162
|
})
|
|
161
163
|
}), /*#__PURE__*/jsx(Pane.Footer, {
|
|
162
164
|
children: /*#__PURE__*/jsx(ActionBlock, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendToApiPane.js","sources":["../app/javascript/src/components/Api/SendToApiPane/constants.js","../app/javascript/src/components/Api/SendToApiPane/utils.js","../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n />\n {shouldShowSaveAsTemplate(values) && <SaveAsTemplate />}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendToApiPane.js","sources":["../app/javascript/src/components/Api/SendToApiPane/constants.js","../app/javascript/src/components/Api/SendToApiPane/utils.js","../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n canManageTemplates = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
@@ -130,7 +130,8 @@ var WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup__namespace.object().shape({
|
|
|
130
130
|
function ownKeys$2(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; }
|
|
131
131
|
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
132
132
|
var EmailAndSms = function EmailAndSms(_ref) {
|
|
133
|
-
var
|
|
133
|
+
var canManageTemplates = _ref.canManageTemplates,
|
|
134
|
+
onClose = _ref.onClose,
|
|
134
135
|
templates = _ref.templates,
|
|
135
136
|
setFocusField = _ref.setFocusField,
|
|
136
137
|
templateVariables = _ref.templateVariables,
|
|
@@ -214,7 +215,7 @@ var EmailAndSms = function EmailAndSms(_ref) {
|
|
|
214
215
|
ref: editorRef,
|
|
215
216
|
rows: constants.DEFAULT_EDITOR_ROW_COUNT,
|
|
216
217
|
variables: templateVariables
|
|
217
|
-
}), shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsxRuntime.jsx(utils.SaveAsTemplate, {}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
218
|
+
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsxRuntime.jsx(utils.SaveAsTemplate, {}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
218
219
|
className: "absolute bottom-0 left-0",
|
|
219
220
|
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
220
221
|
cancelButtonProps: {
|
|
@@ -386,6 +387,8 @@ var SendMessageForm = function SendMessageForm(_ref) {
|
|
|
386
387
|
helpDocUrl = _ref$helpDocUrl === void 0 ? "" : _ref$helpDocUrl,
|
|
387
388
|
_ref$isSaveAsTemplate = _ref.isSaveAsTemplateEnabled,
|
|
388
389
|
isSaveAsTemplateEnabled = _ref$isSaveAsTemplate === void 0 ? true : _ref$isSaveAsTemplate,
|
|
390
|
+
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
391
|
+
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
389
392
|
setFocusField = _ref.paneProps.setFocusField;
|
|
390
393
|
var _useTranslation = reactI18next.useTranslation(),
|
|
391
394
|
t = _useTranslation.t;
|
|
@@ -430,6 +433,7 @@ var SendMessageForm = function SendMessageForm(_ref) {
|
|
|
430
433
|
onClose: onClose,
|
|
431
434
|
templates: templates
|
|
432
435
|
}) : /*#__PURE__*/jsxRuntime.jsx(EmailAndSms, {
|
|
436
|
+
canManageTemplates: canManageTemplates,
|
|
433
437
|
customFields: customFields,
|
|
434
438
|
customFieldsInitialValues: customFieldsInitialValues,
|
|
435
439
|
customFieldsValidationSchema: customFieldsValidationSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendMessagePane.js","sources":["../../app/javascript/src/components/commons/NoDataPage.jsx","../../app/javascript/src/components/SendMessagePane/constants.js","../../app/javascript/src/components/SendMessagePane/Form/EmailAndSms.jsx","../../app/javascript/src/components/SendMessagePane/Form/Whatsapp.jsx","../../app/javascript/src/components/SendMessagePane/index.jsx"],"sourcesContent":["import { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\n\nconst NoDataPage = ({ type, helpDocUrl = \"\" }) => {\n const { t } = useTranslation();\n\n const { label } = MESSAGE_TEMPLATES[type];\n\n if (type === MESSAGE_TYPES.whatsapp) {\n return (\n <div className=\"flex h-full w-full items-center justify-center px-6 text-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: t(\"neetoMessageTemplate.template.whatsappTemplates\"),\n })}{\" \"}\n {helpDocUrl && (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.whatsapp.helpDocText\"\n components={{\n Link: <Button href={helpDocUrl} size=\"large\" style=\"link\" />,\n }}\n />\n )}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: label,\n })}\n </Typography>\n </div>\n );\n};\n\nexport default NoDataPage;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nconst formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const SEND_MESSAGE_INITIAL_VALUES = {\n subject: \"\",\n body: \"\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const EMAIL_MESSAGE_FORM_SCHEMA = yup.object().shape({\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n )\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\")),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n body: yup\n .string()\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\"))\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({\n variableContents: yup.object().shape({\n body: yup\n .array()\n .of(\n yup\n .string()\n .required(\n t(\"neetoMessageTemplate.template.validation.variablePresence\")\n )\n ),\n }),\n});\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Pane, Select } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { mergeAll, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport { areValuesEqual } from \"components/utils\";\n\nimport {\n EMAIL_MESSAGE_FORM_SCHEMA,\n SEND_MESSAGE_INITIAL_VALUES,\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n} from \"../constants\";\n\nconst EmailAndSms = ({\n onClose,\n templates,\n setFocusField,\n templateVariables,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n type,\n handleSubmit,\n isSaveAsTemplateEnabled,\n}) => {\n const editorRef = useRef(null);\n const { t } = useTranslation();\n\n const isEmailTemplate = type === \"email\";\n const [INITIAL_VALUES, SEND_MESSAGE_FORM_SCHEMA] = isEmailTemplate\n ? [SEND_MESSAGE_INITIAL_VALUES, EMAIL_MESSAGE_FORM_SCHEMA]\n : [\n omit([\"subject\"], SEND_MESSAGE_INITIAL_VALUES),\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n ];\n\n const updatedInitialValues = mergeAll([\n INITIAL_VALUES,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...SEND_MESSAGE_FORM_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const shouldShowSaveAsTemplate = ({ id, subject, body } = {}) => {\n if (!isSaveAsTemplateEnabled) return false;\n\n const template = findBy({ id }, templates);\n const hasContent = isPresent(subject) || isPresent(body);\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.subject, subject) && template?.body === body\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ setValues, values }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n setValues({ ...values, ...template });\n editorRef.current?.editor?.commands?.setContent(template.body);\n };\n\n return (\n <>\n {isTemplateSelectionEnabled && (\n <Select\n isClearable\n isSearchable\n innerRef={setFocusField}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={handleTemplateChange}\n />\n )}\n {customFields}\n {isEmailTemplate && (\n <Input\n required\n label={t(\"neetoMessageTemplate.template.subject\")}\n name=\"subject\"\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n autoFocus={!(isTemplateSelectionEnabled || isEmailTemplate)}\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={t(\"neetoMessageTemplate.template.body\")}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {shouldShowSaveAsTemplate(values) && <SaveAsTemplate />}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\nexport default EmailAndSms;\n","import {\n capitalize,\n nullSafe,\n findBy,\n isNotEmpty,\n renameKeys,\n} from \"neetocist\";\nimport { Pane, Textarea, Typography } from \"neetoui\";\nimport { Select, Form, Input, ActionBlock } from \"neetoui/formik\";\nimport { mergeAll, omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA } from \"../constants\";\n\nconst Whatsapp = ({\n templates,\n onClose,\n handleSubmit,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n}) => {\n const { t } = useTranslation();\n\n const getInitialVariableComponents = variables => {\n const initialComponents = {};\n\n variables?.forEach(({ type, count }) => {\n initialComponents[type] = Array(count).fill(\"\");\n });\n\n return initialComponents;\n };\n\n const getTemplateMessage = components =>\n nullSafe(pluck)(\"text\", components)?.join(\"\\n\");\n\n const initialFormValues = {\n selectedTemplate: { label: templates[0]?.name, value: templates[0]?.id },\n templateMessage: getTemplateMessage(templates[0]?.components),\n variableContents: getInitialVariableComponents(templates[0]?.variableCount),\n };\n\n const updatedInitialValues = mergeAll([\n initialFormValues,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const initialValueKeys = Object.keys(initialFormValues);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n const customFieldValues = omit(initialValueKeys, values);\n setValues({\n selectedTemplate: { label: template.name, value: template.id },\n templateMessage: getTemplateMessage(template.components),\n variableContents: getInitialVariableComponents(\n template.variableCount\n ),\n ...customFieldValues,\n });\n };\n\n return (\n <>\n <Select\n required\n defaultValue={initialFormValues.selectedTemplate}\n label={t(\"neetoMessageTemplate.template.title\")}\n name=\"selectedTemplate\"\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n onChange={handleTemplateChange}\n />\n {customFields}\n <Textarea\n disabled\n nakedTextarea\n label={t(\"neetoMessageTemplate.template.preview\")}\n value={values.templateMessage}\n />\n {isNotEmpty(values.variableContents) && (\n <>\n {Object.keys(values.variableContents).map(group => (\n <div className=\"flex flex-col gap-y-2\" key={group}>\n <Typography style=\"h4\">\n {t(\"neetoMessageTemplate.template.resolveVariable\", {\n type: capitalize(group),\n })}\n </Typography>\n {values.variableContents[group].map((_, index) => (\n <div key={`${group}-${index}`}>\n <Input\n required\n key={`${group}-${index}`}\n label={`{{${index + 1}}}`}\n name={`variableContents.${group}.${index}`}\n />\n </div>\n ))}\n </div>\n ))}\n </>\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default Whatsapp;\n","import { noop } from \"neetocist\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport NoDataPage from \"components/commons/NoDataPage\";\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport EmailAndSms from \"./Form/EmailAndSms\";\nimport WhatsappForm from \"./Form/Whatsapp\";\n\nconst SendMessagePane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendMessageForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendMessageForm = ({\n type = \"\",\n handleSubmit = noop,\n onClose = noop,\n customFields = null,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n templateVariables = {},\n ownerId = \"\", // Optional by default. Required in case if the owner of message-templates is not the Organization\n helpDocUrl = \"\",\n isSaveAsTemplateEnabled = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { value } = MESSAGE_TEMPLATES[type];\n const isWhatsappTemplate = type === \"whatsapp\";\n const templateParams = {\n status: \"active\",\n templateType: value,\n ownerId,\n };\n\n const { data: { templates = [] } = {}, isLoading } =\n useFetchTemplates(templateParams);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isWhatsappTemplate && isEmpty(templates)) {\n return <NoDataPage {...{ helpDocUrl, type }} />;\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.common.send\")} {MESSAGE_TYPES[type]}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n {isWhatsappTemplate ? (\n <WhatsappForm\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n onClose,\n templates,\n }}\n />\n ) : (\n <EmailAndSms\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n isSaveAsTemplateEnabled,\n onClose,\n setFocusField,\n templateVariables,\n templates,\n type,\n }}\n />\n )}\n </Pane.Body>\n </>\n );\n};\n\nexport default SendMessagePane;\n"],"names":["NoDataPage","_ref","type","_ref$helpDocUrl","helpDocUrl","_useTranslation","useTranslation","t","label","MESSAGE_TEMPLATES","MESSAGE_TYPES","whatsapp","_jsx","className","children","_jsxs","Typography","Trans","i18nKey","components","Link","Button","href","size","style","formatEditorContent","value","replaceAll","trim","SEND_MESSAGE_INITIAL_VALUES","subject","body","shouldSaveAsTemplate","templateName","EMAIL_MESSAGE_FORM_SCHEMA","yup","object","shape","string","required","test","when","is","then","entity","SMS_MESSAGE_FORM_VALIDATION_SCHEMA","WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA","variableContents","array","of","EmailAndSms","onClose","templates","setFocusField","templateVariables","customFields","customFieldsInitialValues","customFieldsValidationSchema","handleSubmit","isSaveAsTemplateEnabled","editorRef","useRef","isEmailTemplate","_ref2","omit","_ref3","_slicedToArray","INITIAL_VALUES","SEND_MESSAGE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","_objectSpread","fields","shouldShowSaveAsTemplate","_ref4","arguments","length","undefined","id","template","findBy","hasContent","isPresent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","Form","formProps","noValidate","formikProps","initialValues","validationSchema","onSubmit","_ref5","setValues","values","handleTemplateChange","_editorRef$current","current","editor","commands","setContent","_Fragment","Select","isClearable","isSearchable","innerRef","options","renameKeys","name","placeholder","onChange","Input","ref","FormikEditor","hideSlashCommands","autoFocus","contentClassName","defaults","rows","DEFAULT_EDITOR_ROW_COUNT","variables","SaveAsTemplate","Pane","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","Whatsapp","_templates$","_templates$2","_templates$3","_templates$4","getInitialVariableComponents","initialComponents","forEach","count","Array","fill","getTemplateMessage","_nullSafe","nullSafe","pluck","join","initialFormValues","selectedTemplate","templateMessage","variableCount","initialValueKeys","Object","keys","customFieldValues","defaultValue","Textarea","disabled","nakedTextarea","isNotEmpty","map","group","capitalize","_","index","concat","SendMessagePane","props","isOpen","paneProps","SendMessageForm","_ref$type","_ref$handleSubmit","noop","_ref$onClose","_ref$customFields","_ref$customFieldsInit","_ref$customFieldsVali","_ref$templateVariable","_ref$ownerId","ownerId","_ref$isSaveAsTemplate","isWhatsappTemplate","templateParams","status","templateType","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","isLoading","Spinner","isEmpty","Header","weight","Body","WhatsappForm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAkC;AAAA,EAAA,IAA5BC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,eAAA,GAAAF,IAAA,CAAEG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;AACzC,EAAA,IAAAE,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAQC,KAAK,GAAKC,2BAAiB,CAACP,IAAI,CAAC,CAAjCM,KAAK;AAEb,EAAA,IAAIN,IAAI,KAAKQ,uBAAa,CAACC,QAAQ,EAAE;AACnC,IAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,iEAAiE;MAAAC,QAAA,eAC9EC,eAAA,CAACC,UAAU,EAAA;AAAAF,QAAAA,QAAA,EACRP,CAAAA,CAAC,CAAC,0CAA0C,EAAE;UAC7CL,IAAI,EAAEK,CAAC,CAAC,iDAAiD;SAC1D,CAAC,EAAE,GAAG,EACNH,UAAU,iBACTQ,cAAA,CAACK,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,oDAAoD;AAC5DC,UAAAA,UAAU,EAAE;YACVC,IAAI,eAAER,cAAA,CAACS,MAAM,EAAA;AAACC,cAAAA,IAAI,EAAElB,UAAW;AAACmB,cAAAA,IAAI,EAAC,OAAO;AAACC,cAAAA,KAAK,EAAC;aAAQ;AAC7D;AAAE,SACH,CACF;OACS;AAAC,KACV,CAAC;AAEV;AAEA,EAAA,oBACEZ,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yDAAyD;IAAAC,QAAA,eACtEF,cAAA,CAACI,UAAU,EAAA;AAAAF,MAAAA,QAAA,EACRP,CAAC,CAAC,0CAA0C,EAAE;AAC7CL,QAAAA,IAAI,EAAEM;OACP;KACS;AAAC,GACV,CAAC;AAEV,CAAC;;ACpCD,IAAMiB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAC/BA,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEC,UAAU,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAACC,IAAI,EAAE;AAAA,CAAA;AAEnD,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,oBAAoB,EAAE,KAAK;AAC3BC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,yBAAyB,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC1DP,EAAAA,OAAO,EAAEK,cAAG,CACTG,MAAM,EAAE,CACRV,IAAI,EAAE,CACNW,QAAQ,CAAChC,SAAC,CAAC,0DAA0D,CAAC,CAAC;AAC1EwB,EAAAA,IAAI,EAAEI,cAAG,CACNG,MAAM,EAAE,CACRE,IAAI,CACH,MAAM,EACNjC,SAAC,CAAC,uDAAuD,CAAC,EAC1D,UAAAmB,KAAK,EAAA;AAAA,IAAA,OAAI,CAAC,CAACD,mBAAmB,CAACC,KAAK,CAAC;GACvC,CAAC,CACAa,QAAQ,CAAChC,SAAC,CAAC,uDAAuD,CAAC,CAAC;EACvE0B,YAAY,EAAEE,cAAG,CAACG,MAAM,EAAE,CAACG,IAAI,CAAC,sBAAsB,EAAE;AACtDC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,IAAI,EAAER,cAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CACzBhC,SAAC,CAAC,yDAAyD,EAAE;MAC3DqC,MAAM,EAAErC,SAAC,CAAC,4CAA4C;AACxD,KAAC,CACH;GACD;AACH,CAAC,CAAC;AAEK,IAAMsC,kCAAkC,GAAGV,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACnEN,IAAI,EAAEI,cAAG,CACNG,MAAM,EAAE,CACRC,QAAQ,CAAChC,SAAC,CAAC,uDAAuD,CAAC,CAAC,CACpEiC,IAAI,CACH,MAAM,EACNjC,SAAC,CAAC,uDAAuD,CAAC,EAC1D,UAAAmB,KAAK,EAAA;AAAA,IAAA,OAAI,CAAC,CAACD,mBAAmB,CAACC,KAAK,CAAC;AAAA,GACvC,CAAC;EACHO,YAAY,EAAEE,cAAG,CAACG,MAAM,EAAE,CAACG,IAAI,CAAC,sBAAsB,EAAE;AACtDC,IAAAA,EAAE,EAAE,IAAI;AACRC,IAAAA,IAAI,EAAER,cAAG,CAACG,MAAM,EAAE,CAACC,QAAQ,CACzBhC,SAAC,CAAC,yDAAyD,EAAE;MAC3DqC,MAAM,EAAErC,SAAC,CAAC,4CAA4C;AACxD,KAAC,CACH;GACD;AACH,CAAC,CAAC;AAEK,IAAMuC,wCAAwC,GAAGX,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACzEU,gBAAgB,EAAEZ,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;IACnCN,IAAI,EAAEI,cAAG,CACNa,KAAK,EAAE,CACPC,EAAE,CACDd,cAAG,CACAG,MAAM,EAAE,CACRC,QAAQ,CACPhC,SAAC,CAAC,2DAA2D,CAC/D,CACJ;GACH;AACH,CAAC,CAAC;;;;AC/CF,IAAM2C,WAAW,GAAG,SAAdA,WAAWA,CAAAjD,IAAA,EAWX;AAAA,EAAA,IAVJkD,OAAO,GAAAlD,IAAA,CAAPkD,OAAO;IACPC,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACTC,aAAa,GAAApD,IAAA,CAAboD,aAAa;IACbC,iBAAiB,GAAArD,IAAA,CAAjBqD,iBAAiB;IACjBC,YAAY,GAAAtD,IAAA,CAAZsD,YAAY;IACZC,yBAAyB,GAAAvD,IAAA,CAAzBuD,yBAAyB;IACzBC,4BAA4B,GAAAxD,IAAA,CAA5BwD,4BAA4B;IAC5BvD,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJwD,YAAY,GAAAzD,IAAA,CAAZyD,YAAY;IACZC,uBAAuB,GAAA1D,IAAA,CAAvB0D,uBAAuB;AAEvB,EAAA,IAAMC,SAAS,GAAGC,YAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAAxD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMuD,eAAe,GAAG5D,IAAI,KAAK,OAAO;EACxC,IAAA6D,KAAA,GAAmDD,eAAe,GAC9D,CAACjC,2BAA2B,EAAEK,yBAAyB,CAAC,GACxD,CACE8B,UAAI,CAAC,CAAC,SAAS,CAAC,EAAEnC,2BAA2B,CAAC,EAC9CgB,kCAAkC,CACnC;IAAAoB,KAAA,GAAAC,cAAA,CAAAH,KAAA,EAAA,CAAA,CAAA;AALEI,IAAAA,cAAc,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,KAAA,CAAA,CAAA,CAAA;EAO/C,IAAMI,oBAAoB,GAAGC,cAAQ,CAAC,CACpCH,cAAc,EACdX,yBAAyB,CAC1B,CAAC;AAEF,EAAA,IAAMe,uBAAuB,GAAGpC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAAmC,eAAA,CAAAA,eAAA,CAC7CJ,EAAAA,EAAAA,wBAAwB,KAAxBA,IAAAA,IAAAA,wBAAwB,KAAxBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wBAAwB,CAAEK,MAAM,CAChChB,EAAAA,4BAA4B,KAA5BA,IAAAA,IAAAA,4BAA4B,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,4BAA4B,CAAEgB,MAAM,CACxC,CAAC;AAEF,EAAA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAmC;AAAA,IAAA,IAAAC,KAAA,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAP,EAAE;MAAxBG,EAAE,GAAAJ,KAAA,CAAFI,EAAE;MAAEjD,OAAO,GAAA6C,KAAA,CAAP7C,OAAO;MAAEC,IAAI,GAAA4C,KAAA,CAAJ5C,IAAI;AACnD,IAAA,IAAI,CAAC4B,uBAAuB,EAAE,OAAO,KAAK;IAE1C,IAAMqB,QAAQ,GAAGC,gBAAM,CAAC;AAAEF,MAAAA,EAAE,EAAFA;KAAI,EAAE3B,SAAS,CAAC;IAC1C,IAAM8B,UAAU,GAAGC,mBAAS,CAACrD,OAAO,CAAC,IAAIqD,mBAAS,CAACpD,IAAI,CAAC;IACxD,IAAMqD,8BAA8B,GAAG,EACrCC,oBAAc,CAACL,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAElD,OAAO,EAAEA,OAAO,CAAC,IAAI,CAAAkD,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEjD,IAAI,MAAKA,IAAI,CACtE;IAED,OAAOmD,UAAU,IAAIE,8BAA8B;GACpD;AAED,EAAA,IAAME,0BAA0B,GAAGH,mBAAS,CAAC/B,SAAS,CAAC;EAEvD,oBACExC,cAAA,CAAC2E,WAAI,EAAA;AACHC,IAAAA,SAAS,EAAE;AACTC,MAAAA,UAAU,EAAE,IAAI;AAChB5E,MAAAA,SAAS,EAAE;KACX;AACF6E,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAEtB,oBAAoB;AACnCuB,MAAAA,gBAAgB,EAAErB,uBAAuB;AACzCsB,MAAAA,QAAQ,EAAEnC;KACV;AAAA5C,IAAAA,QAAA,EAED,SAAAA,QAAAgF,CAAAA,KAAA,EAA2B;AAAA,MAAA,IAAxBC,SAAS,GAAAD,KAAA,CAATC,SAAS;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;AACnB,MAAA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGvE,KAAK,EAAI;AAAA,QAAA,IAAAwE,kBAAA;QACpC,IAAI,CAACxE,KAAK,EAAE;QAEZ,IAAMsD,QAAQ,GAAGC,gBAAM,CAAC;AAAEF,UAAAA,EAAE,EAAErD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEA;SAAO,EAAE0B,SAAS,CAAC;QACxD2C,SAAS,CAAAvB,eAAA,CAAAA,eAAA,KAAMwB,MAAM,CAAA,EAAKhB,QAAQ,CAAE,CAAC;AACrC,QAAA,CAAAkB,kBAAA,GAAAtC,SAAS,CAACuC,OAAO,MAAA,IAAA,IAAAD,kBAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,kBAAA,GAAjBA,kBAAA,CAAmBE,MAAM,MAAAF,IAAAA,IAAAA,kBAAA,KAAAA,KAAAA,CAAAA,IAAAA,CAAAA,kBAAA,GAAzBA,kBAAA,CAA2BG,QAAQ,cAAAH,kBAAA,KAAA,KAAA,CAAA,IAAnCA,kBAAA,CAAqCI,UAAU,CAACtB,QAAQ,CAACjD,IAAI,CAAC;OAC/D;MAED,oBACEhB,eAAA,CAAAwF,mBAAA,EAAA;AAAAzF,QAAAA,QAAA,EACGwE,CAAAA,0BAA0B,iBACzB1E,cAAA,CAAC4F,MAAM,EAAA;UACLC,WAAW,EAAA,IAAA;UACXC,YAAY,EAAA,IAAA;AACZC,UAAAA,QAAQ,EAAEtD,aAAc;AACxB7C,UAAAA,KAAK,EAAED,CAAC,CAAC,qCAAqC,CAAE;UAChDqG,OAAO,EAAEC,oBAAU,CAAC;AAAEC,YAAAA,IAAI,EAAE,OAAO;AAAE/B,YAAAA,EAAE,EAAE;WAAS,EAAE3B,SAAS,CAAE;AAC/D2D,UAAAA,WAAW,EAAExG,CAAC,CACZ,iDACF,CAAE;AACFyG,UAAAA,QAAQ,EAAEf;SACX,CACF,EACA1C,YAAY,EACZO,eAAe,iBACdlD,cAAA,CAACqG,KAAK,EAAA;UACJ1E,QAAQ,EAAA,IAAA;AACR/B,UAAAA,KAAK,EAAED,CAAC,CAAC,uCAAuC,CAAE;AAClDuG,UAAAA,IAAI,EAAC,SAAS;AACdI,UAAAA,GAAG,EAAE5B,0BAA0B,GAAG,IAAI,GAAGjC;AAAc,SACxD,CACF,eACDzC,cAAA,CAACuG,YAAY,EAAA;UACXC,iBAAiB,EAAA,IAAA;UACjB7E,QAAQ,EAAA,IAAA;AACR8E,UAAAA,SAAS,EAAE,EAAE/B,0BAA0B,IAAIxB,eAAe,CAAE;AAC5DwD,UAAAA,gBAAgB,EAAC,UAAU;AAC3BC,UAAAA,QAAQ,EAAEzD,eAAe,GAAGgB,SAAS,GAAG,EAAG;AAC3CtE,UAAAA,KAAK,EAAED,CAAC,CAAC,oCAAoC,CAAE;AAC/CuG,UAAAA,IAAI,EAAC,MAAM;AACXI,UAAAA,GAAG,EAAEtD,SAAU;AACf4D,UAAAA,IAAI,EAAEC,kCAAyB;AAC/BC,UAAAA,SAAS,EAAEpE;AAAkB,SAC9B,CAAC,EACDoB,wBAAwB,CAACsB,MAAM,CAAC,iBAAIpF,cAAA,CAAC+G,oBAAc,IAAE,CAAC,eACvD/G,cAAA,CAACgH,IAAI,CAACC,MAAM,EAAA;AAAChH,UAAAA,SAAS,EAAC,0BAA0B;UAAAC,QAAA,eAC/CF,cAAA,CAACkH,WAAW,EAAA;AACVC,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,gCAAgC;AAC3CC,cAAAA,OAAO,EAAE7E;aACT;AACF8E,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,8BAA8B;cACzCzH,KAAK,EAAED,CAAC,CAAC,oCAAoC;AAC/C;WACD;AAAC,SACS,CAAC;AAAA,OACd,CAAC;AAEP;AAAC,GACG,CAAC;AAEX,CAAC;;;;AC/HD,IAAM2H,QAAQ,GAAG,SAAXA,QAAQA,CAAAjI,IAAA,EAOR;AAAA,EAAA,IAAAkI,WAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA;AAAA,EAAA,IANJlF,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACTD,OAAO,GAAAlD,IAAA,CAAPkD,OAAO;IACPO,YAAY,GAAAzD,IAAA,CAAZyD,YAAY;IACZH,YAAY,GAAAtD,IAAA,CAAZsD,YAAY;IACZC,yBAAyB,GAAAvD,IAAA,CAAzBuD,yBAAyB;IACzBC,4BAA4B,GAAAxD,IAAA,CAA5BwD,4BAA4B;AAE5B,EAAA,IAAApD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMgI,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAGb,SAAS,EAAI;IAChD,IAAMc,iBAAiB,GAAG,EAAE;IAE5Bd,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,IAAAA,SAAS,CAAEe,OAAO,CAAC,UAAA1E,KAAA,EAAqB;AAAA,MAAA,IAAlB7D,IAAI,GAAA6D,KAAA,CAAJ7D,IAAI;QAAEwI,KAAK,GAAA3E,KAAA,CAAL2E,KAAK;AAC/BF,MAAAA,iBAAiB,CAACtI,IAAI,CAAC,GAAGyI,KAAK,CAACD,KAAK,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC;AACjD,KAAC,CAAC;AAEF,IAAA,OAAOJ,iBAAiB;GACzB;AAED,EAAA,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG1H,UAAU,EAAA;AAAA,IAAA,IAAA2H,SAAA;AAAA,IAAA,OAAA,CAAAA,SAAA,GACnCC,kBAAQ,CAACC,WAAK,CAAC,CAAC,MAAM,EAAE7H,UAAU,CAAC,MAAA,IAAA,IAAA2H,SAAA,KAAnCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAA,CAAqCG,IAAI,CAAC,IAAI,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMC,iBAAiB,GAAG;AACxBC,IAAAA,gBAAgB,EAAE;AAAE3I,MAAAA,KAAK,EAAA2H,CAAAA,WAAA,GAAE/E,SAAS,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA+E,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,WAAA,CAAcrB,IAAI;MAAEpF,KAAK,EAAA,CAAA0G,YAAA,GAAEhF,SAAS,CAAC,CAAC,CAAC,MAAAgF,IAAAA,IAAAA,YAAA,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAcrD;KAAI;AACxEqE,IAAAA,eAAe,EAAEP,kBAAkB,CAAAR,CAAAA,YAAA,GAACjF,SAAS,CAAC,CAAC,CAAC,cAAAiF,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAA,CAAclH,UAAU,CAAC;AAC7D4B,IAAAA,gBAAgB,EAAEwF,4BAA4B,CAAAD,CAAAA,YAAA,GAAClF,SAAS,CAAC,CAAC,CAAC,MAAAkF,IAAAA,IAAAA,YAAA,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAce,aAAa;GAC3E;EAED,IAAMhF,oBAAoB,GAAGC,cAAQ,CAAC,CACpC4E,iBAAiB,EACjB1F,yBAAyB,CAC1B,CAAC;AAEF,EAAA,IAAMe,uBAAuB,GAAGpC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAAmC,eAAA,CAAAA,eAAA,CAC7C1B,EAAAA,EAAAA,wCAAwC,KAAxCA,IAAAA,IAAAA,wCAAwC,KAAxCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,wCAAwC,CAAE2B,MAAM,CAChDhB,EAAAA,4BAA4B,KAA5BA,IAAAA,IAAAA,4BAA4B,KAA5BA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,4BAA4B,CAAEgB,MAAM,CACxC,CAAC;AAEF,EAAA,IAAM6E,gBAAgB,GAAGC,MAAM,CAACC,IAAI,CAACN,iBAAiB,CAAC;EAEvD,oBACEtI,cAAA,CAAC2E,WAAI,EAAA;AACHC,IAAAA,SAAS,EAAE;AACTC,MAAAA,UAAU,EAAE,IAAI;AAChB5E,MAAAA,SAAS,EAAE;KACX;AACF6E,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAEtB,oBAAoB;AACnCuB,MAAAA,gBAAgB,EAAErB,uBAAuB;AACzCsB,MAAAA,QAAQ,EAAEnC;KACV;AAAA5C,IAAAA,QAAA,EAED,SAAAA,QAAAmD,CAAAA,KAAA,EAA2B;AAAA,MAAA,IAAxB+B,MAAM,GAAA/B,KAAA,CAAN+B,MAAM;QAAED,SAAS,GAAA9B,KAAA,CAAT8B,SAAS;AACnB,MAAA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGvE,KAAK,EAAI;QACpC,IAAI,CAACA,KAAK,EAAE;QAEZ,IAAMsD,QAAQ,GAAGC,gBAAM,CAAC;AAAEF,UAAAA,EAAE,EAAErD,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEA;SAAO,EAAE0B,SAAS,CAAC;AACxD,QAAA,IAAMqG,iBAAiB,GAAGzF,UAAI,CAACsF,gBAAgB,EAAEtD,MAAM,CAAC;AACxDD,QAAAA,SAAS,CAAAvB,eAAA,CAAA;AACP2E,UAAAA,gBAAgB,EAAE;YAAE3I,KAAK,EAAEwE,QAAQ,CAAC8B,IAAI;YAAEpF,KAAK,EAAEsD,QAAQ,CAACD;WAAI;AAC9DqE,UAAAA,eAAe,EAAEP,kBAAkB,CAAC7D,QAAQ,CAAC7D,UAAU,CAAC;AACxD4B,UAAAA,gBAAgB,EAAEwF,4BAA4B,CAC5CvD,QAAQ,CAACqE,aACX;SACGI,EAAAA,iBAAiB,CACrB,CAAC;OACH;MAED,oBACE1I,eAAA,CAAAwF,mBAAA,EAAA;QAAAzF,QAAA,EAAA,cACEF,cAAA,CAAC4F,QAAM,EAAA;UACLjE,QAAQ,EAAA,IAAA;UACRmH,YAAY,EAAER,iBAAiB,CAACC,gBAAiB;AACjD3I,UAAAA,KAAK,EAAED,CAAC,CAAC,qCAAqC,CAAE;AAChDuG,UAAAA,IAAI,EAAC,kBAAkB;UACvBF,OAAO,EAAEC,oBAAU,CAAC;AAAEC,YAAAA,IAAI,EAAE,OAAO;AAAE/B,YAAAA,EAAE,EAAE;WAAS,EAAE3B,SAAS,CAAE;AAC/D4D,UAAAA,QAAQ,EAAEf;AAAqB,SAChC,CAAC,EACD1C,YAAY,eACb3C,cAAA,CAAC+I,QAAQ,EAAA;UACPC,QAAQ,EAAA,IAAA;UACRC,aAAa,EAAA,IAAA;AACbrJ,UAAAA,KAAK,EAAED,CAAC,CAAC,uCAAuC,CAAE;UAClDmB,KAAK,EAAEsE,MAAM,CAACoD;SACf,CAAC,EACDU,oBAAU,CAAC9D,MAAM,CAACjD,gBAAgB,CAAC,iBAClCnC,cAAA,CAAA2F,mBAAA,EAAA;AAAAzF,UAAAA,QAAA,EACGyI,MAAM,CAACC,IAAI,CAACxD,MAAM,CAACjD,gBAAgB,CAAC,CAACgH,GAAG,CAAC,UAAAC,KAAK,EAAA;AAAA,YAAA,oBAC7CjJ,eAAA,CAAA,KAAA,EAAA;AAAKF,cAAAA,SAAS,EAAC,uBAAuB;cAAAC,QAAA,EAAA,cACpCF,cAAA,CAACI,UAAU,EAAA;AAACQ,gBAAAA,KAAK,EAAC,IAAI;AAAAV,gBAAAA,QAAA,EACnBP,CAAC,CAAC,+CAA+C,EAAE;kBAClDL,IAAI,EAAE+J,oBAAU,CAACD,KAAK;iBACvB;AAAC,eACQ,CAAC,EACZhE,MAAM,CAACjD,gBAAgB,CAACiH,KAAK,CAAC,CAACD,GAAG,CAAC,UAACG,CAAC,EAAEC,KAAK,EAAA;AAAA,gBAAA,oBAC3CvJ,cAAA,CAAA,KAAA,EAAA;kBAAAE,QAAA,eACEF,cAAA,CAACqG,KAAK,EAAA;oBACJ1E,QAAQ,EAAA,IAAA;AAER/B,oBAAAA,KAAK,OAAA4J,MAAA,CAAOD,KAAK,GAAG,CAAC,EAAK,IAAA,CAAA;AAC1BrD,oBAAAA,IAAI,sBAAAsD,MAAA,CAAsBJ,KAAK,EAAAI,GAAAA,CAAAA,CAAAA,MAAA,CAAID,KAAK;AAAG,mBAAA,EAAA,EAAA,CAAAC,MAAA,CAFnCJ,KAAK,OAAAI,MAAA,CAAID,KAAK,CAGvB;iBAACC,EAAAA,EAAAA,CAAAA,MAAA,CANSJ,KAAK,EAAA,GAAA,CAAA,CAAAI,MAAA,CAAID,KAAK,CAOtB,CAAC;AAAA,eACP,CAAC;AAAA,aAAA,EAfwCH,KAgBvC,CAAC;WACP;AAAC,SACF,CACH,eACDpJ,cAAA,CAACgH,IAAI,CAACC,MAAM,EAAA;AAAChH,UAAAA,SAAS,EAAC,0BAA0B;UAAAC,QAAA,eAC/CF,cAAA,CAACkH,WAAW,EAAA;AACVC,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,gCAAgC;AAC3CC,cAAAA,OAAO,EAAE7E;aACT;AACF8E,YAAAA,iBAAiB,EAAE;AACjB,cAAA,SAAS,EAAE,8BAA8B;cACzCzH,KAAK,EAAED,CAAC,CAAC,oCAAoC;AAC/C;WACD;AAAC,SACS,CAAC;AAAA,OACd,CAAC;AAEP;AAAC,GACG,CAAC;AAEX,CAAC;;;;ACjID,IAAM8J,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,KAAK,EAAI;AAC/B,EAAA,IAAQC,MAAM,GAAcD,KAAK,CAAzBC,MAAM;IAAEpH,OAAO,GAAKmH,KAAK,CAAjBnH,OAAO;EAEvB,oBACEvC,cAAA,CAACgH,IAAI,EAAA;AAAO2C,IAAAA,MAAM,EAANA,MAAM;AAAEpH,IAAAA,OAAO,EAAPA,OAAO;IAAArC,QAAA,EACxB,SAAAA,QAAAA,CAAA0J,SAAS,EAAA;MAAA,oBAAI5J,cAAA,CAAC6J,eAAe,EAAAjG,aAAA,KAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAU8F,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEE,QAAAA,SAAS,EAATA;AAAS,OAAA,CAAA,CAAK,CAAC;AAAA;AAAA,GAC1D,CAAC;AAEX;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAxK,IAAA,EAYf;AAAA,EAAA,IAAAyK,SAAA,GAAAzK,IAAA,CAXJC,IAAI;AAAJA,IAAAA,IAAI,GAAAwK,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;IAAAC,iBAAA,GAAA1K,IAAA,CACTyD,YAAY;AAAZA,IAAAA,YAAY,GAAAiH,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,cAAI,GAAAD,iBAAA;IAAAE,YAAA,GAAA5K,IAAA,CACnBkD,OAAO;AAAPA,IAAAA,OAAO,GAAA0H,YAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,YAAA;IAAAC,iBAAA,GAAA7K,IAAA,CACdsD,YAAY;AAAZA,IAAAA,YAAY,GAAAuH,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IAAAC,qBAAA,GAAA9K,IAAA,CACnBuD,yBAAyB;AAAzBA,IAAAA,yBAAyB,GAAAuH,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAA/K,IAAA,CAC9BwD,4BAA4B;AAA5BA,IAAAA,4BAA4B,GAAAuH,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAhL,IAAA,CACjCqD,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA2H,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,YAAA,GAAAjL,IAAA,CACtBkL,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAA/K,eAAA,GAAAF,IAAA,CACZG,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAiL,qBAAA,GAAAnL,IAAA,CACf0D,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAyH,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;AACjB/H,IAAAA,aAAa,GAAApD,IAAA,CAA1BuK,SAAS,CAAInH,aAAa;AAE1B,EAAA,IAAAhD,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAQmB,KAAK,GAAKjB,2BAAiB,CAACP,IAAI,CAAC,CAAjCwB,KAAK;AACb,EAAA,IAAM2J,kBAAkB,GAAGnL,IAAI,KAAK,UAAU;AAC9C,EAAA,IAAMoL,cAAc,GAAG;AACrBC,IAAAA,MAAM,EAAE,QAAQ;AAChBC,IAAAA,YAAY,EAAE9J,KAAK;AACnByJ,IAAAA,OAAO,EAAPA;GACD;AAED,EAAA,IAAAM,kBAAA,GACEC,iCAAiB,CAACJ,cAAc,CAAC;IAAAK,qBAAA,GAAAF,kBAAA,CAD3BG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,KAAA,CAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAArBzI,SAAS;AAATA,IAAAA,SAAS,GAAA0I,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAASC,SAAS,GAAAN,kBAAA,CAATM,SAAS;AAGhD,EAAA,IAAIA,SAAS,EAAE;AACb,IAAA,oBACEnL,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,gDAAgD;AAAAC,MAAAA,QAAA,eAC7DF,cAAA,CAACoL,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAIX,kBAAkB,IAAIY,aAAO,CAAC7I,SAAS,CAAC,EAAE;IAC5C,oBAAOxC,cAAA,CAACZ,UAAU,EAAA;AAAOI,MAAAA,UAAU,EAAVA,UAAU;AAAEF,MAAAA,IAAI,EAAJA;AAAI,KAAK,CAAC;AACjD;EAEA,oBACEa,eAAA,CAAAwF,mBAAA,EAAA;AAAAzF,IAAAA,QAAA,EACEF,cAAAA,cAAA,CAACgH,IAAI,CAACsE,MAAM,EAAA;MAAApL,QAAA,eACVC,eAAA,CAACC,UAAU,EAAA;AAACQ,QAAAA,KAAK,EAAC,IAAI;AAAC2K,QAAAA,MAAM,EAAC,UAAU;QAAArL,QAAA,EAAA,CACrCP,CAAC,CAAC,kCAAkC,CAAC,EAAC,GAAC,EAACG,uBAAa,CAACR,IAAI,CAAC;OAClD;AAAC,KACF,CAAC,eACdU,cAAA,CAACgH,IAAI,CAACwE,IAAI,EAAA;AAAAtL,MAAAA,QAAA,EACPuK,kBAAkB,gBACjBzK,cAAA,CAACyL,QAAY,EAAA;AAET9I,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,QAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,QAAAA,YAAY,EAAZA,YAAY;AACZP,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,SAAS,EAATA;AAAS,OAEZ,CAAC,gBAEFxC,cAAA,CAACsC,WAAW,EAAA;AAERK,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBC,QAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,QAAAA,YAAY,EAAZA,YAAY;AACZC,QAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBR,QAAAA,OAAO,EAAPA,OAAO;AACPE,QAAAA,aAAa,EAAbA,aAAa;AACbC,QAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,QAAAA,SAAS,EAATA,SAAS;AACTlD,QAAAA,IAAI,EAAJA;OAEH;AACF,KACQ,CAAC;AAAA,GACZ,CAAC;AAEP,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"SendMessagePane.js","sources":["../../app/javascript/src/components/commons/NoDataPage.jsx","../../app/javascript/src/components/SendMessagePane/constants.js","../../app/javascript/src/components/SendMessagePane/Form/EmailAndSms.jsx","../../app/javascript/src/components/SendMessagePane/Form/Whatsapp.jsx","../../app/javascript/src/components/SendMessagePane/index.jsx"],"sourcesContent":["import { Button, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\n\nconst NoDataPage = ({ type, helpDocUrl = \"\" }) => {\n const { t } = useTranslation();\n\n const { label } = MESSAGE_TEMPLATES[type];\n\n if (type === MESSAGE_TYPES.whatsapp) {\n return (\n <div className=\"flex h-full w-full items-center justify-center px-6 text-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: t(\"neetoMessageTemplate.template.whatsappTemplates\"),\n })}{\" \"}\n {helpDocUrl && (\n <Trans\n i18nKey=\"neetoMessageTemplate.template.whatsapp.helpDocText\"\n components={{\n Link: <Button href={helpDocUrl} size=\"large\" style=\"link\" />,\n }}\n />\n )}\n </Typography>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full w-full flex-col items-center justify-center\">\n <Typography>\n {t(\"neetoMessageTemplate.template.emptyState\", {\n type: label,\n })}\n </Typography>\n </div>\n );\n};\n\nexport default NoDataPage;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nconst formatEditorContent = value =>\n value?.replaceAll(/<\\/?(?!img)\\w*\\b[^>]*>/gi, \"\").trim();\n\nexport const SEND_MESSAGE_INITIAL_VALUES = {\n subject: \"\",\n body: \"\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const EMAIL_MESSAGE_FORM_SCHEMA = yup.object().shape({\n subject: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.subjectPresence\")),\n body: yup\n .string()\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n )\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\")),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup.object().shape({\n body: yup\n .string()\n .required(t(\"neetoMessageTemplate.template.validation.bodyPresence\"))\n .test(\n \"body\",\n t(\"neetoMessageTemplate.template.validation.bodyPresence\"),\n value => !!formatEditorContent(value)\n ),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n\nexport const WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA = yup.object().shape({\n variableContents: yup.object().shape({\n body: yup\n .array()\n .of(\n yup\n .string()\n .required(\n t(\"neetoMessageTemplate.template.validation.variablePresence\")\n )\n ),\n }),\n});\n","import { useRef } from \"react\";\n\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Pane, Select } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { mergeAll, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"components/constants\";\nimport { areValuesEqual } from \"components/utils\";\n\nimport {\n EMAIL_MESSAGE_FORM_SCHEMA,\n SEND_MESSAGE_INITIAL_VALUES,\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n} from \"../constants\";\n\nconst EmailAndSms = ({\n canManageTemplates,\n onClose,\n templates,\n setFocusField,\n templateVariables,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n type,\n handleSubmit,\n isSaveAsTemplateEnabled,\n}) => {\n const editorRef = useRef(null);\n const { t } = useTranslation();\n\n const isEmailTemplate = type === \"email\";\n const [INITIAL_VALUES, SEND_MESSAGE_FORM_SCHEMA] = isEmailTemplate\n ? [SEND_MESSAGE_INITIAL_VALUES, EMAIL_MESSAGE_FORM_SCHEMA]\n : [\n omit([\"subject\"], SEND_MESSAGE_INITIAL_VALUES),\n SMS_MESSAGE_FORM_VALIDATION_SCHEMA,\n ];\n\n const updatedInitialValues = mergeAll([\n INITIAL_VALUES,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...SEND_MESSAGE_FORM_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const shouldShowSaveAsTemplate = ({ id, subject, body } = {}) => {\n if (!isSaveAsTemplateEnabled) return false;\n\n const template = findBy({ id }, templates);\n const hasContent = isPresent(subject) || isPresent(body);\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.subject, subject) && template?.body === body\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ setValues, values }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n setValues({ ...values, ...template });\n editorRef.current?.editor?.commands?.setContent(template.body);\n };\n\n return (\n <>\n {isTemplateSelectionEnabled && (\n <Select\n isClearable\n isSearchable\n innerRef={setFocusField}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={handleTemplateChange}\n />\n )}\n {customFields}\n {isEmailTemplate && (\n <Input\n required\n label={t(\"neetoMessageTemplate.template.subject\")}\n name=\"subject\"\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n )}\n <FormikEditor\n hideSlashCommands\n required\n autoFocus={!(isTemplateSelectionEnabled || isEmailTemplate)}\n contentClassName=\"max-h-40\"\n defaults={isEmailTemplate ? undefined : []}\n label={t(\"neetoMessageTemplate.template.body\")}\n name=\"body\"\n ref={editorRef}\n rows={DEFAULT_EDITOR_ROW_COUNT}\n variables={templateVariables}\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\nexport default EmailAndSms;\n","import {\n capitalize,\n nullSafe,\n findBy,\n isNotEmpty,\n renameKeys,\n} from \"neetocist\";\nimport { Pane, Textarea, Typography } from \"neetoui\";\nimport { Select, Form, Input, ActionBlock } from \"neetoui/formik\";\nimport { mergeAll, omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA } from \"../constants\";\n\nconst Whatsapp = ({\n templates,\n onClose,\n handleSubmit,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n}) => {\n const { t } = useTranslation();\n\n const getInitialVariableComponents = variables => {\n const initialComponents = {};\n\n variables?.forEach(({ type, count }) => {\n initialComponents[type] = Array(count).fill(\"\");\n });\n\n return initialComponents;\n };\n\n const getTemplateMessage = components =>\n nullSafe(pluck)(\"text\", components)?.join(\"\\n\");\n\n const initialFormValues = {\n selectedTemplate: { label: templates[0]?.name, value: templates[0]?.id },\n templateMessage: getTemplateMessage(templates[0]?.components),\n variableContents: getInitialVariableComponents(templates[0]?.variableCount),\n };\n\n const updatedInitialValues = mergeAll([\n initialFormValues,\n customFieldsInitialValues,\n ]);\n\n const updatedValidationSchema = yup.object().shape({\n ...WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA?.fields,\n ...customFieldsValidationSchema?.fields,\n });\n\n const initialValueKeys = Object.keys(initialFormValues);\n\n return (\n <Form\n formProps={{\n noValidate: true,\n className: \"flex w-full flex-col gap-y-4 pb-6\",\n }}\n formikProps={{\n initialValues: updatedInitialValues,\n validationSchema: updatedValidationSchema,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => {\n const handleTemplateChange = value => {\n if (!value) return;\n\n const template = findBy({ id: value?.value }, templates);\n const customFieldValues = omit(initialValueKeys, values);\n setValues({\n selectedTemplate: { label: template.name, value: template.id },\n templateMessage: getTemplateMessage(template.components),\n variableContents: getInitialVariableComponents(\n template.variableCount\n ),\n ...customFieldValues,\n });\n };\n\n return (\n <>\n <Select\n required\n defaultValue={initialFormValues.selectedTemplate}\n label={t(\"neetoMessageTemplate.template.title\")}\n name=\"selectedTemplate\"\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n onChange={handleTemplateChange}\n />\n {customFields}\n <Textarea\n disabled\n nakedTextarea\n label={t(\"neetoMessageTemplate.template.preview\")}\n value={values.templateMessage}\n />\n {isNotEmpty(values.variableContents) && (\n <>\n {Object.keys(values.variableContents).map(group => (\n <div className=\"flex flex-col gap-y-2\" key={group}>\n <Typography style=\"h4\">\n {t(\"neetoMessageTemplate.template.resolveVariable\", {\n type: capitalize(group),\n })}\n </Typography>\n {values.variableContents[group].map((_, index) => (\n <div key={`${group}-${index}`}>\n <Input\n required\n key={`${group}-${index}`}\n label={`{{${index + 1}}}`}\n name={`variableContents.${group}.${index}`}\n />\n </div>\n ))}\n </div>\n ))}\n </>\n )}\n <Pane.Footer className=\"absolute bottom-0 left-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-cy\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default Whatsapp;\n","import { noop } from \"neetocist\";\nimport { Pane, Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport NoDataPage from \"components/commons/NoDataPage\";\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"components/constants\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport EmailAndSms from \"./Form/EmailAndSms\";\nimport WhatsappForm from \"./Form/Whatsapp\";\n\nconst SendMessagePane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendMessageForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendMessageForm = ({\n type = \"\",\n handleSubmit = noop,\n onClose = noop,\n customFields = null,\n customFieldsInitialValues = {},\n customFieldsValidationSchema = {},\n templateVariables = {},\n ownerId = \"\", // Optional by default. Required in case if the owner of message-templates is not the Organization\n helpDocUrl = \"\",\n isSaveAsTemplateEnabled = true,\n canManageTemplates = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { value } = MESSAGE_TEMPLATES[type];\n const isWhatsappTemplate = type === \"whatsapp\";\n const templateParams = {\n status: \"active\",\n templateType: value,\n ownerId,\n };\n\n const { data: { templates = [] } = {}, isLoading } =\n useFetchTemplates(templateParams);\n\n if (isLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n if (isWhatsappTemplate && isEmpty(templates)) {\n return <NoDataPage {...{ helpDocUrl, type }} />;\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.common.send\")} {MESSAGE_TYPES[type]}\n </Typography>\n </Pane.Header>\n <Pane.Body>\n {isWhatsappTemplate ? (\n <WhatsappForm\n {...{\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n onClose,\n templates,\n }}\n />\n ) : (\n <EmailAndSms\n {...{\n canManageTemplates,\n customFields,\n customFieldsInitialValues,\n customFieldsValidationSchema,\n handleSubmit,\n isSaveAsTemplateEnabled,\n onClose,\n setFocusField,\n templateVariables,\n templates,\n type,\n }}\n />\n )}\n </Pane.Body>\n </>\n );\n};\n\nexport default SendMessagePane;\n"],"names":["NoDataPage","_ref","type","_ref$helpDocUrl","helpDocUrl","_useTranslation","useTranslation","t","label","MESSAGE_TEMPLATES","MESSAGE_TYPES","whatsapp","_jsx","className","children","_jsxs","Typography","Trans","i18nKey","components","Link","Button","href","size","style","formatEditorContent","value","replaceAll","trim","SEND_MESSAGE_INITIAL_VALUES","subject","body","shouldSaveAsTemplate","templateName","EMAIL_MESSAGE_FORM_SCHEMA","yup","object","shape","string","required","test","when","is","then","entity","SMS_MESSAGE_FORM_VALIDATION_SCHEMA","WHATSAPP_MESSAGE_FORM_VALIDATIONS_SCHEMA","variableContents","array","of","EmailAndSms","canManageTemplates","onClose","templates","setFocusField","templateVariables","customFields","customFieldsInitialValues","customFieldsValidationSchema","handleSubmit","isSaveAsTemplateEnabled","editorRef","useRef","isEmailTemplate","_ref2","omit","_ref3","_slicedToArray","INITIAL_VALUES","SEND_MESSAGE_FORM_SCHEMA","updatedInitialValues","mergeAll","updatedValidationSchema","_objectSpread","fields","shouldShowSaveAsTemplate","_ref4","arguments","length","undefined","id","template","findBy","hasContent","isPresent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","Form","formProps","noValidate","formikProps","initialValues","validationSchema","onSubmit","_ref5","setValues","values","handleTemplateChange","_editorRef$current","current","editor","commands","setContent","_Fragment","Select","isClearable","isSearchable","innerRef","options","renameKeys","name","placeholder","onChange","Input","ref","FormikEditor","hideSlashCommands","autoFocus","contentClassName","defaults","rows","DEFAULT_EDITOR_ROW_COUNT","variables","SaveAsTemplate","Pane","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps","Whatsapp","_templates$","_templates$2","_templates$3","_templates$4","getInitialVariableComponents","initialComponents","forEach","count","Array","fill","getTemplateMessage","_nullSafe","nullSafe","pluck","join","initialFormValues","selectedTemplate","templateMessage","variableCount","initialValueKeys","Object","keys","customFieldValues","defaultValue","Textarea","disabled","nakedTextarea","isNotEmpty","map","group","capitalize","_","index","concat","SendMessagePane","props","isOpen","paneProps","SendMessageForm","_ref$type","_ref$handleSubmit","noop","_ref$onClose","_ref$customFields","_ref$customFieldsInit","_ref$customFieldsVali","_ref$templateVariable","_ref$ownerId","ownerId","_ref$isSaveAsTemplate","_ref$canManageTemplat","isWhatsappTemplate","templateParams","status","templateType","_useFetchTemplates","useFetchTemplates","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","isLoading","Spinner","isEmpty","Header","weight","Body","WhatsappForm"],"mappings":"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"}
|
|
@@ -93,6 +93,8 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
93
93
|
onClose = _ref.onClose,
|
|
94
94
|
onSubmit = _ref.onSubmit,
|
|
95
95
|
isSubmitting = _ref.isSubmitting,
|
|
96
|
+
_ref$canManageTemplat = _ref.canManageTemplates,
|
|
97
|
+
canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
|
|
96
98
|
setFocusField = _ref.paneProps.setFocusField;
|
|
97
99
|
var _useTranslation = reactI18next.useTranslation(),
|
|
98
100
|
t = _useTranslation.t;
|
|
@@ -177,7 +179,7 @@ var SendToApiForm = function SendToApiForm(_ref) {
|
|
|
177
179
|
}), /*#__PURE__*/jsxRuntime.jsx(utils.KeyValuePairs, {
|
|
178
180
|
label: t("neetoMessageTemplate.api.additionalData"),
|
|
179
181
|
name: "additionalData"
|
|
180
|
-
}), shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsxRuntime.jsx(utils$1.SaveAsTemplate, {})]
|
|
182
|
+
}), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsxRuntime.jsx(utils$1.SaveAsTemplate, {})]
|
|
181
183
|
})
|
|
182
184
|
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
183
185
|
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SendToApiPane.js","sources":["../../app/javascript/src/components/Api/SendToApiPane/constants.js","../../app/javascript/src/components/Api/SendToApiPane/utils.js","../../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n />\n {shouldShowSaveAsTemplate(values) && <SaveAsTemplate />}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SendToApiPane.js","sources":["../../app/javascript/src/components/Api/SendToApiPane/constants.js","../../app/javascript/src/components/Api/SendToApiPane/utils.js","../../app/javascript/src/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n additionalData: yup\n .array()\n .of(yup.object({ key: yup.string(), value: yup.string() })),\n templateName: yup.string().when(\"shouldSaveAsTemplate\", {\n is: true,\n then: yup.string().required(\n t(\"neetoMessageTemplate.template.validation.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.templateName\"),\n })\n ),\n }),\n});\n","import { isPresent } from \"neetocist\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"../constants\";\n\nexport const formatAdditionalData = additionalData =>\n isPresent(additionalData) ? additionalData : [ADDITIONAL_DATA_INITIAL_VALUE];\n","import { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { Pane, Select, Spinner, Typography } from \"neetoui\";\nimport { ActionBlock, Input, Form as NeetoUIForm } from \"neetoui/formik\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SAMPLE_URL } from \"components/Api/ApiTemplates/constants\";\nimport { API_TEMPLATE_TYPE } from \"components/Api/constants\";\nimport { rejectEmptyKeyValuePairs } from \"components/Api/utils\";\nimport KeyValuePairs from \"components/commons/KeyValuePairs\";\nimport SaveAsTemplate from \"components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"components/utils\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { formatAdditionalData } from \"./utils\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n\n return (\n <Pane {...{ isOpen, onClose }}>\n {paneProps => <SendToApiForm {...{ ...props, paneProps }} />}\n </Pane>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n canManageTemplates = true,\n paneProps: { setFocusField },\n}) => {\n const { t } = useTranslation();\n\n const { data: { templates = [] } = {}, isLoading: isLoadingTemplates } =\n useFetchTemplates({\n status: \"active\",\n templateType: API_TEMPLATE_TYPE,\n ownerId,\n });\n\n const handleTemplateChange = (setValues, values, option) => {\n if (!option) return;\n\n const template = findBy({ id: option.value }, templates);\n\n setValues({\n ...values,\n ...modify(\"additionalData\", formatAdditionalData, template),\n });\n };\n\n const handleSubmit = formValues => {\n const additionalDataModifiedFormValues = modify(\n \"additionalData\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(additionalDataModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({ id, endpoint, additionalData } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(additionalData));\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n equals(template?.additionalData, additionalData)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n if (isLoadingTemplates) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n </Typography>\n </Pane.Header>\n <NeetoUIForm\n formikProps={{\n initialValues: SEND_TO_API_FORM_INITIAL_VALUES,\n validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, setValues }) => (\n <>\n <Pane.Body>\n <div className=\"w-full space-y-5\">\n {isTemplateSelectionEnabled && (\n <Select\n innerRef={setFocusField}\n isLoading={isLoadingTemplates}\n label={t(\"neetoMessageTemplate.template.title\")}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={template =>\n handleTemplateChange(setValues, values, template)\n }\n />\n )}\n <Input\n required\n label={t(\"neetoMessageTemplate.api.endpoint\")}\n name=\"endpoint\"\n placeholder={SAMPLE_URL}\n ref={isTemplateSelectionEnabled ? null : setFocusField}\n />\n <KeyValuePairs\n label={t(\"neetoMessageTemplate.api.additionalData\")}\n name=\"additionalData\"\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-cy\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-cy\": \"api-template-send-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","additionalData","ADDITIONAL_DATA_INITIAL_VALUE","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","matches","VALID_URL_REGEX","array","of","key","value","when","is","then","entity","formatAdditionalData","isPresent","SendToApiPane","props","isOpen","onClose","_jsx","Pane","children","paneProps","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","_ref$canManageTemplat","canManageTemplates","setFocusField","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","data","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","option","template","findBy","id","modify","handleSubmit","formValues","additionalDataModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","arguments","length","undefined","hasContent","isContentDifferentFromTemplate","areValuesEqual","equals","isTemplateSelectionEnabled","className","Spinner","_jsxs","_Fragment","Header","Typography","style","weight","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","innerRef","label","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","ref","KeyValuePairs","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-message-templates-frontend",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.7",
|
|
4
4
|
"description": "To manage message templates across neeto products.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-message-templates-nano",
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
"@babel/preset-typescript": "7.26.0",
|
|
62
62
|
"@babel/runtime": "7.26.0",
|
|
63
63
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
64
|
-
"@bigbinary/eslint-plugin-neeto": "1.5.
|
|
65
|
-
"@bigbinary/neeto-cist": "1.0.
|
|
66
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
67
|
-
"@bigbinary/neeto-editor": "1.45.
|
|
68
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
69
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
70
|
-
"@bigbinary/neeto-molecules": "3.15.
|
|
71
|
-
"@bigbinary/neeto-team-members-frontend": "4.4.
|
|
72
|
-
"@bigbinary/neetoui": "8.2.
|
|
64
|
+
"@bigbinary/eslint-plugin-neeto": "1.5.7",
|
|
65
|
+
"@bigbinary/neeto-cist": "1.0.15",
|
|
66
|
+
"@bigbinary/neeto-commons-frontend": "4.13.22",
|
|
67
|
+
"@bigbinary/neeto-editor": "1.45.12",
|
|
68
|
+
"@bigbinary/neeto-filters-frontend": "4.3.15",
|
|
69
|
+
"@bigbinary/neeto-icons": "1.20.26",
|
|
70
|
+
"@bigbinary/neeto-molecules": "3.15.31",
|
|
71
|
+
"@bigbinary/neeto-team-members-frontend": "4.4.23",
|
|
72
|
+
"@bigbinary/neetoui": "8.2.63",
|
|
73
73
|
"@emotion/is-prop-valid": "1.2.0",
|
|
74
74
|
"@faker-js/faker": "8.2.0",
|
|
75
75
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -173,14 +173,14 @@
|
|
|
173
173
|
"peerDependencies": {
|
|
174
174
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
175
175
|
"@babel/runtime": "7.26.0",
|
|
176
|
-
"@bigbinary/neeto-cist": "1.0.
|
|
177
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
178
|
-
"@bigbinary/neeto-editor": "1.45.
|
|
179
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
180
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
181
|
-
"@bigbinary/neeto-molecules": "3.15.
|
|
182
|
-
"@bigbinary/neeto-team-members-frontend": "4.4.
|
|
183
|
-
"@bigbinary/neetoui": "8.2.
|
|
176
|
+
"@bigbinary/neeto-cist": "1.0.15",
|
|
177
|
+
"@bigbinary/neeto-commons-frontend": "4.13.22",
|
|
178
|
+
"@bigbinary/neeto-editor": "1.45.12",
|
|
179
|
+
"@bigbinary/neeto-filters-frontend": "4.3.15",
|
|
180
|
+
"@bigbinary/neeto-icons": "1.20.26",
|
|
181
|
+
"@bigbinary/neeto-molecules": "3.15.31",
|
|
182
|
+
"@bigbinary/neeto-team-members-frontend": "4.4.23",
|
|
183
|
+
"@bigbinary/neetoui": "8.2.63",
|
|
184
184
|
"@honeybadger-io/js": "6.10.1",
|
|
185
185
|
"@honeybadger-io/react": "6.1.25",
|
|
186
186
|
"@tailwindcss/container-queries": "^0.1.1",
|
package/types.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ interface SendMessagePaneProps {
|
|
|
37
37
|
ownerId?: string;
|
|
38
38
|
helpDocUrl?: string;
|
|
39
39
|
isSaveAsTemplateEnabled?: boolean;
|
|
40
|
+
canManageTemplates?: boolean;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
interface ApiTemplatesProps {
|
|
@@ -52,6 +53,7 @@ interface SendToApiPaneProps {
|
|
|
52
53
|
isOpen?: boolean;
|
|
53
54
|
onSubmit?: (values: { [key: string]: any }) => void;
|
|
54
55
|
isSubmitting?: boolean;
|
|
56
|
+
canManageTemplates?: boolean;
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
export const MessageTemplates = React.FC<MessageTemplatesProps>;
|