@bigbinary/neeto-message-templates-frontend 2.0.7 → 2.0.8

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.
Files changed (83) hide show
  1. package/README.md +0 -2
  2. package/dist/.ready +1 -0
  3. package/dist/ApiTemplates.js +14 -13
  4. package/dist/ApiTemplates.js.map +1 -1
  5. package/dist/JsonEditor-BHy4s0Bo.js +402 -0
  6. package/dist/JsonEditor-BHy4s0Bo.js.map +1 -0
  7. package/dist/JsonEditor-BMMyHPxh.js +434 -0
  8. package/dist/JsonEditor-BMMyHPxh.js.map +1 -0
  9. package/dist/{JsonEditor-CGNPIMpX.js → JsonEditor-DEKfDX8p.js} +2 -5
  10. package/dist/{JsonEditor-CGNPIMpX.js.map → JsonEditor-DEKfDX8p.js.map} +1 -1
  11. package/dist/{JsonEditor-CLHGjppr.js → JsonEditor-DihhWMI5.js} +2 -5
  12. package/dist/{JsonEditor-CLHGjppr.js.map → JsonEditor-DihhWMI5.js.map} +1 -1
  13. package/dist/MessageTemplates.js +33 -43
  14. package/dist/MessageTemplates.js.map +1 -1
  15. package/dist/SendMessagePane.js +5 -5
  16. package/dist/SendMessagePane.js.map +1 -1
  17. package/dist/SendToApiPane.js +5 -4
  18. package/dist/SendToApiPane.js.map +1 -1
  19. package/dist/adaptive_input-BpXdshqg.js +17 -0
  20. package/dist/adaptive_input-BpXdshqg.js.map +1 -0
  21. package/dist/adaptive_input-Cd_EArae.js +19 -0
  22. package/dist/adaptive_input-Cd_EArae.js.map +1 -0
  23. package/dist/cjs/ApiTemplates.js +13 -12
  24. package/dist/cjs/ApiTemplates.js.map +1 -1
  25. package/dist/cjs/MessageTemplates.js +35 -45
  26. package/dist/cjs/MessageTemplates.js.map +1 -1
  27. package/dist/cjs/SendMessagePane.js +4 -4
  28. package/dist/cjs/SendMessagePane.js.map +1 -1
  29. package/dist/cjs/SendToApiPane.js +5 -4
  30. package/dist/cjs/SendToApiPane.js.map +1 -1
  31. package/dist/cjs/index.js +5 -4
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/v2/ApiTemplates.js +461 -0
  34. package/dist/cjs/v2/ApiTemplates.js.map +1 -0
  35. package/dist/cjs/v2/MessageTemplates.js +849 -0
  36. package/dist/cjs/v2/MessageTemplates.js.map +1 -0
  37. package/dist/cjs/v2/SendMessagePane.js +451 -0
  38. package/dist/cjs/v2/SendMessagePane.js.map +1 -0
  39. package/dist/cjs/v2/SendToApiPane.js +244 -0
  40. package/dist/cjs/v2/SendToApiPane.js.map +1 -0
  41. package/dist/cjs/v2/index.js +57 -0
  42. package/dist/cjs/v2/index.js.map +1 -0
  43. package/dist/{constants-D4v0xTUu.js → constants-B2GWdy9V.js} +2 -2
  44. package/dist/{constants-D4v0xTUu.js.map → constants-B2GWdy9V.js.map} +1 -1
  45. package/dist/constants-CX95xIS-.js +44 -0
  46. package/dist/constants-CX95xIS-.js.map +1 -0
  47. package/dist/constants-Cvnks2UE.js +49 -0
  48. package/dist/constants-Cvnks2UE.js.map +1 -0
  49. package/dist/index.js +6 -5
  50. package/dist/index.js.map +1 -1
  51. package/dist/inject-css-B6qYtOJe.js +6 -0
  52. package/dist/inject-css-B6qYtOJe.js.map +1 -0
  53. package/dist/inject-css-C2dztUxs.js +4 -0
  54. package/dist/inject-css-C2dztUxs.js.map +1 -0
  55. package/dist/json_editor-Co5e3Chh.js +5 -0
  56. package/dist/json_editor-Co5e3Chh.js.map +1 -0
  57. package/dist/json_editor-CvRhtSA3.js +7 -0
  58. package/dist/json_editor-CvRhtSA3.js.map +1 -0
  59. package/dist/{useTemplatesApi-BBQsbYMK.js → useTemplatesApi-CMkDeBa9.js} +2 -2
  60. package/dist/{useTemplatesApi-BBQsbYMK.js.map → useTemplatesApi-CMkDeBa9.js.map} +1 -1
  61. package/dist/{useTemplatesApi-DHrOrdXb.js → useTemplatesApi-byHuEDTl.js} +2 -2
  62. package/dist/{useTemplatesApi-DHrOrdXb.js.map → useTemplatesApi-byHuEDTl.js.map} +1 -1
  63. package/dist/utils-BGEmI_om.js +49 -0
  64. package/dist/utils-BGEmI_om.js.map +1 -0
  65. package/dist/utils-CLc_-Ysi.js +52 -0
  66. package/dist/utils-CLc_-Ysi.js.map +1 -0
  67. package/dist/utils-Cz5W3I3l.js.map +1 -1
  68. package/dist/utils-DddrNhQe.js.map +1 -1
  69. package/dist/v2/ApiTemplates.js +459 -0
  70. package/dist/v2/ApiTemplates.js.map +1 -0
  71. package/dist/v2/MessageTemplates.js +828 -0
  72. package/dist/v2/MessageTemplates.js.map +1 -0
  73. package/dist/v2/SendMessagePane.js +430 -0
  74. package/dist/v2/SendMessagePane.js.map +1 -0
  75. package/dist/v2/SendToApiPane.js +223 -0
  76. package/dist/v2/SendToApiPane.js.map +1 -0
  77. package/dist/v2/index.js +48 -0
  78. package/dist/v2/index.js.map +1 -0
  79. package/package.json +44 -35
  80. package/dist/inject-css-DmrvuTKK.js +0 -4
  81. package/dist/inject-css-DmrvuTKK.js.map +0 -1
  82. package/dist/inject-css-vQvjPR2x.js +0 -6
  83. package/dist/inject-css-vQvjPR2x.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendMessagePane.js","sources":["../../app/javascript/src/v2/components/commons/NoDataPage.jsx","../../app/javascript/src/v2/components/SendMessagePane/constants.js","../../app/javascript/src/v2/components/SendMessagePane/Form/EmailAndSms.jsx","../../app/javascript/src/v2/components/SendMessagePane/Form/Whatsapp.jsx","../../app/javascript/src/v2/components/SendMessagePane/index.jsx"],"sourcesContent":["import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"v2/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=\"lg\" variant=\"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 { Select, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { mergeAll, omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport SaveAsTemplate from \"v2/components/commons/SaveAsTemplate\";\nimport { DEFAULT_EDITOR_ROW_COUNT } from \"v2/components/constants\";\nimport { areValuesEqual } from \"v2/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 helpPopoverProps = {},\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 = templateId => {\n if (!templateId) return;\n\n const template = findBy({ id: templateId }, 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 label={t(\"neetoMessageTemplate.template.title\")}\n labelProps={helpPopoverProps?.[type]?.template}\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n ref={setFocusField}\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 labelProps={helpPopoverProps?.email?.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 <Sheet.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Sheet.Footer>\n </>\n );\n }}\n </Form>\n );\n};\nexport default EmailAndSms;\n","import { Select, Sheet, Textarea, Typography } from \"@bigbinary/neeto-atoms\";\nimport { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport {\n capitalize,\n nullSafe,\n findBy,\n isNotEmpty,\n renameKeys,\n} from \"neetocist\";\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 // `selectedTemplate` is kept as a `{ label, value }` object in Formik\n // state to preserve the payload shape v1 handed to `handleSubmit`.\n // atoms' Select is value-based, hence the plain (non-Formik) Select\n // driven off `values.selectedTemplate.value`.\n const handleTemplateChange = templateId => {\n if (!templateId) return;\n\n const template = findBy({ id: templateId }, 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 label={t(\"neetoMessageTemplate.template.title\")}\n name=\"selectedTemplate\"\n options={renameKeys({ name: \"label\", id: \"value\" }, templates)}\n value={values.selectedTemplate?.value}\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 variant=\"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 <Sheet.Footer className=\"absolute bottom-0 start-0\">\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"message-template-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"message-template-send-button\",\n label: t(\"neetoMessageTemplate.template.send\"),\n }}\n />\n </Sheet.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default Whatsapp;\n","import { useRef } from \"react\";\n\nimport { Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\nimport NoDataPage from \"v2/components/commons/NoDataPage\";\nimport { MESSAGE_TEMPLATES, MESSAGE_TYPES } from \"v2/components/constants\";\n\nimport EmailAndSms from \"./Form/EmailAndSms\";\nimport WhatsappForm from \"./Form/Whatsapp\";\n\nconst SendMessagePane = props => {\n const { isOpen, onClose } = props;\n const setFocusField = useRef(null);\n\n return (\n <Sheet {...{ isOpen, onClose }} initialFocusRef={setFocusField}>\n <SendMessageForm {...{ ...props, setFocusField }} />\n </Sheet>\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 setFocusField,\n helpPopoverProps,\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 <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoMessageTemplate.common.send\")} {MESSAGE_TYPES[type]}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.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 helpPopoverProps,\n isSaveAsTemplateEnabled,\n onClose,\n setFocusField,\n templateVariables,\n templates,\n type,\n }}\n />\n )}\n </Sheet.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","variant","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","_ref$helpPopoverProps","helpPopoverProps","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","_helpPopoverProps$typ","_helpPopoverProps$ema","setValues","values","handleTemplateChange","templateId","_editorRef$current","current","editor","commands","setContent","_Fragment","Select","isClearable","isSearchable","labelProps","options","renameKeys","name","ref","placeholder","onChange","Input","email","FormikEditor","hideSlashCommands","autoFocus","contentClassName","defaults","rows","DEFAULT_EDITOR_ROW_COUNT","variables","SaveAsTemplate","Sheet","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","_values$selectedTempl","customFieldValues","Textarea","disabled","nakedTextarea","isNotEmpty","map","group","capitalize","_","index","concat","SendMessagePane","props","isOpen","initialFocusRef","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","Title","Body","WhatsappForm"],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { useRef } from 'react';
