@bigbinary/neeto-fields-frontend 1.1.0 → 1.1.2

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/dist/index.cjs.js CHANGED
@@ -3749,8 +3749,8 @@ function transformOptions(options) {
3749
3749
  return options;
3750
3750
  }
3751
3751
 
3752
- function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3753
- function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$d(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3752
+ function ownKeys$e(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3753
+ function _objectSpread$e(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$e(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$e(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3754
3754
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
3755
3755
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3756
3756
  function noop$1() {}
@@ -3810,9 +3810,9 @@ var I18n = function (_EventEmitter) {
3810
3810
  }
3811
3811
  }
3812
3812
  var defOpts = get();
3813
- this.options = _objectSpread$d(_objectSpread$d(_objectSpread$d({}, defOpts), this.options), transformOptions(options));
3813
+ this.options = _objectSpread$e(_objectSpread$e(_objectSpread$e({}, defOpts), this.options), transformOptions(options));
3814
3814
  if (this.options.compatibilityAPI !== 'v1') {
3815
- this.options.interpolation = _objectSpread$d(_objectSpread$d({}, defOpts.interpolation), this.options.interpolation);
3815
+ this.options.interpolation = _objectSpread$e(_objectSpread$e({}, defOpts.interpolation), this.options.interpolation);
3816
3816
  }
3817
3817
  if (options.keySeparator !== undefined) {
3818
3818
  this.options.userDefinedKeySeparator = options.keySeparator;
@@ -4090,7 +4090,7 @@ var I18n = function (_EventEmitter) {
4090
4090
  }
4091
4091
  options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));
4092
4092
  } else {
4093
- options = _objectSpread$d({}, opts);
4093
+ options = _objectSpread$e({}, opts);
4094
4094
  }
4095
4095
  options.lng = options.lng || fixedT.lng;
4096
4096
  options.lngs = options.lngs || fixedT.lngs;
@@ -4217,7 +4217,7 @@ var I18n = function (_EventEmitter) {
4217
4217
  var _this8 = this;
4218
4218
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4219
4219
  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
4220
- var mergedOptions = _objectSpread$d(_objectSpread$d(_objectSpread$d({}, this.options), options), {
4220
+ var mergedOptions = _objectSpread$e(_objectSpread$e(_objectSpread$e({}, this.options), options), {
4221
4221
  isClone: true
4222
4222
  });
4223
4223
  var clone = new I18n(mergedOptions);
@@ -4228,7 +4228,7 @@ var I18n = function (_EventEmitter) {
4228
4228
  membersToCopy.forEach(function (m) {
4229
4229
  clone[m] = _this8[m];
4230
4230
  });
4231
- clone.services = _objectSpread$d({}, this.services);
4231
+ clone.services = _objectSpread$e({}, this.services);
4232
4232
  clone.services.utils = {
4233
4233
  hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)
4234
4234
  };
@@ -4276,7 +4276,7 @@ instance.reloadResources;
4276
4276
  instance.use;
4277
4277
  instance.changeLanguage;
4278
4278
  instance.getFixedT;
4279
- var t = instance.t;
4279
+ var t$1 = instance.t;
4280
4280
  instance.exists;
4281
4281
  instance.setDefaultNamespace;
4282
4282
  instance.hasLoadedNamespace;
@@ -4667,9 +4667,79 @@ function getDefaultExportFromCjs (x) {
4667
4667
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
4668
4668
  }
4669
4669
 
4670
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4670
+ /**
4671
+ * This file automatically generated from `pre-publish.js`.
4672
+ * Do not manually edit.
4673
+ */
4671
4674
 
4672
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4675
+ var voidElements = {
4676
+ "area": true,
4677
+ "base": true,
4678
+ "br": true,
4679
+ "col": true,
4680
+ "embed": true,
4681
+ "hr": true,
4682
+ "img": true,
4683
+ "input": true,
4684
+ "link": true,
4685
+ "meta": true,
4686
+ "param": true,
4687
+ "source": true,
4688
+ "track": true,
4689
+ "wbr": true
4690
+ };
4691
+
4692
+ var e = /*@__PURE__*/getDefaultExportFromCjs(voidElements);
4693
+
4694
+ var t=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function n(n){var r={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},i=n.match(/<\/?([^\s]+?)[/\s>]/);if(i&&(r.name=i[1],(e[i[1]]||"/"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith("!--"))){var s=n.indexOf("--\x3e");return {type:"comment",comment:-1!==s?n.slice(4,s):""}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),r.attrs[l[0]]=l[1],a.lastIndex--;}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,i=/^\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'="'+e[n]+'"');return t.length?" "+t.join(" "):""}(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(a,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf("<")){var u=e.indexOf("<");c.push({type:"text",content:-1===u?e:e.substring(0,u)});}return e.replace(r,function(r,s){if(m){if(r!=="</"+a.name+">")return;m=!1;}var u,f="/"!==r.charAt(1),h=r.startsWith("\x3c!--"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,"tag"===(a=n(r)).type&&t.components[a.name]&&(a.type="component",m=!0),a.voidElement||m||!d||"<"===d||a.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&"<"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf("<",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=" "),(x>-1&&l+u.length>=0||" "!==g)&&u.push({type:"text",content:g});}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a("",t)},"")}};
4695
+
4696
+ /**
4697
+ * Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection
4698
+ *
4699
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4700
+ * of this software and associated documentation files (the "Software"), to deal
4701
+ * in the Software without restriction, including without limitation the rights
4702
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4703
+ * copies of the Software, and to permit persons to whom the Software is
4704
+ * furnished to do so, subject to the following conditions:
4705
+ *
4706
+ * The above copyright notice and this permission notice shall be included in
4707
+ * all copies or substantial portions of the Software.
4708
+ *
4709
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4710
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4711
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4712
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4713
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4714
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4715
+ * THE SOFTWARE.
4716
+ */
4717
+
4718
+ var replace = ''.replace;
4719
+ var es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
4720
+ var unes = {
4721
+ '&amp;': '&',
4722
+ '&#38;': '&',
4723
+ '&lt;': '<',
4724
+ '&#60;': '<',
4725
+ '&gt;': '>',
4726
+ '&#62;': '>',
4727
+ '&apos;': "'",
4728
+ '&#39;': "'",
4729
+ '&quot;': '"',
4730
+ '&#34;': '"'
4731
+ };
4732
+
4733
+ function unescape(un) {
4734
+ return replace.call(un, es, cape);
4735
+ }
4736
+ function cape(m) {
4737
+ return unes[m];
4738
+ }
4739
+
4740
+ function ownKeys$d(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4741
+
4742
+ function _objectSpread$d(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$d(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$d(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4673
4743
  var defaultOptions$1 = {
4674
4744
  bindI18n: 'languageChanged',
4675
4745
  bindI18nStore: '',
@@ -4683,7 +4753,7 @@ var i18nInstance;
4683
4753
  var I18nContext = React__default["default"].createContext();
4684
4754
  function setDefaults() {
4685
4755
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4686
- defaultOptions$1 = _objectSpread$c(_objectSpread$c({}, defaultOptions$1), options);
4756
+ defaultOptions$1 = _objectSpread$d(_objectSpread$d({}, defaultOptions$1), options);
4687
4757
  }
4688
4758
  function getDefaults() {
4689
4759
  return defaultOptions$1;
@@ -4807,6 +4877,274 @@ function hasLoadedNamespace(ns, i18n) {
4807
4877
  });
4808
4878
  }
4809
4879
 
4880
+ var _excluded$4 = ["format"],
4881
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
4882
+
4883
+ function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4884
+
4885
+ function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4886
+
4887
+ function hasChildren(node, checkLength) {
4888
+ if (!node) return false;
4889
+ var base = node.props ? node.props.children : node.children;
4890
+ if (checkLength) return base.length > 0;
4891
+ return !!base;
4892
+ }
4893
+
4894
+ function getChildren(node) {
4895
+ if (!node) return [];
4896
+ return node && node.children ? node.children : node.props && node.props.children;
4897
+ }
4898
+
4899
+ function hasValidReactChildren(children) {
4900
+ if (Object.prototype.toString.call(children) !== '[object Array]') return false;
4901
+ return children.every(function (child) {
4902
+ return React__default["default"].isValidElement(child);
4903
+ });
4904
+ }
4905
+
4906
+ function getAsArray(data) {
4907
+ return Array.isArray(data) ? data : [data];
4908
+ }
4909
+
4910
+ function mergeProps(source, target) {
4911
+ var newTarget = _objectSpread$c({}, target);
4912
+
4913
+ newTarget.props = Object.assign(source.props, target.props);
4914
+ return newTarget;
4915
+ }
4916
+
4917
+ function nodesToString(children, i18nOptions) {
4918
+ if (!children) return '';
4919
+ var stringNode = '';
4920
+ var childrenArray = getAsArray(children);
4921
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
4922
+ childrenArray.forEach(function (child, childIndex) {
4923
+ if (typeof child === 'string') {
4924
+ stringNode += "".concat(child);
4925
+ } else if (React__default["default"].isValidElement(child)) {
4926
+ var childPropsCount = Object.keys(child.props).length;
4927
+ var shouldKeepChild = keepArray.indexOf(child.type) > -1;
4928
+ var childChildren = child.props.children;
4929
+
4930
+ if (!childChildren && shouldKeepChild && childPropsCount === 0) {
4931
+ stringNode += "<".concat(child.type, "/>");
4932
+ } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {
4933
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
4934
+ } else if (child.props.i18nIsDynamicList) {
4935
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
4936
+ } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {
4937
+ stringNode += "<".concat(child.type, ">").concat(childChildren, "</").concat(child.type, ">");
4938
+ } else {
4939
+ var content = nodesToString(childChildren, i18nOptions);
4940
+ stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
4941
+ }
4942
+ } else if (child === null) {
4943
+ warn("Trans: the passed in value is invalid - seems you passed in a null child.");
4944
+ } else if (_typeof$1(child) === 'object') {
4945
+ var format = child.format,
4946
+ clone = _objectWithoutProperties(child, _excluded$4);
4947
+
4948
+ var keys = Object.keys(clone);
4949
+
4950
+ if (keys.length === 1) {
4951
+ var value = format ? "".concat(keys[0], ", ").concat(format) : keys[0];
4952
+ stringNode += "{{".concat(value, "}}");
4953
+ } else {
4954
+ warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child);
4955
+ }
4956
+ } else {
4957
+ warn("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.", child);
4958
+ }
4959
+ });
4960
+ return stringNode;
4961
+ }
4962
+
4963
+ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
4964
+ if (targetString === '') return [];
4965
+ var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
4966
+ var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
4967
+ if (!children && !emptyChildrenButNeedsHandling) return [targetString];
4968
+ var data = {};
4969
+
4970
+ function getData(childs) {
4971
+ var childrenArray = getAsArray(childs);
4972
+ childrenArray.forEach(function (child) {
4973
+ if (typeof child === 'string') return;
4974
+ if (hasChildren(child)) getData(getChildren(child));else if (_typeof$1(child) === 'object' && !React__default["default"].isValidElement(child)) Object.assign(data, child);
4975
+ });
4976
+ }
4977
+
4978
+ getData(children);
4979
+ var ast = c.parse("<0>".concat(targetString, "</0>"));
4980
+
4981
+ var opts = _objectSpread$c(_objectSpread$c({}, data), combinedTOpts);
4982
+
4983
+ function renderInner(child, node, rootReactNode) {
4984
+ var childs = getChildren(child);
4985
+ var mappedChildren = mapAST(childs, node.children, rootReactNode);
4986
+ return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
4987
+ }
4988
+
4989
+ function pushTranslatedJSX(child, inner, mem, i, isVoid) {
4990
+ if (child.dummy) child.children = inner;
4991
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
4992
+ key: i
4993
+ }), isVoid ? undefined : inner));
4994
+ }
4995
+
4996
+ function mapAST(reactNode, astNode, rootReactNode) {
4997
+ var reactNodes = getAsArray(reactNode);
4998
+ var astNodes = getAsArray(astNode);
4999
+ return astNodes.reduce(function (mem, node, i) {
5000
+ var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
5001
+
5002
+ if (node.type === 'tag') {
5003
+ var tmp = reactNodes[parseInt(node.name, 10)];
5004
+ if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
5005
+ if (!tmp) tmp = {};
5006
+ var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
5007
+ props: node.attrs
5008
+ }, tmp) : tmp;
5009
+ var isElement = React__default["default"].isValidElement(child);
5010
+ var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
5011
+ var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof$1(child) === 'object' && child.dummy && !isElement;
5012
+ var isKnownComponent = _typeof$1(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
5013
+
5014
+ if (typeof child === 'string') {
5015
+ var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);
5016
+ mem.push(value);
5017
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
5018
+ var inner = renderInner(child, node, rootReactNode);
5019
+ pushTranslatedJSX(child, inner, mem, i);
5020
+ } else if (isEmptyTransWithHTML) {
5021
+ var _inner = mapAST(reactNodes, node.children, rootReactNode);
5022
+
5023
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
5024
+ key: i
5025
+ }), _inner));
5026
+ } else if (Number.isNaN(parseFloat(node.name))) {
5027
+ if (isKnownComponent) {
5028
+ var _inner2 = renderInner(child, node, rootReactNode);
5029
+
5030
+ pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);
5031
+ } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
5032
+ if (node.voidElement) {
5033
+ mem.push(React__default["default"].createElement(node.name, {
5034
+ key: "".concat(node.name, "-").concat(i)
5035
+ }));
5036
+ } else {
5037
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
5038
+
5039
+ mem.push(React__default["default"].createElement(node.name, {
5040
+ key: "".concat(node.name, "-").concat(i)
5041
+ }, _inner3));
5042
+ }
5043
+ } else if (node.voidElement) {
5044
+ mem.push("<".concat(node.name, " />"));
5045
+ } else {
5046
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
5047
+
5048
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
5049
+ }
5050
+ } else if (_typeof$1(child) === 'object' && !isElement) {
5051
+ var content = node.children[0] ? translationContent : null;
5052
+ if (content) mem.push(content);
5053
+ } else if (node.children.length === 1 && translationContent) {
5054
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
5055
+ key: i
5056
+ }), translationContent));
5057
+ } else {
5058
+ mem.push(React__default["default"].cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
5059
+ key: i
5060
+ })));
5061
+ }
5062
+ } else if (node.type === 'text') {
5063
+ var wrapTextNodes = i18nOptions.transWrapTextNodes;
5064
+
5065
+ var _content = shouldUnescape ? unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);
5066
+
5067
+ if (wrapTextNodes) {
5068
+ mem.push(React__default["default"].createElement(wrapTextNodes, {
5069
+ key: "".concat(node.name, "-").concat(i)
5070
+ }, _content));
5071
+ } else {
5072
+ mem.push(_content);
5073
+ }
5074
+ }
5075
+
5076
+ return mem;
5077
+ }, []);
5078
+ }
5079
+
5080
+ var result = mapAST([{
5081
+ dummy: true,
5082
+ children: children || []
5083
+ }], ast, getAsArray(children || []));
5084
+ return getChildren(result[0]);
5085
+ }
5086
+
5087
+ function Trans(_ref) {
5088
+ var children = _ref.children,
5089
+ count = _ref.count,
5090
+ parent = _ref.parent,
5091
+ i18nKey = _ref.i18nKey,
5092
+ context = _ref.context,
5093
+ _ref$tOptions = _ref.tOptions,
5094
+ tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
5095
+ values = _ref.values,
5096
+ defaults = _ref.defaults,
5097
+ components = _ref.components,
5098
+ ns = _ref.ns,
5099
+ i18nFromProps = _ref.i18n,
5100
+ tFromProps = _ref.t,
5101
+ shouldUnescape = _ref.shouldUnescape,
5102
+ additionalProps = _objectWithoutProperties(_ref, _excluded2);
5103
+
5104
+ var _ref2 = React.useContext(I18nContext) || {},
5105
+ i18nFromContext = _ref2.i18n,
5106
+ defaultNSFromContext = _ref2.defaultNS;
5107
+
5108
+ var i18n = i18nFromProps || i18nFromContext || getI18n();
5109
+
5110
+ if (!i18n) {
5111
+ warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
5112
+ return children;
5113
+ }
5114
+
5115
+ var t = tFromProps || i18n.t.bind(i18n) || function (k) {
5116
+ return k;
5117
+ };
5118
+
5119
+ if (context) tOptions.context = context;
5120
+
5121
+ var reactI18nextOptions = _objectSpread$c(_objectSpread$c({}, getDefaults()), i18n.options && i18n.options.react);
5122
+
5123
+ var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
5124
+ namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
5125
+ var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
5126
+ var hashTransKey = reactI18nextOptions.hashTransKey;
5127
+ var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
5128
+ var interpolationOverride = values ? tOptions.interpolation : {
5129
+ interpolation: _objectSpread$c(_objectSpread$c({}, tOptions.interpolation), {}, {
5130
+ prefix: '#$?',
5131
+ suffix: '?$#'
5132
+ })
5133
+ };
5134
+
5135
+ var combinedTOpts = _objectSpread$c(_objectSpread$c(_objectSpread$c(_objectSpread$c({}, tOptions), {}, {
5136
+ count: count
5137
+ }, values), interpolationOverride), {}, {
5138
+ defaultValue: defaultValue,
5139
+ ns: namespaces
5140
+ });
5141
+
5142
+ var translation = key ? t(key, combinedTOpts) : defaultValue;
5143
+ var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);
5144
+ var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;
5145
+ return useAsParent ? React__default["default"].createElement(useAsParent, additionalProps, content) : content;
5146
+ }
5147
+
4810
5148
  function _iterableToArrayLimit(arr, i) {
4811
5149
  var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
4812
5150
  if (null != _i) {
@@ -4948,8 +5286,8 @@ var titles = {
4948
5286
  addField: "Add new field",
4949
5287
  editField: "Edit field",
4950
5288
  deleteField: "Delete field ?",
4951
- name: "Name",
4952
- kind: "Kind",
5289
+ fieldName: "Field name",
5290
+ fieldKind: "Field type",
4953
5291
  required: "Required",
4954
5292
  dropdownOptions: "Dropdown options",
4955
5293
  regexOptions: "Regex options",
@@ -4961,7 +5299,7 @@ var labels = {
4961
5299
  edit: "Edit",
4962
5300
  "delete": "Delete",
4963
5301
  fieldName: "Field name",
4964
- fieldKind: "Field kind",
5302
+ fieldKind: "Field type",
4965
5303
  createField: "Create field",
4966
5304
  updateField: "Update field",
4967
5305
  addMoreOption: "Add more option",
@@ -4978,7 +5316,8 @@ var placeholders = {
4978
5316
  enterFieldName: "Enter field name",
4979
5317
  enterAnOption: "Enter an option",
4980
5318
  regexExample: "Example: /^[0-9]{5}$/",
4981
- enterErrorMessage: "Message to show on error"
5319
+ enterErrorMessage: "Message to show on error",
5320
+ searchFields: "Search fields"
4982
5321
  };
4983
5322
  var fields = {
4984
5323
  kinds: {
@@ -5003,7 +5342,7 @@ var fields = {
5003
5342
  };
5004
5343
  var messages = {
5005
5344
  noFields: "There are no fields to show",
5006
- confirmDelete: "Are you sure want to delete the field ?. This action cannot be undone.",
5345
+ confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
5007
5346
  manageFieldFor: "Manage fields for {{resource}}",
5008
5347
  invalidKind: "Invalid kind",
5009
5348
  reorderFields: "Fields are displayed from top to bottom."
@@ -5024,6 +5363,9 @@ var validations = {
5024
5363
  var tooltips = {
5025
5364
  reorder: "Fields a are displayed from top to bottom. Re-order them"
5026
5365
  };
5366
+ var helpTexts = {
5367
+ noData: "Here is how you can use <a>fields.</a>"
5368
+ };
5027
5369
  var en = {
5028
5370
  common: common,
5029
5371
  titles: titles,
@@ -5032,7 +5374,8 @@ var en = {
5032
5374
  fields: fields,
5033
5375
  messages: messages,
5034
5376
  validations: validations,
5035
- tooltips: tooltips
5377
+ tooltips: tooltips,
5378
+ helpTexts: helpTexts
5036
5379
  };
5037
5380
 
5038
5381
  instance.use(Browser).use(initReactI18next).init({
@@ -5111,23 +5454,23 @@ var KINDS = {
5111
5454
  datetime: "datetime"
5112
5455
  };
5113
5456
  var DISPLAY_KINDS = {
5114
- text: t("fields.kinds.text"),
5115
- number: t("fields.kinds.number"),
5116
- monetary: t("fields.kinds.monetary"),
5117
- single_option: t("fields.kinds.singleOption"),
5118
- multi_option: t("fields.kinds.multiOption"),
5119
- date: t("fields.kinds.date"),
5120
- time: t("fields.kinds.time"),
5121
- date_range: t("fields.kinds.dateRange"),
5122
- time_range: t("fields.kinds.timeRange"),
5123
- textarea: t("fields.kinds.textarea"),
5124
- text_area: t("fields.kinds.textArea"),
5125
- person: t("fields.kinds.person"),
5126
- checkbox: t("fields.kinds.checkbox"),
5127
- regex: t("fields.kinds.regex"),
5128
- integer: t("fields.kinds.integer"),
5129
- decimal: t("fields.kinds.decimal"),
5130
- datetime: t("fields.kinds.datetime")
5457
+ text: t$1("fields.kinds.text"),
5458
+ number: t$1("fields.kinds.number"),
5459
+ monetary: t$1("fields.kinds.monetary"),
5460
+ single_option: t$1("fields.kinds.singleOption"),
5461
+ multi_option: t$1("fields.kinds.multiOption"),
5462
+ date: t$1("fields.kinds.date"),
5463
+ time: t$1("fields.kinds.time"),
5464
+ date_range: t$1("fields.kinds.dateRange"),
5465
+ time_range: t$1("fields.kinds.timeRange"),
5466
+ textarea: t$1("fields.kinds.textarea"),
5467
+ text_area: t$1("fields.kinds.textArea"),
5468
+ person: t$1("fields.kinds.person"),
5469
+ checkbox: t$1("fields.kinds.checkbox"),
5470
+ regex: t$1("fields.kinds.regex"),
5471
+ integer: t$1("fields.kinds.integer"),
5472
+ decimal: t$1("fields.kinds.decimal"),
5473
+ datetime: t$1("fields.kinds.datetime")
5131
5474
  };
5132
5475
  var FIELD_STATES = {
5133
5476
  active: "active",
@@ -5531,6 +5874,22 @@ var dayjs_minExports = dayjs_min.exports;
5531
5874
  var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
5532
5875
 
5533
5876
  var dateSchema = yup__namespace.date().nullable();
5877
+ var buildSchemaAllowingEmptyValue = function buildSchemaAllowingEmptyValue(schema) {
5878
+ return yup__namespace.mixed().test({
5879
+ name: "validate-if-not-empty",
5880
+ test: function test(value) {
5881
+ if (pure.isNotEmpty(value) && ramda.isNotNil(value)) {
5882
+ try {
5883
+ schema.validateSync(value);
5884
+ return true;
5885
+ } catch (_unused) {
5886
+ return false;
5887
+ }
5888
+ }
5889
+ return true;
5890
+ }
5891
+ });
5892
+ };
5534
5893
  var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5535
5894
  var kind = _ref.kind,
5536
5895
  isRequired = _ref.isRequired,
@@ -5540,33 +5899,36 @@ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5540
5899
  case KINDS.text:
5541
5900
  {
5542
5901
  var schema = yup__namespace.string().trim().nullable();
5543
- return isRequired ? schema.required(t("validations.thisIsRequired")) : schema;
5902
+ return isRequired ? schema.required(t$1("validations.thisIsRequired")) : schema;
5544
5903
  }
5545
5904
  case KINDS.number:
5546
5905
  case KINDS.monetary:
5547
5906
  case KINDS.decimal:
5548
5907
  {
5549
- var _schema = yup__namespace.number().nullable().typeError(t("validations.notAValidNumber"));
5550
- return isRequired ? _schema.required(t("validations.thisIsRequired")) : _schema;
5908
+ var _schema = buildSchemaAllowingEmptyValue(yup__namespace.number().typeError(t$1("validations.notAValidNumber")));
5909
+ return isRequired ? _schema.required(t$1("validations.thisIsRequired")) : _schema;
5551
5910
  }
5552
5911
  case KINDS.integer:
5553
5912
  {
5554
- var _schema2 = yup__namespace.number().nullable().integer().typeError(t("validations.notAValidInteger"));
5555
- return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
5913
+ var _schema2 = buildSchemaAllowingEmptyValue(yup__namespace.number().nullable().integer().typeError(t$1("validations.notAValidInteger")));
5914
+ return isRequired ? _schema2.required(t$1("validations.thisIsRequired")) : _schema2;
5556
5915
  }
5557
5916
  case KINDS.date:
5558
5917
  case KINDS.time:
5559
- return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
5918
+ {
5919
+ var _schema3 = buildSchemaAllowingEmptyValue(dateSchema);
5920
+ return isRequired ? _schema3.required(t$1("validations.thisIsRequired")) : _schema3;
5921
+ }
5560
5922
  case KINDS.multiOption:
5561
5923
  {
5562
- var _schema3 = yup__namespace.array().of(yup__namespace.string()).nullable();
5563
- return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
5924
+ var _schema4 = yup__namespace.array().of(yup__namespace.string()).nullable();
5925
+ return isRequired ? _schema4.min(1, t$1("validations.minOneItem")).required(t$1("validations.thisIsRequired")) : _schema4;
5564
5926
  }
5565
5927
  case KINDS.dateRange:
5566
5928
  case KINDS.timeRange:
5567
5929
  {
5568
5930
  if (isRequired) {
5569
- return yup__namespace.array().of(dateSchema).required(t("validations.thisIsRequired"));
5931
+ return yup__namespace.array().of(dateSchema).required(t$1("validations.thisIsRequired"));
5570
5932
  }
5571
5933
  return yup__namespace.array().of(dateSchema).nullable();
5572
5934
  }
@@ -5575,8 +5937,8 @@ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5575
5937
  case KINDS.regex:
5576
5938
  {
5577
5939
  var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
5578
- var _schema4 = yup__namespace.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
5579
- return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
5940
+ var _schema5 = buildSchemaAllowingEmptyValue(yup__namespace.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage));
5941
+ return isRequired ? _schema5.required(t$1("validations.thisIsRequired")) : _schema5;
5580
5942
  }
5581
5943
  default:
5582
5944
  return yup__namespace.mixed();
@@ -5621,7 +5983,7 @@ var validateField = /*#__PURE__*/function () {
5621
5983
  case 7:
5622
5984
  _context.prev = 7;
5623
5985
  _context.t0 = _context["catch"](1);
5624
- return _context.abrupt("return", _context.t0.errors);
5986
+ return _context.abrupt("return", _context.t0.errors[0]);
5625
5987
  case 10:
5626
5988
  case "end":
5627
5989
  return _context.stop();
@@ -5633,7 +5995,7 @@ var validateField = /*#__PURE__*/function () {
5633
5995
  };
5634
5996
  }();
5635
5997
  var dateTimeToString = function dateTimeToString(dateTime) {
5636
- return dayjs(dateTime).toString();
5998
+ return dateTime && dayjs(dateTime).toString() || "";
5637
5999
  };
5638
6000
 
5639
6001
  var _excluded$3 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
@@ -5690,7 +6052,7 @@ var useFormikFields = function useFormikFields(_ref) {
5690
6052
  } else if (kind === KINDS.multiOption) {
5691
6053
  value = buildArrayToLabelAndValues(value);
5692
6054
  }
5693
- return value;
6055
+ return value || "";
5694
6056
  };
5695
6057
  var isDropdown = ["single_option", "multi_option"].includes(kind);
5696
6058
  if (isSubmitting && !meta.touched) {
@@ -5700,7 +6062,7 @@ var useFormikFields = function useFormikFields(_ref) {
5700
6062
  handleSubmit: handleSubmit,
5701
6063
  fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
5702
6064
  required: props[isRequiredColumnName],
5703
- error: meta.touched && meta.error,
6065
+ error: individualSubmit ? meta.error : meta.touched && meta.error,
5704
6066
  options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
5705
6067
  value: getValueForField(formikFieldProps.value),
5706
6068
  dirty: dirty,
@@ -6005,12 +6367,14 @@ var fieldUrl = function fieldUrl(fieldId) {
6005
6367
  var fetch$1 = function fetch(_ref) {
6006
6368
  var resourceType = _ref.resourceType,
6007
6369
  ownerId = _ref.ownerId,
6008
- state = _ref.state;
6370
+ state = _ref.state,
6371
+ searchTerm = _ref.searchTerm;
6009
6372
  return axios__default["default"].get(FIELDS_URL, {
6010
6373
  params: {
6011
6374
  resourceType: resourceType,
6012
6375
  ownerId: ownerId,
6013
- state: state
6376
+ state: state,
6377
+ searchTerm: searchTerm
6014
6378
  }
6015
6379
  });
6016
6380
  };
@@ -6067,12 +6431,14 @@ var useFetchFields = function useFetchFields(_ref, options) {
6067
6431
  ownerId = _ref.ownerId,
6068
6432
  state = _ref.state,
6069
6433
  _ref$prefixQueryKeys = _ref.prefixQueryKeys,
6070
- prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
6071
- return reactQuery.useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
6434
+ prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys,
6435
+ searchTerm = _ref.searchTerm;
6436
+ return reactQuery.useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state, searchTerm]), function () {
6072
6437
  return fieldsApi.fetch({
6073
6438
  resourceType: resourceType,
6074
6439
  ownerId: ownerId,
6075
- state: state
6440
+ state: state,
6441
+ searchTerm: searchTerm
6076
6442
  });
6077
6443
  }, _objectSpread$7({
6078
6444
  staleTime: DEFAULT_STALE_TIME
@@ -6197,7 +6563,7 @@ var renderFormFooter = function renderFormFooter(_ref3) {
6197
6563
  disabled: loading
6198
6564
  },
6199
6565
  submitButtonProps: {
6200
- label: t("labels.saveChanges"),
6566
+ label: t$1("labels.saveChanges"),
6201
6567
  className: "mr-2",
6202
6568
  type: "submit",
6203
6569
  disabled: !dirty,
@@ -6207,97 +6573,97 @@ var renderFormFooter = function renderFormFooter(_ref3) {
6207
6573
  };
6208
6574
 
6209
6575
  var regexValidationSchema = yup__namespace.object().shape({
6210
- condition: yup__namespace.string().required(t("validations.regexConditionIsRequired")),
6211
- helpMessage: yup__namespace.string().required(t("validations.regexHelpMessageIsRequired"))
6576
+ condition: yup__namespace.string().required(t$1("validations.regexConditionIsRequired")),
6577
+ helpMessage: yup__namespace.string().required(t$1("validations.regexHelpMessageIsRequired"))
6212
6578
  });
6213
6579
  var dropDownOptionsValidationSchema = yup__namespace.array().of(yup__namespace.object().shape({
6214
- label: yup__namespace.string().trim().required(t("validations.fieldOptionIsRequired")),
6580
+ label: yup__namespace.string().trim().required(t$1("validations.fieldOptionIsRequired")),
6215
6581
  displayOrder: yup__namespace.number()
6216
- })).min(1, t("validations.atLeastFieldOptionIsRequired"));
6582
+ })).min(1, t$1("validations.atLeastFieldOptionIsRequired"));
6217
6583
  var FIELD_KINDS = {
6218
6584
  text: {
6219
6585
  value: "text",
6220
- label: t("fields.kinds.text"),
6586
+ label: t$1("fields.kinds.text"),
6221
6587
  group: 1
6222
6588
  },
6223
6589
  number: {
6224
6590
  value: "number",
6225
- label: t("fields.kinds.number"),
6591
+ label: t$1("fields.kinds.number"),
6226
6592
  group: 2
6227
6593
  },
6228
6594
  monetary: {
6229
6595
  value: "monetary",
6230
- label: t("fields.kinds.monetary"),
6596
+ label: t$1("fields.kinds.monetary"),
6231
6597
  group: 2
6232
6598
  },
6233
6599
  single_option: {
6234
6600
  value: "single_option",
6235
- label: t("fields.kinds.singleOption"),
6601
+ label: t$1("fields.kinds.singleOption"),
6236
6602
  group: 3
6237
6603
  },
6238
6604
  multi_option: {
6239
6605
  value: "multi_option",
6240
- label: t("fields.kinds.multiOption"),
6606
+ label: t$1("fields.kinds.multiOption"),
6241
6607
  group: 3
6242
6608
  },
6243
6609
  date: {
6244
6610
  value: "date",
6245
- label: t("fields.kinds.date"),
6611
+ label: t$1("fields.kinds.date"),
6246
6612
  group: 4
6247
6613
  },
6248
6614
  time: {
6249
6615
  value: "time",
6250
- label: t("fields.kinds.time"),
6616
+ label: t$1("fields.kinds.time"),
6251
6617
  group: 5
6252
6618
  },
6253
6619
  date_range: {
6254
6620
  value: "date_range",
6255
- label: t("fields.kinds.dateRange"),
6621
+ label: t$1("fields.kinds.dateRange"),
6256
6622
  group: 6
6257
6623
  },
6258
6624
  time_range: {
6259
6625
  value: "time_range",
6260
- label: t("fields.kinds.timeRange"),
6626
+ label: t$1("fields.kinds.timeRange"),
6261
6627
  group: 7
6262
6628
  },
6263
6629
  text_area: {
6264
6630
  value: "text_area",
6265
- label: t("fields.kinds.textArea"),
6631
+ label: t$1("fields.kinds.textArea"),
6266
6632
  group: 1
6267
6633
  },
6268
6634
  textarea: {
6269
6635
  value: "textarea",
6270
- label: t("fields.kinds.textarea"),
6636
+ label: t$1("fields.kinds.textarea"),
6271
6637
  group: 1
6272
6638
  },
6273
6639
  person: {
6274
6640
  value: "person",
6275
- label: t("fields.kinds.person"),
6641
+ label: t$1("fields.kinds.person"),
6276
6642
  group: 8
6277
6643
  },
6278
6644
  checkbox: {
6279
6645
  value: "checkbox",
6280
- label: t("fields.kinds.checkbox"),
6646
+ label: t$1("fields.kinds.checkbox"),
6281
6647
  group: 9
6282
6648
  },
6283
6649
  regex: {
6284
6650
  value: "regex",
6285
- label: t("fields.kinds.regex"),
6651
+ label: t$1("fields.kinds.regex"),
6286
6652
  group: 10
6287
6653
  },
6288
6654
  integer: {
6289
6655
  value: "integer",
6290
- label: t("fields.kinds.integer"),
6656
+ label: t$1("fields.kinds.integer"),
6291
6657
  group: 2
6292
6658
  },
6293
6659
  decimal: {
6294
6660
  value: "decimal",
6295
- label: t("fields.kinds.decimal"),
6661
+ label: t$1("fields.kinds.decimal"),
6296
6662
  group: 2
6297
6663
  },
6298
6664
  datetime: {
6299
6665
  value: "datetime",
6300
- label: t("fields.kinds.datetime"),
6666
+ label: t$1("fields.kinds.datetime"),
6301
6667
  group: 11
6302
6668
  }
6303
6669
  };
@@ -6313,15 +6679,15 @@ var DEFAULT_OPTION = {
6313
6679
  };
6314
6680
  var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
6315
6681
  var DEFAULT_REGEX_DATA = {
6316
- regex: "",
6682
+ condition: "",
6317
6683
  helpMessage: ""
6318
6684
  };
6319
6685
  var BASIC_FIELD_FORM_VALIDATIONS = {
6320
- name: yup__namespace.string().trim().required(t("validations.fieldNameIsRequired")),
6686
+ name: yup__namespace.string().trim().required(t$1("validations.fieldNameIsRequired")),
6321
6687
  isRequired: yup__namespace["boolean"](),
6322
6688
  kind: yup__namespace.object().shape({
6323
6689
  value: yup__namespace.string().required()
6324
- }).required(t("validations.kindIsRequired")),
6690
+ }).required(t$1("validations.kindIsRequired")),
6325
6691
  data: yup__namespace.mixed().when("kind", {
6326
6692
  is: function is(kind) {
6327
6693
  return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
@@ -6613,7 +6979,7 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6613
6979
  return [{
6614
6980
  key: "name",
6615
6981
  dataIndex: "name",
6616
- title: t("titles.name"),
6982
+ title: t$1("titles.fieldName"),
6617
6983
  render: function render(name, field) {
6618
6984
  return /*#__PURE__*/React__default["default"].createElement("div", {
6619
6985
  className: "flex items-center justify-between gap-x-3"
@@ -6630,25 +6996,25 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6630
6996
  onClick: function onClick() {
6631
6997
  return onEditClick(field);
6632
6998
  }
6633
- }, t("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6999
+ }, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6634
7000
  onClick: function onClick() {
6635
7001
  return onDeleteClick(field);
6636
7002
  }
6637
- }, t("labels.delete")))));
7003
+ }, t$1("labels.delete")))));
6638
7004
  }
6639
7005
  }, {
6640
7006
  key: "kind",
6641
7007
  dataIndex: "kind",
6642
- title: t("titles.kind"),
7008
+ title: t$1("titles.fieldKind"),
6643
7009
  render: function render(kind) {
6644
7010
  return DISPLAY_KINDS[kind];
6645
7011
  }
6646
7012
  }, {
6647
7013
  key: "isRequired",
6648
7014
  dataIndex: "isRequired",
6649
- title: t("titles.required"),
7015
+ title: t$1("titles.required"),
6650
7016
  render: function render(boolVal) {
6651
- return boolVal ? t("common.yes") : t("common.no");
7017
+ return boolVal ? t$1("common.yes") : t$1("common.no");
6652
7018
  }
6653
7019
  }];
6654
7020
  };
@@ -6656,14 +7022,15 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6656
7022
  var items = _ref2.items,
6657
7023
  isOwnerBased = _ref2.isOwnerBased,
6658
7024
  selectedMenu = _ref2.selectedMenu,
6659
- handleBlockClick = _ref2.handleBlockClick;
7025
+ handleBlockClick = _ref2.handleBlockClick,
7026
+ nameAliases = _ref2.nameAliases;
6660
7027
  if (isOwnerBased) {
6661
7028
  return items.map(function (item) {
6662
7029
  return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
6663
7030
  active: selectedMenu === item.id,
6664
7031
  key: item.id,
6665
7032
  label: pure.humanize(item.name),
6666
- description: t("messages.manageFieldFor", {
7033
+ description: t$1("messages.manageFieldFor", {
6667
7034
  resource: pure.humanize(item.name).toLocaleLowerCase()
6668
7035
  }),
6669
7036
  onClick: handleBlockClick({
@@ -6676,8 +7043,8 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6676
7043
  return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
6677
7044
  active: selectedMenu === item,
6678
7045
  key: item,
6679
- label: pure.humanize(item),
6680
- description: t("messages.manageFieldFor", {
7046
+ label: nameAliases[item] || pure.humanize(item),
7047
+ description: t$1("messages.manageFieldFor", {
6681
7048
  resource: pure.humanize(item).toLocaleLowerCase()
6682
7049
  }),
6683
7050
  onClick: handleBlockClick({
@@ -6696,7 +7063,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
6696
7063
  style: "h5",
6697
7064
  textTransform: "uppercase",
6698
7065
  weight: "bold"
6699
- }, t("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
7066
+ }, t$1("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
6700
7067
  active: selectedState === FIELD_STATES.active,
6701
7068
  count: activeFieldsCount,
6702
7069
  label: fieldStatesTaxonomy.active,
@@ -6716,11 +7083,26 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
6716
7083
  var _findBy;
6717
7084
  var isOwnerBased = _ref4.isOwnerBased,
6718
7085
  owners = _ref4.owners,
6719
- selectedVal = _ref4.selectedVal;
6720
- return t("messages.manageFieldFor", {
7086
+ selectedVal = _ref4.selectedVal,
7087
+ nameAliases = _ref4.nameAliases;
7088
+ return t$1("messages.manageFieldFor", {
6721
7089
  resource: isOwnerBased ? (_findBy = pure.findBy({
6722
7090
  id: selectedVal
6723
- }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : selectedVal
7091
+ }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal
7092
+ });
7093
+ };
7094
+ var renderNoDataHelpText = function renderNoDataHelpText(url) {
7095
+ return /*#__PURE__*/React__default["default"].createElement(Trans, {
7096
+ i18nKey: "helpTexts.noData",
7097
+ components: {
7098
+ a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
7099
+ className: "neeto-ui-text-primary-600 underline",
7100
+ target: "_blank",
7101
+ to: {
7102
+ pathname: url
7103
+ }
7104
+ })
7105
+ }
6724
7106
  });
6725
7107
  };
6726
7108
 
@@ -6743,7 +7125,9 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
6743
7125
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6744
7126
  var useFieldsDashboard = function useFieldsDashboard(_ref) {
6745
7127
  var buildColumnData = _ref.buildColumnData,
6746
- showOwnersInMenu = _ref.showOwnersInMenu;
7128
+ showOwnersInMenu = _ref.showOwnersInMenu,
7129
+ fieldStatesTaxonomy = _ref.fieldStatesTaxonomy,
7130
+ nameAliases = _ref.nameAliases;
6747
7131
  var _useState = React.useState(false),
6748
7132
  _useState2 = _slicedToArray(_useState, 2),
6749
7133
  isPaneOpen = _useState2[0],
@@ -6764,11 +7148,18 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6764
7148
  _useState10 = _slicedToArray(_useState9, 2),
6765
7149
  selectedField = _useState10[0],
6766
7150
  setSelectedField = _useState10[1];
7151
+ var _useState11 = React.useState(""),
7152
+ _useState12 = _slicedToArray(_useState11, 2),
7153
+ searchTerm = _useState12[0],
7154
+ setSearchTerm = _useState12[1];
6767
7155
  var _getQueryParams = utils.getQueryParams(),
6768
7156
  resource = _getQueryParams.resource,
6769
7157
  state = _getQueryParams.state;
6770
7158
  var ownerId = showOwnersInMenu ? resource : undefined;
7159
+ var debouncedSearchTerm = reactUtils.useDebounce(searchTerm.trim());
6771
7160
  var history = reactRouterDom.useHistory();
7161
+ var _useTranslation = useTranslation(),
7162
+ t = _useTranslation.t;
6772
7163
  var _useFetchConfigs = useFetchConfigs(),
6773
7164
  _useFetchConfigs$data = _useFetchConfigs.data,
6774
7165
  _useFetchConfigs$data2 = _useFetchConfigs$data === void 0 ? {} : _useFetchConfigs$data,
@@ -6780,10 +7171,12 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6780
7171
  var fieldParams = {
6781
7172
  resourceType: !showOwnersInMenu ? resource : undefined,
6782
7173
  ownerId: ownerId,
6783
- state: state || FIELD_STATES.active
7174
+ state: state || FIELD_STATES.active,
7175
+ searchTerm: debouncedSearchTerm
6784
7176
  };
6785
7177
  var _useFetchFields = useFetchFields(fieldParams, {
6786
- enabled: !!resource
7178
+ enabled: !!resource,
7179
+ keepPreviousData: true
6787
7180
  }),
6788
7181
  _useFetchFields$data = _useFetchFields.data,
6789
7182
  _useFetchFields$data2 = _useFetchFields$data === void 0 ? {} : _useFetchFields$data,
@@ -6794,6 +7187,16 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6794
7187
  inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6795
7188
  isFieldsLoading = _useFetchFields.isLoading,
6796
7189
  isFieldsFetching = _useFetchFields.isFetching;
7190
+ var _useFetchFields2 = useFetchFields(_objectSpread$2(_objectSpread$2({}, fieldParams), {}, {
7191
+ state: FIELD_STATES.active,
7192
+ searchTerm: ""
7193
+ }), {
7194
+ enabled: !!resource
7195
+ }),
7196
+ _useFetchFields2$data = _useFetchFields2.data,
7197
+ _useFetchFields2$data2 = _useFetchFields2$data === void 0 ? {} : _useFetchFields2$data,
7198
+ _useFetchFields2$data3 = _useFetchFields2$data2.fields,
7199
+ allFields = _useFetchFields2$data3 === void 0 ? [] : _useFetchFields2$data3;
6797
7200
  var _useDestroyField = useDestroyField({
6798
7201
  onSuccess: function onSuccess() {
6799
7202
  setIsDeleteAlertOpen(false);
@@ -6861,6 +7264,31 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6861
7264
  var menuItems = showOwnersInMenu ? owners : resourceTypes;
6862
7265
  var isScreenLoading = isFieldsLoading || isConfigsLoading;
6863
7266
  var showCountSubheader = count > 0;
7267
+ var searchProps = {
7268
+ onChange: function onChange(e) {
7269
+ return setSearchTerm(e.target.value);
7270
+ },
7271
+ value: searchTerm,
7272
+ placeholder: t("placeholders.searchFields")
7273
+ };
7274
+ var menuBarFilters = React.useMemo(function () {
7275
+ return renderMenuBarFilters({
7276
+ selectedState: state,
7277
+ fieldStatesTaxonomy: fieldStatesTaxonomy,
7278
+ activeFieldsCount: activeFieldsCount,
7279
+ inactiveFieldsCount: inactiveFieldsCount,
7280
+ handleBlockClick: handleBlockClick
7281
+ });
7282
+ }, [activeFieldsCount, inactiveFieldsCount, state]);
7283
+ var menuBarItems = React.useMemo(function () {
7284
+ return renderMenuBarItems({
7285
+ isOwnerBased: showOwnersInMenu,
7286
+ items: menuItems,
7287
+ selectedMenu: resource,
7288
+ handleBlockClick: handleBlockClick,
7289
+ nameAliases: nameAliases
7290
+ });
7291
+ }, [menuItems, resource]);
6864
7292
  React.useEffect(function () {
6865
7293
  handleURLWithDefaultValues();
6866
7294
  }, [isConfigsLoading]);
@@ -6875,8 +7303,6 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6875
7303
  fields: fields,
6876
7304
  owners: owners,
6877
7305
  count: count,
6878
- activeFieldsCount: activeFieldsCount,
6879
- inactiveFieldsCount: inactiveFieldsCount,
6880
7306
  menuItems: menuItems,
6881
7307
  columnData: columnData,
6882
7308
  selectedField: selectedField,
@@ -6893,7 +7319,10 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6893
7319
  handleAlertClose: handleAlertClose,
6894
7320
  handleClosePane: handleClosePane,
6895
7321
  handleReorderPaneClose: handleReorderPaneClose,
6896
- handleBlockClick: handleBlockClick
7322
+ searchProps: searchProps,
7323
+ menuBarFilters: menuBarFilters,
7324
+ menuBarItems: menuBarItems,
7325
+ allFields: allFields
6897
7326
  };
6898
7327
  };
6899
7328
 
@@ -6902,13 +7331,16 @@ var FieldsTable = function FieldsTable(_ref) {
6902
7331
  isLoading = _ref.isLoading,
6903
7332
  rowData = _ref.rowData,
6904
7333
  columnData = _ref.columnData,
6905
- setIsPaneOpen = _ref.setIsPaneOpen;
7334
+ setIsPaneOpen = _ref.setIsPaneOpen,
7335
+ helpDocUrl = _ref.helpDocUrl;
6906
7336
  var _useTranslation = useTranslation(),
6907
7337
  t = _useTranslation.t;
6908
7338
  var showNoDataScreen = !isLoading && ramda.isEmpty(rowData);
6909
7339
  return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], null, showNoDataScreen ? /*#__PURE__*/React__default["default"].createElement("div", {
6910
7340
  className: "flex h-full w-full items-center justify-center"
6911
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
7341
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({}, helpDocUrl && {
7342
+ helpText: renderNoDataHelpText(helpDocUrl)
7343
+ }, {
6912
7344
  title: t("messages.noFields"),
6913
7345
  primaryButtonProps: {
6914
7346
  label: t("labels.addField"),
@@ -6916,7 +7348,7 @@ var FieldsTable = function FieldsTable(_ref) {
6916
7348
  return setIsPaneOpen(true);
6917
7349
  }
6918
7350
  }
6919
- })) : /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
7351
+ }))) : /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
6920
7352
  fixedHeight: true,
6921
7353
  allowRowClick: false,
6922
7354
  columnData: columnData,
@@ -11298,12 +11730,17 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11298
11730
  _ref$showStateFilter = _ref.showStateFilter,
11299
11731
  showStateFilter = _ref$showStateFilter === void 0 ? true : _ref$showStateFilter,
11300
11732
  _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
11301
- fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon;
11733
+ fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
11734
+ helpDocUrl = _ref.helpDocUrl,
11735
+ _ref$nameAliases = _ref.nameAliases,
11736
+ nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases;
11302
11737
  var _useTranslation = useTranslation(),
11303
11738
  t = _useTranslation.t;
11304
11739
  var _useFieldsDashboard = useFieldsDashboard({
11305
11740
  buildColumnData: buildColumnData,
11306
- showOwnersInMenu: showOwnersInMenu
11741
+ showOwnersInMenu: showOwnersInMenu,
11742
+ fieldStatesTaxonomy: fieldStatesTaxonomy,
11743
+ nameAliases: nameAliases
11307
11744
  }),
11308
11745
  isPaneOpen = _useFieldsDashboard.isPaneOpen,
11309
11746
  setIsPaneOpen = _useFieldsDashboard.setIsPaneOpen,
@@ -11315,8 +11752,6 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11315
11752
  fields = _useFieldsDashboard.fields,
11316
11753
  owners = _useFieldsDashboard.owners,
11317
11754
  count = _useFieldsDashboard.count,
11318
- activeFieldsCount = _useFieldsDashboard.activeFieldsCount,
11319
- inactiveFieldsCount = _useFieldsDashboard.inactiveFieldsCount,
11320
11755
  menuItems = _useFieldsDashboard.menuItems,
11321
11756
  columnData = _useFieldsDashboard.columnData,
11322
11757
  selectedField = _useFieldsDashboard.selectedField,
@@ -11332,37 +11767,32 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11332
11767
  handleAlertClose = _useFieldsDashboard.handleAlertClose,
11333
11768
  handleClosePane = _useFieldsDashboard.handleClosePane,
11334
11769
  handleReorderPaneClose = _useFieldsDashboard.handleReorderPaneClose,
11335
- handleBlockClick = _useFieldsDashboard.handleBlockClick;
11336
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
11770
+ searchProps = _useFieldsDashboard.searchProps,
11771
+ menuBarFilters = _useFieldsDashboard.menuBarFilters,
11772
+ menuBarItems = _useFieldsDashboard.menuBarItems,
11773
+ allFields = _useFieldsDashboard.allFields;
11774
+ var isMenuBarNeeded = showStateFilter || menuItems.length > 1;
11775
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMenuBarNeeded && /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
11337
11776
  showMenu: isMenuBarOpen,
11338
11777
  title: t("titles.field", PLURAL)
11339
11778
  }, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
11340
11779
  className: "flex items-center justify-center"
11341
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : renderMenuBarItems({
11342
- isOwnerBased: showOwnersInMenu,
11343
- items: menuItems,
11344
- selectedMenu: selectedMenu,
11345
- handleBlockClick: handleBlockClick
11346
- }), showStateFilter && renderMenuBarFilters({
11347
- selectedState: selectedState,
11348
- fieldStatesTaxonomy: fieldStatesTaxonomy,
11349
- activeFieldsCount: activeFieldsCount,
11350
- inactiveFieldsCount: inactiveFieldsCount,
11351
- handleBlockClick: handleBlockClick
11352
- })), isScreenLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
11780
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : menuBarItems, showStateFilter && menuBarFilters), isScreenLoading && ramda.isEmpty(fields) ? /*#__PURE__*/React__default["default"].createElement("div", {
11353
11781
  className: "flex w-full flex-grow items-center justify-center"
11354
- }, /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null)) : /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], {
11355
- breadcrumbs: breadcrumbs,
11782
+ }, /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null)) : /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], _extends({
11783
+ breadcrumbs: breadcrumbs
11784
+ }, isMenuBarNeeded && {
11356
11785
  menuBarToggle: function menuBarToggle() {
11357
11786
  return setIsMenuBarOpen(ramda.not);
11358
- },
11787
+ }
11788
+ }, {
11359
11789
  actionBlock: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
11360
11790
  label: t("labels.reorder"),
11361
11791
  style: "secondary",
11362
- disabled: !pure.existsBy({
11792
+ disabled: selectedState === FIELD_STATES.inactive || !pure.existsBy({
11363
11793
  isSystem: false,
11364
11794
  state: "active"
11365
- }, fields),
11795
+ }, allFields),
11366
11796
  onClick: function onClick() {
11367
11797
  return setIsReorderPaneOpen(true);
11368
11798
  }
@@ -11384,27 +11814,30 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11384
11814
  onClose: handleClosePane,
11385
11815
  onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
11386
11816
  }, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
11817
+ searchProps: searchProps,
11387
11818
  title: pure.humanize(getDashBoardTitle({
11388
11819
  isOwnerBased: showOwnersInMenu,
11389
11820
  owners: owners,
11390
- selectedVal: selectedMenu
11821
+ selectedVal: selectedMenu,
11822
+ nameAliases: nameAliases
11391
11823
  }))
11392
- }), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
11824
+ })), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
11393
11825
  leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
11394
11826
  className: "mr-4 font-semibold",
11395
11827
  style: "h4"
11396
- }, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
11828
+ }, count, " ", selectedState, " ", t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
11397
11829
  }), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
