@bigbinary/neeto-message-templates-frontend 1.3.7 → 1.3.9

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-D7y24q1q.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\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});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\", labelProps = {} }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label {...labelProps}>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_ref$labelProps","labelProps","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","_objectSpread","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { t } from 'i18next';
2
2
  import * as yup from 'yup';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
4
  import { FieldArray } from 'formik';
4
5
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
5
6
  import Delete from '@bigbinary/neeto-icons/Delete';
@@ -86,11 +87,15 @@ var isKeyOrValueNotEmpty = whereAny({
86
87
  value: isNotEmpty
87
88
  });
88
89
 
90
+ 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; }
91
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).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; }
89
92
  var KeyValuePairs = withT(function (_ref) {
90
93
  var t = _ref.t,
91
94
  name = _ref.name,
92
95
  _ref$label = _ref.label,
93
- label = _ref$label === void 0 ? "" : _ref$label;
96
+ label = _ref$label === void 0 ? "" : _ref$label,
97
+ _ref$labelProps = _ref.labelProps,
98
+ labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
94
99
  return /*#__PURE__*/jsx(FieldArray, {
95
100
  name: name,
96
101
  children: function children(arrayHelpers) {
@@ -98,9 +103,9 @@ var KeyValuePairs = withT(function (_ref) {
98
103
  var showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);
99
104
  return /*#__PURE__*/jsxs("div", {
100
105
  className: "space-y-2",
101
- children: [/*#__PURE__*/jsx(Label, {
106
+ children: [/*#__PURE__*/jsx(Label, _objectSpread(_objectSpread({}, labelProps), {}, {
102
107
  children: label
103
- }), data.map(function (_, index) {
108
+ })), data.map(function (_, index) {
104
109
  return /*#__PURE__*/jsxs("div", {
105
110
  className: "flex h-8 space-x-3",
106
111
  children: [/*#__PURE__*/jsx(Input, {
@@ -148,4 +153,4 @@ var rejectEmptyKeyValuePairs = reject(whereAny({
148
153
  }));
149
154
 
150
155
  export { API_TEMPLATE_INITIAL_VALUES as A, FILTER_COLUMNS as F, KeyValuePairs as K, SAMPLE_URL as S, TEMPLATE_STATUS as T, VALID_URL_REGEX as V, ADDITIONAL_DATA_INITIAL_VALUE as a, API_TEMPLATE_TYPE as b, API_TEMPLATE_FORM_VALIDATION_SCHEMA as c, rejectEmptyKeyValuePairs as r };
151
- //# sourceMappingURL=utils-BUob2F8X.js.map
156
+ //# sourceMappingURL=utils-oljkG5EG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-oljkG5EG.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\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});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\", labelProps = {} }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label {...labelProps}>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_ref$labelProps","labelProps","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","_objectSpread","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":";;;;;;;;;;;;;AAAO,IAAMA,eAAe,GAC1B;AAEK,IAAMC,6BAA6B,GAAG;AAAEC,EAAAA,GAAG,EAAE,EAAE;AAAEC,EAAAA,KAAK,EAAE;AAAG;AAE3D,IAAMC,iBAAiB,GAAG;;ACGA,CAC/B;AACEC,EAAAA,SAAS,EAAE,MAAM;AACjBH,EAAAA,GAAG,EAAE,MAAM;EACXI,KAAK,EAAEC,CAAC,CAAC,oCAAoC;AAC/C,CAAC,EACD;AACEF,EAAAA,SAAS,EAAE,QAAQ;AACnBH,EAAAA,GAAG,EAAE,QAAQ;AACbI,EAAAA,KAAK,EAAEC,CAAC,CAAC,sCAAsC,CAAC;AAChDC,EAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEC,MAAM,EAAA;AAAA,IAAA,OACZA,MAAM,KAAK,QAAQ,GACfF,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,yBAAyB,CAAC;AAAA,GAAA;AAClCG,EAAAA,KAAK,EAAE;AACT,CAAC;AAGI,IAAMC,cAAc,GAAG,CAC5B;AACET,EAAAA,GAAG,EAAE,MAAM;AACXU,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAEN,CAAC,CAAC,oCAAoC,CAAC;AAC9CO,EAAAA,IAAI,EAAE;AACR,CAAC,EACD;AACEZ,EAAAA,GAAG,EAAE,QAAQ;AACbU,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAC;AAChDO,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,MAAM,EAAE,CACN;AAAEF,IAAAA,KAAK,EAAEN,CAAC,CAAC,0BAA0B,CAAC;AAAEJ,IAAAA,KAAK,EAAE;AAAS,GAAC,EACzD;AAAEU,IAAAA,KAAK,EAAEN,CAAC,CAAC,yBAAyB,CAAC;AAAEJ,IAAAA,KAAK,EAAE;GAAY;AAE9D,CAAC;AAGI,IAAMa,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,CAAClB,6BAA6B;AAChD;AAEO,IAAMmB,UAAU,GAAG;IAEbC,mCAAmC,GAAGC,GAAG,CAACC,MAAM,CAAC;AAC5DN,EAAAA,IAAI,EAAEK,GAAG,CACNE,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CAACnB,CAAC,CAAC,uDAAuD,CAAC,CAAC;EACvEW,QAAQ,EAAEI,GAAG,CACVE,MAAM,EAAE,CACRE,QAAQ,CAACnB,CAAC,CAAC,sDAAsD,CAAC,CAAC,CACnEoB,OAAO,CACN3B,eAAe,EACfO,CAAC,CAAC,mDAAmD,CACvD,CAAC;AACHY,EAAAA,cAAc,EAAEG,GAAG,CAChBM,KAAK,EAAE,CACPC,EAAE,CAACP,GAAG,CAACC,MAAM,CAAC;AAAErB,IAAAA,GAAG,EAAEoB,GAAG,CAACE,MAAM,EAAE;AAAErB,IAAAA,KAAK,EAAEmB,GAAG,CAACE,MAAM;AAAG,GAAC,CAAC;AAC9D,CAAC;AAEM,IAAMM,eAAe,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,QAAQ,EAAE;AAAW;;ACjEjE,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAsC;AAAA,EAAA,IAAhCC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;AACtD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrBH,IAAAA,YAAY,CAACI,MAAM,CAACH,KAAK,CAAC;AAC1BD,IAAAA,YAAY,CAACK,IAAI,CAACvC,6BAA6B,CAAC;AAEhD,IAAA;AACF;AAEAkC,EAAAA,YAAY,CAACI,MAAM,CAACH,KAAK,CAAC;AAC5B,CAAC;AAEM,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAGN,YAAY,EAAA;AAAA,EAAA,OACnCA,YAAY,CAACK,IAAI,CAACvC,6BAA6B,CAAC;AAAA,CAAA;AAE3C,IAAMyC,oBAAoB,GAAGC,QAAQ,CAAC;AAC3CzC,EAAAA,GAAG,EAAE0C,UAAU;AACfzC,EAAAA,KAAK,EAAEyC;AACT,CAAC,CAAC;;;;ACdF,IAAMC,aAAa,GAAGC,KAAK,CAAC,UAAAZ,IAAA,EAAA;AAAA,EAAA,IAAG3B,CAAC,GAAA2B,IAAA,CAAD3B,CAAC;IAAEU,IAAI,GAAAiB,IAAA,CAAJjB,IAAI;IAAA8B,UAAA,GAAAb,IAAA,CAAErB,KAAK;AAALA,IAAAA,KAAK,GAAAkC,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,eAAA,GAAAd,IAAA,CAAEe,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,eAAA;EAAA,oBACjEE,GAAA,CAACC,UAAU,EAAA;AAAOlC,IAAAA,IAAI,EAAJA,IAAI;AAAAmC,IAAAA,QAAA,EACnB,SAAAA,QAAAjB,CAAAA,YAAY,EAAI;MACf,IAAME,IAAI,GAAGF,YAAY,CAACkB,IAAI,CAACtC,MAAM,CAACE,IAAI,CAAC;AAE3C,MAAA,IAAMqC,gBAAgB,GAAGjB,IAAI,CAACC,MAAM,GAAG,CAAC,IAAII,oBAAoB,CAACL,IAAI,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAA,oBACEkB,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,WAAW;QAAAJ,QAAA,EAAA,cACxBF,GAAA,CAACO,KAAK,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKT,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAG,UAAAA,QAAA,EAAGvC;SAAa,CAAA,CAAC,EACrCwB,IAAI,CAACsB,GAAG,CAAC,UAACC,CAAC,EAAExB,KAAK,EAAA;AAAA,UAAA,oBACjBmB,IAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,oBAAoB;YAAAJ,QAAA,EAAA,cACjCF,GAAA,CAACW,KAAK,EAAA;AACJL,cAAAA,SAAS,EAAC,OAAO;cACjB,SAAAM,EAAAA,YAAAA,CAAAA,MAAA,CAAsB1B,KAAK,CAAG;cAC9BnB,IAAI,EAAA,EAAA,CAAA6C,MAAA,CAAK7C,IAAI,OAAA6C,MAAA,CAAI1B,KAAK,EAAO,MAAA,CAAA;cAC7B2B,WAAW,EAAExD,CAAC,CAAC,8BAA8B;AAAE,aAChD,CAAC,eACF2C,GAAA,CAACW,KAAK,EAAA;AACJL,cAAAA,SAAS,EAAC,OAAO;cACjB,SAAAM,EAAAA,cAAAA,CAAAA,MAAA,CAAwB1B,KAAK,CAAG;cAChCnB,IAAI,EAAA,EAAA,CAAA6C,MAAA,CAAK7C,IAAI,OAAA6C,MAAA,CAAI1B,KAAK,EAAS,QAAA,CAAA;AAC/B2B,cAAAA,WAAW,EAAExD,CAAC,CAAC,gCAAgC,CAAE;AACjDyD,cAAAA,MAAM,EACJV,gBAAgB,iBACdJ,GAAA,CAACe,MAAM,EAAA;gBACL,SAAAH,EAAAA,wBAAAA,CAAAA,MAAA,CAAkC1B,KAAK,CAAG;AAC1C8B,gBAAAA,IAAI,EAAEC,MAAO;AACbC,gBAAAA,IAAI,EAAC,OAAO;AACZC,gBAAAA,KAAK,EAAC,MAAM;gBACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,kBAAA,OACLrC,YAAY,CAAC;AAAEE,oBAAAA,YAAY,EAAZA,YAAY;AAAEC,oBAAAA,KAAK,EAALA,KAAK;AAAEC,oBAAAA,IAAI,EAAJA;AAAK,mBAAC,CAAC;AAAA;eAE9C;AAEJ,aACF,CAAC;AAAA,WAAA,EAzBqCD,KA0BpC,CAAC;AAAA,SACP,CAAC,eACFc,GAAA,CAACe,MAAM,EAAA;AACLT,UAAAA,SAAS,EAAC,uBAAuB;AACjC,UAAA,SAAA,EAAQ,2BAA2B;AACnC3C,UAAAA,KAAK,EAAEN,CAAC,CAAC,0CAA0C,CAAE;AACrD8D,UAAAA,KAAK,EAAC,WAAW;UACjBC,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ7B,SAAS,CAACN,YAAY,CAAC;AAAA;AAAC,SACxC,CAAC;AAAA,OACC,CAAC;AAEV;AAAC,GACS,CAAC;AAAA,CACd;;ICxDYoC,wBAAwB,GAAGC,MAAM,CAC5C7B,QAAQ,CAAC;AAAEzC,EAAAA,GAAG,EAAEuE,OAAO;AAAEtE,EAAAA,KAAK,EAAEsE;AAAQ,CAAC,CAC3C;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-message-templates-frontend",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
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",
@@ -59,17 +59,17 @@
59
59
  "@babel/preset-env": "7.26.0",
60
60
  "@babel/preset-react": "7.25.9",
61
61
  "@babel/preset-typescript": "7.26.0",
62
- "@babel/runtime": "7.26.0",
62
+ "@babel/runtime": "7.26.10",
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
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",
64
+ "@bigbinary/eslint-plugin-neeto": "1.5.8",
65
+ "@bigbinary/neeto-cist": "1.0.17",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.30",
67
+ "@bigbinary/neeto-editor": "1.46.0",
68
+ "@bigbinary/neeto-filters-frontend": "4.3.19",
69
+ "@bigbinary/neeto-icons": "1.20.41",
70
+ "@bigbinary/neeto-molecules": "3.16.29",
71
+ "@bigbinary/neeto-team-members-frontend": "4.5.6",
72
+ "@bigbinary/neetoui": "8.3.0",
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",
@@ -86,7 +86,7 @@
86
86
  "@tanstack/react-query-devtools": "5.59.20",
87
87
  "antd": "5.22.0",
88
88
  "autoprefixer": "^10.4.5",
89
- "axios": "1.7.7",
89
+ "axios": "1.8.2",
90
90
  "babel-loader": "^8.2.5",
91
91
  "babel-plugin-istanbul": "^6.1.1",
92
92
  "babel-plugin-js-logger": "1.0.17",
@@ -101,7 +101,7 @@
101
101
  "classnames": "2.5.1",
102
102
  "crypto-browserify": "3.12.1",
103
103
  "css-loader": "^6.7.1",
104
- "dompurify": "^2.4.0",
104
+ "dompurify": "^3.2.4",
105
105
  "dotenv-webpack": "^8.0.1",
106
106
  "eslint": "8.14.0",
107
107
  "eslint-config-prettier": "8.5.0",
@@ -168,30 +168,30 @@
168
168
  "webpack-cli": "4.10.0",
169
169
  "webpack-dev-server": "^4.15.0",
170
170
  "yup": "0.32.11",
171
- "zustand": "4.3.2"
171
+ "zustand": "4.4.2"
172
172
  },
173
173
  "peerDependencies": {
174
174
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
175
- "@babel/runtime": "7.26.0",
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",
175
+ "@babel/runtime": "7.26.10",
176
+ "@bigbinary/neeto-cist": "1.0.17",
177
+ "@bigbinary/neeto-commons-frontend": "4.13.30",
178
+ "@bigbinary/neeto-editor": "1.46.0",
179
+ "@bigbinary/neeto-filters-frontend": "4.3.19",
180
+ "@bigbinary/neeto-icons": "1.20.41",
181
+ "@bigbinary/neeto-molecules": "3.16.29",
182
+ "@bigbinary/neeto-team-members-frontend": "4.5.6",
183
+ "@bigbinary/neetoui": "8.3.0",
184
184
  "@honeybadger-io/js": "6.10.1",
185
185
  "@honeybadger-io/react": "6.1.25",
186
186
  "@tailwindcss/container-queries": "^0.1.1",
187
187
  "@tanstack/react-query": "5.59.20",
188
188
  "@tanstack/react-query-devtools": "5.59.20",
189
189
  "antd": "5.22.0",
190
- "axios": "1.7.7",
190
+ "axios": "1.8.2",
191
191
  "buffer": "^6.0.3",
192
192
  "classnames": "2.5.1",
193
193
  "crypto-browserify": "3.12.1",
194
- "dompurify": "^2.4.0",
194
+ "dompurify": "^3.2.4",
195
195
  "formik": "2.4.6",
196
196
  "https-browserify": "1.0.0",
197
197
  "i18next": "22.5.1",
@@ -216,7 +216,7 @@
216
216
  "util": "^0.12.5",
217
217
  "vm-browserify": "1.1.2",
218
218
  "yup": "0.32.11",
219
- "zustand": "4.3.2"
219
+ "zustand": "4.4.2"
220
220
  },
221
221
  "resolutions": {
222
222
  "postcss": "^8",
package/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { ReactNode } from "react";
2
2
 
3
- import { PopoverProps } from "@bigbinary/neetoui";
3
+ import { PopoverProps, ButtonProps } from "@bigbinary/neetoui";
4
4
 
5
5
  type Breadcrumb = {
6
6
  text: string;
@@ -12,6 +12,20 @@ type TemplateVariables = {
12
12
  label: string;
13
13
  };
14
14
 
15
+ interface SendToApiHelpPopoverProps {
16
+ sendToApi?: {
17
+ title?: string;
18
+ description?: React.ReactNode;
19
+ helpLinkProps?: ButtonProps;
20
+ popoverProps?: PopoverProps;
21
+ },
22
+ additionalData?: {
23
+ title?: string;
24
+ description?: React.ReactNode;
25
+ helpLinkProps?: ButtonProps;
26
+ } & PopoverProps;
27
+ }
28
+
15
29
  interface MessageTemplatesProps {
16
30
  breadcrumbs?: Breadcrumb[];
17
31
  type?: string;
@@ -54,6 +68,7 @@ interface SendToApiPaneProps {
54
68
  onSubmit?: (values: { [key: string]: any }) => void;
55
69
  isSubmitting?: boolean;
56
70
  canManageTemplates?: boolean;
71
+ helpPopoverProps?: SendToApiHelpPopoverProps;
57
72
  }
58
73
 
59
74
  export const MessageTemplates = React.FC<MessageTemplatesProps>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-BUob2F8X.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\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});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":";;;;;;;;;;;;AAAO,IAAMA,eAAe,GAC1B;AAEK,IAAMC,6BAA6B,GAAG;AAAEC,EAAAA,GAAG,EAAE,EAAE;AAAEC,EAAAA,KAAK,EAAE;AAAG;AAE3D,IAAMC,iBAAiB,GAAG;;ACGA,CAC/B;AACEC,EAAAA,SAAS,EAAE,MAAM;AACjBH,EAAAA,GAAG,EAAE,MAAM;EACXI,KAAK,EAAEC,CAAC,CAAC,oCAAoC;AAC/C,CAAC,EACD;AACEF,EAAAA,SAAS,EAAE,QAAQ;AACnBH,EAAAA,GAAG,EAAE,QAAQ;AACbI,EAAAA,KAAK,EAAEC,CAAC,CAAC,sCAAsC,CAAC;AAChDC,EAAAA,MAAM,EAAE,SAARA,MAAMA,CAAEC,MAAM,EAAA;AAAA,IAAA,OACZA,MAAM,KAAK,QAAQ,GACfF,CAAC,CAAC,0BAA0B,CAAC,GAC7BA,CAAC,CAAC,yBAAyB,CAAC;AAAA,GAAA;AAClCG,EAAAA,KAAK,EAAE;AACT,CAAC;AAGI,IAAMC,cAAc,GAAG,CAC5B;AACET,EAAAA,GAAG,EAAE,MAAM;AACXU,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAEN,CAAC,CAAC,oCAAoC,CAAC;AAC9CO,EAAAA,IAAI,EAAE;AACR,CAAC,EACD;AACEZ,EAAAA,GAAG,EAAE,QAAQ;AACbU,EAAAA,IAAI,EAAE,QAAQ;AACdC,EAAAA,KAAK,EAAEN,CAAC,CAAC,sCAAsC,CAAC;AAChDO,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,MAAM,EAAE,CACN;AAAEF,IAAAA,KAAK,EAAEN,CAAC,CAAC,0BAA0B,CAAC;AAAEJ,IAAAA,KAAK,EAAE;AAAS,GAAC,EACzD;AAAEU,IAAAA,KAAK,EAAEN,CAAC,CAAC,yBAAyB,CAAC;AAAEJ,IAAAA,KAAK,EAAE;GAAY;AAE9D,CAAC;AAGI,IAAMa,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,CAAClB,6BAA6B;AAChD;AAEO,IAAMmB,UAAU,GAAG;IAEbC,mCAAmC,GAAGC,GAAG,CAACC,MAAM,CAAC;AAC5DN,EAAAA,IAAI,EAAEK,GAAG,CACNE,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CAACnB,CAAC,CAAC,uDAAuD,CAAC,CAAC;EACvEW,QAAQ,EAAEI,GAAG,CACVE,MAAM,EAAE,CACRE,QAAQ,CAACnB,CAAC,CAAC,sDAAsD,CAAC,CAAC,CACnEoB,OAAO,CACN3B,eAAe,EACfO,CAAC,CAAC,mDAAmD,CACvD,CAAC;AACHY,EAAAA,cAAc,EAAEG,GAAG,CAChBM,KAAK,EAAE,CACPC,EAAE,CAACP,GAAG,CAACC,MAAM,CAAC;AAAErB,IAAAA,GAAG,EAAEoB,GAAG,CAACE,MAAM,EAAE;AAAErB,IAAAA,KAAK,EAAEmB,GAAG,CAACE,MAAM;AAAG,GAAC,CAAC;AAC9D,CAAC;AAEM,IAAMM,eAAe,GAAG;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,QAAQ,EAAE;AAAW;;ACjEjE,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAAsC;AAAA,EAAA,IAAhCC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;AACtD,EAAA,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;AACrBH,IAAAA,YAAY,CAACI,MAAM,CAACH,KAAK,CAAC;AAC1BD,IAAAA,YAAY,CAACK,IAAI,CAACvC,6BAA6B,CAAC;AAEhD,IAAA;AACF;AAEAkC,EAAAA,YAAY,CAACI,MAAM,CAACH,KAAK,CAAC;AAC5B,CAAC;AAEM,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAGN,YAAY,EAAA;AAAA,EAAA,OACnCA,YAAY,CAACK,IAAI,CAACvC,6BAA6B,CAAC;AAAA,CAAA;AAE3C,IAAMyC,oBAAoB,GAAGC,QAAQ,CAAC;AAC3CzC,EAAAA,GAAG,EAAE0C,UAAU;AACfzC,EAAAA,KAAK,EAAEyC;AACT,CAAC,CAAC;;ACdF,IAAMC,aAAa,GAAGC,KAAK,CAAC,UAAAZ,IAAA,EAAA;AAAA,EAAA,IAAG3B,CAAC,GAAA2B,IAAA,CAAD3B,CAAC;IAAEU,IAAI,GAAAiB,IAAA,CAAJjB,IAAI;IAAA8B,UAAA,GAAAb,IAAA,CAAErB,KAAK;AAALA,IAAAA,KAAK,GAAAkC,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;EAAA,oBAChDC,GAAA,CAACC,UAAU,EAAA;AAAOhC,IAAAA,IAAI,EAAJA,IAAI;AAAAiC,IAAAA,QAAA,EACnB,SAAAA,QAAAf,CAAAA,YAAY,EAAI;MACf,IAAME,IAAI,GAAGF,YAAY,CAACgB,IAAI,CAACpC,MAAM,CAACE,IAAI,CAAC;AAE3C,MAAA,IAAMmC,gBAAgB,GAAGf,IAAI,CAACC,MAAM,GAAG,CAAC,IAAII,oBAAoB,CAACL,IAAI,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAA,oBACEgB,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,WAAW;QAAAJ,QAAA,EAAA,cACxBF,GAAA,CAACO,KAAK,EAAA;AAAAL,UAAAA,QAAA,EAAErC;SAAa,CAAC,EACrBwB,IAAI,CAACmB,GAAG,CAAC,UAACC,CAAC,EAAErB,KAAK,EAAA;AAAA,UAAA,oBACjBiB,IAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,oBAAoB;YAAAJ,QAAA,EAAA,cACjCF,GAAA,CAACU,KAAK,EAAA;AACJJ,cAAAA,SAAS,EAAC,OAAO;cACjB,SAAAK,EAAAA,YAAAA,CAAAA,MAAA,CAAsBvB,KAAK,CAAG;cAC9BnB,IAAI,EAAA,EAAA,CAAA0C,MAAA,CAAK1C,IAAI,OAAA0C,MAAA,CAAIvB,KAAK,EAAO,MAAA,CAAA;cAC7BwB,WAAW,EAAErD,CAAC,CAAC,8BAA8B;AAAE,aAChD,CAAC,eACFyC,GAAA,CAACU,KAAK,EAAA;AACJJ,cAAAA,SAAS,EAAC,OAAO;cACjB,SAAAK,EAAAA,cAAAA,CAAAA,MAAA,CAAwBvB,KAAK,CAAG;cAChCnB,IAAI,EAAA,EAAA,CAAA0C,MAAA,CAAK1C,IAAI,OAAA0C,MAAA,CAAIvB,KAAK,EAAS,QAAA,CAAA;AAC/BwB,cAAAA,WAAW,EAAErD,CAAC,CAAC,gCAAgC,CAAE;AACjDsD,cAAAA,MAAM,EACJT,gBAAgB,iBACdJ,GAAA,CAACc,MAAM,EAAA;gBACL,SAAAH,EAAAA,wBAAAA,CAAAA,MAAA,CAAkCvB,KAAK,CAAG;AAC1C2B,gBAAAA,IAAI,EAAEC,MAAO;AACbC,gBAAAA,IAAI,EAAC,OAAO;AACZC,gBAAAA,KAAK,EAAC,MAAM;gBACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,kBAAA,OACLlC,YAAY,CAAC;AAAEE,oBAAAA,YAAY,EAAZA,YAAY;AAAEC,oBAAAA,KAAK,EAALA,KAAK;AAAEC,oBAAAA,IAAI,EAAJA;AAAK,mBAAC,CAAC;AAAA;eAE9C;AAEJ,aACF,CAAC;AAAA,WAAA,EAzBqCD,KA0BpC,CAAC;AAAA,SACP,CAAC,eACFY,GAAA,CAACc,MAAM,EAAA;AACLR,UAAAA,SAAS,EAAC,uBAAuB;AACjC,UAAA,SAAA,EAAQ,2BAA2B;AACnCzC,UAAAA,KAAK,EAAEN,CAAC,CAAC,0CAA0C,CAAE;AACrD2D,UAAAA,KAAK,EAAC,WAAW;UACjBC,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ1B,SAAS,CAACN,YAAY,CAAC;AAAA;AAAC,SACxC,CAAC;AAAA,OACC,CAAC;AAEV;AAAC,GACS,CAAC;AAAA,CACd;;ICxDYiC,wBAAwB,GAAGC,MAAM,CAC5C1B,QAAQ,CAAC;AAAEzC,EAAAA,GAAG,EAAEoE,OAAO;AAAEnE,EAAAA,KAAK,EAAEmE;AAAQ,CAAC,CAC3C;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-aj-r79qQ.js","sources":["../app/javascript/src/components/Api/constants.js","../app/javascript/src/components/Api/ApiTemplates/constants.js","../app/javascript/src/components/commons/KeyValuePairs/utils.js","../app/javascript/src/components/commons/KeyValuePairs/index.jsx","../app/javascript/src/components/Api/utils.js"],"sourcesContent":["export const VALID_URL_REGEX =\n /^(https?):\\/\\/([a-zA-Z0-9-]+\\.){1,}[a-zA-Z]{2,}\\/?[^\\s]*$/;\n\nexport const ADDITIONAL_DATA_INITIAL_VALUE = { key: \"\", value: \"\" };\n\nexport const API_TEMPLATE_TYPE = \"api_template\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport {\n ADDITIONAL_DATA_INITIAL_VALUE,\n VALID_URL_REGEX,\n} from \"components/Api/constants\";\n\nexport const TABLE_COLUMN_DATA = [\n {\n dataIndex: \"name\",\n key: \"name\",\n title: t(\"neetoMessageTemplate.template.name\"),\n },\n {\n dataIndex: \"status\",\n key: \"status\",\n title: t(\"neetoMessageTemplate.template.active\"),\n render: status =>\n status === \"active\"\n ? t(\"neetoMessageTemplate.yes\")\n : t(\"neetoMessageTemplate.no\"),\n width: \"20%\",\n },\n];\n\nexport const FILTER_COLUMNS = [\n {\n key: \"name\",\n node: \"name\",\n label: t(\"neetoMessageTemplate.template.name\"),\n type: \"text\",\n },\n {\n key: \"status\",\n node: \"status\",\n label: t(\"neetoMessageTemplate.template.active\"),\n type: \"single_option\",\n values: [\n { label: t(\"neetoMessageTemplate.yes\"), value: \"active\" },\n { label: t(\"neetoMessageTemplate.no\"), value: \"inactive\" },\n ],\n },\n];\n\nexport const API_TEMPLATE_INITIAL_VALUES = {\n name: \"\",\n endpoint: \"\",\n additionalData: [ADDITIONAL_DATA_INITIAL_VALUE],\n};\n\nexport const SAMPLE_URL = \"https://example.com\";\n\nexport const API_TEMPLATE_FORM_VALIDATION_SCHEMA = yup.object({\n name: yup\n .string()\n .trim()\n .required(t(\"neetoMessageTemplate.template.validation.namePresence\")),\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});\n\nexport const TEMPLATE_STATUS = { ACTIVE: \"active\", INACTIVE: \"inactive\" };\n","import { isNotEmpty } from \"neetocist\";\nimport { whereAny } from \"ramda\";\n\nimport { ADDITIONAL_DATA_INITIAL_VALUE } from \"components/Api/constants\";\n\nexport const removeOption = ({ arrayHelpers, index, data }) => {\n if (data.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\n return;\n }\n\n arrayHelpers.remove(index);\n};\n\nexport const addOption = arrayHelpers =>\n arrayHelpers.push(ADDITIONAL_DATA_INITIAL_VALUE);\n\nexport const isKeyOrValueNotEmpty = whereAny({\n key: isNotEmpty,\n value: isNotEmpty,\n});\n","import { FieldArray } from \"formik\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { addOption, isKeyOrValueNotEmpty, removeOption } from \"./utils\";\n\nconst KeyValuePairs = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const data = arrayHelpers.form.values[name];\n\n const showDeleteButton = data.length > 1 || isKeyOrValueNotEmpty(data[0]);\n\n return (\n <div className=\"space-y-2\">\n <Label>{label}</Label>\n {data.map((_, index) => (\n <div className=\"flex h-8 space-x-3\" key={index}>\n <Input\n className=\"w-2/5\"\n data-cy={`key-input-${index}`}\n name={`${name}.${index}.key`}\n placeholder={t(\"neetoMessageTemplate.api.key\")}\n />\n <Input\n className=\"w-3/5\"\n data-cy={`value-input-${index}`}\n name={`${name}.${index}.value`}\n placeholder={t(\"neetoMessageTemplate.api.value\")}\n suffix={\n showDeleteButton && (\n <Button\n data-cy={`delete-key-value-pair-${index}`}\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeOption({ arrayHelpers, index, data })\n }\n />\n )\n }\n />\n </div>\n ))}\n <Button\n className=\"w-full justify-center\"\n data-cy=\"add-key-value-pair-button\"\n label={t(\"neetoMessageTemplate.api.addKeyValuePair\")}\n style=\"secondary\"\n onClick={() => addOption(arrayHelpers)}\n />\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default KeyValuePairs;\n","import { isEmpty, reject, whereAny } from \"ramda\";\n\nexport const rejectEmptyKeyValuePairs = reject(\n whereAny({ key: isEmpty, value: isEmpty })\n);\n"],"names":["VALID_URL_REGEX","ADDITIONAL_DATA_INITIAL_VALUE","key","value","API_TEMPLATE_TYPE","dataIndex","title","t","render","status","width","FILTER_COLUMNS","node","label","type","values","API_TEMPLATE_INITIAL_VALUES","name","endpoint","additionalData","SAMPLE_URL","API_TEMPLATE_FORM_VALIDATION_SCHEMA","yup","object","string","trim","required","matches","array","of","TEMPLATE_STATUS","ACTIVE","INACTIVE","removeOption","_ref","arrayHelpers","index","data","length","remove","push","addOption","isKeyOrValueNotEmpty","whereAny","isNotEmpty","KeyValuePairs","withT","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","_jsxs","className","Label","map","_","Input","concat","placeholder","suffix","Button","icon","Delete","size","style","onClick","rejectEmptyKeyValuePairs","reject","isEmpty"],"mappings":"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"}