@bigbinary/neeto-rules-frontend 2.5.27 → 2.5.29

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.
@@ -10,23 +10,25 @@ var formik = require('formik');
10
10
  var neetoCist = require('@bigbinary/neeto-cist');
11
11
  var Plus = require('@bigbinary/neeto-icons/Plus');
12
12
  var Delete = require('@bigbinary/neeto-icons/Delete');
13
- var Refresh = require('@bigbinary/neeto-icons/Refresh');
14
13
  var Button = require('@bigbinary/neetoui/Button');
15
14
  var reactI18next = require('react-i18next');
16
- var useUtilityStore = require('../useUtilityStore-0xgAU9fw.js');
15
+ var useUtilityStore = require('../useUtilityStore-D6PfpKqa.js');
17
16
  var classNames = require('classnames');
18
17
  var Typography = require('@bigbinary/neetoui/Typography');
19
18
  var ramda = require('ramda');
20
19
  var i18next = require('i18next');
21
20
  var yup = require('yup');
21
+ var Search = require('@bigbinary/neeto-icons/Search');
22
+ var Input$1 = require('@bigbinary/neetoui/Input');
22
23
  var Radio = require('@bigbinary/neetoui/formik/Radio');
23
24
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
24
25
  var managers = require('@bigbinary/neetoui/managers');
25
26
  var jsxRuntime = require('react/jsx-runtime');
26
27
  var Collapse = require('@bigbinary/neeto-icons/Collapse');
28
+ var Callout = require('@bigbinary/neetoui/Callout');
27
29
  var Left = require('@bigbinary/neeto-icons/Left');
28
30
  var Textarea = require('@bigbinary/neetoui/formik/Textarea');
29
- var Input$1 = require('@bigbinary/neetoui/formik/Input');
31
+ var Input$2 = require('@bigbinary/neetoui/formik/Input');
30
32
  var Switch = require('@bigbinary/neetoui/formik/Switch');
31
33
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
32
34
  var Editor = require('@monaco-editor/react');
@@ -38,19 +40,19 @@ var utils = require('@bigbinary/neeto-commons-frontend/utils');
38
40
  var DatePicker = require('@bigbinary/neetoui/DatePicker');
39
41
  var MultiEmailInput = require('@bigbinary/neetoui/formik/MultiEmailInput');
40
42
  var FormikEditor = require('@bigbinary/neeto-editor/FormikEditor');
43
+ var Refresh = require('@bigbinary/neeto-icons/Refresh');
41
44
  var Select$1 = require('@bigbinary/neetoui/formik/Select');
42
45
  var useHotkeys = require('@bigbinary/neeto-hotkeys');
43
46
  var Check = require('@bigbinary/neeto-icons/Check');
44
47
  var Close = require('@bigbinary/neeto-icons/Close');
45
- var Input$2 = require('@bigbinary/neetoui/Input');
46
48
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
47
49
  var CreatableSelect = require('react-select/creatable');
48
50
  var _toArray = require('@babel/runtime/helpers/toArray');
49
51
  var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
50
52
  var Tag = require('@bigbinary/neetoui/Tag');
51
53
  var reactSelect = require('react-select');
54
+ var constants = require('../constants-BjXYr8nk.js');
52
55
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
53
- var constants = require('../constants-CCwwHsAM.js');
54
56
  var Radio$1 = require('@bigbinary/neetoui/Radio');
55
57
  var TimePicker = require('@bigbinary/neetoui/TimePicker');
56
58
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
@@ -169,7 +171,7 @@ var Footer = function Footer(_ref) {
169
171
  className = _ref.className;
170
172
  return /*#__PURE__*/jsxRuntime.jsx("div", {
171
173
  "data-cy": "pane-footer",
172
- className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-300 flex items-center justify-between border-t p-6", className),
174
+ className: classNames("neeto-rules-side-panel__footer neeto-ui-border-gray-200 flex items-center justify-between border-t p-6", className),
173
175
  children: children
174
176
  });
175
177
  };
