@bigbinary/neeto-rules-frontend 2.4.2 → 2.5.1

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
@@ -64,7 +64,7 @@ The Engine is used to manage automation rules feature within neeto applications.
64
64
  application:
65
65
 
66
66
  ```ruby
67
- rails g neeto_rules_engine:install
67
+ bundle exec rails neeto_rules_engine:install:migrations
68
68
  ```
69
69
 
70
70
  5. Add the migrations to the database:
@@ -515,6 +515,10 @@ const initialProps = {
515
515
  conditionOptions: CONDITION_OPTIONS,
516
516
  value: DEFAULT_CONDITION_VALUE,
517
517
  },
518
+ execution_delay: {
519
+ value: { value: 2, unit: "minutes" },
520
+ defaultValue: { value: 2, unit: "minutes" },
521
+ type: "execution-delay",
518
522
  };
519
523
 
520
524
  <EventConditions
@@ -539,6 +543,7 @@ const initialProps = {
539
543
  6. `onSelectEvent`: `(name, selectedOption) => void`. This method will trigger
540
544
  when we select an event option. The name is to refer the event in the formik
541
545
  context.
546
+ 7. `enableAddingDelay`: Adds option to add execution delay. (Boolean). Ref: [NeetoForm PR#11704](https://github.com/bigbinary/neeto-form-web/pull/11704/files)
542
547
 
543
548
  Refer to the [EventCondition section](./docs/event-conditions.md) for more
544
549
  information.
@@ -38,7 +38,8 @@
38
38
  "data": "Data",
39
39
  "reorder": "Reorder",
40
40
  "at": "at",
41
- "apply": "Apply"
41
+ "apply": "Apply",
42
+ "addDelay": "Add delay"
42
43
  },
43
44
  "cannedResponses": {
44
45
  "title": "Canned responses"
@@ -59,7 +60,8 @@
59
60
  "selectVerb": "select verb",
60
61
  "selectField": "select field",
61
62
  "addCondition": "Add condition",
62
- "selectDate": "Select date"
63
+ "selectDate": "Select date",
64
+ "delayExecutionBy": "Delay execution by"
63
65
  },
64
66
  "labels": {
65
67
  "active": "Active",
@@ -172,7 +174,8 @@
172
174
  "value": "Value",
173
175
  "selectTemplate": "Select a template",
174
176
  "phoneNumberField": "Type phone number and press enter",
175
- "searchRules": "Search automation rules"
177
+ "searchRules": "Search automation rules",
178
+ "enterDelay": "Enter delay"
176
179
  },
177
180
  "buttons": {
178
181
  "save": "Save",
@@ -219,7 +222,9 @@
219
222
  },
220
223
  "invalidPhoneNumber": "Phone number is invalid",
221
224
  "invalidUrlEntity": "{{entity}} must be a valid URL",
222
- "maximumEmails": "Only up to {{max}} email addresses are allowed"
225
+ "maximumEmails": "Only up to {{max}} email addresses are allowed",
226
+ "maxDelay": "Delay must be less than {{max}}",
227
+ "minDelay": "Delay must be greater than {{min}}"
223
228
  },
224
229
  "conditionVerbs": {
225
230
  "is": "Is",
@@ -348,7 +353,8 @@
348
353
  }
349
354
  },
350
355
  "helpText": {
351
- "description": "Automation rules feature allows you to create rules to automate specific actions when certain events occur."
356
+ "description": "Automation rules feature allows you to create rules to automate specific actions when certain events occur.",
357
+ "addDelay": "Add a delay so the following actions execute after the specified time"
352
358
  }
353
359
  }
354
360
  }
@@ -47,6 +47,7 @@ import Eye from '@bigbinary/neeto-icons/Eye';
47
47
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
48
48
  import _regeneratorRuntime from '@babel/runtime/regenerator';
49
49
  import Tooltip from '@bigbinary/neetoui/Tooltip';
50
+ import Popover from '@bigbinary/neetoui/Popover';
50
51
  import Select$1 from '@bigbinary/neetoui/formik/Select';
51
52
  import Radio from '@bigbinary/neetoui/formik/Radio';
52
53
  import { shallow } from 'zustand/shallow';