3
+ import { Sheet, Spinner, Select } from '@bigbinary/neeto-atoms';
4
+ import { Form, Input, ActionBlock } from '@bigbinary/neeto-atoms/formik';
5
+ import { isNotPresent, isPresent, renameKeys, findBy } from '@bigbinary/neeto-cist';
6
+ import HelpPopover from '@bigbinary/neeto-molecules/v2/HelpPopover';
7
+ import { equals, modify } from 'ramda';
8
+ import { useTranslation } from 'react-i18next';
9
+ import { b as useFetchTemplates } from '../useTemplatesApi-CMkDeBa9.js';
10
+ import { V as VALID_URL_REGEX, C as CUSTOM_HEADERS_INITIAL_VALUE, d as buildHelpPopoverProps, S as SAMPLE_URL, c as CustomHeaders, J as JsonEditor, a as API_TEMPLATE_TYPE, r as rejectEmptyKeyValuePairs } from '../JsonEditor-BHy4s0Bo.js';
11
+ import { S as SaveAsTemplate, a as areValuesEqual } from '../utils-BGEmI_om.js';
12
+ import { t } from 'i18next';
13
+ import * as yup from 'yup';
14
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
15
+ import '@tanstack/react-query';
16
+ import '@bigbinary/neeto-commons-frontend/react-utils';
17
+ import 'axios';
18
+ import 'qs';
19
+ import 'formik';
20
+ import '@bigbinary/neeto-commons-frontend/v2/react-utils';
21
+ import '@bigbinary/neeto-icons/Delete';
22
+ import '@babel/runtime/helpers/slicedToArray';
23
+ import '@monaco-editor/react';
24
+ import '@bigbinary/neeto-icons/Help';
25
+ import '@bigbinary/neeto-molecules/v2/DynamicVariables';
26
+ import '../json_editor-Co5e3Chh.js';
27
+ import '../inject-css-C2dztUxs.js';
28
+
29
+ var SEND_TO_API_FORM_INITIAL_VALUES = {
30
+ endpoint: "",
31
+ enableCustomHeaders: false,
32
+ customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],
33
+ body: "{}",
34
+ shouldSaveAsTemplate: false,
35
+ templateName: ""
36
+ };
37
+ var SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({
38
+ endpoint: yup.string().trim().required(t("neetoMessageTemplate.api.validation.endpointPresence")).matches(VALID_URL_REGEX, t("neetoMessageTemplate.api.validation.validEndpoint")),
39
+ body: yup.string().trim().required(t("neetoMessageTemplate.validations.requiredEntity", {
40
+ entity: t("neetoMessageTemplate.template.body")
41
+ })).test("is-valid-json-and-not-empty", function (value, context) {
42
+ if (!value) return true;
43
+ try {
44
+ var parsedValue = JSON.parse(value);
45
+ if (isNotPresent(parsedValue)) {
46
+ return context.createError({
47
+ message: t("neetoMessageTemplate.validations.requiredEntity", {
48
+ entity: t("neetoMessageTemplate.template.body")
49
+ })
50
+ });
51
+ }
52
+ return true;
53
+ } catch (_unused) {
54
+ return context.createError({
55
+ message: t("neetoMessageTemplate.api.validation.invalidJsonBody")
56
+ });
57
+ }
58
+ })
59
+ });
60
+
61
+ var formatCustomHeaders = function formatCustomHeaders(customHeaders) {
62
+ return isPresent(customHeaders) ? customHeaders : [CUSTOM_HEADERS_INITIAL_VALUE];
63
+ };
64
+ var areHeadersSame = function areHeadersSame(enableCustomHeaders, customHeaders) {
65
+ var template = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
66
+ var templateHasCustomHeaders = template.enableCustomHeaders,
67
+ templateHeaders = template.customHeaders;
68
+ if (!enableCustomHeaders && !templateHasCustomHeaders) return true;
69
+ if (enableCustomHeaders !== templateHasCustomHeaders) return false;
70
+ return equals(customHeaders, templateHeaders);
71
+ };
72
+ var isBodyAvailable = function isBodyAvailable(body) {
73
+ try {
74
+ var data = JSON.parse(body);
75
+ return isPresent(data);
76
+ } catch (_unused) {
77
+ return false;
78
+ }
79
+ };
80
+
81
+ function ownKeys(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; }
82
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
83
+ var SendToApiPane = function SendToApiPane(props) {
84
+ var isOpen = props.isOpen,
85
+ onClose = props.onClose;
86
+ var setFocusField = useRef(null);
87
+ return /*#__PURE__*/jsx(Sheet, {
88
+ isOpen: isOpen,
89
+ onClose: onClose,
90
+ initialFocusRef: setFocusField,
91
+ size: "large",
92
+ children: /*#__PURE__*/jsx(SendToApiForm, _objectSpread({}, _objectSpread(_objectSpread({}, props), {}, {
93
+ setFocusField: setFocusField
94
+ })))
95
+ });
96
+ };
97
+ var SendToApiForm = function SendToApiForm(_ref) {
98
+ var ownerId = _ref.ownerId,
99
+ onClose = _ref.onClose,
100
+ onSubmit = _ref.onSubmit,
101
+ isSubmitting = _ref.isSubmitting,
102
+ templateVariables = _ref.templateVariables,
103
+ _ref$canManageTemplat = _ref.canManageTemplates,
104
+ canManageTemplates = _ref$canManageTemplat === void 0 ? true : _ref$canManageTemplat,
105
+ _ref$helpPopoverProps = _ref.helpPopoverProps,
106
+ helpPopoverProps = _ref$helpPopoverProps === void 0 ? {} : _ref$helpPopoverProps,
107
+ setFocusField = _ref.setFocusField;
108
+ var _useTranslation = useTranslation(),
109
+ t = _useTranslation.t;
110
+ var _useFetchTemplates = useFetchTemplates({
111
+ status: "active",
112
+ templateType: API_TEMPLATE_TYPE,
113
+ ownerId: ownerId
114
+ }),
115
+ _useFetchTemplates$da = _useFetchTemplates.data,
116
+ _useFetchTemplates$da2 = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da,
117
+ _useFetchTemplates$da3 = _useFetchTemplates$da2.templates,
118
+ templates = _useFetchTemplates$da3 === void 0 ? [] : _useFetchTemplates$da3,
119
+ isLoadingTemplates = _useFetchTemplates.isLoading;
120
+ var handleTemplateChange = function handleTemplateChange(setValues, values, templateId) {
121
+ if (!templateId) return;
122
+ var template = findBy({
123
+ id: templateId
124
+ }, templates);
125
+ setValues(_objectSpread(_objectSpread({}, values), modify("customHeaders", formatCustomHeaders, template)));
126
+ };
127
+ var handleSubmit = function handleSubmit(formValues) {
128
+ var customHeadersModifiedFormValues = modify("customHeaders", rejectEmptyKeyValuePairs, formValues);
129
+ onSubmit(customHeadersModifiedFormValues);
130
+ };
131
+ var shouldShowSaveAsTemplate = function shouldShowSaveAsTemplate() {
132
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
133
+ id = _ref2.id,
134
+ endpoint = _ref2.endpoint,
135
+ enableCustomHeaders = _ref2.enableCustomHeaders,
136
+ _ref2$customHeaders = _ref2.customHeaders,
137
+ customHeaders = _ref2$customHeaders === void 0 ? [CUSTOM_HEADERS_INITIAL_VALUE] : _ref2$customHeaders,
138
+ body = _ref2.body;
139
+ var template = findBy({
140
+ id: id
141
+ }, templates);
142
+ var hasContent = isPresent(endpoint) || isPresent(rejectEmptyKeyValuePairs(customHeaders)) || isBodyAvailable(body);
143
+ var isContentDifferentFromTemplate = !(areValuesEqual(template === null || template === void 0 ? void 0 : template.endpoint, endpoint) && areHeadersSame(enableCustomHeaders, customHeaders, template) && equals(template === null || template === void 0 ? void 0 : template.body, body));
144
+ return hasContent && isContentDifferentFromTemplate;
145
+ };
146
+ var isTemplateSelectionEnabled = isPresent(templates);
147
+ var _buildHelpPopoverProp = buildHelpPopoverProps(helpPopoverProps),
148
+ sendToApiHelpPopoverProps = _buildHelpPopoverProp.sendToApi,
149
+ customHeadersHelpPopoverProps = _buildHelpPopoverProp.customHeaders,
150
+ bodyHelpPopoverProps = _buildHelpPopoverProp.body;
151
+ if (isLoadingTemplates) {
152
+ return /*#__PURE__*/jsx("div", {
153
+ className: "flex h-full w-full items-center justify-center",
154
+ children: /*#__PURE__*/jsx(Spinner, {})
155
+ });
156
+ }
157
+ return /*#__PURE__*/jsxs(Fragment, {
158
+ children: [/*#__PURE__*/jsx(Sheet.Header, {
159
+ children: /*#__PURE__*/jsxs(Sheet.Title, {
160
+ children: [t("neetoMessageTemplate.api.sendToApi"), /*#__PURE__*/jsx(HelpPopover, _objectSpread({
161
+ className: "ms-2"
162
+ }, sendToApiHelpPopoverProps))]
163
+ })
164
+ }), /*#__PURE__*/jsx(Form, {
165
+ formikProps: {
166
+ initialValues: SEND_TO_API_FORM_INITIAL_VALUES,
167
+ validationSchema: SEND_TO_API_FORM_VALIDATION_SCHEMA,
168
+ onSubmit: handleSubmit
169
+ },
170
+ children: function children(_ref3) {
171
+ var values = _ref3.values,
172
+ setValues = _ref3.setValues;
173
+ return /*#__PURE__*/jsxs(Fragment, {
174
+ children: [/*#__PURE__*/jsx(Sheet.Body, {
175
+ children: /*#__PURE__*/jsxs("div", {
176
+ className: "mb-10 w-full space-y-5",
177
+ children: [isTemplateSelectionEnabled && /*#__PURE__*/jsx(Select, {
178
+ label: t("neetoMessageTemplate.template.title"),
179
+ ref: setFocusField,
180
+ options: renameKeys({
181
+ name: "label",
182
+ id: "value"
183
+ }, templates),
184
+ placeholder: t("neetoMessageTemplate.sendMessage.selectTemplate"),
185
+ onChange: function onChange(templateId) {
186
+ return handleTemplateChange(setValues, values, templateId);
187
+ }
188
+ }), /*#__PURE__*/jsx(Input, {
189
+ required: true,
190
+ label: t("neetoMessageTemplate.api.endpoint"),
191
+ name: "endpoint",
192
+ placeholder: SAMPLE_URL,
193
+ ref: isTemplateSelectionEnabled ? null : setFocusField
194
+ }), /*#__PURE__*/jsx(CustomHeaders, {
195
+ helpPopoverProps: customHeadersHelpPopoverProps
196
+ }), /*#__PURE__*/jsx(JsonEditor, {
197
+ templateVariables: templateVariables,
198
+ helpPopoverProps: bodyHelpPopoverProps,
199
+ initialValue: values.body,
200
+ name: "body"
201
+ }), canManageTemplates && shouldShowSaveAsTemplate(values) && /*#__PURE__*/jsx(SaveAsTemplate, {})]
202
+ })
203
+ }), /*#__PURE__*/jsx(Sheet.Footer, {
204
+ children: /*#__PURE__*/jsx(ActionBlock, {
205
+ isSubmitting: isSubmitting,
206
+ cancelButtonProps: {
207
+ onClick: onClose,
208
+ "data-testid": "api-template-cancel-button"
209
+ },
210
+ submitButtonProps: {
211
+ label: t("neetoMessageTemplate.template.send"),
212
+ "data-testid": "api-template-send-button"
213
+ }
214
+ })
215
+ })]
216
+ });
217
+ }
218
+ })]
219
+ });
220
+ };
221
+
222
+ export { SendToApiPane as default };
223
+ //# sourceMappingURL=SendToApiPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendToApiPane.js","sources":["../../app/javascript/src/v2/components/Api/SendToApiPane/constants.js","../../app/javascript/src/v2/components/Api/SendToApiPane/utils.js","../../app/javascript/src/v2/components/Api/SendToApiPane/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\nimport * as yup from \"yup\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE, VALID_URL_REGEX } from \"../constants\";\n\nexport const SEND_TO_API_FORM_INITIAL_VALUES = {\n endpoint: \"\",\n enableCustomHeaders: false,\n customHeaders: [CUSTOM_HEADERS_INITIAL_VALUE],\n body: \"{}\",\n shouldSaveAsTemplate: false,\n templateName: \"\",\n};\n\nexport const SEND_TO_API_FORM_VALIDATION_SCHEMA = yup.object({\n endpoint: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.api.validation.endpointPresence\"))\n .matches(\n VALID_URL_REGEX,\n t(\"neetoMessageTemplate.api.validation.validEndpoint\")\n ),\n body: yup\n .string()\n .trim()\n .required(\n t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n })\n )\n .test(\"is-valid-json-and-not-empty\", (value, context) => {\n if (!value) return true;\n\n try {\n const parsedValue = JSON.parse(value);\n\n if (isNotPresent(parsedValue)) {\n return context.createError({\n message: t(\"neetoMessageTemplate.validations.requiredEntity\", {\n entity: t(\"neetoMessageTemplate.template.body\"),\n }),\n });\n }\n\n return true;\n } catch {\n return context.createError({\n message: t(\"neetoMessageTemplate.api.validation.invalidJsonBody\"),\n });\n }\n }),\n});\n","import { isPresent } from \"neetocist\";\nimport { equals } from \"ramda\";\n\nimport { CUSTOM_HEADERS_INITIAL_VALUE } from \"../constants\";\n\nexport const formatCustomHeaders = customHeaders =>\n isPresent(customHeaders) ? customHeaders : [CUSTOM_HEADERS_INITIAL_VALUE];\n\nexport const areHeadersSame = (\n enableCustomHeaders,\n customHeaders,\n template = {}\n) => {\n const {\n enableCustomHeaders: templateHasCustomHeaders,\n customHeaders: templateHeaders,\n } = template;\n if (!enableCustomHeaders && !templateHasCustomHeaders) return true;\n\n if (enableCustomHeaders !== templateHasCustomHeaders) return false;\n\n return equals(customHeaders, templateHeaders);\n};\n\nexport const isBodyAvailable = body => {\n try {\n const data = JSON.parse(body);\n\n return isPresent(data);\n } catch {\n return false;\n }\n};\n","import { useRef } from \"react\";\n\nimport { Select, Sheet, Spinner } from \"@bigbinary/neeto-atoms\";\nimport {\n ActionBlock,\n Input,\n Form as NeetoUIForm,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { findBy, isPresent, renameKeys } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { equals, modify } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\nimport { SAMPLE_URL } from \"v2/components/Api/ApiTemplates/constants\";\nimport {\n API_TEMPLATE_TYPE,\n CUSTOM_HEADERS_INITIAL_VALUE,\n} from \"v2/components/Api/constants\";\nimport {\n buildHelpPopoverProps,\n rejectEmptyKeyValuePairs,\n} from \"v2/components/Api/utils\";\nimport SaveAsTemplate from \"v2/components/commons/SaveAsTemplate\";\nimport { areValuesEqual } from \"v2/components/utils\";\n\nimport {\n SEND_TO_API_FORM_INITIAL_VALUES,\n SEND_TO_API_FORM_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport { areHeadersSame, formatCustomHeaders, isBodyAvailable } from \"./utils\";\n\nimport CustomHeaders from \"../CustomHeaders\";\nimport JsonEditor from \"../JsonEditor\";\n\nconst SendToApiPane = props => {\n const { isOpen, onClose } = props;\n const setFocusField = useRef(null);\n\n return (\n <Sheet\n {...{ isOpen, onClose }}\n initialFocusRef={setFocusField}\n size=\"large\"\n >\n <SendToApiForm {...{ ...props, setFocusField }} />\n </Sheet>\n );\n};\n\nconst SendToApiForm = ({\n ownerId,\n onClose,\n onSubmit,\n isSubmitting,\n templateVariables,\n canManageTemplates = true,\n helpPopoverProps = {},\n 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, templateId) => {\n if (!templateId) return;\n\n const template = findBy({ id: templateId }, templates);\n setValues({\n ...values,\n ...modify(\"customHeaders\", formatCustomHeaders, template),\n });\n };\n\n const handleSubmit = formValues => {\n const customHeadersModifiedFormValues = modify(\n \"customHeaders\",\n rejectEmptyKeyValuePairs,\n formValues\n );\n\n onSubmit(customHeadersModifiedFormValues);\n };\n\n const shouldShowSaveAsTemplate = ({\n id,\n endpoint,\n enableCustomHeaders,\n customHeaders = [CUSTOM_HEADERS_INITIAL_VALUE],\n body,\n } = {}) => {\n const template = findBy({ id }, templates);\n const hasContent =\n isPresent(endpoint) ||\n isPresent(rejectEmptyKeyValuePairs(customHeaders)) ||\n isBodyAvailable(body);\n\n const isContentDifferentFromTemplate = !(\n areValuesEqual(template?.endpoint, endpoint) &&\n areHeadersSame(enableCustomHeaders, customHeaders, template) &&\n equals(template?.body, body)\n );\n\n return hasContent && isContentDifferentFromTemplate;\n };\n\n const isTemplateSelectionEnabled = isPresent(templates);\n\n const {\n sendToApi: sendToApiHelpPopoverProps,\n customHeaders: customHeadersHelpPopoverProps,\n body: bodyHelpPopoverProps,\n } = buildHelpPopoverProps(helpPopoverProps);\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 <Sheet.Header>\n <Sheet.Title>\n {t(\"neetoMessageTemplate.api.sendToApi\")}\n <HelpPopover className=\"ms-2\" {...sendToApiHelpPopoverProps} />\n </Sheet.Title>\n </Sheet.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 <Sheet.Body>\n <div className=\"mb-10 w-full space-y-5\">\n {isTemplateSelectionEnabled && (\n <Select\n label={t(\"neetoMessageTemplate.template.title\")}\n ref={setFocusField}\n options={renameKeys(\n { name: \"label\", id: \"value\" },\n templates\n )}\n placeholder={t(\n \"neetoMessageTemplate.sendMessage.selectTemplate\"\n )}\n onChange={templateId =>\n handleTemplateChange(setValues, values, templateId)\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 <CustomHeaders\n helpPopoverProps={customHeadersHelpPopoverProps}\n />\n <JsonEditor\n {...{ templateVariables }}\n helpPopoverProps={bodyHelpPopoverProps}\n initialValue={values.body}\n name=\"body\"\n />\n {canManageTemplates && shouldShowSaveAsTemplate(values) && (\n <SaveAsTemplate />\n )}\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n cancelButtonProps={{\n onClick: onClose,\n \"data-testid\": \"api-template-cancel-button\",\n }}\n submitButtonProps={{\n label: t(\"neetoMessageTemplate.template.send\"),\n \"data-testid\": \"api-template-send-button\",\n }}\n />\n </Sheet.Footer>\n </>\n )}\n </NeetoUIForm>\n </>\n );\n};\n\nexport default SendToApiPane;\n"],"names":["SEND_TO_API_FORM_INITIAL_VALUES","endpoint","enableCustomHeaders","customHeaders","CUSTOM_HEADERS_INITIAL_VALUE","body","shouldSaveAsTemplate","templateName","SEND_TO_API_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","t","matches","VALID_URL_REGEX","entity","test","value","context","parsedValue","JSON","parse","isNotPresent","createError","message","_unused","formatCustomHeaders","isPresent","areHeadersSame","template","arguments","length","undefined","templateHasCustomHeaders","templateHeaders","equals","isBodyAvailable","data","SendToApiPane","props","isOpen","onClose","setFocusField","useRef","_jsx","Sheet","initialFocusRef","size","children","SendToApiForm","_objectSpread","_ref","ownerId","onSubmit","isSubmitting","templateVariables","_ref$canManageTemplat","canManageTemplates","_ref$helpPopoverProps","helpPopoverProps","_useTranslation","useTranslation","_useFetchTemplates","useFetchTemplates","status","templateType","API_TEMPLATE_TYPE","_useFetchTemplates$da","_useFetchTemplates$da2","_useFetchTemplates$da3","templates","isLoadingTemplates","isLoading","handleTemplateChange","setValues","values","templateId","findBy","id","modify","handleSubmit","formValues","customHeadersModifiedFormValues","rejectEmptyKeyValuePairs","shouldShowSaveAsTemplate","_ref2","_ref2$customHeaders","hasContent","isContentDifferentFromTemplate","areValuesEqual","isTemplateSelectionEnabled","_buildHelpPopoverProp","buildHelpPopoverProps","sendToApiHelpPopoverProps","sendToApi","customHeadersHelpPopoverProps","bodyHelpPopoverProps","className","Spinner","_jsxs","_Fragment","Header","Title","HelpPopover","NeetoUIForm","formikProps","initialValues","validationSchema","_ref3","Body","Select","label","ref","options","renameKeys","name","placeholder","onChange","Input","SAMPLE_URL","CustomHeaders","JsonEditor","initialValue","SaveAsTemplate","Footer","ActionBlock","cancelButtonProps","onClick","submitButtonProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,IAAMA,+BAA+B,GAAG;AAC7CC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,mBAAmB,EAAE,KAAK;EAC1BC,aAAa,EAAE,CAACC,4BAA4B,CAAC;AAC7CC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,oBAAoB,EAAE,KAAK;AAC3BC,EAAAA,YAAY,EAAE;AAChB,CAAC;AAEM,IAAMC,kCAAkC,GAAGC,GAAG,CAACC,MAAM,CAAC;EAC3DT,QAAQ,EAAEQ,GAAG,CACVE,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CAACC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CACnEC,OAAO,CACNC,eAAe,EACfF,CAAC,CAAC,mDAAmD,CACvD,CAAC;AACHT,EAAAA,IAAI,EAAEI,GAAG,CACNE,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,iDAAiD,EAAE;IACnDG,MAAM,EAAEH,CAAC,CAAC,oCAAoC;GAC/C,CACH,CAAC,CACAI,IAAI,CAAC,6BAA6B,EAAE,UAACC,KAAK,EAAEC,OAAO,EAAK;AACvD,IAAA,IAAI,CAACD,KAAK,EAAE,OAAO,IAAI;IAEvB,IAAI;AACF,MAAA,IAAME,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC;AAErC,MAAA,IAAIK,YAAY,CAACH,WAAW,CAAC,EAAE;QAC7B,OAAOD,OAAO,CAACK,WAAW,CAAC;AACzBC,UAAAA,OAAO,EAAEZ,CAAC,CAAC,iDAAiD,EAAE;YAC5DG,MAAM,EAAEH,CAAC,CAAC,oCAAoC;WAC/C;AACH,SAAC,CAAC;AACJ,MAAA;AAEA,MAAA,OAAO,IAAI;IACb,CAAC,CAAC,OAAAa,OAAA,EAAM;MACN,OAAOP,OAAO,CAACK,WAAW,CAAC;QACzBC,OAAO,EAAEZ,CAAC,CAAC,qDAAqD;AAClE,OAAC,CAAC;AACJ,IAAA;EACF,CAAC;AACL,CAAC,CAAC;;AChDK,IAAMc,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGzB,aAAa,EAAA;EAAA,OAC9C0B,SAAS,CAAC1B,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACC,4BAA4B,CAAC;AAAA,CAAA;AAEpE,IAAM0B,cAAc,GAAG,SAAjBA,cAAcA,CACzB5B,mBAAmB,EACnBC,aAAa,EAEV;AAAA,EAAA,IADH4B,QAAQ,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAEb,EAAA,IACuBG,wBAAwB,GAE3CJ,QAAQ,CAFV7B,mBAAmB;IACJkC,eAAe,GAC5BL,QAAQ,CADV5B,aAAa;AAEf,EAAA,IAAI,CAACD,mBAAmB,IAAI,CAACiC,wBAAwB,EAAE,OAAO,IAAI;AAElE,EAAA,IAAIjC,mBAAmB,KAAKiC,wBAAwB,EAAE,OAAO,KAAK;AAElE,EAAA,OAAOE,MAAM,CAAClC,aAAa,EAAEiC,eAAe,CAAC;AAC/C,CAAC;AAEM,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAGjC,IAAI,EAAI;EACrC,IAAI;AACF,IAAA,IAAMkC,IAAI,GAAGjB,IAAI,CAACC,KAAK,CAAClB,IAAI,CAAC;IAE7B,OAAOwB,SAAS,CAACU,IAAI,CAAC;EACxB,CAAC,CAAC,OAAAZ,OAAA,EAAM;AACN,IAAA,OAAO,KAAK;AACd,EAAA;AACF,CAAC;;;;ACGD,IAAMa,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;AAC7B,EAAA,IAAQC,MAAM,GAAcD,KAAK,CAAzBC,MAAM;IAAEC,OAAO,GAAKF,KAAK,CAAjBE,OAAO;AACvB,EAAA,IAAMC,aAAa,GAAGC,MAAM,CAAC,IAAI,CAAC;EAElC,oBACEC,GAAA,CAACC,KAAK,EAAA;AACEL,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrBK,IAAAA,eAAe,EAAEJ,aAAc;AAC/BK,IAAAA,IAAI,EAAC,OAAO;IAAAC,QAAA,eAEZJ,GAAA,CAACK,aAAa,EAAAC,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUX,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEG,MAAAA,aAAa,EAAbA;KAAa,CAAA,CAAK;AAAC,GAC7C,CAAC;AAEZ;AAEA,IAAMO,aAAa,GAAG,SAAhBA,aAAaA,CAAAE,IAAA,EASb;AAAA,EAAA,IARJC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPX,OAAO,GAAAU,IAAA,CAAPV,OAAO;IACPY,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IACZC,iBAAiB,GAAAJ,IAAA,CAAjBI,iBAAiB;IAAAC,qBAAA,GAAAL,IAAA,CACjBM,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAP,IAAA,CACzBQ,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACrBhB,aAAa,GAAAS,IAAA,CAAbT,aAAa;AAEb,EAAA,IAAAkB,eAAA,GAAcC,cAAc,EAAE;IAAtBjD,CAAC,GAAAgD,eAAA,CAADhD,CAAC;EAET,IAAAkD,kBAAA,GACEC,iBAAiB,CAAC;AAChBC,MAAAA,MAAM,EAAE,QAAQ;AAChBC,MAAAA,YAAY,EAAEC,iBAAiB;AAC/Bd,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAAAe,qBAAA,GAAAL,kBAAA,CALIzB,IAAI;AAAA+B,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,MAAA,GAAuB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAArBE,SAAS;AAATA,IAAAA,SAAS,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAoBE,kBAAkB,GAAAT,kBAAA,CAA7BU,SAAS;EAOhD,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,SAAS,EAAEC,MAAM,EAAEC,UAAU,EAAK;IAC9D,IAAI,CAACA,UAAU,EAAE;IAEjB,IAAM/C,QAAQ,GAAGgD,MAAM,CAAC;AAAEC,MAAAA,EAAE,EAAEF;KAAY,EAAEN,SAAS,CAAC;AACtDI,IAAAA,SAAS,CAAAxB,aAAA,CAAAA,aAAA,CAAA,EAAA,EACJyB,MAAM,CAAA,EACNI,MAAM,CAAC,eAAe,EAAErD,mBAAmB,EAAEG,QAAQ,CAAC,CAC1D,CAAC;EACJ,CAAC;AAED,EAAA,IAAMmD,YAAY,GAAG,SAAfA,YAAYA,CAAGC,UAAU,EAAI;IACjC,IAAMC,+BAA+B,GAAGH,MAAM,CAC5C,eAAe,EACfI,wBAAwB,EACxBF,UACF,CAAC;IAED5B,QAAQ,CAAC6B,+BAA+B,CAAC;EAC3C,CAAC;AAED,EAAA,IAAME,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAMnB;AAAA,IAAA,IAAAC,KAAA,GAAAvD,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAP,EAAE;MALJgD,EAAE,GAAAO,KAAA,CAAFP,EAAE;MACF/E,QAAQ,GAAAsF,KAAA,CAARtF,QAAQ;MACRC,mBAAmB,GAAAqF,KAAA,CAAnBrF,mBAAmB;MAAAsF,mBAAA,GAAAD,KAAA,CACnBpF,aAAa;AAAbA,MAAAA,aAAa,GAAAqF,mBAAA,KAAA,MAAA,GAAG,CAACpF,4BAA4B,CAAC,GAAAoF,mBAAA;MAC9CnF,IAAI,GAAAkF,KAAA,CAAJlF,IAAI;IAEJ,IAAM0B,QAAQ,GAAGgD,MAAM,CAAC;AAAEC,MAAAA,EAAE,EAAFA;KAAI,EAAER,SAAS,CAAC;AAC1C,IAAA,IAAMiB,UAAU,GACd5D,SAAS,CAAC5B,QAAQ,CAAC,IACnB4B,SAAS,CAACwD,wBAAwB,CAAClF,aAAa,CAAC,CAAC,IAClDmC,eAAe,CAACjC,IAAI,CAAC;AAEvB,IAAA,IAAMqF,8BAA8B,GAAG,EACrCC,cAAc,CAAC5D,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE9B,QAAQ,EAAEA,QAAQ,CAAC,IAC5C6B,cAAc,CAAC5B,mBAAmB,EAAEC,aAAa,EAAE4B,QAAQ,CAAC,IAC5DM,MAAM,CAACN,QAAQ,KAAA,IAAA,IAARA,QAAQ,uBAARA,QAAQ,CAAE1B,IAAI,EAAEA,IAAI,CAAC,CAC7B;IAED,OAAOoF,UAAU,IAAIC,8BAA8B;EACrD,CAAC;AAED,EAAA,IAAME,0BAA0B,GAAG/D,SAAS,CAAC2C,SAAS,CAAC;AAEvD,EAAA,IAAAqB,qBAAA,GAIIC,qBAAqB,CAACjC,gBAAgB,CAAC;IAH9BkC,yBAAyB,GAAAF,qBAAA,CAApCG,SAAS;IACMC,6BAA6B,GAAAJ,qBAAA,CAA5C1F,aAAa;IACP+F,oBAAoB,GAAAL,qBAAA,CAA1BxF,IAAI;AAGN,EAAA,IAAIoE,kBAAkB,EAAE;AACtB,IAAA,oBACE3B,GAAA,CAAA,KAAA,EAAA;AAAKqD,MAAAA,SAAS,EAAC,gDAAgD;AAAAjD,MAAAA,QAAA,eAC7DJ,GAAA,CAACsD,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEC,IAAA,CAAAC,QAAA,EAAA;AAAApD,IAAAA,QAAA,EAAA,cACEJ,GAAA,CAACC,KAAK,CAACwD,MAAM,EAAA;AAAArD,MAAAA,QAAA,eACXmD,IAAA,CAACtD,KAAK,CAACyD,KAAK,EAAA;QAAAtD,QAAA,EAAA,CACTpC,CAAC,CAAC,oCAAoC,CAAC,eACxCgC,GAAA,CAAC2D,WAAW,EAAArD,aAAA,CAAA;AAAC+C,UAAAA,SAAS,EAAC;SAAM,EAAKJ,yBAAyB,CAAG,CAAC;OACpD;AAAC,KACF,CAAC,eACfjD,GAAA,CAAC4D,IAAW,EAAA;AACVC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAE5G,+BAA+B;AAC9C6G,QAAAA,gBAAgB,EAAErG,kCAAkC;AACpD+C,QAAAA,QAAQ,EAAE2B;OACV;MAAAhC,QAAA,EAED,SAAAA,QAAAA,CAAA4D,KAAA,EAAA;AAAA,QAAA,IAAGjC,MAAM,GAAAiC,KAAA,CAANjC,MAAM;UAAED,SAAS,GAAAkC,KAAA,CAATlC,SAAS;QAAA,oBACnByB,IAAA,CAAAC,QAAA,EAAA;AAAApD,UAAAA,QAAA,EAAA,cACEJ,GAAA,CAACC,KAAK,CAACgE,IAAI,EAAA;AAAA7D,YAAAA,QAAA,eACTmD,IAAA,CAAA,KAAA,EAAA;AAAKF,cAAAA,SAAS,EAAC,wBAAwB;AAAAjD,cAAAA,QAAA,EAAA,CACpC0C,0BAA0B,iBACzB9C,GAAA,CAACkE,MAAM,EAAA;AACLC,gBAAAA,KAAK,EAAEnG,CAAC,CAAC,qCAAqC,CAAE;AAChDoG,gBAAAA,GAAG,EAAEtE,aAAc;gBACnBuE,OAAO,EAAEC,UAAU,CACjB;AAAEC,kBAAAA,IAAI,EAAE,OAAO;AAAErC,kBAAAA,EAAE,EAAE;iBAAS,EAC9BR,SACF,CAAE;AACF8C,gBAAAA,WAAW,EAAExG,CAAC,CACZ,iDACF,CAAE;AACFyG,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzC,UAAU,EAAA;AAAA,kBAAA,OAClBH,oBAAoB,CAACC,SAAS,EAAEC,MAAM,EAAEC,UAAU,CAAC;AAAA,gBAAA;AACpD,eACF,CACF,eACDhC,GAAA,CAAC0E,KAAK,EAAA;gBACJ3G,QAAQ,EAAA,IAAA;AACRoG,gBAAAA,KAAK,EAAEnG,CAAC,CAAC,mCAAmC,CAAE;AAC9CuG,gBAAAA,IAAI,EAAC,UAAU;AACfC,gBAAAA,WAAW,EAAEG,UAAW;AACxBP,gBAAAA,GAAG,EAAEtB,0BAA0B,GAAG,IAAI,GAAGhD;AAAc,eACxD,CAAC,eACFE,GAAA,CAAC4E,aAAa,EAAA;AACZ7D,gBAAAA,gBAAgB,EAAEoC;AAA8B,eACjD,CAAC,eACFnD,GAAA,CAAC6E,UAAU,EAAA;AACHlE,gBAAAA,iBAAiB,EAAjBA,iBAAiB;AACvBI,gBAAAA,gBAAgB,EAAEqC,oBAAqB;gBACvC0B,YAAY,EAAE/C,MAAM,CAACxE,IAAK;AAC1BgH,gBAAAA,IAAI,EAAC;AAAM,eACZ,CAAC,EACD1D,kBAAkB,IAAI2B,wBAAwB,CAACT,MAAM,CAAC,iBACrD/B,GAAA,CAAC+E,cAAc,IAAE,CAClB;aACE;AAAC,WACI,CAAC,eACb/E,GAAA,CAACC,KAAK,CAAC+E,MAAM,EAAA;YAAA5E,QAAA,eACXJ,GAAA,CAACiF,WAAW,EAAA;AACJvE,cAAAA,YAAY,EAAZA,YAAY;AAClBwE,cAAAA,iBAAiB,EAAE;AACjBC,gBAAAA,OAAO,EAAEtF,OAAO;AAChB,gBAAA,aAAa,EAAE;eACf;AACFuF,cAAAA,iBAAiB,EAAE;AACjBjB,gBAAAA,KAAK,EAAEnG,CAAC,CAAC,oCAAoC,CAAC;AAC9C,gBAAA,aAAa,EAAE;AACjB;aACD;AAAC,WACU,CAAC;AAAA,SACf,CAAC;AAAA,MAAA;AACJ,KACU,CAAC;AAAA,GACd,CAAC;AAEP,CAAC;;;;"}
@@ -0,0 +1,48 @@
1
+ export { default as MessageTemplates } from './MessageTemplates.js';
2
+ export { default as SendMessagePane } from './SendMessagePane.js';
3
+ export { default as ApiTemplates } from './ApiTemplates.js';
4
+ export { default as SendToApiPane } from './SendToApiPane.js';
5
+ import '@babel/runtime/helpers/defineProperty';
6
+ import '@babel/runtime/helpers/slicedToArray';
7
+ import 'react';
8
+ import '@bigbinary/neeto-atoms';
9
+ import '@bigbinary/neeto-cist';
10
+ import '@bigbinary/neeto-filters-frontend/Bar';
11
+ import '@bigbinary/neeto-molecules/v2/Container';
12
+ import '@bigbinary/neeto-molecules/v2/Header';
13
+ import '@bigbinary/neeto-molecules/v2/SubHeader';
14
+ import 'ramda';
15
+ import 'react-i18next';
16
+ import '../adaptive_input-BpXdshqg.js';
17
+ import '@bigbinary/neeto-commons-frontend/react-utils';
18
+ import 'zustand';
19
+ import '../inject-css-C2dztUxs.js';
20
+ import '../constants-CX95xIS-.js';
21
+ import 'i18next';
22
+ import '@bigbinary/neeto-commons-frontend/v2/constants';
23
+ import '@bigbinary/neeto-molecules/v2/MoreDropdown';
24
+ import '../useTemplatesApi-CMkDeBa9.js';
25
+ import '@tanstack/react-query';
26
+ import 'axios';
27
+ import 'qs';
28
+ import 'react/jsx-runtime';
29
+ import '@bigbinary/neeto-atoms/formik';
30
+ import '@bigbinary/neeto-editor/FormikEditor';
31
+ import '@babel/runtime/helpers/objectWithoutProperties';
32
+ import 'formik';
33
+ import '@bigbinary/neeto-molecules/v2/PhoneNumber';
34
+ import 'yup';
35
+ import '@babel/runtime/helpers/asyncToGenerator';
36
+ import '@babel/runtime/helpers/toConsumableArray';
37
+ import '@bigbinary/neeto-commons-frontend/v2/react-utils';
38
+ import '@bigbinary/neeto-filters-frontend/utils';
39
+ import '@bigbinary/neeto-molecules/v2/TableWrapper';
40
+ import '../utils-BGEmI_om.js';
41
+ import '../JsonEditor-BHy4s0Bo.js';
42
+ import '@bigbinary/neeto-icons/Delete';
43
+ import '@monaco-editor/react';
44
+ import '@bigbinary/neeto-icons/Help';
45
+ import '@bigbinary/neeto-molecules/v2/DynamicVariables';
46
+ import '../json_editor-Co5e3Chh.js';
47
+ import '@bigbinary/neeto-molecules/v2/HelpPopover';
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-message-templates-frontend",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
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",
@@ -45,39 +45,49 @@
45
45
  "require": "./dist/cjs/index.js",
