@bigbinary/neeto-rules-frontend 2.7.18 → 2.7.20
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/app/javascript/src/translations/ar.json +1 -1
- package/app/javascript/src/translations/bg.json +1 -1
- package/app/javascript/src/translations/ca.json +1 -1
- package/app/javascript/src/translations/cs.json +1 -1
- package/app/javascript/src/translations/da.json +1 -1
- package/app/javascript/src/translations/en.json +2 -1
- package/app/javascript/src/translations/es-MX.json +1 -1
- package/app/javascript/src/translations/et.json +1 -1
- package/app/javascript/src/translations/fi.json +1 -1
- package/app/javascript/src/translations/fil.json +1 -1
- package/app/javascript/src/translations/fr.json +1 -1
- package/app/javascript/src/translations/he.json +1 -1
- package/app/javascript/src/translations/hi.json +1 -1
- package/app/javascript/src/translations/hr.json +1 -1
- package/app/javascript/src/translations/hu.json +1 -1
- package/app/javascript/src/translations/id.json +1 -1
- package/app/javascript/src/translations/it.json +1 -1
- package/app/javascript/src/translations/ja.json +1 -1
- package/app/javascript/src/translations/ko.json +1 -1
- package/app/javascript/src/translations/nl.json +1 -1
- package/app/javascript/src/translations/pl.json +1 -1
- package/app/javascript/src/translations/pt.json +1 -1
- package/app/javascript/src/translations/ro.json +1 -1
- package/app/javascript/src/translations/ru.json +1 -1
- package/app/javascript/src/translations/sk.json +1 -1
- package/app/javascript/src/translations/sl.json +1 -1
- package/app/javascript/src/translations/sv.json +1 -1
- package/app/javascript/src/translations/tr.json +1 -1
- package/app/javascript/src/translations/uk.json +1 -1
- package/app/javascript/src/translations/vi.json +1 -1
- package/app/javascript/src/translations/zh-CN.json +1 -1
- package/app/javascript/src/translations/zh-TW.json +1 -1
- package/dist/.ready +1 -1
- package/dist/NeetoRulesBuilder.js +51 -17
- package/dist/NeetoRulesBuilder.js.map +1 -1
- package/dist/NeetoRulesForm.js +2 -2
- package/dist/cjs/NeetoRulesBuilder.js +50 -16
- package/dist/cjs/NeetoRulesBuilder.js.map +1 -1
- package/dist/cjs/NeetoRulesForm.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/v2/NeetoRulesBuilder.js +50 -16
- package/dist/cjs/v2/NeetoRulesBuilder.js.map +1 -1
- package/dist/cjs/v2/NeetoRulesForm.js +2 -2
- package/dist/cjs/v2/index.js +2 -2
- package/dist/{index-k-eGkX-R.js → index-BXLCiV70.js} +2 -2
- package/dist/{index-k-eGkX-R.js.map → index-BXLCiV70.js.map} +1 -1
- package/dist/{index-DwGEK-_1.js → index-DMCgC01M.js} +2 -2
- package/dist/{index-DwGEK-_1.js.map → index-DMCgC01M.js.map} +1 -1
- package/dist/{index-ogJeZ752.js → index-D_dEe2Gg.js} +2 -2
- package/dist/{index-ogJeZ752.js.map → index-D_dEe2Gg.js.map} +1 -1
- package/dist/{index-Vt6GY_o0.js → index-hvuc6OIP.js} +2 -2
- package/dist/{index-Vt6GY_o0.js.map → index-hvuc6OIP.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/keyboardShortcuts-DXP5YgeG.js +92 -0
- package/dist/{keyboardShortcuts-SAk712q8.js.map → keyboardShortcuts-DXP5YgeG.js.map} +1 -1
- package/dist/keyboardShortcuts-lX0oq49M.js +96 -0
- package/dist/{keyboardShortcuts-DNOhEY8h.js.map → keyboardShortcuts-lX0oq49M.js.map} +1 -1
- package/dist/v2/NeetoRulesBuilder.js +51 -17
- package/dist/v2/NeetoRulesBuilder.js.map +1 -1
- package/dist/v2/NeetoRulesForm.js +2 -2
- package/dist/v2/index.js +2 -2
- package/package.json +1 -1
- package/dist/keyboardShortcuts-DNOhEY8h.js +0 -88
- package/dist/keyboardShortcuts-SAk712q8.js +0 -92
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
|
|
5
|
-
require('../keyboardShortcuts-
|
|
5
|
+
require('../keyboardShortcuts-lX0oq49M.js');
|
|
6
6
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
7
7
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
8
|
var shallow = require('zustand/shallow');
|
|
@@ -17,7 +17,7 @@ var useUtilityStore = require('../useUtilityStore-C_U20IMX.js');
|
|
|
17
17
|
var classNames = require('classnames');
|
|
18
18
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
19
19
|
var ramda = require('ramda');
|
|
20
|
-
var index = require('../index-
|
|
20
|
+
var index = require('../index-DMCgC01M.js');
|
|
21
21
|
var useCustomDataStore = require('../useCustomDataStore-DxFx8aCf.js');
|
|
22
22
|
var jsxRuntime = require('react/jsx-runtime');
|
|
23
23
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
package/dist/cjs/index.js
CHANGED
|
@@ -54,9 +54,9 @@ require('@hello-pangea/dnd');
|
|
|
54
54
|
require('@bigbinary/neeto-icons/Drag');
|
|
55
55
|
require('react-router-dom');
|
|
56
56
|
require('@babel/runtime/helpers/objectDestructuringEmpty');
|
|
57
|
-
require('../keyboardShortcuts-
|
|
57
|
+
require('../keyboardShortcuts-lX0oq49M.js');
|
|
58
58
|
require('classnames');
|
|
59
|
-
require('../index-
|
|
59
|
+
require('../index-DMCgC01M.js');
|
|
60
60
|
require('@babel/runtime/helpers/typeof');
|
|
61
61
|
require('yup');
|
|
62
62
|
require('@bigbinary/neeto-icons/Search');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _objectDestructuringEmpty = require('@babel/runtime/helpers/objectDestructuringEmpty');
|
|
5
|
-
var keyboardShortcuts = require('../../keyboardShortcuts-
|
|
5
|
+
var keyboardShortcuts = require('../../keyboardShortcuts-lX0oq49M.js');
|
|
6
6
|
var shallow = require('zustand/shallow');
|
|
7
7
|
var react = require('react');
|
|
8
8
|
var neetoAtoms = require('@bigbinary/neeto-atoms');
|
|
@@ -13,7 +13,7 @@ var neetoCist = require('@bigbinary/neeto-cist');
|
|
|
13
13
|
var Container = require('@bigbinary/neeto-molecules/v2/Container');
|
|
14
14
|
var Header = require('@bigbinary/neeto-molecules/v2/Header');
|
|
15
15
|
var reactI18next = require('react-i18next');
|
|
16
|
-
var index = require('../../index-
|
|
16
|
+
var index = require('../../index-hvuc6OIP.js');
|
|
17
17
|
var useCustomDataStore = require('../../useCustomDataStore-D9k8F5g-.js');
|
|
18
18
|
var useUtilityStore = require('../../useUtilityStore-DkxAexDw.js');
|
|
19
19
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
@@ -24,8 +24,8 @@ var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
|
24
24
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
25
25
|
var jsxRuntime = require('react/jsx-runtime');
|
|
26
26
|
var i18next = require('i18next');
|
|
27
|
-
var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
28
27
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
28
|
+
var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
29
29
|
var Search = require('@bigbinary/neeto-icons/Search');
|
|
30
30
|
var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
|
|
31
31
|
var utils$1 = require('../../utils-B3roKiff.js');
|
|
@@ -39,10 +39,10 @@ require('axios');
|
|
|
39
39
|
require('../../index-DFwPrb81.js');
|
|
40
40
|
require('yup');
|
|
41
41
|
require('lucide-react');
|
|
42
|
+
require('@bigbinary/neeto-commons-frontend/v2/react-utils');
|
|
42
43
|
require('@monaco-editor/react');
|
|
43
44
|
require('@bigbinary/neeto-molecules/v2/DynamicVariables');
|
|
44
45
|
require('@bigbinary/neeto-editor/v2/FormikEditor');
|
|
45
|
-
require('@bigbinary/neeto-hotkeys');
|
|
46
46
|
require('react-select/creatable');
|
|
47
47
|
require('@babel/runtime/helpers/toArray');
|
|
48
48
|
require('@bigbinary/neeto-molecules/v2/PhoneNumber');
|
|
@@ -214,6 +214,21 @@ var TOKEN_STATE = {
|
|
|
214
214
|
};
|
|
215
215
|
var STATE_CLASS = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, TOKEN_STATE.PLACEHOLDER, "mb-placeholder"), TOKEN_STATE.PLACEHOLDER_NEXT, "mb-placeholder mb-placeholder-next"), TOKEN_STATE.DISABLED, "mb-placeholder mb-placeholder-disabled"), TOKEN_STATE.FILLED, "mb-tok"), TOKEN_STATE.MUTED, "mb-tok mb-tok-muted");
|
|
216
216
|
|
|
217
|
+
// The flash is a run-once CSS animation, so a repeat submit while it is still
|
|
218
|
+
// applied would not replay it on its own.
|
|
219
|
+
var useReplayFlash = function useReplayFlash(flashSeq) {
|
|
220
|
+
var ref = react.useRef(null);
|
|
221
|
+
react.useEffect(function () {
|
|
222
|
+
var _ref$current, _ref$current$getAnima;
|
|
223
|
+
if (!flashSeq) return;
|
|
224
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current$getAnima = _ref$current.getAnimations) === null || _ref$current$getAnima === void 0 || _ref$current$getAnima.call(_ref$current).forEach(function (animation) {
|
|
225
|
+
animation.cancel();
|
|
226
|
+
animation.play();
|
|
227
|
+
});
|
|
228
|
+
}, [flashSeq]);
|
|
229
|
+
return ref;
|
|
230
|
+
};
|
|
231
|
+
|
|
217
232
|
var _excluded = ["children", "state", "active", "invalid", "onClick", "className", "dataTestid"];
|
|
218
233
|
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; }
|
|
219
234
|
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), true).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; }
|
|
@@ -230,8 +245,10 @@ var Token = function Token(_ref) {
|
|
|
230
245
|
dataTestid = _ref.dataTestid,
|
|
231
246
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
232
247
|
var isInteractive = typeof onClick === "function" && state !== TOKEN_STATE.DISABLED;
|
|
248
|
+
var tokenRef = useReplayFlash(invalid);
|
|
233
249
|
return /*#__PURE__*/jsxRuntime.jsx("span", _objectSpread$c(_objectSpread$c({
|
|
234
250
|
"data-testid": dataTestid,
|
|
251
|
+
ref: tokenRef,
|
|
235
252
|
role: isInteractive ? "button" : undefined,
|
|
236
253
|
tabIndex: isInteractive ? 0 : undefined,
|
|
237
254
|
className: classNames(
|
|
@@ -994,15 +1011,17 @@ var DelayRow = function DelayRow(_ref) {
|
|
|
994
1011
|
});
|
|
995
1012
|
};
|
|
996
1013
|
|
|
997
|
-
var MetaBlock =
|
|
998
|
-
var
|
|
999
|
-
rule = _ref.rule,
|
|
1014
|
+
var MetaBlock = function MetaBlock(_ref) {
|
|
1015
|
+
var rule = _ref.rule,
|
|
1000
1016
|
_ref$showName = _ref.showName,
|
|
1001
1017
|
showName = _ref$showName === void 0 ? true : _ref$showName,
|
|
1002
1018
|
_ref$isInvalid = _ref.isInvalid,
|
|
1003
1019
|
isInvalid = _ref$isInvalid === void 0 ? false : _ref$isInvalid,
|
|
1004
1020
|
handleEditName = _ref.onEditName,
|
|
1005
1021
|
handleToggleActive = _ref.onToggleActive;
|
|
1022
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1023
|
+
t = _useTranslation.t;
|
|
1024
|
+
var nameRef = useReplayFlash(isInvalid);
|
|
1006
1025
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1007
1026
|
className: "mb-meta",
|
|
1008
1027
|
children: [showName && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1011,6 +1030,7 @@ var MetaBlock = reactUtils.withT(function (_ref) {
|
|
|
1011
1030
|
className: "mb-meta-label",
|
|
1012
1031
|
children: t("neetoRules.builder.automationName")
|
|
1013
1032
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1033
|
+
ref: nameRef,
|
|
1014
1034
|
role: handleEditName ? "button" : undefined,
|
|
1015
1035
|
tabIndex: handleEditName ? 0 : undefined,
|
|
1016
1036
|
className: classNames("mb-meta-input-wrap", {
|
|
@@ -1060,7 +1080,7 @@ var MetaBlock = reactUtils.withT(function (_ref) {
|
|
|
1060
1080
|
}), t("neetoRules.builder.activateThisAutomation")]
|
|
1061
1081
|
})]
|
|
1062
1082
|
});
|
|
1063
|
-
}
|
|
1083
|
+
};
|
|
1064
1084
|
|
|
1065
1085
|
function ownKeys$8(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; }
|
|
1066
1086
|
function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -2699,10 +2719,10 @@ var Canvas = function Canvas(_ref) {
|
|
|
2699
2719
|
var flatErrors = react.useMemo(function () {
|
|
2700
2720
|
return keyboardShortcuts.flatten(errors || {});
|
|
2701
2721
|
}, [errors]);
|
|
2702
|
-
var _useState = react.useState(
|
|
2722
|
+
var _useState = react.useState(0),
|
|
2703
2723
|
_useState2 = _slicedToArray(_useState, 2),
|
|
2704
|
-
|
|
2705
|
-
|
|
2724
|
+
flashSeq = _useState2[0],
|
|
2725
|
+
setFlashSeq = _useState2[1];
|
|
2706
2726
|
var lastSubmitCount = react.useRef(submitCount);
|
|
2707
2727
|
react.useEffect(function () {
|
|
2708
2728
|
if (submitCount <= lastSubmitCount.current) return undefined;
|
|
@@ -2716,9 +2736,9 @@ var Canvas = function Canvas(_ref) {
|
|
|
2716
2736
|
}))) {
|
|
2717
2737
|
return undefined;
|
|
2718
2738
|
}
|
|
2719
|
-
|
|
2739
|
+
setFlashSeq(submitCount);
|
|
2720
2740
|
var timer = setTimeout(function () {
|
|
2721
|
-
return
|
|
2741
|
+
return setFlashSeq(0);
|
|
2722
2742
|
}, 2200);
|
|
2723
2743
|
return function () {
|
|
2724
2744
|
return clearTimeout(timer);
|
|
@@ -2735,11 +2755,10 @@ var Canvas = function Canvas(_ref) {
|
|
|
2735
2755
|
});
|
|
2736
2756
|
});
|
|
2737
2757
|
};
|
|
2738
|
-
var
|
|
2758
|
+
var matchesInvalid = function matchesInvalid(_ref4) {
|
|
2739
2759
|
var _schema$actions, _schema$actions$actio, _schema$actions2, _schema$actions2$rend, _schema$actions3, _schema$actions3$rend, _schema$actions4, _schema$actions4$opti, _schema$actions5, _schema$actions5$opti;
|
|
2740
2760
|
var type = _ref4.type,
|
|
2741
2761
|
index = _ref4.index;
|
|
2742
|
-
if (!flashing) return false;
|
|
2743
2762
|
var conditionMeta = "".concat(fieldKeys.conditions, ".value.").concat(index, ".metadata");
|
|
2744
2763
|
var actionMeta = "".concat(fieldKeys.actions, ".value.").concat(index, ".metadata");
|
|
2745
2764
|
// eslint-disable-next-line security/detect-object-injection
|
|
@@ -2818,6 +2837,12 @@ var Canvas = function Canvas(_ref) {
|
|
|
2818
2837
|
return false;
|
|
2819
2838
|
}
|
|
2820
2839
|
};
|
|
2840
|
+
|
|
2841
|
+
// Returns the submit generation, not a boolean, so consumers can replay the
|
|
2842
|
+
// flash animation when the same token is still invalid on a repeat submit.
|
|
2843
|
+
var isInvalid = function isInvalid(args) {
|
|
2844
|
+
return flashSeq && matchesInvalid(args) ? flashSeq : 0;
|
|
2845
|
+
};
|
|
2821
2846
|
var closePaneIfTargeting = function closePaneIfTargeting(_ref5) {
|
|
2822
2847
|
var anchors = _ref5.anchors,
|
|
2823
2848
|
index = _ref5.index;
|
|
@@ -3439,6 +3464,10 @@ var ConfigPane = function ConfigPane(_ref) {
|
|
|
3439
3464
|
return _ref2.apply(this, arguments);
|
|
3440
3465
|
};
|
|
3441
3466
|
}();
|
|
3467
|
+
useHotkeys(keyboardShortcuts.SHORTCUTS["continue"].sequence, handleContinue, {
|
|
3468
|
+
enabled: shouldAdvanceToRecipient,
|
|
3469
|
+
mode: "global"
|
|
3470
|
+
});
|
|
3442
3471
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
3443
3472
|
children: [/*#__PURE__*/jsxRuntime.jsx(index.Panel.Header, {
|
|
3444
3473
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -3900,6 +3929,11 @@ var OptionsPane = function OptionsPane(_ref) {
|
|
|
3900
3929
|
data: target.data
|
|
3901
3930
|
});else closePane();
|
|
3902
3931
|
};
|
|
3932
|
+
var canContinue = cascade && selectedValues.some(Boolean);
|
|
3933
|
+
useHotkeys(keyboardShortcuts.SHORTCUTS["continue"].sequence, handleContinue, {
|
|
3934
|
+
enabled: canContinue,
|
|
3935
|
+
mode: "global"
|
|
3936
|
+
});
|
|
3903
3937
|
var optionLabel = function optionLabel(option) {
|
|
3904
3938
|
var Icon = option.icon;
|
|
3905
3939
|
if (!Icon && !option.disabledReason) return option.label;
|
|
@@ -4012,7 +4046,7 @@ var OptionsPane = function OptionsPane(_ref) {
|
|
|
4012
4046
|
children: [renderBody(), belowContent]
|
|
4013
4047
|
}), cascade && /*#__PURE__*/jsxRuntime.jsx(index.Panel.Footer, {
|
|
4014
4048
|
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
4015
|
-
disabled: !
|
|
4049
|
+
disabled: !canContinue,
|
|
4016
4050
|
label: t("neetoRules.buttons.continue"),
|
|
4017
4051
|
size: "lg",
|
|
4018
4052
|
onClick: handleContinue
|