@bigbinary/neeto-rules-frontend 2.7.11 → 2.7.13

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.
Files changed (68) hide show
  1. package/app/javascript/src/translations/ar.json +2 -2
  2. package/app/javascript/src/translations/bg.json +2 -2
  3. package/app/javascript/src/translations/ca.json +2 -2
  4. package/app/javascript/src/translations/cs.json +2 -2
  5. package/app/javascript/src/translations/da.json +2 -2
  6. package/app/javascript/src/translations/de.json +2 -2
  7. package/app/javascript/src/translations/en.json +2 -4
  8. package/app/javascript/src/translations/es-MX.json +2 -2
  9. package/app/javascript/src/translations/es.json +2 -2
  10. package/app/javascript/src/translations/et.json +2 -2
  11. package/app/javascript/src/translations/fi.json +2 -2
  12. package/app/javascript/src/translations/fil.json +2 -2
  13. package/app/javascript/src/translations/fr.json +2 -2
  14. package/app/javascript/src/translations/he.json +2 -2
  15. package/app/javascript/src/translations/hi.json +2 -2
  16. package/app/javascript/src/translations/hr.json +2 -2
  17. package/app/javascript/src/translations/hu.json +2 -2
  18. package/app/javascript/src/translations/id.json +2 -2
  19. package/app/javascript/src/translations/it.json +2 -2
  20. package/app/javascript/src/translations/ja.json +2 -2
  21. package/app/javascript/src/translations/ko.json +2 -2
  22. package/app/javascript/src/translations/nl.json +2 -2
  23. package/app/javascript/src/translations/pl.json +2 -2
  24. package/app/javascript/src/translations/pt-BR.json +2 -2
  25. package/app/javascript/src/translations/pt.json +2 -2
  26. package/app/javascript/src/translations/ro.json +2 -2
  27. package/app/javascript/src/translations/ru.json +2 -2
  28. package/app/javascript/src/translations/sk.json +2 -2
  29. package/app/javascript/src/translations/sl.json +2 -2
  30. package/app/javascript/src/translations/sv.json +2 -2
  31. package/app/javascript/src/translations/th.json +2 -2
  32. package/app/javascript/src/translations/tr.json +2 -2
  33. package/app/javascript/src/translations/uk.json +2 -2
  34. package/app/javascript/src/translations/vi.json +2 -2
  35. package/app/javascript/src/translations/zh-CN.json +2 -2
  36. package/app/javascript/src/translations/zh-TW.json +2 -2
  37. package/dist/.ready +1 -1
  38. package/dist/NeetoRulesBuilder.js +63 -12
  39. package/dist/NeetoRulesBuilder.js.map +1 -1
  40. package/dist/NeetoRulesForm.js +2 -2
  41. package/dist/cjs/NeetoRulesBuilder.js +63 -12
  42. package/dist/cjs/NeetoRulesBuilder.js.map +1 -1
  43. package/dist/cjs/NeetoRulesForm.js +2 -2
  44. package/dist/cjs/index.js +2 -2
  45. package/dist/cjs/v2/NeetoRulesBuilder.js +2 -2
  46. package/dist/cjs/v2/NeetoRulesForm.js +2 -2
  47. package/dist/cjs/v2/index.js +2 -2
  48. package/dist/{index-DZzMQVUu.js → index-Bfe1tRHq.js} +6 -31
  49. package/dist/index-Bfe1tRHq.js.map +1 -0
  50. package/dist/{index-CqiiEJkf.js → index-C0gKo-ED.js} +6 -31
  51. package/dist/index-C0gKo-ED.js.map +1 -0
  52. package/dist/{index-CqnO-IZF.js → index-D7dZ7WdP.js} +2 -2
  53. package/dist/{index-CqnO-IZF.js.map → index-D7dZ7WdP.js.map} +1 -1
  54. package/dist/{index-DOW_ZlOp.js → index-DnM1MWRr.js} +2 -2
  55. package/dist/{index-DOW_ZlOp.js.map → index-DnM1MWRr.js.map} +1 -1
  56. package/dist/index.js +2 -2
  57. package/dist/keyboardShortcuts-DNOhEY8h.js +88 -0
  58. package/dist/{keyboardShortcuts-Ow9vI9My.js.map → keyboardShortcuts-DNOhEY8h.js.map} +1 -1
  59. package/dist/keyboardShortcuts-SAk712q8.js +92 -0
  60. package/dist/{keyboardShortcuts-5radhjgX.js.map → keyboardShortcuts-SAk712q8.js.map} +1 -1
  61. package/dist/v2/NeetoRulesBuilder.js +2 -2
  62. package/dist/v2/NeetoRulesForm.js +2 -2
  63. package/dist/v2/index.js +2 -2
  64. package/package.json +7 -7
  65. package/dist/index-CqiiEJkf.js.map +0 -1
  66. package/dist/index-DZzMQVUu.js.map +0 -1
  67. package/dist/keyboardShortcuts-5radhjgX.js +0 -92
  68. package/dist/keyboardShortcuts-Ow9vI9My.js +0 -88