46
46
  "types": "./types.d.ts"
47
47
  },
48
+ "./v2": {
49
+ "import": "./dist/v2/index.js",
50
+ "require": "./dist/cjs/v2/index.js",
51
+ "types": "./types.d.ts"
52
+ },
48
53
  "./*": {
49
54
  "import": "./dist/*.js",
50
55
  "require": "./dist/cjs/*.js",
51
56
  "types": "./types.d.ts"
57
+ },
58
+ "./v2/*": {
59
+ "import": "./dist/v2/*.js",
60
+ "require": "./dist/cjs/v2/*.js",
61
+ "types": "./types.d.ts"
52
62
  }
53
63
  },
54
64
  "devDependencies": {
55
- "@babel/core": "7.26.0",
65
+ "@babel/core": "7.29.7",
56
66
  "@babel/eslint-parser": "7.25.9",
57
67
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
58
68
  "@babel/plugin-transform-runtime": "7.25.9",
59
69
  "@babel/preset-env": "7.26.0",
60
70
  "@babel/preset-react": "7.25.9",
61
71
  "@babel/preset-typescript": "7.26.0",
62
- "@babel/runtime": "7.26.10",
72
+ "@babel/runtime": "7.29.7",
63
73
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
- "@bigbinary/eslint-plugin-neeto": "1.8.1",
74
+ "@bigbinary/eslint-plugin-neeto": "1.9.1",
75
+ "@bigbinary/neeto-atoms": "^1.0.99",
65
76
  "@bigbinary/neeto-cist": "1.0.17",
66
- "@bigbinary/neeto-commons-frontend": "4.13.105",
67
- "@bigbinary/neeto-editor": "1.47.90",
68
- "@bigbinary/neeto-filters-frontend": "4.3.31",
69
- "@bigbinary/neeto-icons": "1.20.80",
70
- "@bigbinary/neeto-molecules": "4.1.10",
71
- "@bigbinary/neeto-team-members-frontend": "5.0.19",
72
- "@bigbinary/neetoui": "8.3.75",
77
+ "@bigbinary/neeto-commons-frontend": "4.13.147",
78
+ "@bigbinary/neeto-editor": "1.47.123",
79
+ "@bigbinary/neeto-filters-frontend": "4.3.42",
80
+ "@bigbinary/neeto-icons": "1.20.89",
81
+ "@bigbinary/neeto-molecules": "5.2.17",
82
+ "@bigbinary/neetoui": "8.8.3",
73
83
  "@emotion/is-prop-valid": "1.2.0",
74
84
  "@faker-js/faker": "8.2.0",
75
85
  "@honeybadger-io/js": "6.10.1",
76
86
  "@honeybadger-io/react": "6.1.25",
77
87
  "@monaco-editor/react": "^4.7.0",
78
88
  "@rollup/plugin-alias": "5.1.1",
79
- "@rollup/plugin-babel": "6.0.4",
80
- "@rollup/plugin-commonjs": "25.0.7",
89
+ "@rollup/plugin-babel": "6.1.0",
90
+ "@rollup/plugin-commonjs": "25.0.8",
81
91
  "@rollup/plugin-json": "6.1.0",
82
92
  "@rollup/plugin-node-resolve": "15.3.0",
83
93
  "@rollup/plugin-replace": "5.0.4",
@@ -88,12 +98,12 @@
88
98
  "@tanstack/react-query-devtools": "5.59.20",
89
99
  "antd": "5.22.1",
90
100
  "autoprefixer": "^10.4.5",
91
- "axios": "1.13.5",
101
+ "axios": "1.18.0",
92
102
  "babel-loader": "^8.2.5",
93
103
  "babel-plugin-istanbul": "^6.1.1",
94
104
  "babel-plugin-js-logger": "1.0.17",
95
105
  "babel-plugin-macros": "3.1.0",
96
- "babel-plugin-module-resolver": "^5.0.0",
106
+ "babel-plugin-module-resolver": "5.0.3",
97
107
  "babel-plugin-preval": "^5.1.0",
98
108
  "babel-plugin-transform-react-remove-prop-types": "0.4.24",
99
109
  "babel-preset-react": "6.24.1",
@@ -103,7 +113,7 @@
103
113
  "classnames": "2.5.1",
104
114
  "crypto-browserify": "3.12.1",
105
115
  "css-loader": "^6.7.1",
106
- "dompurify": "^3.2.4",
116
+ "dompurify": "3.4.11",
107
117
  "dotenv-webpack": "^8.0.1",
108
118
  "eslint": "^9.25.1",
109
119
  "eslint-config-prettier": "^10.1.2",
@@ -116,7 +126,7 @@
116
126
  "eslint-plugin-react": "^7.37.5",
117
127
  "eslint-plugin-react-hooks": "^5.2.0",
118
128
  "eslint-plugin-security": "^3.0.1",
119
- "eslint-plugin-sonarjs": "^3.0.2",
129
+ "eslint-plugin-sonarjs": "^4.0.2",
120
130
  "eslint-plugin-unused-imports": "^4.1.4",
121
131
  "eslint-plugin-xss": "^0.1.12",
122
132
  "formik": "2.4.6",
@@ -133,14 +143,14 @@
133
143
  "mixpanel-browser": "2.46.0",
134
144
  "os-browserify": "0.3.0",
135
145
  "path-browserify": "^1.0.1",
136
- "postcss": "8.4.49",
146
+ "postcss": "8.5.15",
137
147
  "postcss-import": "^15.0.0",
138
148
  "postcss-loader": "^7.0.1",
139
149
  "postcss-preset-env": "7.8.2",
140
150
  "prettier": "3",
141
151
  "prettier-plugin-tailwindcss": "^0.7.1",
142
152
  "process": "^0.11.10",
143
- "qs": "6.15.0",
153
+ "qs": "6.15.2",
144
154
  "ramda": "0.29.0",
145
155
  "react": "18.3.1",
146
156
  "react-dom": "18.3.1",
@@ -148,14 +158,13 @@
148
158
  "react-i18next": "12.3.1",
149
159
  "react-router-dom": "5.3.3",
150
160
  "react-toastify": "8.0.2",
151
- "react_ujs": "^3.1.1",
152
- "rollup": "4.25.0",
161
+ "rollup": "4.59.0",
153
162
  "rollup-plugin-analyzer": "4.0.0",
154
163
  "rollup-plugin-cleaner": "1.0.0",
155
164
  "rollup-plugin-copy": "3.5.0",
156
165
  "rollup-plugin-peer-deps-external": "2.2.4",
157
166
  "rollup-plugin-styles": "4.0.0",
158
- "sass": "1.89.0",
167
+ "sass": "1.98.0",
159
168
  "sass-loader": "^13.0.2",
160
169
  "source-map-loader": "4.0.1",
161
170
  "stream-browserify": "^3.0.0",
@@ -163,7 +172,7 @@
163
172
  "style-loader": "^3.3.1",
164
173
  "tailwindcss": "^4.1.17",
165
174
  "tty-browserify": "0.0.1",
166
- "url": "^0.11.0",
175
+ "url": "0.11.4",
167
176
  "util": "^0.12.5",
168
177
  "vm-browserify": "1.1.2",
169
178
  "webpack": "5.104.1",
@@ -175,15 +184,15 @@
175
184
  },
