@bigbinary/neeto-rules-frontend 2.5.27 → 2.5.28

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.
@@ -5,7 +5,7 @@ import Pane from '@bigbinary/neetoui/Pane';
5
5
  import Spinner from '@bigbinary/neetoui/Spinner';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { g as getSeparator, a as getDateTimeFormattedValue, u as useUtilityStore } from './useUtilityStore-C0O0N3Aq.js';
8
+ import { g as getSeparator, a as getDateTimeFormattedValue, u as useUtilityStore } from './useUtilityStore-6TPs8A8Q.js';
9
9
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
10
  import { Fragment as Fragment$1, useState } from 'react';
11
11
  import Down from '@bigbinary/neeto-icons/Down';
@@ -11,7 +11,7 @@ var useAutomationRulesApi = require('../useAutomationRulesApi-BTjEL2XD.js');
11
11
  var RulesReorder = require('../index-CQs1hVC3.js');
12
12
  var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
13
13
  var Button = require('@bigbinary/neetoui/Button');
14
- var useUtilityStore = require('../useUtilityStore-0xgAU9fw.js');
14
+ var useUtilityStore = require('../useUtilityStore-D6PfpKqa.js');
15
15
  var jsxRuntime = require('react/jsx-runtime');
16
16
  var shallow = require('zustand/shallow');
17
17
  var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
@@ -13,7 +13,7 @@ var Delete = require('@bigbinary/neeto-icons/Delete');
13
13
  var Refresh = require('@bigbinary/neeto-icons/Refresh');
14
14
  var Button = require('@bigbinary/neetoui/Button');
15
15
  var reactI18next = require('react-i18next');
16
- var useUtilityStore = require('../useUtilityStore-0xgAU9fw.js');
16
+ var useUtilityStore = require('../useUtilityStore-D6PfpKqa.js');
17
17
  var classNames = require('classnames');
18
18
  var Typography = require('@bigbinary/neetoui/Typography');
19
19
  var ramda = require('ramda');
@@ -2887,6 +2887,7 @@ var ActionSubItem = function ActionSubItem(_ref) {
2887
2887
  }
2888
2888
  }), /*#__PURE__*/jsxRuntime.jsx(EmailFields.Target, {
2889
2889
  action: action,
2890
+ hasError: hasError,
2890
2891
  index: index,
2891
2892
  name: name,
2892
2893
  selectedField: selectedField,
@@ -5240,10 +5241,12 @@ var ActionItem = function ActionItem(_ref) {
5240
5241
  setFieldActive = _useActiveField.setFieldActive;
5241
5242
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
5242
5243
  return {
5243
- setPanelState: store["setPanelState"]
5244
+ setPanelState: store["setPanelState"],
5245
+ setErrorFields: store["setErrorFields"]
5244
5246
  };
5245
5247
  }, shallow.shallow),
5246
- setPanelState = _useUtilityStore.setPanelState;
5248
+ setPanelState = _useUtilityStore.setPanelState,
5249
+ setErrorFields = _useUtilityStore.setErrorFields;
5247
5250
  var _useUtilityStore2 = useUtilityStore.useUtilityStore(function (store) {
5248
5251
  var _store$panelState;
5249
5252
  return {
@@ -5330,6 +5333,22 @@ var ActionItem = function ActionItem(_ref) {
5330
5333
  });
5331
5334
  });
5332
5335
  }, [selectedField]);
5336
+ react.useEffect(function () {
5337
+ if (errorMessage) {
5338
+ setErrorFields(function (prev) {
5339
+ return prev.includes(name) ? prev : [].concat(_toConsumableArray(prev), [name]);
5340
+ });
5341
+ } else {
5342
+ setErrorFields(function (prev) {
5343
+ return prev.filter(neetoCist.isNot(name));
5344
+ });
5345
+ }
5346
+ return function () {
5347
+ setErrorFields(function (prev) {
5348
+ return prev.filter(neetoCist.isNot(name));
5349
+ });
5350
+ };
5351
+ }, [errorMessage, name, setErrorFields]);
5333
5352
  return /*#__PURE__*/jsxRuntime.jsx("div", {
5334
5353
  className: "flex flex-grow min-w-0 flex-wrap gap-x-1 gap-y-3",
5335
5354
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -5345,7 +5364,7 @@ var ActionItem = function ActionItem(_ref) {
5345
5364
  style: "link",
5346
5365
  className: classNames("neeto-ui-text-gray-800 neeto-ui-font-semibold underline", {
5347
5366
  "neeto-ui-text-accent-800": isFieldActive,
5348
- "neeto-ui-text-error-500": isActionSelected
5367
+ "neeto-ui-text-error-500": isActionSelected || !!errorMessage
5349
5368
  }),
5350
5369
  onClick: handleOnClick
5351
5370
  }), /*#__PURE__*/jsxRuntime.jsx(ActionSubItem$1, _objectSpread$d(_objectSpread$d({}, _objectSpread$d(_objectSpread$d({}, panelData), {}, {
@@ -6631,10 +6650,12 @@ var Form = function Form(_ref) {
6631
6650
  customData = _useCustomDataStore.customData;
6632
6651
  var _useUtilityStore = useUtilityStore.useUtilityStore(function (store) {
6633
6652
  return {
6634
- resetPanelState: store["resetPanelState"]
6653
+ resetPanelState: store["resetPanelState"],
6654
+ errorFields: store["errorFields"]
6635
6655
  };
6636
6656
  }, shallow.shallow),
6637
- resetPanelState = _useUtilityStore.resetPanelState;
6657
+ resetPanelState = _useUtilityStore.resetPanelState,
6658
+ errorFields = _useUtilityStore.errorFields;
6638
6659
  var initialValues = react.useMemo(function () {
6639
6660
  return formatData(data);
6640
6661
  }, [data]);
@@ -6654,6 +6675,10 @@ var Form = function Form(_ref) {
6654
6675
  };
6655
6676
  }, []);
6656
6677
  var submitForm = function submitForm(values, formikBag) {
6678
+ if (neetoCist.isNotEmpty(errorFields)) {
6679
+ formikBag.setSubmitting(false);
6680
+ return;
6681
+ }
6657
6682
  if (isCancelledNameGeneration) {
6658
6683
  saveRuleName(values);
6659
6684
  return;