@@ -256,7 +256,7 @@
256
256
  "minDelay": "Gecikme {{min}}'dan az olamaz",
257
257
  "invalidJsonBody": "Gövde geçerli bir JSON olmalıdır",
258
258
  "maximumPhoneNumbers": "{{max}} telefon numarasına kadar izin verilir",
259
- "maxLeadTime": "Zaman {{max}}'dan fazla olamaz"
259
+ "maxLeadTime": "Tüm birimler için zaman {{max}}'dan az veya ona eşit olmalıdır (dakika/saat/gün)."
260
260
  },
261
261
  "conditionVerbs": {
262
262
  "is": "dır",
@@ -436,7 +436,7 @@
436
436
  "emailPlaceholder": "E-posta adreslerini girin",
437
437
  "exampleEmail": "oliver@example.com",
438
438
  "recipient": "Alıcı",
439
- "smsSegmentHint": "Tek bir SMS segmentinde kalmak için 160 karakterin altında tutun.",
439
+ "smsSegmentHint": "SMS'inizi birden fazla SMS segmenti olmaması için 160 karakterin altında tutun. Dinamik değişkenler de karakter limitine dahil edilir.",
440
440
  "noOptions": "Seçenek yok.",
441
441
  "noOptionsFor": "No {{field}} available."
442
442
  },
@@ -256,7 +256,7 @@
256
256
  "minDelay": "Затримка не може бути меншою за {{min}}",
257
257
  "invalidJsonBody": "Тіло повинно бути дійсним JSON",
258
258
  "maximumPhoneNumbers": "Дозволено лише до {{max}} номерів телефонів",
259
- "maxLeadTime": "Час не може перевищувати {{max}}"
259
+ "maxLeadTime": "Час має бути меншим або рівним {{max}} для всіх одиниць (хвилини/години/дні)."
260
260
  },
261
261
  "conditionVerbs": {
262
262
  "is": "Є",
@@ -436,7 +436,7 @@
436
436
  "emailPlaceholder": "Введіть електронні адреси",
437
437
  "exampleEmail": "oliver@example.com",
438
438
  "recipient": "Одержувач",
439
- "smsSegmentHint": "Утримуйте текст менше 160 символів, щоб залишитися в одному сегменті SMS.",
439
+ "smsSegmentHint": "Тримайте ваш SMS до 160 символів, щоб уникнути кількох сегментів SMS. Динамічні змінні також враховуються в межах ліміту символів.",
440
440
  "noOptions": "Немає доступних опцій.",
441
441
  "noOptionsFor": "Немає {{field}} доступних."
442
442
  },
@@ -256,7 +256,7 @@
256
256
  "minDelay": "Độ trễ không thể nhỏ hơn {{min}}",
257
257
  "invalidJsonBody": "Nội dung phải là một JSON hợp lệ",
258
258
  "maximumPhoneNumbers": "Chỉ cho phép tối đa {{max}} số điện thoại",
259
- "maxLeadTime": "Thời gian không được quá {{max}}"
259
+ "maxLeadTime": "Thời gian phải nhỏ hơn hoặc bằng {{max}} cho tất cả các đơn vị (phút/giờ/ngày)."
260
260
  },
261
261
  "conditionVerbs": {
262
262
  "is": "Là",
@@ -436,7 +436,7 @@
436
436
  "emailPlaceholder": "Nhập địa chỉ email",
437
437
  "exampleEmail": "oliver@example.com",
438
438
  "recipient": "Người nhận",
439
- "smsSegmentHint": "Để dưới 160 ký tự để nằm trong một phần SMS.",
439
+ "smsSegmentHint": "Giữ SMS của bạn dưới 160 ký tự để tránh nhiều đoạn SMS. Các biến động cũng tính vào giới hạn ký tự.",
440
440
  "noOptions": "Không có tùy chọn nào.",
441
441
  "noOptionsFor": "Không có {{field}} nào có sẵn."
442
442
  },
@@ -256,7 +256,7 @@
256
256
  "minDelay": "延迟不能少于 {{min}}",
257
257
  "invalidJsonBody": "主体应为有效的 JSON",
258
258
  "maximumPhoneNumbers": "最多只允许 {{max}} 个电话号码",
259
- "maxLeadTime": "时间不能超过 {{max}}"
259
+ "maxLeadTime": "时间必须小于或等于{{max}}(分钟/小时/天)。"
260
260
  },