176
185
  "peerDependencies": {
177
186
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
178
- "@babel/runtime": "7.26.10",
187
+ "@babel/runtime": "7.29.7",
188
+ "@bigbinary/neeto-atoms": "^1.0.99",
179
189
  "@bigbinary/neeto-cist": "1.0.17",
180
- "@bigbinary/neeto-commons-frontend": "4.13.105",
181
- "@bigbinary/neeto-editor": "1.47.90",
182
- "@bigbinary/neeto-filters-frontend": "4.3.31",
183
- "@bigbinary/neeto-icons": "1.20.80",
184
- "@bigbinary/neeto-molecules": "4.1.10",
185
- "@bigbinary/neeto-team-members-frontend": "5.0.19",
186
- "@bigbinary/neetoui": "8.3.75",
190
+ "@bigbinary/neeto-commons-frontend": "4.13.147",
191
+ "@bigbinary/neeto-editor": "1.47.123",
192
+ "@bigbinary/neeto-filters-frontend": "4.3.42",
193
+ "@bigbinary/neeto-icons": "1.20.89",
194
+ "@bigbinary/neeto-molecules": "5.2.17",
195
+ "@bigbinary/neetoui": "8.8.3",
187
196
  "@honeybadger-io/js": "6.10.1",
188
197
  "@honeybadger-io/react": "6.1.25",
189
198
  "@monaco-editor/react": "^4.7.0",
@@ -191,11 +200,11 @@
191
200
  "@tanstack/react-query": "5.59.20",
192
201
  "@tanstack/react-query-devtools": "5.59.20",
193
202
  "antd": "5.22.1",
194
- "axios": "1.13.5",
203
+ "axios": "1.18.0",
195
204
  "buffer": "^6.0.3",
196
205
  "classnames": "2.5.1",
197
206
  "crypto-browserify": "3.12.1",
198
- "dompurify": "^3.2.4",
207
+ "dompurify": "3.4.11",
199
208
  "formik": "2.4.6",
200
209
  "https-browserify": "1.0.0",
201
210
  "i18next": "22.5.1",
@@ -203,7 +212,7 @@
203
212
  "mixpanel-browser": "^2.45.0",
204
213
  "os-browserify": "0.3.0",
205
214
  "path-browserify": "^1.0.1",
206
- "qs": "6.15.0",
215
+ "qs": "6.15.2",
207
216
  "ramda": "0.29.0",
208
217
  "react": "18.3.1",
209
218
  "react-dom": "18.3.1",
@@ -216,7 +225,7 @@
216
225
  "stream-http": "3.2.0",
217
226
  "tailwindcss": "^4.1.17",
218
227
  "tty-browserify": "0.0.1",
219
- "url": "^0.11.0",
228
+ "url": "0.11.4",
220
229
  "util": "^0.12.5",
221
230
  "vm-browserify": "1.1.2",
222
231
  "yup": "0.32.11",
@@ -1,4 +0,0 @@
1
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
2
-
3
- export { n };
4
- //# sourceMappingURL=inject-css-DmrvuTKK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inject-css-DmrvuTKK.js","sources":["../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":[],"mappings":"AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;","x_google_ignoreList":[0]}