@@ -99,8 +100,8 @@ var useOnButtonPressed = function useOnButtonPressed(ref, handler) {
99
100
 
100
101
  var DEFAULT_LONG_TEXT_ROWS = 8;
101
102
 
102
- function ownKeys$k(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; }
103
- function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
103
+ function ownKeys$l(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; }
104
+ function _objectSpread$l(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$l(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
104
105
  var PaneFooterBlock = function PaneFooterBlock(_ref) {
105
106
  var setShowPane = _ref.setShowPane,
106
107
  _ref$submitButtonProp = _ref.submitButtonProps,
@@ -108,13 +109,13 @@ var PaneFooterBlock = function PaneFooterBlock(_ref) {
108
109
  _ref$cancelButtonProp = _ref.cancelButtonProps,
109
110
  cancelButtonProps = _ref$cancelButtonProp === void 0 ? {} : _ref$cancelButtonProp;
110
111
  return /*#__PURE__*/jsx(ActionBlock, {
111
- cancelButtonProps: _objectSpread$k({
112
+ cancelButtonProps: _objectSpread$l({
112
113
  "data-cy": "cancel-button",
113
114
  onClick: function onClick() {
114
115
  return setShowPane(false);
115
116
  }
116
117
  }, cancelButtonProps),
117
- submitButtonProps: _objectSpread$k({
118
+ submitButtonProps: _objectSpread$l({
118
119
  "data-cy": "save-changes-button",
119
120
  onClick: function onClick() {
120
121
  return setShowPane(false);
@@ -201,8 +202,8 @@ var LongTextField = function LongTextField(_ref) {
201
202
  };
202
203
 
203
204
  var _excluded$c = ["initialFocusRef", "name", "label"];
204
- function ownKeys$j(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; }
205
- function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
205
+ function ownKeys$k(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; }
206
+ function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
206
207
  var InputField$2 = function InputField(_ref) {
207
208
  var initialFocusRef = _ref.initialFocusRef,
208
209
  name = _ref.name,
@@ -212,7 +213,7 @@ var InputField$2 = function InputField(_ref) {
212
213
  _useField2 = _slicedToArray(_useField, 2),
213
214
  field = _useField2[0],
214
215
  meta = _useField2[1];
215
- return /*#__PURE__*/jsx(Input$1, _objectSpread$j(_objectSpread$j({
216
+ return /*#__PURE__*/jsx(Input$1, _objectSpread$k(_objectSpread$k({
216
217
  label: label,
217
218
  type: "text"
218
219
  }, field), {}, {
@@ -823,8 +824,8 @@ var DropdownField$1 = function DropdownField(_ref) {
823
824
  };
824
825
 
825
826
  var _excluded$b = ["autoFocus", "name", "value", "label", "variables", "addons", "editorRef", "defaults"];
826
- function ownKeys$i(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; }
827
- function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
827
+ function ownKeys$j(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; }
828
+ function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
828
829
  var EditorAction = function EditorAction(_ref) {
829
830
  var autoFocus = _ref.autoFocus,
830
831
  name = _ref.name,
@@ -849,7 +850,7 @@ var EditorAction = function EditorAction(_ref) {
849
850
  useEffect(function () {
850
851
  setFieldValue(name, editorData);
851
852
  }, [debouncedValue]);
852
- return /*#__PURE__*/jsx(FormikEditor, _objectSpread$i({
853
+ return /*#__PURE__*/jsx(FormikEditor, _objectSpread$j({
853
854
  addons: addons,
854
855
  autoFocus: autoFocus,
855
856
  defaults: defaults,
@@ -1135,8 +1136,8 @@ var SHORTCUTS = {
1135
1136
  };
1136
1137
 
1137
1138
  var _excluded$a = ["value", "nullable", "className", "handleSubmit", "handleCancel"];
1138
- function ownKeys$h(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; }
1139
- function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1139
+ function ownKeys$i(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; }
1140
+ function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1140
1141
  var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
1141
1142
  var _props$value = props.value,
1142
1143
  value = _props$value === void 0 ? "" : _props$value,
@@ -1174,7 +1175,7 @@ var InlineInput = /*#__PURE__*/forwardRef(function (props, ref) {
1174
1175
  return /*#__PURE__*/jsx("div", {
1175
1176
  className: classNames("flex flex-grow", _defineProperty({}, className, className)),
1176
1177
  ref: inputWrapperRef,
1177
- children: /*#__PURE__*/jsx(Input$1, _objectSpread$h(_objectSpread$h({
1178
+ children: /*#__PURE__*/jsx(Input$1, _objectSpread$i(_objectSpread$i({
1178
1179
  autoFocus: true,
1179
1180
  className: "neeto-planner-inline-input",
1180
1181
  "data-cy": "inline-input-field",
@@ -1580,8 +1581,8 @@ var formatErrorMessage = function formatErrorMessage(error) {
1580
1581
  };
1581
1582
 
1582
1583
  var _excluded$9 = ["children"];
1583
- function ownKeys$g(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; }
1584
- function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1584
+ function ownKeys$h(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; }
1585
+ function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1585
1586
  var STYLES = {
1586
1587
  border: {
1587
1588
  "default": "1px solid rgb(var(--neeto-ui-gray-400))",
@@ -1593,8 +1594,8 @@ var STYLES = {
1593
1594
  }
1594
1595
  };
1595
1596
  var MultiValueRemove = function MultiValueRemove(props) {
1596
- return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$g(_objectSpread$g({}, props), {}, {
1597
- innerProps: _objectSpread$g(_objectSpread$g({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(dasherize(props.data.label), "-remove-icon"))),
1597
+ return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$h(_objectSpread$h({}, props), {}, {
1598
+ innerProps: _objectSpread$h(_objectSpread$h({}, props.innerProps), {}, _defineProperty({}, "data-cy", "".concat(dasherize(props.data.label), "-remove-icon"))),
1598
1599
  children: /*#__PURE__*/jsx(Close, {
1599
1600
  size: 16
1600
1601
  })
@@ -1614,8 +1615,8 @@ var ValueContainer = function ValueContainer(_ref) {
1614
1615
  firstChild = _children[0],
1615
1616
  rest = _children.slice(1);
1616
1617
  var shouldCollapse = !isFocused && value.length > visiblePhoneNumbersCount;
1617
- return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$g(_objectSpread$g({}, props), {}, {
1618
- innerProps: _objectSpread$g(_objectSpread$g({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-phone-number-input-container")),
1618
+ return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$h(_objectSpread$h({}, props), {}, {
1619
+ innerProps: _objectSpread$h(_objectSpread$h({}, props.innerProps), {}, _defineProperty({}, "data-cy", "multi-phone-number-input-container")),
1619
1620
  children: [shouldCollapse ? firstChild.slice(0, visiblePhoneNumbersCount) : firstChild, shouldCollapse && /*#__PURE__*/jsx(Tag, {
1620
1621
  style: "secondary",
1621
1622
  label: t("neetoRules.labels.remainingItemsCount", {
@@ -1625,8 +1626,8 @@ var ValueContainer = function ValueContainer(_ref) {
1625
1626
  }));
1626
1627
  };
1627
1628
  var ClearIndicator = function ClearIndicator(props) {
1628
- return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$g(_objectSpread$g({}, props), {}, {
1629
- innerProps: _objectSpread$g(_objectSpread$g({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
1629
+ return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$h(_objectSpread$h({}, props), {}, {
1630
+ innerProps: _objectSpread$h(_objectSpread$h({}, props.innerProps), {}, _defineProperty({}, "data-cy", "clear-all-button")),
1630
1631
  children: /*#__PURE__*/jsx(Close, {
1631
1632
  className: "cursor-pointer",
1632
1633
  size: 16
@@ -1644,7 +1645,7 @@ var CUSTOM_STYLES = {
1644
1645
  input: assoc("overflow", "hidden"),
1645
1646
  multiValue: function multiValue(styles, _ref2) {
1646
1647
  var valid = _ref2.data.valid;
1647
- return _objectSpread$g(_objectSpread$g({}, styles), {}, {
1648
+ return _objectSpread$h(_objectSpread$h({}, styles), {}, {
1648
1649
  border: valid ? STYLES.border["default"] : STYLES.border.error,
1649
1650
  color: valid ? STYLES.color["default"] : STYLES.color.error
1650
1651
  });
@@ -1658,8 +1659,8 @@ var CUSTOM_COMPONENTS = {
1658
1659
  };
1659
1660
 
1660
1661
  var _excluded$8 = ["value", "onChange", "error", "onBlur"];
1661
- function ownKeys$f(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; }
1662
- function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1662
+ function ownKeys$g(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; }
1663
+ function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1663
1664
  var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
1664
1665
  var _ref$value = _ref.value,
1665
1666
  value = _ref$value === void 0 ? [] : _ref$value,
@@ -1718,7 +1719,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
1718
1719
  "data-cy": "".concat(dasherize(label), "-input-label"),
1719
1720
  children: label
1720
1721
  })
1721
- }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$f({
1722
+ }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$g({
1722
1723
  isMulti: true,
1723
1724
  required: true,
1724
1725
  classNamePrefix: "neeto-ui-react-select",
@@ -1729,7 +1730,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
1729
1730
  className: classNames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
1730
1731
  "neeto-ui-react-select__container--error": !!error
1731
1732
  }),
1732
- styles: _objectSpread$f(_objectSpread$f({}, CUSTOM_STYLES), {}, {
1733
+ styles: _objectSpread$g(_objectSpread$g({}, CUSTOM_STYLES), {}, {
1733
1734
  control: mergeLeft({
1734
1735
  maxHeight: "200px",
1735
1736
  overflowY: "auto"
@@ -1741,7 +1742,7 @@ var MultiPhoneNumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
1741
1742
  },
1742
1743
  onInputChange: setInputValue,
1743
1744
  onKeyDown: handleKeyDown
1744
- }, _objectSpread$f({
1745
+ }, _objectSpread$g({
1745
1746
  inputValue: inputValue,
1746
1747
  isFocused: isFocused,
1747
1748
  onChange: onChange,
@@ -2087,8 +2088,8 @@ var ActionSubItems = function ActionSubItems(_ref) {
2087
2088
  };
2088
2089
  var ActionSubItem = /*#__PURE__*/memo(ActionSubItems);
2089
2090
 
2090
- function ownKeys$e(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; }
2091
- function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2091
+ function ownKeys$f(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; }
2092
+ function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2092
2093
  var getSchemaForStrings = function getSchemaForStrings(element) {
2093
2094
  var label = element.label,
2094
2095
  _element$componentPro = element.componentProps,
@@ -2323,13 +2324,49 @@ var getSchemaForArray = function getSchemaForArray(element) {
2323
2324
  then: yup.array().min(1, t$1("neetoRules.validations.atLeastOneValue")).required(t$1("neetoRules.validations.atLeastOneValue"))
2324
2325
  });
2325
2326
  };
2327
+ var getSchemaForExecutionDelay = function getSchemaForExecutionDelay(_) {
2328
+ return yup.object().test("is-visible", "", function (value) {
2329
+ if (isEmpty(value || {})) {
2330
+ return true;
2331
+ }
2332
+ var schema = yup.object().shape({
2333
+ value: yup.number().nullable().typeError(t$1("neetoRules.validations.number")).min(1, t$1("neetoRules.validations.minDelay", {
2334
+ min: 0
2335
+ })).max(15, t$1("neetoRules.validations.maxDelay", {
2336
+ max: 15
2337
+ })).required(t$1("neetoRules.validations.required.value")),
2338
+ unit: yup.string().nullable().required(t$1("neetoRules.validations.required.value"))
2339
+ });
2340
+ try {
2341
+ schema.validateSync(value, {
2342
+ abortEarly: false
2343
+ });
2344
+ return true;
2345
+ } catch (error) {
2346
+ if (error.inner && isNotEmpty(error.inner)) {
2347
+ var errors = {};
2348
+ error.inner.forEach(function (err) {
2349
+ errors[err.path] = err.message;
2350
+ });
2351
+ return this.createError({
2352
+ path: this.path,
2353
+ message: errors
2354
+ });
2355
+ }
2356
+ return this.createError({
2357
+ path: this.path,
2358
+ message: error.message
2359
+ });
2360
+ }
2361
+ });
2362
+ };
2326
2363
  var getSchemaForElement = function getSchemaForElement(element, customData) {
2327
2364
  return VALIDATION_SCHEMA[element.type](element, customData);
2328
2365
  };
2329
2366
  var getValidationSchema = function getValidationSchema(data, customData) {
2330
2367
  var fieldKeys = Object.keys(data);
2331
2368
  var schema = fieldKeys.reduce(function (acc, key) {
2332
- return _objectSpread$e(_objectSpread$e({}, acc), {}, _defineProperty({}, key, yup.object({
2369
+ return _objectSpread$f(_objectSpread$f({}, acc), {}, _defineProperty({}, key, yup.object({
2333
2370
  value: getSchemaForElement(data[key], customData)
2334
2371
  })));
2335
2372
  }, {});
@@ -2344,10 +2381,11 @@ var FIELD_TYPES = {
2344
2381
  events: "events",
2345
2382
  radio: "radio",
2346
2383
  actions: "actions",
2347
- multiSelect: "multi-select"
2384
+ multiSelect: "multi-select",
2385
+ executionDelay: "execution-delay"
2348
2386
  };
2349
2387
  var MAXIMUM_OPTION_LENGTH$1 = 7;
2350
- var VALIDATION_SCHEMA = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FIELD_TYPES.text, getSchemaForStrings), FIELD_TYPES.longText, getSchemaForStrings), FIELD_TYPES.dropdown, getSchemaForStrings), FIELD_TYPES.radio, getSchemaForStrings), FIELD_TYPES.events, getEventsSchema), FIELD_TYPES.condition, getConditionsSchema), FIELD_TYPES.actions, getActionsSchema), FIELD_TYPES.multiSelect, getSchemaForArray);
2388
+ var VALIDATION_SCHEMA = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, FIELD_TYPES.text, getSchemaForStrings), FIELD_TYPES.longText, getSchemaForStrings), FIELD_TYPES.dropdown, getSchemaForStrings), FIELD_TYPES.radio, getSchemaForStrings), FIELD_TYPES.events, getEventsSchema), FIELD_TYPES.condition, getConditionsSchema), FIELD_TYPES.actions, getActionsSchema), FIELD_TYPES.multiSelect, getSchemaForArray), FIELD_TYPES.executionDelay, getSchemaForExecutionDelay);
2351
2389
  var DECIMAL_NUMBER_REGEX = /^-?\d*\.?\d+$/;
2352
2390
  var NUMBER_REGEX = /^-?\d+$/;
2353
2391
  var POSITIVE_DECIMAL_NUMBER_REGEX = /^\d*\.?\d+$/;
@@ -2568,8 +2606,8 @@ var Card = function Card(_ref) {
2568
2606
  });
2569
2607
  };
2570
2608
 
2571
- function ownKeys$d(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; }
2572
- function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2609
+ function ownKeys$e(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; }
2610
+ function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
2573
2611
  var Actions = function Actions(_ref) {
2574
2612
  var name = _ref.name,
2575
2613
  label = _ref.label,
@@ -2595,7 +2633,7 @@ var Actions = function Actions(_ref) {
2595
2633
  }, [actions]);
2596
2634
  var handleRemoveAction = function handleRemoveAction(index, action, arrayHelpers) {
2597
2635
  if (action.id) {
2598
- setFieldValue("".concat(name, ".deleted"), [].concat(_toConsumableArray(values[name].deleted || []), [_objectSpread$d(_objectSpread$d({}, action), {}, {
2636
+ setFieldValue("".concat(name, ".deleted"), [].concat(_toConsumableArray(values[name].deleted || []), [_objectSpread$e(_objectSpread$e({}, action), {}, {
2599
2637
  _destroy: true
2600
2638
  })]));
2601
2639
  }
@@ -3091,8 +3129,8 @@ var MultiSelect = function MultiSelect(_ref) {
3091
3129
  };
3092
3130
 
3093
3131
  var _excluded$7 = ["name", "index"];
3094
- function ownKeys$c(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; }
3095
- function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3132
+ function ownKeys$d(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; }
3133
+ function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3096
3134
  var MultiSelectCreate = function MultiSelectCreate(_ref) {
3097
3135
  var _conditions$value$ind, _conditions$value$ind2, _errors$conditions, _errors$conditions$va, _touched$conditions, _touched$conditions$v;
3098
3136
  var name = _ref.name,
@@ -3166,7 +3204,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref) {
3166
3204
  children: t("neetoRules.labels.multipleValues")
3167
3205
  })
3168
3206
  }), /*#__PURE__*/jsx(Pane.Body, {
3169
- children: /*#__PURE__*/jsx(Select, _objectSpread$c({
3207
+ children: /*#__PURE__*/jsx(Select, _objectSpread$d({
3170
3208
  isMulti: true,
3171
3209
  className: "mt-4 w-full",
3172
3210
  "data-cy": "multi-select-create-container",
@@ -3441,8 +3479,8 @@ var LogicOperator = function LogicOperator(_ref) {
3441
3479
  });
3442
3480
  };
3443
3481
 
3444
- function ownKeys$b(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; }
3445
- function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3482
+ function ownKeys$c(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; }
3483
+ function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3446
3484
  var Conditions = function Conditions(_ref) {
3447
3485
  var _field$value;
3448
3486
  var data = _ref.data,
@@ -3479,8 +3517,8 @@ var Conditions = function Conditions(_ref) {
3479
3517
  var handleRemoveCondition = function handleRemoveCondition(index, condition, arrayHelpers) {
3480
3518
  if (condition.id) {
3481
3519
  var _field$value2;
3482
- setValue(_objectSpread$b(_objectSpread$b({}, field.value), {}, {
3483
- deleted: [].concat(_toConsumableArray(((_field$value2 = field.value) === null || _field$value2 === void 0 ? void 0 : _field$value2.deleted) || []), [_objectSpread$b(_objectSpread$b({}, condition), {}, {
3520
+ setValue(_objectSpread$c(_objectSpread$c({}, field.value), {}, {
3521
+ deleted: [].concat(_toConsumableArray(((_field$value2 = field.value) === null || _field$value2 === void 0 ? void 0 : _field$value2.deleted) || []), [_objectSpread$c(_objectSpread$c({}, condition), {}, {
3484
3522
  _destroy: true
3485
3523
  })])
3486
3524
  }));
@@ -3575,6 +3613,100 @@ var OPERATORS = {
3575
3613
  or: "or_operator",
3576
3614
  and: "and_operator"
3577
3615
  };
3616
+ var DELAY_UNIT_OPTIONS = [toLabelAndValue("minutes"), toLabelAndValue("hours"), toLabelAndValue("days")];
3617
+ var DEFAULT_DELAY = {
3618
+ value: 10,
3619
+ unit: "minutes"
3620
+ };
3621
+
3622
+ function ownKeys$b(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; }
3623
+ function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3624
+ var AddDelay = function AddDelay(_ref) {
3625
+ var name = _ref.name,
3626
+ data = _ref.data;
3627
+ var _ref2 = data[name] || {},
3628
+ _ref2$defaultValue = _ref2.defaultValue,
3629
+ defaultValue = _ref2$defaultValue === void 0 ? DEFAULT_DELAY : _ref2$defaultValue;
3630
+ var _useField = useField("".concat(name, ".value")),
3631
+ _useField2 = _slicedToArray(_useField, 3),
3632
+ value = _useField2[0].value;
3633
+ _useField2[1];
3634
+ var setValue = _useField2[2].setValue;
3635
+ var _useState = useState(isEmpty(value)),
3636
+ _useState2 = _slicedToArray(_useState, 2),
3637
+ showAddDelayButton = _useState2[0],
3638
+ setShowAddDelayButton = _useState2[1];
3639
+ var addDelayButtonRef = useRef(null);
3640
+ var _useTranslation = useTranslation(),
3641
+ t = _useTranslation.t;
3642
+ var handleDisplayAddDelayForm = function handleDisplayAddDelayForm() {
3643
+ setShowAddDelayButton(false);
3644
+ setValue({
3645
+ value: defaultValue.value,
3646
+ unit: defaultValue.unit
3647
+ });
3648
+ };
3649
+ return /*#__PURE__*/jsxs(Fragment, {
3650
+ children: [showAddDelayButton && /*#__PURE__*/jsxs(Fragment, {
3651
+ children: [/*#__PURE__*/jsx(Button, {
3652
+ icon: Plus,
3653
+ ref: addDelayButtonRef,
3654
+ style: "secondary",
3655
+ onClick: handleDisplayAddDelayForm
3656
+ }), /*#__PURE__*/jsxs(Popover, {
3657
+ reference: addDelayButtonRef,
3658
+ children: [/*#__PURE__*/jsx(Typography, {
3659
+ style: "h4",
3660
+ children: t("neetoRules.common.addDelay")
3661
+ }), /*#__PURE__*/jsx(Typography, {
3662
+ lineHeight: "normal",
3663
+ style: "body2",
3664
+ children: t("neetoRules.helpText.addDelay")
3665
+ })]
3666
+ })]
3667
+ }), !showAddDelayButton && /*#__PURE__*/jsx(Card, {
3668
+ title: t("neetoRules.common.addDelay"),
3669
+ children: /*#__PURE__*/jsxs("div", {
3670
+ className: "flex h-full w-full items-center justify-between",
3671
+ children: [/*#__PURE__*/jsxs("div", {
3672
+ className: "flex items-center gap-x-2",
3673
+ children: [/*#__PURE__*/jsx(Typography, {
3674
+ style: "body2",
3675
+ children: t("neetoRules.form.delayExecutionBy")
3676
+ }), /*#__PURE__*/jsx(Input$2, {
3677
+ name: "".concat(name, ".value.value"),
3678
+ placeholder: t("neetoRules.placeholders.enterDelay"),
3679
+ type: "number"
3680
+ }), /*#__PURE__*/jsx(Select$1, {
3681
+ defaultValue: findBy({
3682
+ value: value.unit
3683
+ }, DELAY_UNIT_OPTIONS),
3684
+ name: "".concat(name, ".value.unit"),
3685
+ options: DELAY_UNIT_OPTIONS,
3686
+ placeholder: t("neetoRules.placeholders.selectOption"),
3687
+ onChange: function onChange(option) {
3688
+ return setValue(_objectSpread$b(_objectSpread$b({}, value), {}, {
3689
+ unit: option.value
3690
+ }));
3691
+ }
3692
+ })]
3693
+ }), /*#__PURE__*/jsx(Button, {
3694
+ icon: Delete,
3695
+ size: "small",
3696
+ style: "text",
3697
+ tooltipProps: {
3698
+ content: t("neetoRules.common.delete"),
3699
+ position: "top"
3700
+ },
3701
+ onClick: function onClick() {
3702
+ setShowAddDelayButton(true);
3703
+ setValue({});
3704
+ }
3705
+ })]
3706
+ })
3707
+ })]
3708
+ });
3709
+ };
3578
3710
 
3579
3711
  var getAllEvents = function getAllEvents(events, dropdownOptions) {
3580
3712
  return dropdownOptions.filter(function (option) {
@@ -3912,7 +4044,7 @@ var Events$1 = function Events(_ref) {
3912
4044
  });
3913
4045
  };
3914
4046
 
3915
- var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent"];
4047
+ var _excluded$6 = ["addButtonTooltipProps", "data", "label", "name", "performerName", "conditionsName", "onSelectEvent", "enableAddingDelay"];
3916
4048
  function ownKeys$9(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; }
3917
4049
  function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3918
4050
  var EventConditions = function EventConditions(_ref) {
@@ -3924,6 +4056,8 @@ var EventConditions = function EventConditions(_ref) {
3924
4056
  performerName = _ref.performerName,
3925
4057
  conditionsName = _ref.conditionsName,
3926
4058
  onSelectEvent = _ref.onSelectEvent,
4059
+ _ref$enableAddingDela = _ref.enableAddingDelay,
4060
+ enableAddingDelay = _ref$enableAddingDela === void 0 ? false : _ref$enableAddingDela,
3927
4061
  config = _objectWithoutProperties(_ref, _excluded$6);
3928
4062
  var _useFormikContext = useFormikContext(),
3929
4063
  values = _useFormikContext.values,
@@ -3954,8 +4088,8 @@ var EventConditions = function EventConditions(_ref) {
3954
4088
  }, addButtonTooltipProps);
3955
4089
  var isConditionsEmpty = isEmpty(conditionProps === null || conditionProps === void 0 ? void 0 : conditionProps.conditionOptions);
3956
4090
  var tooltipProps = isConditionsEmpty ? disabledAddButtonTooltips : addButtonTooltips;
3957
- return /*#__PURE__*/jsx("div", {
3958
- children: /*#__PURE__*/jsxs(Card, {
4091
+ return /*#__PURE__*/jsxs("div", {
4092
+ children: [/*#__PURE__*/jsxs(Card, {
3959
4093
  title: label || (elementProps === null || elementProps === void 0 ? void 0 : elementProps.label),
3960
4094
  children: [/*#__PURE__*/jsxs("div", {
3961
4095
  className: "flex justify-between",
@@ -3990,7 +4124,10 @@ var EventConditions = function EventConditions(_ref) {
3990
4124
  name: conditionsName
3991
4125
  }, config))
3992
4126
  })]
3993
- })
4127
+ }), enableAddingDelay && /*#__PURE__*/jsx(AddDelay, {
4128
+ data: data,
4129
+ name: "execution_delay"
4130
+ })]
3994
4131
  });
3995
4132
  };
3996
4133