261
261
  "conditionVerbs": {
262
262
  "is": "是",
@@ -436,7 +436,7 @@
436
436
  "emailPlaceholder": "输入电子邮件地址",
437
437
  "exampleEmail": "oliver@example.com",
438
438
  "recipient": "接收者",
439
- "smsSegmentHint": "保持在 160 个字符以内以确保只使用一个短信段。",
439
+ "smsSegmentHint": "将您的短信保持在160个字符以内,以避免多个短信段。动态变量也计入字符限制。",
440
440
  "noOptions": "没有可用选项。",
441
441
  "noOptionsFor": "没有可用的 {{field}}。"
442
442
  },
@@ -256,7 +256,7 @@
256
256
  "minDelay": "延遲不能少於 {{min}}",
257
257
  "invalidJsonBody": "正文應為有效的JSON",
258
258
  "maximumPhoneNumbers": "最多允許 {{max}} 個電話號碼",
259
- "maxLeadTime": "時間不能超過 {{max}}"
259
+ "maxLeadTime": "時間必須小於或等於 {{max}},適用於所有單位(分鐘/小時/天)。"
260
260
  },
261
261
  "conditionVerbs": {
262
262
  "is": "是",
@@ -436,7 +436,7 @@
436
436
  "emailPlaceholder": "輸入電子郵件地址",
437
437
  "exampleEmail": "oliver@example.com",
438
438
  "recipient": "接收者",
439
- "smsSegmentHint": "保持在160個字符內,以保持在一個短信段落中。",
439
+ "smsSegmentHint": "為了避免發送多個 SMS 段,請將您的 SMS 信息保持在 160 個字符以內。動態變量也計入字符限制。",
440
440
  "noOptions": "沒有可用的選項。",
441
441
  "noOptionsFor": "沒有可用的 {{field}}。"
442
442
  },
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-07-27T12:16:14.169Z
1
+ Built at 2026-07-31T07:21:37.305Z
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import _objectDestructuringEmpty from '@babel/runtime/helpers/objectDestructuringEmpty';
3
- import { f as flatten } from './keyboardShortcuts-Ow9vI9My.js';
3
+ import { f as flatten } from './keyboardShortcuts-DNOhEY8h.js';
4
4
  import { useShallow } from 'zustand/shallow';
5
5
  import { useState, createElement, Fragment as Fragment$1, useCallback, useMemo, useRef, useEffect } from 'react';
6
6
  import classNames from 'classnames';
@@ -11,7 +11,7 @@ import Header from '@bigbinary/neeto-molecules/Header';
11
11
  import Spinner from '@bigbinary/neetoui/Spinner';
12
12
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
13
13
  import { useTranslation } from 'react-i18next';
14
- import { E as EditorAction, o as Panel, r as ErrorCallout, s as SmsFields, M as MIN_DELAY_VALUE, t as MAX_DELAY_VALUE, v as PhoneNumberField, l as formatData, u as usePollRuleName, T as TouchErrors, n as ScrollToErrorField, p as getValidationSchema, q as DEFAULT_INITIAL_VALUE, m as buildPayload } from './index-DZzMQVUu.js';
14
+ import { E as EditorAction, o as Panel, r as ErrorCallout, s as SmsFields, M as MIN_DELAY_VALUE, t as MAX_DELAY_VALUE, v as PhoneNumberField, l as formatData, u as usePollRuleName, T as TouchErrors, n as ScrollToErrorField, p as getValidationSchema, q as DEFAULT_INITIAL_VALUE, m as buildPayload } from './index-Bfe1tRHq.js';
15
15
  import { u as useCustomDataStore } from './useCustomDataStore-BtKYtLVc.js';
16
16
  import { u as useUtilityStore } from './useUtilityStore-CCUYS1mS.js';
17
17
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
@@ -799,6 +799,35 @@ var removeArrayItem = function removeArrayItem(_ref30) {
799
799
  }
800
800
  return result;
801
801
  };
802
+ var clearArrayItems = function clearArrayItems(_ref31) {
803
+ var values = _ref31.values,
804
+ fieldKey = _ref31.fieldKey;
805
+ var list = asArray(valueAt({
806
+ values: values,
807
+ key: fieldKey
808
+ }));
809
+ var removed = list.filter(function (item) {
810
+ return item === null || item === void 0 ? void 0 : item.id;
811
+ }).map(function (item) {
812
+ return _objectSpread$b(_objectSpread$b({}, item), {}, {
813
+ _destroy: true
814
+ });
815
+ });
816
+ var result = [{
817
+ path: "".concat(fieldKey, ".value"),
818
+ value: []
819
+ }];
820
+ if (removed.length) {
821
+ var _values$fieldKey2;
822
+ // eslint-disable-next-line security/detect-object-injection
823
+ var deleted = asArray(values === null || values === void 0 || (_values$fieldKey2 = values[fieldKey]) === null || _values$fieldKey2 === void 0 ? void 0 : _values$fieldKey2.deleted);
824
+ result.push({
825
+ path: "".concat(fieldKey, ".deleted"),
826
+ value: [].concat(_toConsumableArray(deleted), _toConsumableArray(removed))
827
+ });
828
+ }
829
+ return result;
830
+ };
802
831
 