11398
11830
  columnData: columnData,
11831
+ helpDocUrl: helpDocUrl,
11399
11832
  isLoading: isFieldsFetching || isFieldsLoading,
11400
11833
  rowData: ramda.isEmpty(rowData) ? fields : rowData,
11401
11834
  setIsPaneOpen: setIsPaneOpen,
11402
11835
  totalCount: count
11403
11836
  })), /*#__PURE__*/React__default["default"].createElement(ReorderPane, {
11404
- allFields: fields,
11405
11837
  isOpen: isReorderPaneOpen,
11406
11838
  ownerId: showOwnersInMenu ? selectedMenu : "",
11407
- onClose: handleReorderPaneClose
11839
+ onClose: handleReorderPaneClose,
11840
+ allFields: allFields
11408
11841
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
11409
11842
  isOpen: isDeleteAlertOpen,
11410
11843
  isSubmitting: isDeleting,
@@ -11426,14 +11859,16 @@ var create = function create(payload) {
11426
11859
  var fetch = function fetch(payload) {
11427
11860
  return axios__default["default"].get(FIELD_VALUES_URL, payload);
11428
11861
  };
11429
- var destroy = function destroy(id, payload) {
11862
+ var destroy = function destroy(_ref) {
11863
+ var id = _ref.id,
11864
+ payload = _ref.payload;
11430
11865
  return axios__default["default"]["delete"](fieldValueUrl(id), {
11431
11866
  data: payload
11432
11867
  });
11433
11868
  };
11434
- var update = function update(_ref) {
11435
- var id = _ref.id,
11436
- payload = _ref.payload;
11869
+ var update = function update(_ref2) {
11870
+ var id = _ref2.id,
11871
+ payload = _ref2.payload;
11437
11872
  return axios__default["default"].patch(fieldValueUrl(id), payload);
11438
11873
  };
11439
11874
  var fieldValuesApi = {
@@ -11469,6 +11904,18 @@ var useUpdateFieldValue = function useUpdateFieldValue(options) {
11469
11904
  }
11470
11905
  }));
11471
11906
  };
11907
+ var useDeleteFieldValue = function useDeleteFieldValue(options) {
11908
+ var queryClient = reactQuery.useQueryClient();
11909
+ return reactQuery.useMutation(fieldValuesApi.destroy, _objectSpread$1(_objectSpread$1({}, options), {}, {
11910
+ onSuccess: function onSuccess() {
11911
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11912
+ args[_key3] = arguments[_key3];
11913
+ }
11914
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11915
+ queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11916
+ }
11917
+ }));
11918
+ };
11472
11919
 
11473
11920
  var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11474
11921
  var field = _ref.field,
@@ -11478,6 +11925,7 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11478
11925
  _ref$className = _ref.className,
11479
11926
  className = _ref$className === void 0 ? "" : _ref$className;
11480
11927
  return /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
11928
+ scrollToErrorField: true,
11481
11929
  className: classnames__default["default"]("flex w-full", className),
11482
11930
  formikProps: {
11483
11931
  initialValues: getInitialFieldValue(field, fieldValues),
@@ -11487,6 +11935,14 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11487
11935
  }, children);
