@bigbinary/neeto-message-templates-frontend 0.0.7 → 0.0.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.
package/README.md CHANGED
@@ -78,6 +78,8 @@ yarn add @bigbinary/neeto-message-templates-frontend
78
78
 
79
79
  - `type`: Type can be `email`, `sms` or `whatsapp`.
80
80
 
81
+ - `templateVariables`: (optional) To add dynamic variables to form body field.
82
+
81
83
  ### Usage
82
84
 
83
85
  ```javascript
@@ -96,12 +98,20 @@ const App = () => {
96
98
  //api call
97
99
  };
98
100
 
101
+ const TEMPLATE_VARIABLES = [
102
+ {
103
+ key: "name",
104
+ label: "Name",
105
+ },
106
+ ];
107
+
99
108
  return (
100
109
  <MessageTemplates
101
110
  shouldIncludeTestTemplate
102
111
  breadcrumbs={breadcrumbs}
103
112
  handleSubmitTestTemplate={handleSubmit}
104
113
  isTestMessageLoading={isTestMessageLoading}
114
+ templateVariables={TEMPLATE_VARIABLES}
105
115
  type={type}
106
116
  />
107
117
  );
@@ -121,9 +131,19 @@ const App = () => {
121
131
 
122
132
  * `type`: Type can be `email`, `sms` or `whatsapp`.
123
133
 
134
+ - `customFields`: (optional) To add custom field component to the pane.
135
+
136
+ - `customFieldsInitialValues`: (optional) To provide initial values for the
137
+ custom fields.
138
+
139
+ - `customFieldsValidationSchema`: (optional) To provide validation schema for
140
+ the custom fields.
141
+
142
+ - `templateVariables`: (optional) To add dynamic variables to form body field.
143
+
124
144
  ### Usage
125
145
 
126
- ```javascript
146
+ ```js
127
147
  import React, { useState } from "react";
128
148
 
129
149
  import { SendMessagePane } from "@bigbinary/neeto-message-templates-frontend";
@@ -135,12 +155,36 @@ const App = () => {
135
155
  //api call
136
156
  };
137
157
 
158
+ const customFields = () => (
159
+ <div className="space-y-4">
160
+ <Input required label="To" name="to" />
161
+ <Input required label="From" name="from" />
162
+ </div>
163
+ );
164
+
165
+ const customFieldsInitialValues = {
166
+ to: "",
167
+ from: "",
168
+ };
169
+
170
+ const customFieldsSchema = yup.object().shape({
171
+ to: yup.string().trim().required("To address is required").email("invalid"),
172
+ from: yup
173
+ .string()
174
+ .trim()
175
+ .required("From address is required")
176
+ .email("invalid"),
177
+ });
178
+
138
179
  return (
139
180
  <SendMessagePane
140
181
  handleSubmit={handleSubmit}
141
182
  isOpen={isPaneOpen}
142
183
  type={type}
143
184
  onClose={() => setIsPaneOpen(false)}
185
+ customFields={customFields()}
186
+ customFieldsInitialValues={customFieldsInitialValues}
187
+ customFieldsValidationSchema={customFieldsSchema}
144
188
  />
145
189
  );
146
190
  };
@@ -194,3 +238,6 @@ password `welcome`.
194
238
  ### Additional Instructions
195
239
 
196
240
  - Run `yarn build` to bundle the app.
241
+
242
+ - Note: Run the following command before running rails test
243
+ `RAILS_ENV=test rails db:migrate`
package/dist/index.cjs.js CHANGED
@@ -1788,8 +1788,8 @@ function _toArray(arr) {
1788
1788
  return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
1789
1789
  }
1790
1790
 
1791
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1792
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1791
+ function ownKeys$6$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1792
+ function _objectSpread$6$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1793
1793
  var consoleLogger = {
1794
1794
  type: 'logger',
1795
1795
  log: function log(args) {
@@ -1867,7 +1867,7 @@ var Logger = function () {
1867
1867
  }, {
1868
1868
  key: "create",
1869
1869
  value: function create(moduleName) {
1870
- return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {
1870
+ return new Logger(this.logger, _objectSpread$6$1(_objectSpread$6$1({}, {
1871
1871
  prefix: "".concat(this.prefix, ":").concat(moduleName, ":")
1872
1872
  }), this.options));
1873
1873
  }
@@ -4731,9 +4731,9 @@ function cape(m) {
4731
4731
  return unes[m];
4732
4732
  }
4733
4733
 
4734
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4734
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4735
4735
 
4736
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4736
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4737
4737
  var defaultOptions = {
4738
4738
  bindI18n: 'languageChanged',
4739
4739
  bindI18nStore: '',
@@ -4747,7 +4747,7 @@ var i18nInstance;
4747
4747
  var I18nContext = React__default["default"].createContext();
4748
4748
  function setDefaults() {
4749
4749
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4750
- defaultOptions = _objectSpread$5(_objectSpread$5({}, defaultOptions), options);
4750
+ defaultOptions = _objectSpread$6(_objectSpread$6({}, defaultOptions), options);
4751
4751
  }
4752
4752
  function getDefaults() {
4753
4753
  return defaultOptions;
@@ -4874,9 +4874,9 @@ function hasLoadedNamespace(ns, i18n) {
4874
4874
  var _excluded = ["format"],
4875
4875
  _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
4876
4876
 
4877
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4877
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4878
4878
 
4879
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4879
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4880
4880
 
4881
4881
  function hasChildren(node, checkLength) {
4882
4882
  if (!node) return false;
@@ -4902,7 +4902,7 @@ function getAsArray(data) {
4902
4902
  }
4903
4903
 
4904
4904
  function mergeProps(source, target) {
4905
- var newTarget = _objectSpread$4({}, target);
4905
+ var newTarget = _objectSpread$5({}, target);
4906
4906
 
4907
4907
  newTarget.props = Object.assign(source.props, target.props);
4908
4908
  return newTarget;
@@ -4972,7 +4972,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
4972
4972
  getData(children);
4973
4973
  var ast = c.parse("<0>".concat(targetString, "</0>"));
4974
4974
 
4975
- var opts = _objectSpread$4(_objectSpread$4({}, data), combinedTOpts);
4975
+ var opts = _objectSpread$5(_objectSpread$5({}, data), combinedTOpts);
4976
4976
 
4977
4977
  function renderInner(child, node, rootReactNode) {
4978
4978
  var childs = getChildren(child);
@@ -4982,7 +4982,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
4982
4982
 
4983
4983
  function pushTranslatedJSX(child, inner, mem, i, isVoid) {
4984
4984
  if (child.dummy) child.children = inner;
4985
- mem.push(React__default["default"].cloneElement(child, _objectSpread$4(_objectSpread$4({}, child.props), {}, {
4985
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$5(_objectSpread$5({}, child.props), {}, {
4986
4986
  key: i
4987
4987
  }), isVoid ? undefined : inner));
4988
4988
  }
@@ -5014,7 +5014,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
5014
5014
  } else if (isEmptyTransWithHTML) {
5015
5015
  var _inner = mapAST(reactNodes, node.children, rootReactNode);
5016
5016
 
5017
- mem.push(React__default["default"].cloneElement(child, _objectSpread$4(_objectSpread$4({}, child.props), {}, {
5017
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$5(_objectSpread$5({}, child.props), {}, {
5018
5018
  key: i
5019
5019
  }), _inner));
5020
5020
  } else if (Number.isNaN(parseFloat(node.name))) {
@@ -5045,11 +5045,11 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
5045
5045
  var content = node.children[0] ? translationContent : null;
5046
5046
  if (content) mem.push(content);
5047
5047
  } else if (node.children.length === 1 && translationContent) {
5048
- mem.push(React__default["default"].cloneElement(child, _objectSpread$4(_objectSpread$4({}, child.props), {}, {
5048
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$5(_objectSpread$5({}, child.props), {}, {
5049
5049
  key: i
5050
5050
  }), translationContent));
5051
5051
  } else {
5052
- mem.push(React__default["default"].cloneElement(child, _objectSpread$4(_objectSpread$4({}, child.props), {}, {
5052
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$5(_objectSpread$5({}, child.props), {}, {
5053
5053
  key: i
5054
5054
  })));
5055
5055
  }
@@ -5112,7 +5112,7 @@ function Trans(_ref) {
5112
5112
 
5113
5113
  if (context) tOptions.context = context;
5114
5114
 
5115
- var reactI18nextOptions = _objectSpread$4(_objectSpread$4({}, getDefaults()), i18n.options && i18n.options.react);
5115
+ var reactI18nextOptions = _objectSpread$5(_objectSpread$5({}, getDefaults()), i18n.options && i18n.options.react);
5116
5116
 
5117
5117
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
5118
5118
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
@@ -5120,13 +5120,13 @@ function Trans(_ref) {
5120
5120
  var hashTransKey = reactI18nextOptions.hashTransKey;
5121
5121
  var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
5122
5122
  var interpolationOverride = values ? tOptions.interpolation : {
5123
- interpolation: _objectSpread$4(_objectSpread$4({}, tOptions.interpolation), {}, {
5123
+ interpolation: _objectSpread$5(_objectSpread$5({}, tOptions.interpolation), {}, {
5124
5124
  prefix: '#$?',
5125
5125
  suffix: '?$#'
5126
5126
  })
5127
5127
  };
5128
5128
 
5129
- var combinedTOpts = _objectSpread$4(_objectSpread$4(_objectSpread$4(_objectSpread$4({}, tOptions), {}, {
5129
+ var combinedTOpts = _objectSpread$5(_objectSpread$5(_objectSpread$5(_objectSpread$5({}, tOptions), {}, {
5130
5130
  count: count
5131
5131
  }, values), interpolationOverride), {}, {
5132
5132
  defaultValue: defaultValue,
@@ -5171,9 +5171,9 @@ function _slicedToArray(arr, i) {
5171
5171
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
5172
5172
  }
5173
5173
 
5174
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5174
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5175
5175
 
5176
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5176
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5177
5177
  function useTranslation(ns) {
5178
5178
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5179
5179
  var i18nFromProps = props.i18n;
@@ -5201,7 +5201,7 @@ function useTranslation(ns) {
5201
5201
 
5202
5202
  if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');
5203
5203
 
5204
- var i18nOptions = _objectSpread$3(_objectSpread$3(_objectSpread$3({}, getDefaults()), i18n.options.react), props);
5204
+ var i18nOptions = _objectSpread$4(_objectSpread$4(_objectSpread$4({}, getDefaults()), i18n.options.react), props);
5205
5205
 
5206
5206
  var useSuspense = i18nOptions.useSuspense,
5207
5207
  keyPrefix = i18nOptions.keyPrefix;
@@ -5401,10 +5401,6 @@ var MESSAGE_TEMPLATES = {
5401
5401
  }
5402
5402
  };
5403
5403
  var DEFAULT_EDITOR_ROW_COUNT = 15;
5404
- var TEMPLATE_VARIABLES = [{
5405
- key: "name",
5406
- label: t$1("template.name")
5407
- }];
5408
5404
 
5409
5405
  var MESSAGE_TEMPLATE_INITIAL_STATE = {
5410
5406
  isOpen: false,
@@ -5497,8 +5493,8 @@ var useTemplateStore = zustand.create(reactUtils.withImmutableActions(function (
5497
5493
  };
5498
5494
  }));
5499
5495
 
5500
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5501
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5496
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5497
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5502
5498
  var RowActions = function RowActions(_ref) {
5503
5499
  var template = _ref.template,
5504
5500
  setManageTemplatePane = _ref.setManageTemplatePane;
@@ -5512,14 +5508,14 @@ var RowActions = function RowActions(_ref) {
5512
5508
  id = template.id;
5513
5509
  var templateType = useTemplateStore(ramda.prop("templateType"));
5514
5510
  var handleEditTemplate = function handleEditTemplate() {
5515
- return setManageTemplatePane(_objectSpread$2(_objectSpread$2({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
5511
+ return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
5516
5512
  isOpen: true,
5517
5513
  isEdit: true,
5518
5514
  template: template
5519
5515
  }));
5520
5516
  };
5521
5517
  var handleDeleteTemplate = function handleDeleteTemplate() {
5522
- return setManageTemplatePane(_objectSpread$2(_objectSpread$2({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
5518
+ return setManageTemplatePane(_objectSpread$3(_objectSpread$3({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
5523
5519
  isDelete: true,
5524
5520
  template: template
5525
5521
  }));
@@ -6088,8 +6084,8 @@ var TestMessage = function TestMessage(_ref) {
6088
6084
  }));
6089
6085
  };
6090
6086
 
6091
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6092
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6087
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6088
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6093
6089
  var Form$1 = function Form(_ref) {
6094
6090
  var onClose = _ref.onClose,
6095
6091
  isEdit = _ref.isEdit,
@@ -6099,14 +6095,15 @@ var Form$1 = function Form(_ref) {
6099
6095
  setInitialFocusField = _ref.setInitialFocusField,
6100
6096
  handleSubmitTestTemplate = _ref.handleSubmitTestTemplate,
6101
6097
  isTestMessageLoading = _ref.isTestMessageLoading,
6102
- shouldIncludeTestTemplate = _ref.shouldIncludeTestTemplate;
6098
+ shouldIncludeTestTemplate = _ref.shouldIncludeTestTemplate,
6099
+ templateVariables = _ref.templateVariables;
6103
6100
  var _useTranslation = useTranslation(),
6104
6101
  t = _useTranslation.t;
6105
6102
  var editorRef = React.useRef(null);
6106
6103
  var templateType = useTemplateStore(ramda.prop("templateType"));
6107
6104
  var isEmailTemplate = ramda.equals(templateType, "email_template");
6108
6105
  var isTestTemplateVisible = ramda.includes(templateType, ["sms_template", "email_template"]) && shouldIncludeTestTemplate;
6109
- var _ref2 = isEmailTemplate ? [_objectSpread$1(_objectSpread$1({}, EMAIL_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$1(_objectSpread$1({}, SMS_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
6106
+ var _ref2 = isEmailTemplate ? [_objectSpread$2(_objectSpread$2({}, EMAIL_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "subject", "active"], template)), EMAIL_TEMPLATE_FORM_SCHEMA] : [_objectSpread$2(_objectSpread$2({}, SMS_TEMPLATE_INITIAL_VALUES), ramda.pick(["name", "body", "active"], template)), SMS_TEMPLATE_FORM_VALIDATION_SCHEMA],
6110
6107
  _ref3 = _slicedToArray(_ref2, 2),
6111
6108
  TEMPLATE_INITIAL_VALUES = _ref3[0],
6112
6109
  TEMPLATE_FORM_SCHEMA = _ref3[1];
@@ -6161,7 +6158,7 @@ var Form$1 = function Form(_ref) {
6161
6158
  name: "body",
6162
6159
  ref: editorRef,
6163
6160
  rows: DEFAULT_EDITOR_ROW_COUNT,
6164
- variables: TEMPLATE_VARIABLES
6161
+ variables: templateVariables
6165
6162
  }), isTestTemplateVisible && /*#__PURE__*/React__default["default"].createElement(TestMessage, {
6166
6163
  handleSubmitTestTemplate: handleSubmitTestTemplate,
6167
6164
  isEmailTemplate: isEmailTemplate,
@@ -6190,7 +6187,8 @@ var AddEdit = function AddEdit(_ref) {
6190
6187
  handleSubmitTestTemplate = _ref.handleSubmitTestTemplate,
6191
6188
  shouldIncludeTestTemplate = _ref.shouldIncludeTestTemplate,
6192
6189
  addText = _ref.addText,
6193
- editText = _ref.editText;
6190
+ editText = _ref.editText,
6191
+ templateVariables = _ref.templateVariables;
6194
6192
  var initialFocusField = React.useRef();
6195
6193
  var setInitialFocusField = function setInitialFocusField(fieldRef) {
6196
6194
  return initialFocusField.current = fieldRef;
@@ -6214,6 +6212,7 @@ var AddEdit = function AddEdit(_ref) {
6214
6212
  setInitialFocusField: setInitialFocusField,
6215
6213
  shouldIncludeTestTemplate: shouldIncludeTestTemplate,
6216
6214
  template: template,
6215
+ templateVariables: templateVariables,
6217
6216
  onClose: onClose
6218
6217
  })));
6219
6218
  };
@@ -6367,8 +6366,8 @@ var List = function List(_ref) {
6367
6366
  }));
6368
6367
  };
6369
6368
 
6370
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6371
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6369
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6370
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6372
6371
  var MessageTemplates = function MessageTemplates(_ref) {
6373
6372
  var _ref$breadcrumbs = _ref.breadcrumbs,
6374
6373
  breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
@@ -6379,7 +6378,9 @@ var MessageTemplates = function MessageTemplates(_ref) {
6379
6378
  _ref$isTestMessageLoa = _ref.isTestMessageLoading,
6380
6379
  isTestMessageLoading = _ref$isTestMessageLoa === void 0 ? false : _ref$isTestMessageLoa,
6381
6380
  _ref$shouldIncludeTes = _ref.shouldIncludeTestTemplate,
6382
- shouldIncludeTestTemplate = _ref$shouldIncludeTes === void 0 ? true : _ref$shouldIncludeTes;
6381
+ shouldIncludeTestTemplate = _ref$shouldIncludeTes === void 0 ? true : _ref$shouldIncludeTes,
6382
+ _ref$templateVariable = _ref.templateVariables,
6383
+ templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable;
6383
6384
  var _useState = React.useState(MESSAGE_TEMPLATE_INITIAL_STATE),
6384
6385
  _useState2 = _slicedToArray(_useState, 2),
6385
6386
  manageTemplatePane = _useState2[0],
@@ -6410,7 +6411,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
6410
6411
  editText = _MESSAGE_TEMPLATES$ty.editText;
6411
6412
  var isFilterApplied = pure.isNotEmpty(filters) || pure.isNotEmpty(searchTerm);
6412
6413
  var handleActionClick = function handleActionClick() {
6413
- return setManageTemplatePane(_objectSpread(_objectSpread({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
6414
+ return setManageTemplatePane(_objectSpread$1(_objectSpread$1({}, MESSAGE_TEMPLATE_INITIAL_STATE), {}, {
6414
6415
  isOpen: true
6415
6416
  }));
6416
6417
  };
@@ -6466,6 +6467,7 @@ var MessageTemplates = function MessageTemplates(_ref) {
6466
6467
  isTestMessageLoading: isTestMessageLoading,
6467
6468
  manageTemplatePane: manageTemplatePane,
6468
6469
  shouldIncludeTestTemplate: shouldIncludeTestTemplate,
6470
+ templateVariables: templateVariables,
6469
6471
  onClose: function onClose() {
6470
6472
  return setManageTemplatePane(ramda.assoc("isOpen", false));
6471
6473
  }
@@ -6492,12 +6494,18 @@ var SMS_MESSAGE_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
6492
6494
  })
6493
6495
  });
6494
6496
 
6497
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6498
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6495
6499
  var Form = function Form(_ref) {
6496
6500
  var isEmailTemplate = _ref.isEmailTemplate,
6497
6501
  onClose = _ref.onClose,
6498
6502
  templates = _ref.templates,
6499
6503
  handleSubmit = _ref.handleSubmit,
6500
- setInitialFocusField = _ref.setInitialFocusField;
6504
+ setInitialFocusField = _ref.setInitialFocusField,
6505
+ templateVariables = _ref.templateVariables,
6506
+ customFields = _ref.customFields,
6507
+ customFieldsInitialValues = _ref.customFieldsInitialValues,
6508
+ customFieldsValidationSchema = _ref.customFieldsValidationSchema;
6501
6509
  var editorRef = React.useRef(null);
6502
6510
  var _useTranslation = useTranslation(),
6503
6511
  t = _useTranslation.t;
@@ -6505,26 +6513,31 @@ var Form = function Form(_ref) {
6505
6513
  _ref3 = _slicedToArray(_ref2, 2),
6506
6514
  INITIAL_VALUES = _ref3[0],
6507
6515
  SEND_MESSAGE_FORM_SCHEMA = _ref3[1];
6516
+ var updatedInitialValues = ramda.mergeAll([INITIAL_VALUES, customFieldsInitialValues]);
6517
+ var updatedValidationSchema = yup__namespace.object().shape(_objectSpread(_objectSpread({}, SEND_MESSAGE_FORM_SCHEMA === null || SEND_MESSAGE_FORM_SCHEMA === void 0 ? void 0 : SEND_MESSAGE_FORM_SCHEMA.fields), customFieldsValidationSchema === null || customFieldsValidationSchema === void 0 ? void 0 : customFieldsValidationSchema.fields));
6518
+ var initialValueKeys = Object.keys(INITIAL_VALUES);
6508
6519
  return /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
6509
6520
  formProps: {
6510
6521
  noValidate: true,
6511
6522
  className: "flex w-full flex-col gap-y-4 pb-6"
6512
6523
  },
6513
6524
  formikProps: {
6514
- initialValues: INITIAL_VALUES,
6515
- validationSchema: SEND_MESSAGE_FORM_SCHEMA,
6525
+ initialValues: updatedInitialValues,
6526
+ validationSchema: updatedValidationSchema,
6516
6527
  onSubmit: handleSubmit
6517
6528
  }
6518
6529
  }, function (_ref4) {
6519
6530
  var dirty = _ref4.dirty,
6520
6531
  isSubmitting = _ref4.isSubmitting,
6521
- setValues = _ref4.setValues;
6522
- var handleTemplateChange = function handleTemplateChange(_ref5) {
6523
- var value = _ref5.value;
6532
+ setValues = _ref4.setValues,
6533
+ values = _ref4.values;
6534
+ var handleTemplateChange = function handleTemplateChange(value) {
6535
+ if (!value) return;
6536
+ var customFieldValues = ramda.omit(initialValueKeys, values);
6524
6537
  var template = pure.findBy({
6525
- id: value
6538
+ id: value === null || value === void 0 ? void 0 : value.value
6526
6539
  }, templates);
6527
- setValues(template);
6540
+ setValues(_objectSpread(_objectSpread({}, template), customFieldValues));
6528
6541
  editorRef.current.editor.commands.setContent(template.body);
6529
6542
  };
6530
6543
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, {
@@ -6533,16 +6546,16 @@ var Form = function Form(_ref) {
6533
6546
  innerRef: setInitialFocusField,
6534
6547
  label: t("template.title"),
6535
6548
  placeholder: t("sendMessage.selectTemplate"),
6536
- options: templates.map(function (_ref6) {
6537
- var name = _ref6.name,
6538
- id = _ref6.id;
6549
+ options: templates.map(function (_ref5) {
6550
+ var name = _ref5.name,
6551
+ id = _ref5.id;
6539
6552
  return {
6540
6553
  label: name,
6541
6554
  value: id
6542
6555
  };
6543
6556
  }),
6544
6557
  onChange: handleTemplateChange
6545
- }), isEmailTemplate && /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6558
+ }), customFields, isEmailTemplate && /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6546
6559
  required: true,
6547
6560
  label: t("template.subject"),
6548
6561
  name: "subject"
@@ -6555,7 +6568,7 @@ var Form = function Form(_ref) {
6555
6568
  name: "body",
6556
6569
  ref: editorRef,
6557
6570
  rows: DEFAULT_EDITOR_ROW_COUNT,
6558
- variables: TEMPLATE_VARIABLES
6571
+ variables: templateVariables
6559
6572
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
6560
6573
  className: "absolute bottom-0 left-0 flex gap-x-2"
6561
6574
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
@@ -6580,7 +6593,15 @@ var SendMessagePane = function SendMessagePane(_ref) {
6580
6593
  _ref$handleSubmit = _ref.handleSubmit,
6581
6594
  handleSubmit = _ref$handleSubmit === void 0 ? pure.noop : _ref$handleSubmit,
6582
6595
  _ref$onClose = _ref.onClose,
6583
- onClose = _ref$onClose === void 0 ? pure.noop : _ref$onClose;
6596
+ onClose = _ref$onClose === void 0 ? pure.noop : _ref$onClose,
6597
+ _ref$customFields = _ref.customFields,
6598
+ customFields = _ref$customFields === void 0 ? null : _ref$customFields,
6599
+ _ref$customFieldsInit = _ref.customFieldsInitialValues,
6600
+ customFieldsInitialValues = _ref$customFieldsInit === void 0 ? {} : _ref$customFieldsInit,
6601
+ _ref$customFieldsVali = _ref.customFieldsValidationSchema,
6602
+ customFieldsValidationSchema = _ref$customFieldsVali === void 0 ? {} : _ref$customFieldsVali,
6603
+ _ref$templateVariable = _ref.templateVariables,
6604
+ templateVariables = _ref$templateVariable === void 0 ? {} : _ref$templateVariable;
6584
6605
  var _useTranslation = useTranslation(),
6585
6606
  t = _useTranslation.t;
6586
6607
  var initialFocusField = React.useRef();
@@ -6606,9 +6627,13 @@ var SendMessagePane = function SendMessagePane(_ref) {
6606
6627
  style: "h2",
6607
6628
  weight: "semibold"
6608
6629
  }, t("common.send"), " ", type)), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(Form, {
6630
+ customFields: customFields,
6631
+ customFieldsInitialValues: customFieldsInitialValues,
6632
+ customFieldsValidationSchema: customFieldsValidationSchema,
6609
6633
  handleSubmit: handleSubmit,
6610
6634
  isEmailTemplate: isEmailTemplate,
6611
6635
  setInitialFocusField: setInitialFocusField,
6636
+ templateVariables: templateVariables,
6612
6637
  templates: templates,
6613
6638
  onClose: onClose
6614
6639
  })));