803
832
  function ownKeys$a(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; }
804
833
  function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1886,6 +1915,24 @@ var useRuleModel = function useRuleModel(schema) {
1886
1915
  fieldKey: fieldKeysFromSchema(schema).actions,
1887
1916
  index: index
1888
1917
  }));
1918
+ },
1919
+ clearTriggers: function clearTriggers() {
1920
+ return applyAll(clearArrayItems({
1921
+ values: values,
1922
+ fieldKey: fieldKeysFromSchema(schema).triggers
1923
+ }));
1924
+ },
1925
+ clearConditions: function clearConditions() {
1926
+ return applyAll(clearArrayItems({
1927
+ values: values,
1928
+ fieldKey: fieldKeysFromSchema(schema).conditions
1929
+ }));
1930
+ },
1931
+ clearActions: function clearActions() {
1932
+ return applyAll(clearArrayItems({
1933
+ values: values,
1934
+ fieldKey: fieldKeysFromSchema(schema).actions
1935
+ }));
1889
1936
  }
1890
1937
  };
1891
1938
  };
@@ -2032,9 +2079,9 @@ var nextTriggers = function nextTriggers(_ref10) {
2032
2079
  name: value
2033
2080
  }]);
2034
2081
  }
2035
- return [{
2082
+ return [_objectSpread$4(_objectSpread$4({}, rule.triggers[0]), {}, {
2036
2083
  name: value
2037
- }];
2084
+ })];
2038
2085
  };
2039
2086
  var nextConditionAt = function nextConditionAt(_ref11) {
2040
2087
  var _field$allowMatching;
@@ -2452,9 +2499,9 @@ var commitFor = function commitFor(_ref16) {
2452
2499
  }]));
2453
2500
  return "stay";
2454
2501
  }
2455
- setTriggers([{
2502
+ setTriggers([_objectSpread$4(_objectSpread$4({}, rule.triggers[0]), {}, {
2456
2503
  name: value
2457
- }]);
2504
+ })]);
2458
2505
  var leadTime = (_schema$triggers5 = schema.triggers) === null || _schema$triggers5 === void 0 ? void 0 : _schema$triggers5.leadTime;
2459
2506
  if (leadTime !== null && leadTime !== void 0 && leadTime.fieldKey && (leadTime.appliesTo || []).includes(value) && !rule.leadTime) {
2460
2507
  var _leadTime$default;
@@ -2734,15 +2781,16 @@ var Canvas = function Canvas(_ref) {
2734
2781
  var _useRuleModel = useRuleModel(schema),
2735
2782
  rule = _useRuleModel.rule,
2736
2783
  fieldKeys = _useRuleModel.fieldKeys,
2737
- setTriggers = _useRuleModel.setTriggers,
2738
2784
  setPerformer = _useRuleModel.setPerformer,
2739
2785
  setConditions = _useRuleModel.setConditions,
2740
- setActions = _useRuleModel.setActions,
2741
2786
  setDelay = _useRuleModel.setDelay,
2742
2787
  removeCondition = _useRuleModel.removeCondition,
2743
2788
  removeAction = _useRuleModel.removeAction,
2744
2789
  setActive = _useRuleModel.setActive,
2745
- setScope = _useRuleModel.setScope;
2790
+ setScope = _useRuleModel.setScope,
2791
+ clearTriggers = _useRuleModel.clearTriggers,
2792
+ clearConditions = _useRuleModel.clearConditions,
2793
+ clearActions = _useRuleModel.clearActions;
2746
2794
  var _useUtilityStore = useUtilityStore(useShallow(function (store) {
2747
2795
  return {
2748
2796
  builderPreview: store["builderPreview"],
@@ -2971,11 +3019,11 @@ var Canvas = function Canvas(_ref) {
2971
3019
  });
2972
3020
  };
2973
3021
  var handleClearTrigger = function handleClearTrigger() {
2974
- setTriggers([]);
3022
+ clearTriggers();
2975
3023
  setPerformer(null);
2976
- setConditions([]);
3024
+ clearConditions();
2977
3025
  setDelay(null);
2978
- setActions([]);
3026
+ clearActions();
2979
3027
  setScope([]);
2980
3028
  closePane();
2981
3029
  };
@@ -3848,6 +3896,9 @@ var LeadTimePane = function LeadTimePane(_ref) {
3848
3896
  }
3849
3897
  })
3850
3898
  })]
3899
+ }), touched && error && /*#__PURE__*/jsx("p", {
3900
+ className: "neeto-ui-input__error",
3901
+ children: error
3851
3902
  })]
3852
3903
  })
3853
3904
  })]