@@ -187,7 +189,7 @@ var Header = function Header(_ref) {
187
189
  t = _useTranslation.t;
188
190
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
189
191
  "data-cy": "pane-header",
190
- className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-300 flex items-start justify-between border-b p-6", _defineProperty({}, className, className)),
192
+ className: classNames("neeto-rules-side-panel__header neeto-ui-border-gray-200 flex items-start justify-between border-b p-6", _defineProperty({}, className, className)),
191
193
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
192
194
  className: "flex min-w-0 flex-grow",
193
195
  children: children
@@ -237,7 +239,7 @@ var Panel = function Panel() {
237
239
  large: "neeto-rules-side-panel--large"
238
240
  }[panelState.size] || "neeto-rules-side-panel--small";
239
241
  return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$u(_objectSpread$u({
240
- className: classNames("neeto-rules-side-panel neeto-ui-border-gray-300 transition-width neeto-ui-bg-white ml-auto flex h-screen max-h-full flex-col overflow-y-auto border-l duration-300 ease-in-out", _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, panelSize, isOpen), "w-0 overflow-hidden", !isOpen), "absolute", hasOverlays), "right-0", hasOverlays))
242
+ className: classNames("neeto-rules-side-panel neeto-ui-border-gray-200 transition-width neeto-ui-bg-white ml-auto flex h-screen max-h-full flex-col overflow-y-auto border-l duration-300 ease-in-out", _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, panelSize, isOpen), "w-0 overflow-hidden", !isOpen), "absolute", hasOverlays), "right-0", hasOverlays))
241
243
  }, paneProps), {}, {
242
244
  children: /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread$u(_objectSpread$u({}, data), {}, {
243
245
  onClose: resetPanelState
@@ -248,15 +250,11 @@ Panel.Header = Header;
248
250
  Panel.Body = Body;
249
251
  Panel.Footer = Footer;
250
252
 
251
- var ErrorCallout = function ErrorCallout(_ref) {
252
- var message = _ref.message,
253
- selectedField = _ref.selectedField;
254
- if (!message) return null;
255
- if (typeof message === "function") return message(selectedField);
256
- return /*#__PURE__*/jsxRuntime.jsx(Typography, {
257
- className: "neeto-ui-text-white neeto-ui-bg-error-500 neeto-ui-rounded-sm -mx-4 w-full p-3",
258
- style: "h5",
259
- children: message
253
+ var StickySidebarHeader = function StickySidebarHeader(_ref) {
254
+ var children = _ref.children;
255
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
256
+ className: "sticky top-0 neeto-ui-bg-white py-6 flex flex-col gap-3",
257
+ children: children
260
258
  });
261
259
  };
262
260
 
@@ -302,6 +300,7 @@ var DEFAULT_RULE_ACTION = {
302
300
  };
303
301
  var EDITOR_ADDONS = ["code-block", "block-quote", "image-upload"];
304
302
  var EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
303
+ var MAXIMUM_OPTION_LENGTH$1 = 7;
305
304
  var ACTION_INPUT_TYPES = ["text", "number", "decimal", "regex"];
306
305
  var DEFAULT_HELP_POPOVER_PROPS = {
307
306
  helpLinkProps: {
@@ -309,6 +308,18 @@ var DEFAULT_HELP_POPOVER_PROPS = {
309
308
  }
310
309
  };
311
310
 
311
+ var ErrorCallout = function ErrorCallout(_ref) {
312
+ var message = _ref.message,
313
+ selectedField = _ref.selectedField;
314
+ if (!message) return null;
315
+ if (typeof message === "function") return message(selectedField);
316
+ return /*#__PURE__*/jsxRuntime.jsx(Callout, {
317
+ className: "block",
318
+ style: "danger",
319
+ children: message
320
+ });
321
+ };
322
+
312
323
  var getFieldDetails$1 = function getFieldDetails(fieldValue) {
313
324
  var actionOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
314
325
  return neetoCist.findBy({
@@ -337,6 +348,12 @@ var getDetailsByValue = function getDetailsByValue(value, options) {
337
348
  value: value
338
349
  }, options);
339
350
  };
351
+ var getSearchedOptions$2 = function getSearchedOptions(dropdownOptions, searchTerm) {
352
+ return dropdownOptions.filter(function (_ref) {
353
+ var label = _ref.label;
354
+ return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
355
+ });
356
+ };
340
357
  var getSelectedOptions = function getSelectedOptions(options) {
341
358
  return options.filter(ramda.identity).length ? options : [];
342
359
  };
@@ -389,6 +406,10 @@ var getPanelSize = function getPanelSize(selectedField) {
389
406
  var ActionPanel = function ActionPanel() {
390
407
  var _useTranslation = reactI18next.useTranslation(),
391
408
  t = _useTranslation.t;
409
+ var _useState = react.useState(""),
410
+ _useState2 = _slicedToArray(_useState, 2),
411
+ searchTerm = _useState2[0],
412
+ setSearchTerm = _useState2[1];
392
413
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
393
414
  return {
394
415
  setPanelState: store["setPanelState"],
@@ -428,6 +449,8 @@ var ActionPanel = function ActionPanel() {
428
449
  ref = _useActiveField.ref,
429
450
  setFieldActive = _useActiveField.setFieldActive;
430
451
  var label = index ? t("neetoRules.common.andThen") : t("neetoRules.common.then");
452
+ var isSearchable = actionOptions.length > MAXIMUM_OPTION_LENGTH$1;
453
+ var searchedOptions = getSearchedOptions$2(actionOptions, searchTerm);
431
454
  var setFieldValueAndUntouch = function setFieldValueAndUntouch(field, value) {
432
455
  setFieldValue(field, value);
433
456
  setFieldTouched(field, false);
@@ -468,26 +491,45 @@ var ActionPanel = function ActionPanel() {
468
491
  })]
469
492
  })
470
493
  }), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
471
- className: "space-y-4",
472
- children: [/*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
473
- selectedField: selectedField,
474
- message: errorMessage
475
- }), /*#__PURE__*/jsxRuntime.jsx(Radio, {
494
+ className: classNames("space-y-4", {
495
+ "pt-0": isSearchable || errorMessage
496
+ }),
497
+ children: [(isSearchable || errorMessage) && /*#__PURE__*/jsxRuntime.jsxs(StickySidebarHeader, {
498
+ children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
499
+ "data-cy": "search-text-field",
500
+ placeholder: t("neetoRules.common.search"),
501
+ prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
502
+ value: searchTerm,
503
+ onChange: function onChange(e) {
504
+ return setSearchTerm(e.target.value);
505
+ },
506
+ onClick: function onClick(e) {
507
+ return e.stopPropagation();
508
+ }
509
+ }), /*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
510
+ selectedField: selectedField,
511
+ message: errorMessage
512
+ })]
513
+ }), neetoCist.isNotEmpty(searchedOptions) ? /*#__PURE__*/jsxRuntime.jsx(Radio, {
476
514
  ref: ref,
477
515
  stacked: true,
478
516
  name: "".concat(name, ".name"),
479
517
  value: selectedField === null || selectedField === void 0 ? void 0 : selectedField.value,
480
518
  onChange: handleSelectOption,
481
- children: actionOptions.map(function (_ref2, index) {
519
+ children: searchedOptions.map(function (_ref2) {
482
520
  var label = _ref2.label,
483
521
  value = _ref2.value;
484
522
  return /*#__PURE__*/react.createElement(Radio.Item, {
485
523
  label: label,
486
524
  value: value,
487
- key: index,
525
+ key: value,
488
526
  onFocus: setFieldActive
489
527
  });
490
528
  })
529
+ }) : /*#__PURE__*/jsxRuntime.jsx("div", {
530
+ className: "py-1 text-sm",
531
+ "data-cy": "no-options-menu-item",
532
+ children: t("neetoRules.common.noOptions")
491
533
  })]
492
534
  }), /*#__PURE__*/jsxRuntime.jsx(Panel.Footer, {
493
535
  children: /*#__PURE__*/jsxRuntime.jsx(Button, {
@@ -742,13 +784,13 @@ var KeyValuePairsField = reactUtils.withT(function (_ref) {
742
784
  children: [data.map(function (_, index) {
743
785
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
744
786
  className: "flex h-8 space-x-3",
745
- children: [/*#__PURE__*/jsxRuntime.jsx(Input$1, {
787
+ children: [/*#__PURE__*/jsxRuntime.jsx(Input$2, {
746
788
  onFocus: onFocus,
747
789
  className: "w-1/3",
748
790
  name: "".concat(name, ".").concat(index, ".key"),
749
791
  placeholder: t("neetoRules.labels.key"),
750
792
  type: "text"
751
- }), /*#__PURE__*/jsxRuntime.jsx(Input$1, {
793
+ }), /*#__PURE__*/jsxRuntime.jsx(Input$2, {
752
794
  onFocus: onFocus,
753
795
  className: "w-2/3",
754
796
  name: "".concat(name, ".").concat(index, ".value"),
@@ -985,7 +1027,7 @@ var SaveAsTemplate = function SaveAsTemplate(_ref) {
985
1027
  label: t("neetoRules.labels.saveAsTemplate"),
986
1028
  name: switchName,
987
1029
  onChange: handleChange
988
- }), shouldSaveAsTemplate && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
1030
+ }), shouldSaveAsTemplate && /*#__PURE__*/jsxRuntime.jsx(Input$2, {
989
1031
  autoFocus: true,
990
1032
  required: true,
991
1033
  label: t("neetoRules.labels.templateName"),
@@ -1161,7 +1203,7 @@ var ApiFields = function ApiFields(_ref2) {
1161
1203
  initialFocusRef: ref,
1162
1204
  onChange: handleTemplateChange,
1163
1205
  onFocus: setFieldActive
1164
- }), /*#__PURE__*/jsxRuntime.jsx(Input$1, {
1206
+ }), /*#__PURE__*/jsxRuntime.jsx(Input$2, {
1165
1207
  required: true,
1166
1208
  className: "mb-4",
1167
1209
  "data-cy": "api-action-endpoint-text-field",
@@ -1401,7 +1443,7 @@ var EditorAction = function EditorAction(_ref) {
1401
1443
  }, otherProps));
1402
1444
  };
1403
1445
 
1404
- var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required"];
1446
+ var _excluded$d = ["dropdownOptions", "name", "selectedField", "shouldAutoFocus", "className", "required", "handleSlackChannelRefresh", "action"];
1405
1447
  function ownKeys$p(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; }
1406
1448
  function _objectSpread$p(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$p(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1407
1449
  var Target$g = function Target(_ref) {
@@ -1465,6 +1507,8 @@ var SelectField$2 = function SelectField(_ref2) {
1465
1507
  className = _ref2.className,
1466
1508
  _ref2$required = _ref2.required,
1467
1509
  required = _ref2$required === void 0 ? false : _ref2$required,
1510
+ handleSlackChannelRefresh = _ref2.handleSlackChannelRefresh,
1511
+ action = _ref2.action,
1468
1512
  otherProps = _objectWithoutProperties(_ref2, _excluded$d);
1469
1513
  var _useTranslation2 = reactI18next.useTranslation(),
1470
1514
  t = _useTranslation2.t;
@@ -1496,18 +1540,32 @@ var SelectField$2 = function SelectField(_ref2) {
1496
1540
  setValue((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : null);
1497
1541
  setTouched(true);
1498
1542
  };
1499
- return /*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
1500
- className: className,
1501
- name: name,
1502
- required: required
1503
- }, otherProps)), {}, {
1504
- innerRef: ref,
1505
- label: defaultLabel,
1506
- options: dropdownOptions,
1507
- value: selectedOption,
1508
- onChange: handleSelectOption,
1509
- onFocus: setFieldActive
1510
- }));
1543
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
1544
+ className: "flex items-start gap-2",
1545
+ children: [/*#__PURE__*/jsxRuntime.jsx(Select$1, _objectSpread$p(_objectSpread$p({}, _objectSpread$p({
1546
+ className: className,
1547
+ name: name,
1548
+ required: required
1549
+ }, otherProps)), {}, {
1550
+ innerRef: ref,
1551
+ label: defaultLabel,
1552
+ options: dropdownOptions,
1553
+ value: selectedOption,
1554
+ onChange: handleSelectOption,
1555
+ onFocus: setFieldActive
1556
+ })), handleSlackChannelRefresh && action.name === "message_to_slack" && /*#__PURE__*/jsxRuntime.jsx(Button, {
1557
+ className: "mt-[22px]",
1558
+ "data-cy": "refresh-slack-button",
1559
+ icon: Refresh,
1560
+ size: "medium",
1561
+ style: "secondary",
1562
+ tooltipProps: {
1563
+ content: t("neetoRules.slack.refreshChannelList"),
1564
+ position: "top"
1565
+ },
1566
+ onClick: handleSlackChannelRefresh
1567
+ })]
1568
+ });
1511
1569
  };
1512
1570
  SelectField$2.Target = Target$g;
1513
1571
 
@@ -1644,7 +1702,7 @@ var EmailFields = function EmailFields(_ref2) {
1644
1702
  name: "".concat(name, ".emails"),
1645
1703
  initialFocusRef: isFirstFieldInForm("emails") ? initialFocusRef : null,
1646
1704
  onFocus: setFieldActive
1647
- }), !selectedField.hideSubject && /*#__PURE__*/jsxRuntime.jsx(Input$1, {
1705
+ }), !selectedField.hideSubject && /*#__PURE__*/jsxRuntime.jsx(Input$2, {
1648
1706
  required: true,
1649
1707
  className: "mb-4",
1650
1708
  "data-cy": "email-action-subject-text-field",
@@ -1724,7 +1782,7 @@ var Input = function Input(_ref2) {
1724
1782
  }),
1725
1783
  ref = _useActiveField2.ref,
1726
1784
  setFieldActive = _useActiveField2.setFieldActive;
1727
- return /*#__PURE__*/jsxRuntime.jsx(Input$1, {
1785
+ return /*#__PURE__*/jsxRuntime.jsx(Input$2, {
1728
1786
  ref: ref,
1729
1787
  required: required,
1730
1788
  className: "my-auto",
@@ -1806,7 +1864,7 @@ var InlineInput = /*#__PURE__*/react.forwardRef(function (props, ref) {
1806
1864
  return /*#__PURE__*/jsxRuntime.jsx("div", {
1807
1865
  className: classNames("flex flex-grow", _defineProperty({}, className, className)),
1808
1866
  ref: inputWrapperRef,
1809
- children: /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$n(_objectSpread$n({
1867
+ children: /*#__PURE__*/jsxRuntime.jsx(Input$1, _objectSpread$n(_objectSpread$n({
1810
1868
  autoFocus: true,
1811
1869
  required: true,
1812
1870
  className: "neeto-planner-inline-input",
@@ -2220,7 +2278,6 @@ var MultiSelectCheckbox$1 = function MultiSelectCheckbox(_ref2) {
2220
2278
  }) : /*#__PURE__*/jsxRuntime.jsx(Select$1, {
2221
2279
  name: name,
2222
2280
  innerRef: ref,
2223
- label: defaultLabel,
2224
2281
  options: dropdownOptions,
2225
2282
  onFocus: setFieldActive
2226
2283
  })]
@@ -2830,7 +2887,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
2830
2887
  isTarget = _ref$isTarget === void 0 ? false : _ref$isTarget,
2831
2888
  errorMessage = _ref.errorMessage,
2832
2889
  _ref$openPanel = _ref.openPanel,
2833
- openPanel = _ref$openPanel === void 0 ? neetoCist.noop : _ref$openPanel;
2890
+ openPanel = _ref$openPanel === void 0 ? neetoCist.noop : _ref$openPanel,
2891
+ handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
2834
2892
  var _useTranslation = reactI18next.useTranslation(),
2835
2893
  t = _useTranslation.t;
2836
2894
  var hasError = !!errorMessage;
@@ -2887,6 +2945,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
2887
2945
  }
2888
2946
  }), /*#__PURE__*/jsxRuntime.jsx(EmailFields.Target, {
2889
2947
  action: action,
2948
+ hasError: hasError,
2890
2949
  index: index,
2891
2950
  name: name,
2892
2951
  selectedField: selectedField,
@@ -3026,6 +3085,8 @@ var ActionSubItem = function ActionSubItem(_ref) {
3026
3085
  return openPanel("small");
3027
3086
  }
3028
3087
  }) : /*#__PURE__*/jsxRuntime.jsx(SelectField$2, {
3088
+ action: action,
3089
+ handleSlackChannelRefresh: handleSlackChannelRefresh,
3029
3090
  index: index,
3030
3091
  selectedField: selectedField,
3031
3092
  required: true,
@@ -3198,14 +3259,15 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
3198
3259
  setPanelState = _useUtilityStore.setPanelState,
3199
3260
  resetPanelState = _useUtilityStore.resetPanelState;
3200
3261
  var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
3201
- var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6;
3262
+ var _store$panelState, _store$panelState2, _store$panelState3, _store$panelState4, _store$panelState5, _store$panelState6, _store$panelState7;
3202
3263
  return {
3203
3264
  name: (_store$panelState = store["panelState"]) === null || _store$panelState === void 0 || (_store$panelState = _store$panelState["data"]) === null || _store$panelState === void 0 ? void 0 : _store$panelState["name"],
3204
3265
  index: (_store$panelState2 = store["panelState"]) === null || _store$panelState2 === void 0 || (_store$panelState2 = _store$panelState2["data"]) === null || _store$panelState2 === void 0 ? void 0 : _store$panelState2["index"],
3205
3266
  action: (_store$panelState3 = store["panelState"]) === null || _store$panelState3 === void 0 || (_store$panelState3 = _store$panelState3["data"]) === null || _store$panelState3 === void 0 ? void 0 : _store$panelState3["action"],
3206
3267
  valueOptions: (_store$panelState4 = store["panelState"]) === null || _store$panelState4 === void 0 || (_store$panelState4 = _store$panelState4["data"]) === null || _store$panelState4 === void 0 ? void 0 : _store$panelState4["valueOptions"],
3207
3268
  selectedField: (_store$panelState5 = store["panelState"]) === null || _store$panelState5 === void 0 || (_store$panelState5 = _store$panelState5["data"]) === null || _store$panelState5 === void 0 ? void 0 : _store$panelState5["selectedField"],
3208
- errorMessage: (_store$panelState6 = store["panelState"]) === null || _store$panelState6 === void 0 || (_store$panelState6 = _store$panelState6["data"]) === null || _store$panelState6 === void 0 ? void 0 : _store$panelState6["errorMessage"]
3269
+ errorMessage: (_store$panelState6 = store["panelState"]) === null || _store$panelState6 === void 0 || (_store$panelState6 = _store$panelState6["data"]) === null || _store$panelState6 === void 0 ? void 0 : _store$panelState6["errorMessage"],
3270
+ handleSlackChannelRefresh: (_store$panelState7 = store["panelState"]) === null || _store$panelState7 === void 0 || (_store$panelState7 = _store$panelState7["data"]) === null || _store$panelState7 === void 0 ? void 0 : _store$panelState7["handleSlackChannelRefresh"]
3209
3271
  };
3210
3272
  }, shallow.shallow),
3211
3273
  name = _useUtilityStore2.name,
@@ -3213,7 +3275,8 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
3213
3275
  action = _useUtilityStore2.action,
3214
3276
  valueOptions = _useUtilityStore2.valueOptions,
3215
3277
  selectedField = _useUtilityStore2.selectedField,
3216
- errorMessage = _useUtilityStore2.errorMessage;
3278
+ errorMessage = _useUtilityStore2.errorMessage,
3279
+ handleSlackChannelRefresh = _useUtilityStore2.handleSlackChannelRefresh;
3217
3280
  var _useFormikContext = formik.useFormikContext(),
3218
3281
  setFieldTouched = _useFormikContext.setFieldTouched;
3219
3282
  var _useField = formik.useField("".concat(name, ".metadata")),
@@ -3269,12 +3332,17 @@ var ActionSubItemPanel = function ActionSubItemPanel() {
3269
3332
  })]
3270
3333
  })
3271
3334
  }), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
3272
- className: "space-y-4",
3273
- children: [/*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
3274
- selectedField: selectedField,
3275
- message: errorMessage
3335
+ className: classNames("space-y-4", {
3336
+ "pt-0": errorMessage
3337
+ }),
3338
+ children: [errorMessage && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
3339
+ children: /*#__PURE__*/jsxRuntime.jsx(ErrorCallout, {
3340
+ selectedField: selectedField,
3341
+ message: errorMessage
3342
+ })
3276
3343
  }), /*#__PURE__*/jsxRuntime.jsx(ActionSubItem$1, {
3277
3344
  action: action,
3345
+ handleSlackChannelRefresh: handleSlackChannelRefresh,
3278
3346
  index: index,
3279
3347
  selectedField: selectedField,
3280
3348
  valueOptions: valueOptions,
@@ -3442,7 +3510,7 @@ var InputField$1 = function InputField(_ref2) {
3442
3510
  }),
3443
3511
  ref = _useActiveField2.ref,
3444
3512
  setFieldActive = _useActiveField2.setFieldActive;
3445
- return /*#__PURE__*/jsxRuntime.jsx(Input$1, {
3513
+ return /*#__PURE__*/jsxRuntime.jsx(Input$2, {
3446
3514
  name: name,
3447
3515
  placeholder: placeholder,
3448
3516
  ref: ref,
@@ -3702,6 +3770,12 @@ var getVerbOptions = function getVerbOptions() {
3702
3770
  };
3703
3771
  });
3704
3772
  };
3773
+ var getSearchedOptions$1 = function getSearchedOptions(dropdownOptions, searchTerm) {
3774
+ return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
3775
+ var label = _ref.label;
3776
+ return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
3777
+ });
3778
+ };
3705
3779
  var getAllOptions = function getAllOptions(options) {
3706
3780
  return Array.isArray(options) ? options.map(function (option) {
3707
3781
  return {
@@ -3819,7 +3893,7 @@ var MultiSelectCreate = function MultiSelectCreate(_ref2) {
3819
3893
  MultiSelectCreate.Target = Target$3;
3820
3894
 
3821
3895
  var _excluded$7 = ["name", "options", "placeholder", "onClick"],
3822
- _excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required"];
3896
+ _excluded2 = ["name", "options", "handleOnChange", "shouldAutoFocus", "showLabel", "required", "isSearchable"];
3823
3897
  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; }
3824
3898
  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; }
3825
3899
  var Target$2 = function Target(_ref) {
@@ -3874,9 +3948,15 @@ var RadioField$1 = function RadioField(_ref2) {
3874
3948
  showLabel = _ref2$showLabel === void 0 ? true : _ref2$showLabel,
3875
3949
  _ref2$required = _ref2.required,
3876
3950
  required = _ref2$required === void 0 ? false : _ref2$required,
3951
+ _ref2$isSearchable = _ref2.isSearchable,
3952
+ isSearchable = _ref2$isSearchable === void 0 ? false : _ref2$isSearchable,
3877
3953
  otherProps = _objectWithoutProperties(_ref2, _excluded2);
3878
3954
  var _useTranslation2 = reactI18next.useTranslation(),
3879
3955
  t = _useTranslation2.t;
3956
+ var _useState = react.useState(""),
3957
+ _useState2 = _slicedToArray(_useState, 2),
3958
+ searchTerm = _useState2[0],
3959
+ setSearchTerm = _useState2[1];
3880
3960
  var _useField3 = formik.useField(name),
3881
3961
  _useField4 = _slicedToArray(_useField3, 3),
3882
3962
  field = _useField4[0],
@@ -3891,6 +3971,7 @@ var RadioField$1 = function RadioField(_ref2) {
3891
3971
  var selectedOption = neetoCist.findBy({
3892
3972
  value: field.value
3893
3973
  }, options);
3974
+ var searchedOptions = getSearchedOptions$1(options, searchTerm);
3894
3975
  var handleRadioChange = function handleRadioChange(_ref3) {
3895
3976
  var value = _ref3.target.value;
3896
3977
  var selectedOption = neetoCist.findBy({
@@ -3899,25 +3980,45 @@ var RadioField$1 = function RadioField(_ref2) {
3899
3980
  handleOnChange ? handleOnChange(selectedOption) : setValue(value);
3900
3981
  setTouched(true);
3901
3982
  };
3902
- return /*#__PURE__*/jsxRuntime.jsx(Radio$1, _objectSpread$h(_objectSpread$h({
3903
- ref: ref,
3904
- required: required,
3905
- stacked: true,
3906
- label: showLabel && t("neetoRules.labels.selectValue"),
3907
- value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
3908
- onChange: handleRadioChange,
3909
- onFocus: setFieldActive
3910
- }, otherProps), {}, {
3911
- children: options.map(function (_ref4, index) {
3912
- var label = _ref4.label,
3913
- value = _ref4.value;
3914
- return /*#__PURE__*/react.createElement(Radio$1.Item, {
3915
- label: label,
3916
- value: value,
3917
- key: index
3918
- });
3919
- })
3920
- }));
3983
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
3984
+ className: "w-full",
3985
+ children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
3986
+ children: /*#__PURE__*/jsxRuntime.jsx(Input$1, {
3987
+ "data-cy": "search-text-field",
3988
+ placeholder: t("neetoRules.common.search"),
3989
+ prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
3990
+ value: searchTerm,
3991
+ onChange: function onChange(e) {
3992
+ return setSearchTerm(e.target.value);
3993
+ },
3994
+ onClick: function onClick(e) {
3995
+ return e.stopPropagation();
3996
+ }
3997
+ })
3998
+ }), neetoCist.isNotEmpty(searchedOptions) ? /*#__PURE__*/jsxRuntime.jsx(Radio$1, _objectSpread$h(_objectSpread$h({
3999
+ ref: ref,
4000
+ required: required,
4001
+ stacked: true,
4002
+ label: showLabel && t("neetoRules.labels.selectValue"),
4003
+ value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
4004
+ onChange: handleRadioChange,
4005
+ onFocus: setFieldActive
4006
+ }, otherProps), {}, {
4007
+ children: searchedOptions.map(function (_ref4) {
4008
+ var label = _ref4.label,
4009
+ value = _ref4.value;
4010
+ return /*#__PURE__*/react.createElement(Radio$1.Item, {
4011
+ label: label,
4012
+ value: value,
4013
+ key: value
4014
+ });
4015
+ })
4016
+ })) : /*#__PURE__*/jsxRuntime.jsx("div", {
4017
+ className: "py-1 text-sm",
4018
+ "data-cy": "no-options-menu-item",
4019
+ children: t("neetoRules.common.noOptions")
4020
+ })]
4021
+ });
3921
4022
  };
3922
4023
  RadioField$1.Target = Target$2;
3923
4024
 
@@ -4142,6 +4243,7 @@ var FieldPanel = function FieldPanel() {
4142
4243
  var _useField3 = formik.useField("".concat(name, ".joinType")),
4143
4244
  _useField4 = _slicedToArray(_useField3, 1),
4144
4245
  logicalOperator = _useField4[0];
4246
+ var isSearchable = conditionOptions.length > constants.MAXIMUM_OPTION_LENGTH;
4145
4247
  var handleContinue = function handleContinue() {
4146
4248
  !meta.error && setPanelState(ramda.mergeDeepLeft({
4147
4249
  type: PANEL_TYPES.VERB_AND_VALUE,
@@ -4169,7 +4271,11 @@ var FieldPanel = function FieldPanel() {
4169
4271
  })]
4170
4272
  })
4171
4273
  }), /*#__PURE__*/jsxRuntime.jsx(Panel.Body, {
4274
+ className: classNames({
4275
+ "pt-0": isSearchable
4276
+ }),
4172
4277
  children: /*#__PURE__*/jsxRuntime.jsx(RadioField$1, {
4278
+ isSearchable: isSearchable,
4173
4279
  shouldAutoFocus: true,
4174
4280
  handleOnChange: handleFieldChange,
4175
4281
  name: "".concat(name, ".field"),
@@ -4435,6 +4541,7 @@ var VerbAndValuePanel = function VerbAndValuePanel() {
4435
4541
  });
4436
4542
  };
4437
4543
 
4544
+ var MAXIMUM_OPTION_LENGTH = 7;
4438
4545
  var OPERATORS = {
4439
4546
  or: "or_operator",
4440
4547
  and: "and_operator"
@@ -4497,7 +4604,7 @@ var DelayPanel = function DelayPanel() {
4497
4604
  }), /*#__PURE__*/jsxRuntime.jsx(Panel.Body, {
4498
4605
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
4499
4606
  className: "flex gap-x-2",
4500
- children: [/*#__PURE__*/jsxRuntime.jsx(Input$1, {
4607
+ children: [/*#__PURE__*/jsxRuntime.jsx(Input$2, {
4501
4608
  className: "w-44",
4502
4609
  max: 15,
4503
4610
  min: 1,
@@ -4531,11 +4638,27 @@ var DelayPanel = function DelayPanel() {
4531
4638
  });
4532
4639
  };
4533
4640
 
4641
+ var getAllEvents = function getAllEvents(events, dropdownOptions) {
4642
+ return dropdownOptions.filter(function (option) {
4643
+ return events.includes(option.value);
4644
+ });
4645
+ };
4646
+ var getSearchedOptions = function getSearchedOptions(dropdownOptions, searchTerm) {
4647
+ return dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.filter(function (_ref) {
4648
+ var label = _ref.label;
4649
+ return ramda.toLower(label).includes(ramda.toLower(searchTerm.trim()));
4650
+ });
4651
+ };
4652
+
4534
4653
  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; }
4535
4654
  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; }
4536
4655
  var EventsPanel = function EventsPanel() {
4537
4656
  var _useTranslation = reactI18next.useTranslation(),
4538
4657
  t = _useTranslation.t;
4658
+ var _useState = react.useState(""),
4659
+ _useState2 = _slicedToArray(_useState, 2),
4660
+ searchTerm = _useState2[0],
4661
+ setSearchTerm = _useState2[1];
4539
4662
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
4540
4663
  return {
4541
4664
  setPanelState: store["setPanelState"]
@@ -4577,6 +4700,8 @@ var EventsPanel = function EventsPanel() {
4577
4700
  var defaultData = elementProps.defaultData;
4578
4701
  var eventNames = ramda.pluck("name", events);
4579
4702
  var dropdownOptions = elementProps.eventOptions;
4703
+ var searchedOptions = getSearchedOptions(dropdownOptions, searchTerm);
4704
+ var isSearchable = dropdownOptions.length > MAXIMUM_OPTION_LENGTH;
4580
4705
  var handleDefaultData = /*#__PURE__*/function () {
4581
4706
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
4582
4707
  var _values$name;
@@ -4679,10 +4804,26 @@ var EventsPanel = function EventsPanel() {
4679
4804
  children: t("neetoRules.form.addEventDescription")
4680
4805
  })]
4681
4806
  })
4682
- }), /*#__PURE__*/jsxRuntime.jsx(Panel.Body, {
4683
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
4807
+ }), /*#__PURE__*/jsxRuntime.jsxs(Panel.Body, {
4808
+ className: classNames({
4809
+ "pt-0": isSearchable
4810
+ }),
4811
+ children: [isSearchable && /*#__PURE__*/jsxRuntime.jsx(StickySidebarHeader, {
4812
+ children: /*#__PURE__*/jsxRuntime.jsx(Input$1, {
4813
+ "data-cy": "search-text-field",
4814
+ placeholder: t("neetoRules.common.search"),
4815
+ prefix: /*#__PURE__*/jsxRuntime.jsx(Search, {}),
4816
+ value: searchTerm,
4817
+ onChange: function onChange(e) {
4818
+ return setSearchTerm(e.target.value);
4819
+ },
4820
+ onClick: function onClick(e) {
4821
+ return e.stopPropagation();
4822
+ }
4823
+ })
4824
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
4684
4825
  className: "space-y-3",
4685
- children: [neetoCist.isNotEmpty(dropdownOptions) ? dropdownOptions.map(function (option) {
4826
+ children: [neetoCist.isNotEmpty(searchedOptions) ? searchedOptions.map(function (option) {
4686
4827
  return /*#__PURE__*/react.createElement(Checkbox, {
4687
4828
  ref: ref,
4688
4829
  checked: eventNames === null || eventNames === void 0 ? void 0 : eventNames.includes(option.value),
@@ -4703,7 +4844,7 @@ var EventsPanel = function EventsPanel() {
4703
4844
  className: "neeto-ui-input__error",
4704
4845
  children: error
4705
4846
  })]
4706
- })
4847
+ })]
4707
4848
  }), /*#__PURE__*/jsxRuntime.jsx(Panel.Footer, {
4708
4849
  children: /*#__PURE__*/jsxRuntime.jsx(Button, {
4709
4850
  "data-cy": "continue-button",
@@ -5228,7 +5369,8 @@ var ActionItem = function ActionItem(_ref) {
5228
5369
  selectedActionOptions = _ref.selectedActionOptions,
5229
5370
  routeToSlackIntegration = _ref.routeToSlackIntegration,
5230
5371
  shouldOpenPanel = _ref.shouldOpenPanel,
5231
- setShouldOpenPanel = _ref.setShouldOpenPanel;
5372
+ setShouldOpenPanel = _ref.setShouldOpenPanel,
5373
+ handleSlackChannelRefresh = _ref.handleSlackChannelRefresh;
5232
5374
  var _useTranslation = reactI18next.useTranslation(),
5233
5375
  t = _useTranslation.t;
5234
5376
  var _useFormikContext = formik.useFormikContext(),
@@ -5240,10 +5382,12 @@ var ActionItem = function ActionItem(_ref) {
5240
5382
  setFieldActive = _useActiveField.setFieldActive;
5241
5383
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
5242
5384
  return {
5243
- setPanelState: store["setPanelState"]
5385
+ setPanelState: store["setPanelState"],
5386
+ setErrorFields: store["setErrorFields"]
5244
5387
  };
5245
5388
  }, shallow.shallow),
5246
- setPanelState = _useUtilityStore.setPanelState;
5389
+ setPanelState = _useUtilityStore.setPanelState,
5390
+ setErrorFields = _useUtilityStore.setErrorFields;
5247
5391
  var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
5248
5392
  var _store$panelState;
5249
5393
  return {
@@ -5301,7 +5445,8 @@ var ActionItem = function ActionItem(_ref) {
5301
5445
  selectedField: selectedField,
5302
5446
  onSelectAction: onSelectAction,
5303
5447
  valueOptions: getSelectedFieldOptions(),
5304
- errorMessage: errorMessage
5448
+ errorMessage: errorMessage,
5449
+ handleSlackChannelRefresh: handleSlackChannelRefresh
5305
5450
  };
5306
5451
  var _openPanel = function openPanel(type, panelSize) {
5307
5452
  setPanelState({
@@ -5329,7 +5474,24 @@ var ActionItem = function ActionItem(_ref) {
5329
5474
  })
5330
5475
  });
5331
5476
  });
5332
- }, [selectedField]);
5477
+ }, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value]);
5478
+ var hasError = !!errorMessage;
5479
+ react.useEffect(function () {
5480
+ if (hasError) {
5481
+ setErrorFields(function (prev) {
5482
+ return prev.includes(name) ? prev : [].concat(_toConsumableArray(prev), [name]);
5483
+ });
5484
+ } else {
5485
+ setErrorFields(function (prev) {
5486
+ return prev.filter(neetoCist.isNot(name));
5487
+ });
5488
+ }
5489
+ return function () {
5490
+ setErrorFields(function (prev) {
5491
+ return prev.filter(neetoCist.isNot(name));
5492
+ });
5493
+ };
5494
+ }, [hasError, name, setErrorFields]);
5333
5495
  return /*#__PURE__*/jsxRuntime.jsx("div", {
5334
5496
  className: "flex flex-grow min-w-0 flex-wrap gap-x-1 gap-y-3",
5335
5497
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -5345,7 +5507,7 @@ var ActionItem = function ActionItem(_ref) {
5345
5507
  style: "link",
5346
5508
  className: classNames("neeto-ui-text-gray-800 neeto-ui-font-semibold underline", {
5347
5509
  "neeto-ui-text-accent-800": isFieldActive,
5348
- "neeto-ui-text-error-500": isActionSelected
5510
+ "neeto-ui-text-error-500": isActionSelected || !!errorMessage
5349
5511
  }),
5350
5512
  onClick: handleOnClick
5351
5513
  }), /*#__PURE__*/jsxRuntime.jsx(ActionSubItem$1, _objectSpread$d(_objectSpread$d({}, _objectSpread$d(_objectSpread$d({}, panelData), {}, {
@@ -5448,6 +5610,7 @@ var Actions = function Actions(_ref) {
5448
5610
  children: [/*#__PURE__*/jsxRuntime.jsx(ActionItem$1, {
5449
5611
  action: action,
5450
5612
  elementProps: elementProps,
5613
+ handleSlackChannelRefresh: handleSlackChannelRefresh,
5451
5614
  index: index,
5452
5615
  onSelectAction: onSelectAction,
5453
5616
  routeToSlackIntegration: routeToSlackIntegration,
@@ -5458,18 +5621,7 @@ var Actions = function Actions(_ref) {
5458
5621
  parentName: name
5459
5622
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
5460
5623
  className: "flex flex-wrap flex-shrink-0 self-center",
5461
- children: [handleSlackChannelRefresh && action.name === "message_to_slack" && /*#__PURE__*/jsxRuntime.jsx(Button, {
5462
- "data-cy": "refresh-slack-button",
5463
- icon: Refresh,
5464
- size: "medium",
5465
- tooltipProps: {
5466
- content: t("neetoRules.slack.refreshChannelList"),
5467
- position: "top"
5468
- },
5469
- onClick: function onClick() {
5470
- return handleSlackChannelRefresh();
5471
- }
5472
- }), showButton && index === actions.length - 1 && /*#__PURE__*/jsxRuntime.jsx(Button, {
5624
+ children: [showButton && index === actions.length - 1 && /*#__PURE__*/jsxRuntime.jsx(Button, {
5473
5625
  "data-cy": "add-action-button",
5474
5626
  icon: Plus,
5475
5627
  size: "medium",
@@ -5650,7 +5802,7 @@ var ConditionItem = function ConditionItem(_ref) {
5650
5802
  })
5651
5803
  });
5652
5804
  });
5653
- }, [selectedField, condition.verb]);
5805
+ }, [selectedField === null || selectedField === void 0 ? void 0 : selectedField.value, condition.verb]);
5654
5806
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
5655
5807
  children: [!!index && /*#__PURE__*/jsxRuntime.jsx(LogicalOperator, {
5656
5808
  handleGroupJoinType: handleGroupJoinType,
@@ -6014,12 +6166,6 @@ var Performer = function Performer(_ref) {
6014
6166
  });
6015
6167
  };
6016
6168
 
6017
- var getAllEvents = function getAllEvents(events, dropdownOptions) {
6018
- return dropdownOptions.filter(function (option) {
6019
- return events.includes(option.value);
6020
- });
6021
- };
6022
-
6023
6169
  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; }
6024
6170
  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; }
6025
6171
  var Events = function Events(_ref) {
@@ -6244,7 +6390,7 @@ var InputField = function InputField(_ref) {
6244
6390
  _useDebouncedUpdate2 = _slicedToArray(_useDebouncedUpdate, 2),
6245
6391
  text = _useDebouncedUpdate2[0],
6246
6392
  setText = _useDebouncedUpdate2[1];
6247
- return /*#__PURE__*/jsxRuntime.jsx(Input$1, _objectSpread$7(_objectSpread$7({
6393
+ return /*#__PURE__*/jsxRuntime.jsx(Input$2, _objectSpread$7(_objectSpread$7({
6248
6394
  className: "mb-4",
6249
6395
  label: label || (elementProps === null || elementProps === void 0 ? void 0 : elementProps.label)
6250
6396
  }, field), {}, {
@@ -6631,10 +6777,12 @@ var Form = function Form(_ref) {
6631
6777
  customData = _useCustomDataStore.customData;
6632
6778
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
6633
6779
  return {
6634
- resetPanelState: store["resetPanelState"]
6780
+ resetPanelState: store["resetPanelState"],
6781
+ errorFields: store["errorFields"]
6635
6782
  };
6636
6783
  }, shallow.shallow),
6637
- resetPanelState = _useUtilityStore.resetPanelState;
6784
+ resetPanelState = _useUtilityStore.resetPanelState,
6785
+ errorFields = _useUtilityStore.errorFields;
6638
6786
  var initialValues = react.useMemo(function () {
6639
6787
  return formatData(data);
6640
6788
  }, [data]);
@@ -6654,6 +6802,10 @@ var Form = function Form(_ref) {
6654
6802
  };
6655
6803
  }, []);
6656
6804
  var submitForm = function submitForm(values, formikBag) {
6805
+ if (neetoCist.isNotEmpty(errorFields)) {
6806
+ formikBag.setSubmitting(false);
6807
+ return;
6808
+ }
6657
6809
  if (isCancelledNameGeneration) {
6658
6810
  saveRuleName(values);
6659
6811
  return;