11488
11936
  };
11489
11937
 
11938
+ var isFieldValueEmpty = function isFieldValueEmpty(fieldKind, fieldValueData) {
11939
+ if (fieldKind === KINDS.multiOption) return ramda.isEmpty(fieldValueData.values);
11940
+ if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {
11941
+ return ramda.isEmpty(fieldValueData.value[0]) && ramda.isEmpty(fieldValueData.value[1]);
11942
+ }
11943
+ return ramda.isEmpty(fieldValueData.value);
11944
+ };
11945
+
11490
11946
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11491
11947
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11492
11948
  var FieldValuesContainer = function FieldValuesContainer(_ref) {
@@ -11533,7 +11989,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11533
11989
  createFieldValue = _useCreateFieldValue.mutate;
11534
11990
  var _useUpdateFieldValue = useUpdateFieldValue(queryOptions),
11535
11991
  updateFieldValue = _useUpdateFieldValue.mutate;
11536
- var handleSubmit = function handleSubmit(values) {
11992
+ var _useDeleteFieldValue = useDeleteFieldValue(queryOptions),
11993
+ deleteFieldValue = _useDeleteFieldValue.mutate;
11994
+ var handleSubmit = function handleSubmit(field, values) {
11537
11995
  var fieldValue = ramda.head(ramda.values(values));
11538
11996
  var payload = {
11539
11997
  fieldValue: fieldValue,
@@ -11541,10 +11999,17 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11541
11999
  resourceId: resourceId,
11542
12000
  ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId
11543
12001
  };
11544
- fieldValue.id ? updateFieldValue({
11545
- id: fieldValue.id,
11546
- payload: payload
11547
- }) : createFieldValue(payload);
12002
+ if (isFieldValueEmpty(field.kind, fieldValue.data)) {
12003
+ deleteFieldValue({
12004
+ id: fieldValue.id,
12005
+ payload: payload
12006
+ });
12007
+ } else {
12008
+ fieldValue.id ? updateFieldValue({
12009
+ id: fieldValue.id,
12010
+ payload: payload
12011
+ }) : createFieldValue(payload);
12012
+ }
11548
12013
  };
11549
12014
  var fields = propFields || fetchedFields;
11550
12015
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -11567,7 +12032,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11567
12032
  style: "h5"
11568
12033
  }, pure.capitalize(field.name)), /*#__PURE__*/React__default["default"].createElement(FieldValueInputWrapper, {
11569
12034
  className: fieldClassName,
11570
- onSubmit: handleSubmit,
12035
+ onSubmit: function onSubmit(values) {
12036
+ return handleSubmit(field, values);
12037
+ },
11571
12038
  field: field,
11572
12039
  fieldValues: fieldValues
11573
12040
  }, /*#__PURE__*/React__default["default"].createElement("div", {