@bigbinary/neeto-fields-frontend 1.0.8 → 1.1.1

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
@@ -4,20 +4,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var neetoui = require('@bigbinary/neetoui');
7
- var ramda = require('ramda');
8
- var formik = require('@bigbinary/neetoui/formik');
9
- var reactQuery = require('react-query');
10
- var axios = require('axios');
11
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
12
7
  var pure = require('@bigbinary/neeto-commons-frontend/pure');
8
+ var ramda = require('ramda');
9
+ var formik = require('formik');
13
10
  var yup = require('yup');
14
- var formik$1 = require('formik');
15
11
  var neetoIcons = require('@bigbinary/neeto-icons');
12
+ var formik$1 = require('@bigbinary/neetoui/formik');
16
13
  var Container = require('@bigbinary/neeto-molecules/Container');
17
14
  var Header = require('@bigbinary/neeto-molecules/Header');
18
15
  var MenuBar = require('@bigbinary/neeto-molecules/MenuBar');
19
16
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
20
17
  var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
18
+ var reactQuery = require('react-query');
19
+ var axios = require('axios');
20
+ var utils = require('@bigbinary/neeto-commons-frontend/utils');
21
21
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
22
22
  var reactRouterDom = require('react-router-dom');
23
23
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
@@ -45,13 +45,13 @@ function _interopNamespace(e) {
45
45
  }
46
46
 
47
47
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
48
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
49
48
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
50
49
  var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
51
50
  var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
52
51
  var MenuBar__default = /*#__PURE__*/_interopDefaultLegacy(MenuBar);
53
52
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
54
53
  var SubHeader__default = /*#__PURE__*/_interopDefaultLegacy(SubHeader);
54
+ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
55
55
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
56
56
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
57
57
 
@@ -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) {
@@ -5003,7 +5341,7 @@ var fields = {
5003
5341
  };
5004
5342
  var messages = {
5005
5343
  noFields: "There are no fields to show",
5006
- confirmDelete: "Are you sure want to delete the field ?. This action cannot be undone.",
5344
+ confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
5007
5345
  manageFieldFor: "Manage fields for {{resource}}",
5008
5346
  invalidKind: "Invalid kind",
5009
5347
  reorderFields: "Fields are displayed from top to bottom."
@@ -5024,6 +5362,9 @@ var validations = {
5024
5362
  var tooltips = {
5025
5363
  reorder: "Fields a are displayed from top to bottom. Re-order them"
5026
5364
  };
5365
+ var helpTexts = {
5366
+ noData: "Here is how you can use <a>fields.</a>"
5367
+ };
5027
5368
  var en = {
5028
5369
  common: common,
5029
5370
  titles: titles,
@@ -5032,7 +5373,8 @@ var en = {
5032
5373
  fields: fields,
5033
5374
  messages: messages,
5034
5375
  validations: validations,
5035
- tooltips: tooltips
5376
+ tooltips: tooltips,
5377
+ helpTexts: helpTexts
5036
5378
  };
5037
5379
 
5038
5380
  instance.use(Browser).use(initReactI18next).init({
@@ -5064,6 +5406,33 @@ instance.services.formatter.addCached("boldList", function (lng, options) {
5064
5406
  };
5065
5407
  });
5066
5408
 
5409
+ function _extends() {
5410
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
5411
+ for (var i = 1; i < arguments.length; i++) {
5412
+ var source = arguments[i];
5413
+ for (var key in source) {
5414
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
5415
+ target[key] = source[key];
5416
+ }
5417
+ }
5418
+ }
5419
+ return target;
5420
+ };
5421
+ return _extends.apply(this, arguments);
5422
+ }
5423
+
5424
+ function _arrayWithoutHoles(arr) {
5425
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5426
+ }
5427
+
5428
+ function _nonIterableSpread() {
5429
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5430
+ }
5431
+
5432
+ function _toConsumableArray(arr) {
5433
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5434
+ }
5435
+
5067
5436
  var KINDS = {
5068
5437
  text: "text",
5069
5438
  number: "number",
@@ -5084,23 +5453,23 @@ var KINDS = {
5084
5453
  datetime: "datetime"
5085
5454
  };
5086
5455
  var DISPLAY_KINDS = {
5087
- text: t("fields.kinds.text"),
5088
- number: t("fields.kinds.number"),
5089
- monetary: t("fields.kinds.monetary"),
5090
- single_option: t("fields.kinds.singleOption"),
5091
- multi_option: t("fields.kinds.multiOption"),
5092
- date: t("fields.kinds.date"),
5093
- time: t("fields.kinds.time"),
5094
- date_range: t("fields.kinds.dateRange"),
5095
- time_range: t("fields.kinds.timeRange"),
5096
- textarea: t("fields.kinds.textarea"),
5097
- text_area: t("fields.kinds.textArea"),
5098
- person: t("fields.kinds.person"),
5099
- checkbox: t("fields.kinds.checkbox"),
5100
- regex: t("fields.kinds.regex"),
5101
- integer: t("fields.kinds.integer"),
5102
- decimal: t("fields.kinds.decimal"),
5103
- datetime: t("fields.kinds.datetime")
5456
+ text: t$1("fields.kinds.text"),
5457
+ number: t$1("fields.kinds.number"),
5458
+ monetary: t$1("fields.kinds.monetary"),
5459
+ single_option: t$1("fields.kinds.singleOption"),
5460
+ multi_option: t$1("fields.kinds.multiOption"),
5461
+ date: t$1("fields.kinds.date"),
5462
+ time: t$1("fields.kinds.time"),
5463
+ date_range: t$1("fields.kinds.dateRange"),
5464
+ time_range: t$1("fields.kinds.timeRange"),
5465
+ textarea: t$1("fields.kinds.textarea"),
5466
+ text_area: t$1("fields.kinds.textArea"),
5467
+ person: t$1("fields.kinds.person"),
5468
+ checkbox: t$1("fields.kinds.checkbox"),
5469
+ regex: t$1("fields.kinds.regex"),
5470
+ integer: t$1("fields.kinds.integer"),
5471
+ decimal: t$1("fields.kinds.decimal"),
5472
+ datetime: t$1("fields.kinds.datetime")
5104
5473
  };
5105
5474
  var FIELD_STATES = {
5106
5475
  active: "active",
@@ -5112,706 +5481,57 @@ var DEFAULT_FIELD_STATE_TAXONOMY = {
5112
5481
  };
5113
5482
  var ALL_KINDS = ramda.values(KINDS);
5114
5483
 
5115
- function _extends() {
5116
- _extends = Object.assign ? Object.assign.bind() : function (target) {
5117
- for (var i = 1; i < arguments.length; i++) {
5118
- var source = arguments[i];
5119
- for (var key in source) {
5120
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5121
- target[key] = source[key];
5122
- }
5484
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5485
+ try {
5486
+ var info = gen[key](arg);
5487
+ var value = info.value;
5488
+ } catch (error) {
5489
+ reject(error);
5490
+ return;
5491
+ }
5492
+ if (info.done) {
5493
+ resolve(value);
5494
+ } else {
5495
+ Promise.resolve(value).then(_next, _throw);
5496
+ }
5497
+ }
5498
+ function _asyncToGenerator(fn) {
5499
+ return function () {
5500
+ var self = this,
5501
+ args = arguments;
5502
+ return new Promise(function (resolve, reject) {
5503
+ var gen = fn.apply(self, args);
5504
+ function _next(value) {
5505
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5123
5506
  }
5124
- }
5125
- return target;
5507
+ function _throw(err) {
5508
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5509
+ }
5510
+ _next(undefined);
5511
+ });
5126
5512
  };
5127
- return _extends.apply(this, arguments);
5128
5513
  }
5129
5514
 
5130
- function _arrayWithoutHoles(arr) {
5131
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5132
- }
5515
+ var regeneratorRuntime$1 = {exports: {}};
5133
5516
 
5134
- function _nonIterableSpread() {
5135
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5136
- }
5517
+ var _typeof = {exports: {}};
5137
5518
 
5138
- function _toConsumableArray(arr) {
5139
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5140
- }
5519
+ _typeof.exports;
5141
5520
 
5142
- var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
5143
- var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
5144
- var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
5145
- var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
5146
- var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
5147
- var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
5148
- var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
5149
- var SINGULAR = {
5150
- count: 1
5151
- };
5152
- var PLURAL = {
5153
- count: 2
5154
- };
5521
+ (function (module) {
5522
+ function _typeof(obj) {
5523
+ "@babel/helpers - typeof";
5155
5524
 
5156
- var fieldUrl = function fieldUrl(fieldId) {
5157
- return utils.buildUrl(FIELD_URL, {
5158
- fieldId: fieldId
5159
- });
5160
- };
5161
- var fetch$1 = function fetch(_ref) {
5162
- var resourceType = _ref.resourceType,
5163
- ownerId = _ref.ownerId,
5164
- state = _ref.state;
5165
- return axios__default["default"].get(FIELDS_URL, {
5166
- params: {
5167
- resourceType: resourceType,
5168
- ownerId: ownerId,
5169
- state: state
5170
- }
5171
- });
5172
- };
5173
- var create$1 = function create(field) {
5174
- return axios__default["default"].post(FIELDS_URL, {
5175
- field: field
5176
- });
5177
- };
5178
- var show = function show(fieldId) {
5179
- return axios__default["default"].get(fieldUrl(fieldId));
5180
- };
5181
- var destroy$1 = function destroy(fieldId) {
5182
- return axios__default["default"]["delete"](fieldUrl(fieldId));
5183
- };
5184
- var update$1 = function update(_ref2) {
5185
- var fieldId = _ref2.fieldId,
5186
- payload = _ref2.payload;
5187
- return axios__default["default"].put(fieldUrl(fieldId), {
5188
- field: payload
5189
- });
5190
- };
5191
- var reorder = function reorder(payload) {
5192
- return axios__default["default"].patch(FIELDS_REORDER_URL, payload);
5193
- };
5194
- var fieldsApi = {
5195
- fetch: fetch$1,
5196
- create: create$1,
5197
- show: show,
5198
- destroy: destroy$1,
5199
- update: update$1,
5200
- reorder: reorder
5201
- };
5525
+ return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
5526
+ return typeof obj;
5527
+ } : function (obj) {
5528
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
5529
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
5530
+ }
5531
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5532
+ } (_typeof));
5202
5533
 
5203
- var QUERY_KEYS = {
5204
- FIELDS: "fields",
5205
- FIELD_VALUES: "field_values",
5206
- CONFIGS: "configurations"
5207
- };
5208
- var DEFAULT_STALE_TIME = 3600000; // 1 hour
5209
-
5210
- function ownKeys$a(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; }
5211
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5212
- var FIELDS = QUERY_KEYS.FIELDS;
5213
- var useFetchFields = function useFetchFields(_ref, options) {
5214
- var resourceType = _ref.resourceType,
5215
- ownerId = _ref.ownerId,
5216
- state = _ref.state,
5217
- _ref$prefixQueryKeys = _ref.prefixQueryKeys,
5218
- prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
5219
- return reactQuery.useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
5220
- return fieldsApi.fetch({
5221
- resourceType: resourceType,
5222
- ownerId: ownerId,
5223
- state: state
5224
- });
5225
- }, _objectSpread$a({
5226
- staleTime: DEFAULT_STALE_TIME
5227
- }, options));
5228
- };
5229
- var useCreateField = function useCreateField(options) {
5230
- var queryClient = reactQuery.useQueryClient();
5231
- return reactQuery.useMutation(fieldsApi.create, _objectSpread$a(_objectSpread$a({}, options), {}, {
5232
- onSuccess: function onSuccess() {
5233
- var _options$onSuccess;
5234
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5235
- args[_key] = arguments[_key];
5236
- }
5237
- options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call.apply(_options$onSuccess, [options].concat(args));
5238
- queryClient.invalidateQueries(FIELDS);
5239
- }
5240
- }));
5241
- };
5242
- var useShowField = function useShowField(fieldId, options) {
5243
- var queryKey = [FIELDS, fieldId];
5244
- return reactQuery.useQuery(queryKey, function () {
5245
- return fieldsApi.show(fieldId);
5246
- }, options);
5247
- };
5248
- var useUpdateField = function useUpdateField(options) {
5249
- var queryClient = reactQuery.useQueryClient();
5250
- return reactQuery.useMutation(fieldsApi.update, _objectSpread$a(_objectSpread$a({}, options), {}, {
5251
- onSuccess: function onSuccess() {
5252
- var _options$onSuccess2;
5253
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
5254
- args[_key2] = arguments[_key2];
5255
- }
5256
- options === null || options === void 0 ? void 0 : (_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call.apply(_options$onSuccess2, [options].concat(args));
5257
- queryClient.invalidateQueries(FIELDS);
5258
- }
5259
- }));
5260
- };
5261
- var useDestroyField = function useDestroyField(options) {
5262
- var queryClient = reactQuery.useQueryClient();
5263
- return reactQuery.useMutation(fieldsApi.destroy, _objectSpread$a(_objectSpread$a({}, options), {}, {
5264
- onSuccess: function onSuccess() {
5265
- var _options$onSuccess3;
5266
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5267
- args[_key3] = arguments[_key3];
5268
- }
5269
- options === null || options === void 0 ? void 0 : (_options$onSuccess3 = options.onSuccess) === null || _options$onSuccess3 === void 0 ? void 0 : _options$onSuccess3.call.apply(_options$onSuccess3, [options].concat(args));
5270
- queryClient.invalidateQueries(FIELDS);
5271
- }
5272
- }));
5273
- };
5274
- var useReorderFields = function useReorderFields() {
5275
- var queryClient = reactQuery.useQueryClient();
5276
- return reactQuery.useMutation(fieldsApi.reorder, {
5277
- onSuccess: function onSuccess() {
5278
- queryClient.invalidateQueries(FIELDS);
5279
- }
5280
- });
5281
- };
5282
-
5283
- function ownKeys$9(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; }
5284
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5285
- var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
5286
- return options.map(function (option, index) {
5287
- return _objectSpread$9(_objectSpread$9({}, option), {}, {
5288
- displayOrder: index
5289
- });
5290
- });
5291
- };
5292
- var buildPayload = function buildPayload(_ref) {
5293
- var formValues = _ref.formValues,
5294
- _ref$resourceType = _ref.resourceType,
5295
- resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
5296
- _ref$ownerId = _ref.ownerId,
5297
- ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
5298
- var kind = formValues.kind.value;
5299
- var name = formValues.name.trim();
5300
- return _objectSpread$9(_objectSpread$9({}, ramda.omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
5301
- kind: kind,
5302
- name: name,
5303
- resourceType: ramda.isEmpty(resourceType) ? undefined : resourceType,
5304
- ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId,
5305
- data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
5306
- });
5307
- };
5308
- var isDropdown = function isDropdown(kind) {
5309
- return ["single_option", "multi_option"].includes(kind);
5310
- };
5311
- var isRegex = function isRegex(kind) {
5312
- return kind === "regex";
5313
- };
5314
- var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
5315
- return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
5316
- };
5317
- var getPermittedKinds = function getPermittedKinds(_ref2) {
5318
- var allowedKinds = _ref2.allowedKinds,
5319
- selectedKind = _ref2.selectedKind;
5320
- var filteredKinds = ramda.pick(allowedKinds, FIELD_KINDS);
5321
- var permittedKinds = pure.filterBy({
5322
- group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
5323
- }, ramda.values(filteredKinds));
5324
- return permittedKinds;
5325
- };
5326
- var generateValidationSchema = function generateValidationSchema(additionalValidations) {
5327
- return yup__namespace.object().shape(_objectSpread$9(_objectSpread$9({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
5328
- };
5329
- var renderFormFooter = function renderFormFooter(_ref3) {
5330
- var onClose = _ref3.onClose,
5331
- loading = _ref3.loading,
5332
- _ref3$dirty = _ref3.dirty,
5333
- dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
5334
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik.ActionBlock, {
5335
- cancelButtonProps: {
5336
- onClick: onClose,
5337
- style: "text",
5338
- disabled: loading
5339
- },
5340
- submitButtonProps: {
5341
- label: t("labels.saveChanges"),
5342
- className: "mr-2",
5343
- type: "submit",
5344
- disabled: !dirty,
5345
- loading: loading
5346
- }
5347
- }));
5348
- };
5349
-
5350
- var regexValidationSchema = yup__namespace.object().shape({
5351
- condition: yup__namespace.string().required(t("validations.regexConditionIsRequired")),
5352
- helpMessage: yup__namespace.string().required(t("validations.regexHelpMessageIsRequired"))
5353
- });
5354
- var dropDownOptionsValidationSchema = yup__namespace.array().of(yup__namespace.object().shape({
5355
- label: yup__namespace.string().trim().required(t("validations.fieldOptionIsRequired")),
5356
- displayOrder: yup__namespace.number()
5357
- })).min(1, t("validations.atLeastFieldOptionIsRequired"));
5358
- var FIELD_KINDS = {
5359
- text: {
5360
- value: "text",
5361
- label: t("fields.kinds.text"),
5362
- group: 1
5363
- },
5364
- number: {
5365
- value: "number",
5366
- label: t("fields.kinds.number"),
5367
- group: 2
5368
- },
5369
- monetary: {
5370
- value: "monetary",
5371
- label: t("fields.kinds.monetary"),
5372
- group: 2
5373
- },
5374
- single_option: {
5375
- value: "single_option",
5376
- label: t("fields.kinds.singleOption"),
5377
- group: 3
5378
- },
5379
- multi_option: {
5380
- value: "multi_option",
5381
- label: t("fields.kinds.multiOption"),
5382
- group: 3
5383
- },
5384
- date: {
5385
- value: "date",
5386
- label: t("fields.kinds.date"),
5387
- group: 4
5388
- },
5389
- time: {
5390
- value: "time",
5391
- label: t("fields.kinds.time"),
5392
- group: 5
5393
- },
5394
- date_range: {
5395
- value: "date_range",
5396
- label: t("fields.kinds.dateRange"),
5397
- group: 6
5398
- },
5399
- time_range: {
5400
- value: "time_range",
5401
- label: t("fields.kinds.timeRange"),
5402
- group: 7
5403
- },
5404
- text_area: {
5405
- value: "text_area",
5406
- label: t("fields.kinds.textArea"),
5407
- group: 1
5408
- },
5409
- textarea: {
5410
- value: "textarea",
5411
- label: t("fields.kinds.textarea"),
5412
- group: 1
5413
- },
5414
- person: {
5415
- value: "person",
5416
- label: t("fields.kinds.person"),
5417
- group: 8
5418
- },
5419
- checkbox: {
5420
- value: "checkbox",
5421
- label: t("fields.kinds.checkbox"),
5422
- group: 9
5423
- },
5424
- regex: {
5425
- value: "regex",
5426
- label: t("fields.kinds.regex"),
5427
- group: 10
5428
- },
5429
- integer: {
5430
- value: "integer",
5431
- label: t("fields.kinds.integer"),
5432
- group: 2
5433
- },
5434
- decimal: {
5435
- value: "decimal",
5436
- label: t("fields.kinds.decimal"),
5437
- group: 2
5438
- },
5439
- datetime: {
5440
- value: "datetime",
5441
- label: t("fields.kinds.datetime"),
5442
- group: 11
5443
- }
5444
- };
5445
- var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
5446
- var INITIAL_FIELDS = {
5447
- name: "",
5448
- kind: pure.toLabelAndValue("text"),
5449
- isRequired: false
5450
- };
5451
- var DEFAULT_OPTION = {
5452
- label: "",
5453
- displayOrder: 0
5454
- };
5455
- var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
5456
- var DEFAULT_REGEX_DATA = {
5457
- regex: "",
5458
- helpMessage: ""
5459
- };
5460
- var BASIC_FIELD_FORM_VALIDATIONS = {
5461
- name: yup__namespace.string().trim().required(t("validations.fieldNameIsRequired")),
5462
- isRequired: yup__namespace["boolean"](),
5463
- kind: yup__namespace.object().shape({
5464
- value: yup__namespace.string().required()
5465
- }).required(t("validations.kindIsRequired")),
5466
- data: yup__namespace.mixed().when("kind", {
5467
- is: function is(kind) {
5468
- return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
5469
- },
5470
- then: regexValidationSchema
5471
- }).when("kind", {
5472
- is: function is(kind) {
5473
- return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
5474
- },
5475
- then: dropDownOptionsValidationSchema
5476
- })
5477
- };
5478
-
5479
- var AdditionalInputs = function AdditionalInputs() {
5480
- var _useTranslation = useTranslation(),
5481
- t = _useTranslation.t;
5482
- var _useFormikContext = formik$1.useFormikContext(),
5483
- _useFormikContext$val = _useFormikContext.values,
5484
- kind = _useFormikContext$val.kind,
5485
- options = _useFormikContext$val.data,
5486
- isSystem = _useFormikContext$val.isSystem;
5487
- var removeOption = function removeOption(arrayHelpers, index) {
5488
- return arrayHelpers.remove(index);
5489
- };
5490
- var addOption = function addOption(arrayHelpers) {
5491
- return arrayHelpers.push(DEFAULT_OPTION);
5492
- };
5493
- if (isDropdown(kind.value)) {
5494
- return /*#__PURE__*/React__default["default"].createElement(formik$1.FieldArray, {
5495
- name: "data"
5496
- }, function (arrayHelpers) {
5497
- return /*#__PURE__*/React__default["default"].createElement("div", {
5498
- className: "flex w-full flex-col gap-y-4"
5499
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
5500
- required: true
5501
- }, t("titles.dropdownOptions")), pure.isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
5502
- return /*#__PURE__*/React__default["default"].createElement("div", {
5503
- className: "flex w-full space-x-3",
5504
- key: index
5505
- }, /*#__PURE__*/React__default["default"].createElement("div", {
5506
- className: "w-full"
5507
- }, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
5508
- disabled: isSystem,
5509
- name: "data.".concat(index, ".label"),
5510
- placeholder: t("placeholders.enterAnOption"),
5511
- suffix: options.length > 1 && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
5512
- icon: neetoIcons.Delete,
5513
- style: "text",
5514
- onClick: function onClick() {
5515
- return removeOption(arrayHelpers, index);
5516
- }
5517
- })
5518
- })));
5519
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
5520
- fullWidth: true,
5521
- className: "mb-6 border-dashed text-xs uppercase",
5522
- label: t("labels.addMoreOption"),
5523
- style: "secondary",
5524
- onClick: function onClick() {
5525
- return addOption(arrayHelpers);
5526
- }
5527
- }));
5528
- });
5529
- } else if (isRegex(kind.value)) {
5530
- return /*#__PURE__*/React__default["default"].createElement("div", {
5531
- className: "flex w-full flex-col gap-y-4"
5532
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
5533
- required: true
5534
- }, t("titles.regexOptions")), /*#__PURE__*/React__default["default"].createElement(formik.Input, {
5535
- disabled: isSystem,
5536
- label: t("labels.regexCondition"),
5537
- name: "data.condition",
5538
- placeholder: t("placeholders.regexExample")
5539
- }), /*#__PURE__*/React__default["default"].createElement(formik.Input, {
5540
- disabled: isSystem,
5541
- label: t("labels.helpMessage"),
5542
- name: "data.helpMessage",
5543
- placeholder: t("placeholders.enterErrorMessage")
5544
- }));
5545
- }
5546
- return null;
5547
- };
5548
-
5549
- /** @type {React.FC<import("types").FieldFormProps>} */
5550
-
5551
- var FieldForm = function FieldForm(_ref) {
5552
- var chosenKind = _ref.chosenKind,
5553
- _ref$kindSelectOption = _ref.kindSelectOptions,
5554
- kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
5555
- _ref$isSystem = _ref.isSystem,
5556
- isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
5557
- _ref$hideRequiredSwit = _ref.hideRequiredSwitch,
5558
- hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
5559
- children = _ref.children;
5560
- var _useTranslation = useTranslation(),
5561
- t = _useTranslation.t;
5562
- var _useFormikContext = formik$1.useFormikContext(),
5563
- options = _useFormikContext.values.data,
5564
- setFieldValue = _useFormikContext.setFieldValue;
5565
- var handleKindChange = function handleKindChange(kind) {
5566
- setFieldValue("kind", kind);
5567
- if (isDropdown(kind.value)) {
5568
- setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
5569
- } else if (isRegex(kind.value)) {
5570
- setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
5571
- }
5572
- };
5573
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
5574
- className: "w-full space-y-4"
5575
- }, /*#__PURE__*/React__default["default"].createElement(formik.Input, {
5576
- required: true,
5577
- disabled: isSystem,
5578
- label: t("labels.fieldName"),
5579
- name: "name",
5580
- placeholder: t("placeholders.enterFieldName")
5581
- }), /*#__PURE__*/React__default["default"].createElement(formik.Select, {
5582
- isSearchable: true,
5583
- isDisabled: isSystem,
5584
- label: t("labels.fieldKind"),
5585
- name: "kind",
5586
- options: kindSelectOptions,
5587
- onChange: handleKindChange
5588
- }), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React__default["default"].createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
5589
- className: "flex items-center gap-2"
5590
- }, /*#__PURE__*/React__default["default"].createElement(formik.Switch, {
5591
- name: "isRequired"
5592
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
5593
- className: "leading-4",
5594
- component: "span",
5595
- style: "body2"
5596
- }, t("labels.isRequired"))), children));
5597
- };
5598
-
5599
- var _excluded$3 = ["resourceType", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
5600
- function ownKeys$8(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; }
5601
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5602
-
5603
- /** @type {React.FC<import("types").AddProps>} */
5604
-
5605
- var Add = function Add(_ref) {
5606
- var resourceType = _ref.resourceType,
5607
- allowedKinds = _ref.allowedKinds,
5608
- additionalValidations = _ref.additionalValidations,
5609
- initialValues = _ref.initialValues,
5610
- onClose = _ref.onClose,
5611
- props = _objectWithoutProperties(_ref, _excluded$3);
5612
- var _useTranslation = useTranslation(),
5613
- t = _useTranslation.t;
5614
- var _useCreateField = useCreateField(),
5615
- createField = _useCreateField.mutate,
5616
- isSubmitting = _useCreateField.isLoading;
5617
- var filteredKinds = ramda.values(ramda.pick(allowedKinds, FIELD_KINDS));
5618
- var handleSubmit = function handleSubmit(formValues) {
5619
- var payload = buildPayload({
5620
- formValues: formValues,
5621
- resourceType: resourceType
5622
- });
5623
- createField(payload, {
5624
- onSuccess: onClose
5625
- });
5626
- };
5627
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
5628
- style: "h2"
5629
- }, t("titles.addField"))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
5630
- formikProps: {
5631
- initialValues: _objectSpread$8(_objectSpread$8({}, initialValues), INITIAL_FIELDS),
5632
- validationSchema: generateValidationSchema(additionalValidations),
5633
- onSubmit: handleSubmit
5634
- }
5635
- }, function (_ref2) {
5636
- var dirty = _ref2.dirty,
5637
- kind = _ref2.values.kind;
5638
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FieldForm, _extends({
5639
- chosenKind: kind.value,
5640
- kindSelectOptions: filteredKinds
5641
- }, props)), renderFormFooter({
5642
- onClose: onClose,
5643
- loading: isSubmitting,
5644
- dirty: dirty
5645
- }));
5646
- }));
5647
- };
5648
-
5649
- var _excluded$2 = ["fieldId", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
5650
- function ownKeys$7(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; }
5651
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5652
-
5653
- /** @type {React.FC<import("types").EditProps>} */
5654
-
5655
- var Edit = function Edit(_ref) {
5656
- var fieldId = _ref.fieldId,
5657
- allowedKinds = _ref.allowedKinds,
5658
- _ref$additionalValida = _ref.additionalValidations,
5659
- additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
5660
- _ref$initialValues = _ref.initialValues,
5661
- initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
5662
- onClose = _ref.onClose,
5663
- props = _objectWithoutProperties(_ref, _excluded$2);
5664
- var _useTranslation = useTranslation(),
5665
- t = _useTranslation.t;
5666
- var _useShowField = useShowField(fieldId),
5667
- _useShowField$data = _useShowField.data,
5668
- _useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
5669
- _useShowField$data2$f = _useShowField$data2.field,
5670
- field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
5671
- var _useUpdateField = useUpdateField(),
5672
- updateField = _useUpdateField.mutate,
5673
- isSubmitting = _useUpdateField.isLoading;
5674
- var handleSubmit = function handleSubmit(formValues) {
5675
- var payload = buildPayload({
5676
- formValues: formValues
5677
- });
5678
- updateField({
5679
- fieldId: fieldId,
5680
- payload: payload
5681
- }, {
5682
- onSuccess: onClose
5683
- });
5684
- };
5685
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
5686
- style: "h2"
5687
- }, t("titles.editField"))), /*#__PURE__*/React__default["default"].createElement(formik.Form, {
5688
- formikProps: {
5689
- initialValues: _objectSpread$7(_objectSpread$7({}, initialValues), ramda.assoc("kind", FIELD_KINDS[field.kind], field)),
5690
- validationSchema: generateValidationSchema(additionalValidations),
5691
- enableReinitialize: true,
5692
- onSubmit: handleSubmit
5693
- }
5694
- }, function (_ref2) {
5695
- var kind = _ref2.values.kind,
5696
- dirty = _ref2.dirty;
5697
- var permittedKinds = getPermittedKinds({
5698
- allowedKinds: allowedKinds,
5699
- selectedKind: kind
5700
- });
5701
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FieldForm, _extends({
5702
- chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
5703
- isSystem: field.isSystem,
5704
- kindSelectOptions: permittedKinds
5705
- }, props)), renderFormFooter({
5706
- onClose: onClose,
5707
- loading: isSubmitting,
5708
- dirty: dirty
5709
- }));
5710
- }));
5711
- };
5712
-
5713
- var _excluded$1 = ["isOpen", "selectedField"];
5714
-
5715
- /** @type {React.FC<import("types").FieldsPaneProps>} */
5716
-
5717
- var FieldsPane = function FieldsPane(_ref) {
5718
- var isOpen = _ref.isOpen,
5719
- _ref$selectedField = _ref.selectedField,
5720
- selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
5721
- props = _objectWithoutProperties(_ref, _excluded$1);
5722
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
5723
- isOpen: isOpen,
5724
- onClose: props.onClose
5725
- }, ramda.isEmpty(selectedField) ? /*#__PURE__*/React__default["default"].createElement(Add, props) : /*#__PURE__*/React__default["default"].createElement(Edit, _extends({
5726
- fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
5727
- }, props)));
5728
- };
5729
-
5730
- /** @type {React.FC<import("types").AddFieldProps>} */
5731
-
5732
- var AddField = function AddField(_ref) {
5733
- var resourceType = _ref.resourceType,
5734
- _ref$allowedKinds = _ref.allowedKinds,
5735
- allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
5736
- additionalValidations = _ref.additionalValidations,
5737
- initialValues = _ref.initialValues,
5738
- hideRequiredSwitch = _ref.hideRequiredSwitch,
5739
- children = _ref.children;
5740
- var _useState = React.useState(false),
5741
- _useState2 = _slicedToArray(_useState, 2),
5742
- isOpen = _useState2[0],
5743
- setIsOpen = _useState2[1];
5744
- var _useTranslation = useTranslation(),
5745
- t = _useTranslation.t;
5746
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
5747
- label: t("labels.addField"),
5748
- onClick: function onClick() {
5749
- return setIsOpen(true);
5750
- }
5751
- }), /*#__PURE__*/React__default["default"].createElement(FieldsPane, {
5752
- additionalValidations: additionalValidations,
5753
- allowedKinds: allowedKinds,
5754
- hideRequiredSwitch: hideRequiredSwitch,
5755
- initialValues: initialValues,
5756
- isOpen: isOpen,
5757
- resourceType: resourceType,
5758
- onClose: function onClose() {
5759
- return setIsOpen(false);
5760
- }
5761
- }, children));
5762
- };
5763
-
5764
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5765
- try {
5766
- var info = gen[key](arg);
5767
- var value = info.value;
5768
- } catch (error) {
5769
- reject(error);
5770
- return;
5771
- }
5772
- if (info.done) {
5773
- resolve(value);
5774
- } else {
5775
- Promise.resolve(value).then(_next, _throw);
5776
- }
5777
- }
5778
- function _asyncToGenerator(fn) {
5779
- return function () {
5780
- var self = this,
5781
- args = arguments;
5782
- return new Promise(function (resolve, reject) {
5783
- var gen = fn.apply(self, args);
5784
- function _next(value) {
5785
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5786
- }
5787
- function _throw(err) {
5788
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5789
- }
5790
- _next(undefined);
5791
- });
5792
- };
5793
- }
5794
-
5795
- var regeneratorRuntime$1 = {exports: {}};
5796
-
5797
- var _typeof = {exports: {}};
5798
-
5799
- _typeof.exports;
5800
-
5801
- (function (module) {
5802
- function _typeof(obj) {
5803
- "@babel/helpers - typeof";
5804
-
5805
- return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
5806
- return typeof obj;
5807
- } : function (obj) {
5808
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
5809
- }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
5810
- }
5811
- module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5812
- } (_typeof));
5813
-
5814
- var _typeofExports = _typeof.exports;
5534
+ var _typeofExports = _typeof.exports;
5815
5535
 
5816
5536
  regeneratorRuntime$1.exports;
5817
5537
 
@@ -6121,481 +5841,1129 @@ regeneratorRuntime$1.exports;
6121
5841
  module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
6122
5842
  } (regeneratorRuntime$1));
6123
5843
 
6124
- var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5844
+ var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5845
+
5846
+ // TODO(Babel 8): Remove this file.
5847
+
5848
+ var runtime = regeneratorRuntimeExports();
5849
+ var regenerator = runtime;
5850
+
5851
+ // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
5852
+ try {
5853
+ regeneratorRuntime = runtime;
5854
+ } catch (accidentalStrictMode) {
5855
+ if (typeof globalThis === "object") {
5856
+ globalThis.regeneratorRuntime = runtime;
5857
+ } else {
5858
+ Function("r", "regeneratorRuntime = r")(runtime);
5859
+ }
5860
+ }
5861
+
5862
+ var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
5863
+
5864
+ var dayjs_min = {exports: {}};
5865
+
5866
+ dayjs_min.exports;
5867
+
5868
+ (function (module, exports) {
5869
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
5870
+ } (dayjs_min, dayjs_min.exports));
5871
+
5872
+ var dayjs_minExports = dayjs_min.exports;
5873
+ var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
5874
+
5875
+ var dateSchema = yup__namespace.date().nullable();
5876
+ var buildSchemaAllowingEmptyValue = function buildSchemaAllowingEmptyValue(schema) {
5877
+ return yup__namespace.mixed().test({
5878
+ name: "validate-if-not-empty",
5879
+ test: function test(value) {
5880
+ if (pure.isNotEmpty(value) && ramda.isNotNil(value)) {
5881
+ try {
5882
+ schema.validateSync(value);
5883
+ return true;
5884
+ } catch (_unused) {
5885
+ return false;
5886
+ }
5887
+ }
5888
+ return true;
5889
+ }
5890
+ });
5891
+ };
5892
+ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5893
+ var kind = _ref.kind,
5894
+ isRequired = _ref.isRequired,
5895
+ fieldData = _ref.fieldData;
5896
+ switch (kind) {
5897
+ case KINDS.singleOption:
5898
+ case KINDS.text:
5899
+ {
5900
+ var schema = yup__namespace.string().trim().nullable();
5901
+ return isRequired ? schema.required(t$1("validations.thisIsRequired")) : schema;
5902
+ }
5903
+ case KINDS.number:
5904
+ case KINDS.monetary:
5905
+ case KINDS.decimal:
5906
+ {
5907
+ var _schema = buildSchemaAllowingEmptyValue(yup__namespace.number().typeError(t$1("validations.notAValidNumber")));
5908
+ return isRequired ? _schema.required(t$1("validations.thisIsRequired")) : _schema;
5909
+ }
5910
+ case KINDS.integer:
5911
+ {
5912
+ var _schema2 = buildSchemaAllowingEmptyValue(yup__namespace.number().nullable().integer().typeError(t$1("validations.notAValidInteger")));
5913
+ return isRequired ? _schema2.required(t$1("validations.thisIsRequired")) : _schema2;
5914
+ }
5915
+ case KINDS.date:
5916
+ case KINDS.time:
5917
+ {
5918
+ var _schema3 = buildSchemaAllowingEmptyValue(dateSchema);
5919
+ return isRequired ? _schema3.required(t$1("validations.thisIsRequired")) : _schema3;
5920
+ }
5921
+ case KINDS.multiOption:
5922
+ {
5923
+ var _schema4 = yup__namespace.array().of(yup__namespace.string()).nullable();
5924
+ return isRequired ? _schema4.min(1, t$1("validations.minOneItem")).required(t$1("validations.thisIsRequired")) : _schema4;
5925
+ }
5926
+ case KINDS.dateRange:
5927
+ case KINDS.timeRange:
5928
+ {
5929
+ if (isRequired) {
5930
+ return yup__namespace.array().of(dateSchema).required(t$1("validations.thisIsRequired"));
5931
+ }
5932
+ return yup__namespace.array().of(dateSchema).nullable();
5933
+ }
5934
+ case KINDS.checkbox:
5935
+ return yup__namespace["boolean"]().nullable();
5936
+ case KINDS.regex:
5937
+ {
5938
+ var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
5939
+ var _schema5 = buildSchemaAllowingEmptyValue(yup__namespace.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage));
5940
+ return isRequired ? _schema5.required(t$1("validations.thisIsRequired")) : _schema5;
5941
+ }
5942
+ default:
5943
+ return yup__namespace.mixed();
5944
+ }
5945
+ };
5946
+ var cleanedRegex = function cleanedRegex(expression) {
5947
+ if (expression.startsWith("/") && expression.endsWith("/")) {
5948
+ return expression.slice(1, -1);
5949
+ }
5950
+ return expression;
5951
+ };
5952
+ var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
5953
+ var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5954
+ return optionObjects.map(function (_ref2) {
5955
+ var label = _ref2.label,
5956
+ value = _ref2.value;
5957
+ return {
5958
+ label: label,
5959
+ value: value || label
5960
+ };
5961
+ });
5962
+ };
5963
+ var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
5964
+ return ramda.map(pure.toLabelAndValue, value || []);
5965
+ };
5966
+ var validateField = /*#__PURE__*/function () {
5967
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
5968
+ var fieldValue, fieldName, isRequired, kind, fieldData;
5969
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
5970
+ while (1) switch (_context.prev = _context.next) {
5971
+ case 0:
5972
+ fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
5973
+ _context.prev = 1;
5974
+ _context.next = 4;
5975
+ return yup__namespace.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
5976
+ kind: kind,
5977
+ isRequired: isRequired,
5978
+ fieldData: fieldData
5979
+ }))).validate(_defineProperty({}, fieldName, fieldValue));
5980
+ case 4:
5981
+ return _context.abrupt("return", false);
5982
+ case 7:
5983
+ _context.prev = 7;
5984
+ _context.t0 = _context["catch"](1);
5985
+ return _context.abrupt("return", _context.t0.errors);
5986
+ case 10:
5987
+ case "end":
5988
+ return _context.stop();
5989
+ }
5990
+ }, _callee, null, [[1, 7]]);
5991
+ }));
5992
+ return function validateField(_x) {
5993
+ return _ref4.apply(this, arguments);
5994
+ };
5995
+ }();
5996
+ var dateTimeToString = function dateTimeToString(dateTime) {
5997
+ return dateTime && dayjs(dateTime).toString() || "";
5998
+ };
5999
+
6000
+ var _excluded$3 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
6001
+ function ownKeys$a(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; }
6002
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6003
+ var useFormikFields = function useFormikFields(_ref) {
6004
+ var name = _ref.name,
6005
+ fieldId = _ref.id,
6006
+ kind = _ref.kind,
6007
+ fieldData = _ref.data,
6008
+ individualSubmit = _ref.individualSubmit,
6009
+ formRef = _ref.formRef,
6010
+ formRefs = _ref.formRefs,
6011
+ disabled = _ref.disabled,
6012
+ _ref$isRequiredColumn = _ref.isRequiredColumnName,
6013
+ isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
6014
+ props = _objectWithoutProperties(_ref, _excluded$3);
6015
+ var formikContext = formik.useFormikContext();
6016
+ var setFieldValue = formikContext.setFieldValue,
6017
+ submitForm = formikContext.submitForm,
6018
+ dirty = formikContext.dirty,
6019
+ isSubmitting = formikContext.isSubmitting;
6020
+ var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
6021
+ var fieldName = kind === KINDS.multiOption ? "values" : "value";
6022
+ var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
6023
+ if (ramda.isNil(formRef) && ramda.isNotNil(formRefs)) {
6024
+ formRefs.current[fieldValuePath] = formikContext;
6025
+ } else if (ramda.isNil(formRefs) && ramda.isNotNil(formRef)) {
6026
+ formRef.current = formikContext;
6027
+ }
6028
+ var _useField = formik.useField({
6029
+ name: fieldValuePath,
6030
+ validate: function validate(fieldValue) {
6031
+ return validateField({
6032
+ fieldValue: fieldValue,
6033
+ fieldName: name,
6034
+ isRequired: props[isRequiredColumnName],
6035
+ kind: kind,
6036
+ fieldData: fieldData
6037
+ });
6038
+ }
6039
+ }),
6040
+ _useField2 = _slicedToArray(_useField, 3),
6041
+ formikFieldProps = _useField2[0],
6042
+ meta = _useField2[1],
6043
+ helpers = _useField2[2];
6044
+ var handleSubmit = function handleSubmit(value) {
6045
+ ramda.isNotNil(value) && setFieldValue(fieldValuePath, value);
6046
+ individualSubmit && submitForm();
6047
+ };
6048
+ var getValueForField = function getValueForField(value) {
6049
+ if (kind === KINDS.singleOption) {
6050
+ value = pure.toLabelAndValue(value);
6051
+ } else if (kind === KINDS.multiOption) {
6052
+ value = buildArrayToLabelAndValues(value);
6053
+ }
6054
+ return value || "";
6055
+ };
6056
+ var isDropdown = ["single_option", "multi_option"].includes(kind);
6057
+ if (isSubmitting && !meta.touched) {
6058
+ helpers.setTouched(true);
6059
+ }
6060
+ return {
6061
+ handleSubmit: handleSubmit,
6062
+ fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
6063
+ required: props[isRequiredColumnName],
6064
+ error: meta.touched && meta.error,
6065
+ options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
6066
+ value: getValueForField(formikFieldProps.value),
6067
+ dirty: dirty,
6068
+ label: !individualSubmit && pure.capitalize(name),
6069
+ disabled: disabled
6070
+ })
6071
+ };
6072
+ };
6125
6073
 
6126
- // TODO(Babel 8): Remove this file.
6074
+ var Checkbox = function Checkbox(props) {
6075
+ var _useFormikFields = useFormikFields(props),
6076
+ handleSubmit = _useFormikFields.handleSubmit,
6077
+ fieldProps = _useFormikFields.fieldProps;
6078
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Switch, _extends({}, fieldProps, {
6079
+ checked: fieldProps.value,
6080
+ onChange: function onChange(_ref) {
6081
+ var checked = _ref.target.checked;
6082
+ return handleSubmit(checked);
6083
+ }
6084
+ }));
6085
+ };
6127
6086
 
6128
- var runtime = regeneratorRuntimeExports();
6129
- var regenerator = runtime;
6087
+ var DateOrTime = function DateOrTime(props) {
6088
+ var _useFormikFields = useFormikFields(props),
6089
+ handleSubmit = _useFormikFields.handleSubmit,
6090
+ fieldProps = _useFormikFields.fieldProps;
6091
+ if (props.kind === KINDS.time) {
6092
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, fieldProps, {
6093
+ use12Hours: true,
6094
+ format: "h:mm A",
6095
+ onChange: function onChange(dateTime) {
6096
+ return handleSubmit(dateTimeToString(dateTime));
6097
+ }
6098
+ }));
6099
+ } else if (props.kind === KINDS.date) {
6100
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
6101
+ onChange: function onChange(dateTime) {
6102
+ return handleSubmit(dateTimeToString(dateTime));
6103
+ }
6104
+ }));
6105
+ }
6106
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
6107
+ showTime: true,
6108
+ timeFormat: "h:mm A"
6109
+ }, fieldProps, {
6110
+ onChange: function onChange(dateTime) {
6111
+ return handleSubmit(dateTimeToString(dateTime));
6112
+ }
6113
+ }));
6114
+ };
6130
6115
 
6131
- // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
6132
- try {
6133
- regeneratorRuntime = runtime;
6134
- } catch (accidentalStrictMode) {
6135
- if (typeof globalThis === "object") {
6136
- globalThis.regeneratorRuntime = runtime;
6137
- } else {
6138
- Function("r", "regeneratorRuntime = r")(runtime);
6116
+ var MultiOption = function MultiOption(props) {
6117
+ var _useFormikFields = useFormikFields(props),
6118
+ handleSubmit = _useFormikFields.handleSubmit,
6119
+ fieldProps = _useFormikFields.fieldProps;
6120
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
6121
+ isMulti: true,
6122
+ isSearchable: true
6123
+ }, fieldProps, {
6124
+ onChange: function onChange(selectedOptions) {
6125
+ return handleSubmit(ramda.pluck("value", selectedOptions));
6126
+ }
6127
+ }));
6128
+ };
6129
+
6130
+ var Number$1 = function Number(props) {
6131
+ var _useFormikFields = useFormikFields(props),
6132
+ handleSubmit = _useFormikFields.handleSubmit,
6133
+ fieldProps = _useFormikFields.fieldProps;
6134
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6135
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
6136
+ type: "number",
6137
+ suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
6138
+ icon: neetoIcons.Check,
6139
+ style: "text",
6140
+ onClick: function onClick() {
6141
+ return handleSubmit();
6142
+ }
6143
+ })
6144
+ }));
6145
+ };
6146
+
6147
+ var RangePicker = function RangePicker(props) {
6148
+ var _useFormikFields = useFormikFields(props),
6149
+ handleSubmit = _useFormikFields.handleSubmit,
6150
+ fieldProps = _useFormikFields.fieldProps;
6151
+ var handleChange = function handleChange(_ref) {
6152
+ var _ref2 = _slicedToArray(_ref, 2),
6153
+ begin = _ref2[0],
6154
+ end = _ref2[1];
6155
+ return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
6156
+ };
6157
+ if (props.kind === KINDS.dateRange) {
6158
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
6159
+ type: "range",
6160
+ onChange: handleChange
6161
+ }));
6162
+ }
6163
+
6164
+ //time_range
6165
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, fieldProps, {
6166
+ use12Hours: true,
6167
+ format: "h:mm A",
6168
+ type: "range",
6169
+ onChange: handleChange
6170
+ }));
6171
+ };
6172
+
6173
+ var SingleOption = function SingleOption(props) {
6174
+ var _useFormikFields = useFormikFields(props),
6175
+ handleSubmit = _useFormikFields.handleSubmit,
6176
+ fieldProps = _useFormikFields.fieldProps;
6177
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
6178
+ isSearchable: true
6179
+ }, fieldProps, {
6180
+ onChange: function onChange(_ref) {
6181
+ var value = _ref.value;
6182
+ return handleSubmit(value);
6183
+ }
6184
+ }));
6185
+ };
6186
+
6187
+ var Text = function Text(props) {
6188
+ var _useFormikFields = useFormikFields(props),
6189
+ handleSubmit = _useFormikFields.handleSubmit,
6190
+ fieldProps = _useFormikFields.fieldProps;
6191
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6192
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
6193
+ suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
6194
+ icon: neetoIcons.Check,
6195
+ style: "text",
6196
+ onClick: function onClick() {
6197
+ return handleSubmit();
6198
+ }
6199
+ })
6200
+ }));
6201
+ };
6202
+
6203
+ var TextArea = function TextArea(props) {
6204
+ var _useTranslation = useTranslation(),
6205
+ t = _useTranslation.t;
6206
+ var _useFormikFields = useFormikFields(props),
6207
+ handleSubmit = _useFormikFields.handleSubmit,
6208
+ fieldProps = _useFormikFields.fieldProps;
6209
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6210
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
6211
+ className: "m-auto mt-2",
6212
+ label: t("labels.submit"),
6213
+ size: "small",
6214
+ onClick: function onClick() {
6215
+ return handleSubmit();
6216
+ }
6217
+ }));
6218
+ };
6219
+
6220
+ function ownKeys$9(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; }
6221
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6222
+ var standardComponents = {
6223
+ text: Text,
6224
+ regex: Text,
6225
+ textarea: TextArea,
6226
+ text_area: TextArea,
6227
+ // TODO: Remove text-area after integration in all hosts.
6228
+ number: Number$1,
6229
+ monetary: Number$1,
6230
+ integer: Number$1,
6231
+ decimal: Number$1,
6232
+ date: DateOrTime,
6233
+ time: DateOrTime,
6234
+ datetime: DateOrTime,
6235
+ single_option: SingleOption,
6236
+ multi_option: MultiOption,
6237
+ date_range: RangePicker,
6238
+ time_range: RangePicker,
6239
+ checkbox: Checkbox
6240
+ };
6241
+ var getFieldInput = function getFieldInput(_ref) {
6242
+ var field = _ref.field,
6243
+ _ref$customComponents = _ref.customComponents,
6244
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
6245
+ var Component = customComponents[field.kind] || standardComponents[field.kind];
6246
+ if (Component) {
6247
+ return Component;
6139
6248
  }
6140
- }
6141
-
6142
- var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
6249
+ return null;
6250
+ };
6251
+ var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
6252
+ return fieldValues.filter(function (item) {
6253
+ return !ramda.isNil(ramda.prop("data", item));
6254
+ });
6255
+ };
6256
+ var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
6257
+ return ramda.map(ramda.pick(["id", "fieldId", "data"]), fieldValues);
6258
+ };
6259
+ var transformValues = function transformValues(_ref2) {
6260
+ var formikValues = _ref2.values,
6261
+ fields = _ref2.fields;
6262
+ var allFieldValues = ramda.clone(formikValues);
6263
+ var neetoFieldValues = [];
6264
+ fields.forEach(function (_ref3) {
6265
+ var id = _ref3.id,
6266
+ name = _ref3.name;
6267
+ var fieldPath = escapeString("".concat(name, "-").concat(id));
6268
+ neetoFieldValues.push(allFieldValues[fieldPath]);
6269
+ delete allFieldValues[fieldPath];
6270
+ });
6271
+ var cleanedFieldValues = ramda.pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
6272
+ return _objectSpread$9(_objectSpread$9({}, allFieldValues), {}, {
6273
+ fieldValuesAttributes: cleanedFieldValues
6274
+ });
6275
+ };
6276
+ var getInitialFieldValue = function getInitialFieldValue(field) {
6277
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6278
+ var existingFieldValueData = pure.findBy({
6279
+ fieldId: field.id
6280
+ }, fieldValues);
6281
+ var newFieldValueData = {
6282
+ fieldId: field.id,
6283
+ data: null
6284
+ };
6285
+ return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
6286
+ };
6287
+ var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6288
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6289
+ return getNonSystemFields(fields).map(function (field) {
6290
+ return getInitialFieldValue(field, fieldValues);
6291
+ });
6292
+ };
6293
+ var mergeInitialValues = function mergeInitialValues(_ref5) {
6294
+ var initialValues = _ref5.initialValues,
6295
+ fields = _ref5.fields;
6296
+ var initialValue = ramda.mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6297
+ return ramda.omit(["fieldValues"], initialValue);
6298
+ };
6299
+ var getNonSystemFields = function getNonSystemFields(fields) {
6300
+ return pure.filterBy({
6301
+ isSystem: false
6302
+ }, fields);
6303
+ };
6304
+ var escapeString = function escapeString(string) {
6305
+ return string.replace(/[^a-zA-Z0-9_]/g, function (match) {
6306
+ var charCode = match.charCodeAt(0);
6307
+ return "_".concat(charCode, "_");
6308
+ });
6309
+ };
6310
+ var neetoFieldsUtils = {
6311
+ mergeInitialValues: mergeInitialValues,
6312
+ transformValues: transformValues
6313
+ };
6143
6314
 
6144
- var dayjs_min = {exports: {}};
6315
+ function ownKeys$8(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; }
6316
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6317
+ var FieldInputs = function FieldInputs(_ref) {
6318
+ var _ref$customComponents = _ref.customComponents,
6319
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6320
+ fields = _ref.fields,
6321
+ formRef = _ref.formRef,
6322
+ disabled = _ref.disabled,
6323
+ isRequiredColumnName = _ref.isRequiredColumnName;
6324
+ var _useTranslation = useTranslation(),
6325
+ t = _useTranslation.t;
6326
+ return getNonSystemFields(fields).map(function (field) {
6327
+ var Field = getFieldInput({
6328
+ field: field,
6329
+ customComponents: customComponents
6330
+ });
6331
+ if (Field) {
6332
+ return /*#__PURE__*/React__default["default"].createElement(Field, _extends({
6333
+ key: field.id
6334
+ }, _objectSpread$8(_objectSpread$8({}, field), {}, {
6335
+ formRef: formRef,
6336
+ disabled: disabled,
6337
+ isRequiredColumnName: isRequiredColumnName
6338
+ })));
6339
+ }
6340
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6341
+ key: field.id,
6342
+ style: "body2"
6343
+ }, t("messages.invalidKind"));
6344
+ });
6345
+ };
6145
6346
 
6146
- dayjs_min.exports;
6347
+ var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
6348
+ var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
6349
+ var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
6350
+ var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
6351
+ var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
6352
+ var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
6353
+ var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
6354
+ var SINGULAR = {
6355
+ count: 1
6356
+ };
6357
+ var PLURAL = {
6358
+ count: 2
6359
+ };
6147
6360
 
6148
- (function (module, exports) {
6149
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
6150
- } (dayjs_min, dayjs_min.exports));
6361
+ var fieldUrl = function fieldUrl(fieldId) {
6362
+ return utils.buildUrl(FIELD_URL, {
6363
+ fieldId: fieldId
6364
+ });
6365
+ };
6366
+ var fetch$1 = function fetch(_ref) {
6367
+ var resourceType = _ref.resourceType,
6368
+ ownerId = _ref.ownerId,
6369
+ state = _ref.state;
6370
+ return axios__default["default"].get(FIELDS_URL, {
6371
+ params: {
6372
+ resourceType: resourceType,
6373
+ ownerId: ownerId,
6374
+ state: state
6375
+ }
6376
+ });
6377
+ };
6378
+ var create$1 = function create(payload) {
6379
+ return axios__default["default"].post(FIELDS_URL, payload);
6380
+ };
6381
+ var show = function show(_ref2) {
6382
+ var fieldId = _ref2.fieldId,
6383
+ ownerId = _ref2.ownerId;
6384
+ return axios__default["default"].get(fieldUrl(fieldId), {
6385
+ params: {
6386
+ ownerId: ownerId
6387
+ }
6388
+ });
6389
+ };
6390
+ var destroy$1 = function destroy(_ref3) {
6391
+ var fieldId = _ref3.fieldId,
6392
+ ownerId = _ref3.ownerId;
6393
+ return axios__default["default"]["delete"](fieldUrl(fieldId), {
6394
+ data: {
6395
+ ownerId: ownerId
6396
+ }
6397
+ });
6398
+ };
6399
+ var update$1 = function update(_ref4) {
6400
+ var fieldId = _ref4.fieldId,
6401
+ payload = _ref4.payload;
6402
+ return axios__default["default"].put(fieldUrl(fieldId), payload);
6403
+ };
6404
+ var reorder = function reorder(payload) {
6405
+ return axios__default["default"].patch(FIELDS_REORDER_URL, payload);
6406
+ };
6407
+ var fieldsApi = {
6408
+ fetch: fetch$1,
6409
+ create: create$1,
6410
+ show: show,
6411
+ destroy: destroy$1,
6412
+ update: update$1,
6413
+ reorder: reorder
6414
+ };
6151
6415
 
6152
- var dayjs_minExports = dayjs_min.exports;
6153
- var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
6416
+ var QUERY_KEYS = {
6417
+ FIELDS: "fields",
6418
+ FIELD_VALUES: "field_values",
6419
+ CONFIGS: "configurations"
6420
+ };
6421
+ var DEFAULT_STALE_TIME = 3600000; // 1 hour
6154
6422
 
6155
- var dateSchema = yup__namespace.date().nullable();
6156
- var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
6157
- var kind = _ref.kind,
6158
- isRequired = _ref.isRequired,
6159
- fieldData = _ref.fieldData;
6160
- switch (kind) {
6161
- case KINDS.singleOption:
6162
- case KINDS.text:
6163
- {
6164
- var schema = yup__namespace.string().trim().nullable();
6165
- return isRequired ? schema.required(t("validations.thisIsRequired")) : schema;
6166
- }
6167
- case KINDS.number:
6168
- case KINDS.monetary:
6169
- case KINDS.decimal:
6170
- {
6171
- var _schema = yup__namespace.number().nullable().typeError(t("validations.notAValidNumber"));
6172
- return isRequired ? _schema.required(t("validations.thisIsRequired")) : _schema;
6173
- }
6174
- case KINDS.integer:
6175
- {
6176
- var _schema2 = yup__namespace.number().nullable().integer().typeError(t("validations.notAValidInteger"));
6177
- return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
6178
- }
6179
- case KINDS.date:
6180
- case KINDS.time:
6181
- return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
6182
- case KINDS.multiOption:
6183
- {
6184
- var _schema3 = yup__namespace.array().of(yup__namespace.string()).nullable();
6185
- return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
6186
- }
6187
- case KINDS.dateRange:
6188
- case KINDS.timeRange:
6189
- {
6190
- if (isRequired) {
6191
- return yup__namespace.array().of(dateSchema).required(t("validations.thisIsRequired"));
6192
- }
6193
- return yup__namespace.array().of(dateSchema).nullable();
6194
- }
6195
- case KINDS.checkbox:
6196
- return yup__namespace["boolean"]().nullable();
6197
- case KINDS.regex:
6198
- {
6199
- var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
6200
- var _schema4 = yup__namespace.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
6201
- return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
6202
- }
6203
- default:
6204
- return yup__namespace.mixed();
6205
- }
6423
+ function ownKeys$7(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; }
6424
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6425
+ var FIELDS = QUERY_KEYS.FIELDS;
6426
+ var useFetchFields = function useFetchFields(_ref, options) {
6427
+ var resourceType = _ref.resourceType,
6428
+ ownerId = _ref.ownerId,
6429
+ state = _ref.state,
6430
+ _ref$prefixQueryKeys = _ref.prefixQueryKeys,
6431
+ prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
6432
+ return reactQuery.useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
6433
+ return fieldsApi.fetch({
6434
+ resourceType: resourceType,
6435
+ ownerId: ownerId,
6436
+ state: state
6437
+ });
6438
+ }, _objectSpread$7({
6439
+ staleTime: DEFAULT_STALE_TIME
6440
+ }, options));
6206
6441
  };
6207
- var cleanedRegex = function cleanedRegex(expression) {
6208
- if (expression.startsWith("/") && expression.endsWith("/")) {
6209
- return expression.slice(1, -1);
6210
- }
6211
- return expression;
6442
+ var useCreateField = function useCreateField(options) {
6443
+ var queryClient = reactQuery.useQueryClient();
6444
+ return reactQuery.useMutation(fieldsApi.create, _objectSpread$7(_objectSpread$7({}, options), {}, {
6445
+ onSuccess: function onSuccess() {
6446
+ var _options$onSuccess;
6447
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6448
+ args[_key] = arguments[_key];
6449
+ }
6450
+ options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call.apply(_options$onSuccess, [options].concat(args));
6451
+ queryClient.invalidateQueries(FIELDS);
6452
+ }
6453
+ }));
6212
6454
  };
6213
- var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
6214
- var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6215
- return optionObjects.map(function (_ref2) {
6216
- var label = _ref2.label,
6217
- value = _ref2.value;
6218
- return {
6219
- label: label,
6220
- value: value || label
6221
- };
6222
- });
6455
+ var useShowField = function useShowField(_ref2, options) {
6456
+ var fieldId = _ref2.fieldId,
6457
+ ownerId = _ref2.ownerId;
6458
+ var queryKey = [FIELDS, fieldId];
6459
+ return reactQuery.useQuery(queryKey, function () {
6460
+ return fieldsApi.show({
6461
+ fieldId: fieldId,
6462
+ ownerId: ownerId
6463
+ });
6464
+ }, options);
6223
6465
  };
6224
- var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
6225
- return ramda.map(pure.toLabelAndValue, value || []);
6466
+ var useUpdateField = function useUpdateField(options) {
6467
+ var queryClient = reactQuery.useQueryClient();
6468
+ return reactQuery.useMutation(fieldsApi.update, _objectSpread$7(_objectSpread$7({}, options), {}, {
6469
+ onSuccess: function onSuccess() {
6470
+ var _options$onSuccess2;
6471
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
6472
+ args[_key2] = arguments[_key2];
6473
+ }
6474
+ options === null || options === void 0 ? void 0 : (_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call.apply(_options$onSuccess2, [options].concat(args));
6475
+ queryClient.invalidateQueries(FIELDS);
6476
+ }
6477
+ }));
6226
6478
  };
6227
- var validateField = /*#__PURE__*/function () {
6228
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
6229
- var fieldValue, fieldName, isRequired, kind, fieldData;
6230
- return _regeneratorRuntime.wrap(function _callee$(_context) {
6231
- while (1) switch (_context.prev = _context.next) {
6232
- case 0:
6233
- fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
6234
- _context.prev = 1;
6235
- _context.next = 4;
6236
- return yup__namespace.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
6237
- kind: kind,
6238
- isRequired: isRequired,
6239
- fieldData: fieldData
6240
- }))).validate(_defineProperty({}, fieldName, fieldValue));
6241
- case 4:
6242
- return _context.abrupt("return", false);
6243
- case 7:
6244
- _context.prev = 7;
6245
- _context.t0 = _context["catch"](1);
6246
- return _context.abrupt("return", _context.t0.errors);
6247
- case 10:
6248
- case "end":
6249
- return _context.stop();
6479
+ var useDestroyField = function useDestroyField(options) {
6480
+ var queryClient = reactQuery.useQueryClient();
6481
+ return reactQuery.useMutation(fieldsApi.destroy, _objectSpread$7(_objectSpread$7({}, options), {}, {
6482
+ onSuccess: function onSuccess() {
6483
+ var _options$onSuccess3;
6484
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
6485
+ args[_key3] = arguments[_key3];
6250
6486
  }
6251
- }, _callee, null, [[1, 7]]);
6487
+ options === null || options === void 0 ? void 0 : (_options$onSuccess3 = options.onSuccess) === null || _options$onSuccess3 === void 0 ? void 0 : _options$onSuccess3.call.apply(_options$onSuccess3, [options].concat(args));
6488
+ queryClient.invalidateQueries(FIELDS);
6489
+ }
6252
6490
  }));
6253
- return function validateField(_x) {
6254
- return _ref4.apply(this, arguments);
6255
- };
6256
- }();
6257
- var dateTimeToString = function dateTimeToString(dateTime) {
6258
- return dayjs(dateTime).toString();
6491
+ };
6492
+ var useReorderFields = function useReorderFields() {
6493
+ var queryClient = reactQuery.useQueryClient();
6494
+ return reactQuery.useMutation(fieldsApi.reorder, {
6495
+ onSuccess: function onSuccess() {
6496
+ queryClient.invalidateQueries(FIELDS);
6497
+ }
6498
+ });
6259
6499
  };
6260
6500
 
6261
- var _excluded = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
6262
6501
  function ownKeys$6(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; }
6263
6502
  function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6264
- var useFormikFields = function useFormikFields(_ref) {
6265
- var name = _ref.name,
6266
- fieldId = _ref.id,
6267
- kind = _ref.kind,
6268
- fieldData = _ref.data,
6269
- individualSubmit = _ref.individualSubmit,
6270
- formRef = _ref.formRef,
6271
- formRefs = _ref.formRefs,
6272
- disabled = _ref.disabled,
6273
- _ref$isRequiredColumn = _ref.isRequiredColumnName,
6274
- isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
6275
- props = _objectWithoutProperties(_ref, _excluded);
6276
- var formikContext = formik$1.useFormikContext();
6277
- var setFieldValue = formikContext.setFieldValue,
6278
- submitForm = formikContext.submitForm,
6279
- dirty = formikContext.dirty,
6280
- isSubmitting = formikContext.isSubmitting;
6281
- var fieldPath = "".concat(name, "-").concat(fieldId);
6282
- var fieldName = kind === KINDS.multiOption ? "values" : "value";
6283
- var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
6284
- if (ramda.isNil(formRef) && ramda.isNotNil(formRefs)) {
6285
- formRefs.current[fieldValuePath] = formikContext;
6286
- } else if (ramda.isNil(formRefs) && ramda.isNotNil(formRef)) {
6287
- formRef.current = formikContext;
6288
- }
6289
- var _useField = formik$1.useField({
6290
- name: fieldValuePath,
6291
- validate: function validate(fieldValue) {
6292
- return validateField({
6293
- fieldValue: fieldValue,
6294
- fieldName: name,
6295
- isRequired: props[isRequiredColumnName],
6296
- kind: kind,
6297
- fieldData: fieldData
6298
- });
6299
- }
6300
- }),
6301
- _useField2 = _slicedToArray(_useField, 3),
6302
- formikFieldProps = _useField2[0],
6303
- meta = _useField2[1],
6304
- helpers = _useField2[2];
6305
- var handleSubmit = function handleSubmit(value) {
6306
- ramda.isNotNil(value) && setFieldValue(fieldValuePath, value);
6307
- individualSubmit && submitForm();
6308
- };
6309
- var getValueForField = function getValueForField(value) {
6310
- if (kind === KINDS.singleOption) {
6311
- value = pure.toLabelAndValue(value);
6312
- } else if (kind === KINDS.multiOption) {
6313
- value = buildArrayToLabelAndValues(value);
6314
- }
6315
- return value;
6316
- };
6317
- var isDropdown = ["single_option", "multi_option"].includes(kind);
6318
- if (isSubmitting && !meta.touched) {
6319
- helpers.setTouched(true);
6320
- }
6503
+ var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
6504
+ return options.map(function (option, index) {
6505
+ return _objectSpread$6(_objectSpread$6({}, option), {}, {
6506
+ displayOrder: index
6507
+ });
6508
+ });
6509
+ };
6510
+ var buildPayload = function buildPayload(_ref) {
6511
+ var formValues = _ref.formValues,
6512
+ _ref$resourceType = _ref.resourceType,
6513
+ resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
6514
+ _ref$ownerId = _ref.ownerId,
6515
+ ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
6516
+ var kind = formValues.kind.value;
6517
+ var name = formValues.name.trim();
6321
6518
  return {
6322
- handleSubmit: handleSubmit,
6323
- fieldProps: _objectSpread$6(_objectSpread$6({}, formikFieldProps), {}, {
6324
- required: props[isRequiredColumnName],
6325
- error: meta.touched && meta.error,
6326
- options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
6327
- value: getValueForField(formikFieldProps.value),
6328
- dirty: dirty,
6329
- label: !individualSubmit && pure.capitalize(name),
6330
- disabled: disabled
6519
+ ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId,
6520
+ field: _objectSpread$6(_objectSpread$6({}, ramda.omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
6521
+ kind: kind,
6522
+ name: name,
6523
+ resourceType: ramda.isEmpty(resourceType) ? undefined : resourceType,
6524
+ data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
6331
6525
  })
6332
6526
  };
6333
6527
  };
6334
-
6335
- var Checkbox = function Checkbox(props) {
6336
- var _useFormikFields = useFormikFields(props),
6337
- handleSubmit = _useFormikFields.handleSubmit,
6338
- fieldProps = _useFormikFields.fieldProps;
6339
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Switch, _extends({}, fieldProps, {
6340
- checked: fieldProps.value,
6341
- onChange: function onChange(_ref) {
6342
- var checked = _ref.target.checked;
6343
- return handleSubmit(checked);
6528
+ var isDropdown = function isDropdown(kind) {
6529
+ return ["single_option", "multi_option"].includes(kind);
6530
+ };
6531
+ var isRegex = function isRegex(kind) {
6532
+ return kind === "regex";
6533
+ };
6534
+ var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
6535
+ return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
6536
+ };
6537
+ var getPermittedKinds = function getPermittedKinds(_ref2) {
6538
+ var allowedKinds = _ref2.allowedKinds,
6539
+ selectedKind = _ref2.selectedKind;
6540
+ var filteredKinds = ramda.pick(allowedKinds, FIELD_KINDS);
6541
+ var permittedKinds = pure.filterBy({
6542
+ group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
6543
+ }, ramda.values(filteredKinds));
6544
+ return permittedKinds;
6545
+ };
6546
+ var generateValidationSchema = function generateValidationSchema(additionalValidations) {
6547
+ return yup__namespace.object().shape(_objectSpread$6(_objectSpread$6({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
6548
+ };
6549
+ var renderFormFooter = function renderFormFooter(_ref3) {
6550
+ var onClose = _ref3.onClose,
6551
+ loading = _ref3.loading,
6552
+ _ref3$dirty = _ref3.dirty,
6553
+ dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
6554
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
6555
+ cancelButtonProps: {
6556
+ onClick: onClose,
6557
+ style: "text",
6558
+ disabled: loading
6559
+ },
6560
+ submitButtonProps: {
6561
+ label: t$1("labels.saveChanges"),
6562
+ className: "mr-2",
6563
+ type: "submit",
6564
+ disabled: !dirty,
6565
+ loading: loading
6344
6566
  }
6345
6567
  }));
6346
6568
  };
6347
6569
 
6348
- var DateOrTime = function DateOrTime(props) {
6349
- var _useFormikFields = useFormikFields(props),
6350
- handleSubmit = _useFormikFields.handleSubmit,
6351
- fieldProps = _useFormikFields.fieldProps;
6352
- if (props.kind === KINDS.time) {
6353
- return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, fieldProps, {
6354
- use12Hours: true,
6355
- format: "h:mm A",
6356
- onChange: function onChange(dateTime) {
6357
- return handleSubmit(dateTimeToString(dateTime));
6358
- }
6359
- }));
6360
- } else if (props.kind === KINDS.date) {
6361
- return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
6362
- onChange: function onChange(dateTime) {
6363
- return handleSubmit(dateTimeToString(dateTime));
6364
- }
6365
- }));
6570
+ var regexValidationSchema = yup__namespace.object().shape({
6571
+ condition: yup__namespace.string().required(t$1("validations.regexConditionIsRequired")),
6572
+ helpMessage: yup__namespace.string().required(t$1("validations.regexHelpMessageIsRequired"))
6573
+ });
6574
+ var dropDownOptionsValidationSchema = yup__namespace.array().of(yup__namespace.object().shape({
6575
+ label: yup__namespace.string().trim().required(t$1("validations.fieldOptionIsRequired")),
6576
+ displayOrder: yup__namespace.number()
6577
+ })).min(1, t$1("validations.atLeastFieldOptionIsRequired"));
6578
+ var FIELD_KINDS = {
6579
+ text: {
6580
+ value: "text",
6581
+ label: t$1("fields.kinds.text"),
6582
+ group: 1
6583
+ },
6584
+ number: {
6585
+ value: "number",
6586
+ label: t$1("fields.kinds.number"),
6587
+ group: 2
6588
+ },
6589
+ monetary: {
6590
+ value: "monetary",
6591
+ label: t$1("fields.kinds.monetary"),
6592
+ group: 2
6593
+ },
6594
+ single_option: {
6595
+ value: "single_option",
6596
+ label: t$1("fields.kinds.singleOption"),
6597
+ group: 3
6598
+ },
6599
+ multi_option: {
6600
+ value: "multi_option",
6601
+ label: t$1("fields.kinds.multiOption"),
6602
+ group: 3
6603
+ },
6604
+ date: {
6605
+ value: "date",
6606
+ label: t$1("fields.kinds.date"),
6607
+ group: 4
6608
+ },
6609
+ time: {
6610
+ value: "time",
6611
+ label: t$1("fields.kinds.time"),
6612
+ group: 5
6613
+ },
6614
+ date_range: {
6615
+ value: "date_range",
6616
+ label: t$1("fields.kinds.dateRange"),
6617
+ group: 6
6618
+ },
6619
+ time_range: {
6620
+ value: "time_range",
6621
+ label: t$1("fields.kinds.timeRange"),
6622
+ group: 7
6623
+ },
6624
+ text_area: {
6625
+ value: "text_area",
6626
+ label: t$1("fields.kinds.textArea"),
6627
+ group: 1
6628
+ },
6629
+ textarea: {
6630
+ value: "textarea",
6631
+ label: t$1("fields.kinds.textarea"),
6632
+ group: 1
6633
+ },
6634
+ person: {
6635
+ value: "person",
6636
+ label: t$1("fields.kinds.person"),
6637
+ group: 8
6638
+ },
6639
+ checkbox: {
6640
+ value: "checkbox",
6641
+ label: t$1("fields.kinds.checkbox"),
6642
+ group: 9
6643
+ },
6644
+ regex: {
6645
+ value: "regex",
6646
+ label: t$1("fields.kinds.regex"),
6647
+ group: 10
6648
+ },
6649
+ integer: {
6650
+ value: "integer",
6651
+ label: t$1("fields.kinds.integer"),
6652
+ group: 2
6653
+ },
6654
+ decimal: {
6655
+ value: "decimal",
6656
+ label: t$1("fields.kinds.decimal"),
6657
+ group: 2
6658
+ },
6659
+ datetime: {
6660
+ value: "datetime",
6661
+ label: t$1("fields.kinds.datetime"),
6662
+ group: 11
6366
6663
  }
6367
- return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
6368
- showTime: true,
6369
- timeFormat: "h:mm A"
6370
- }, fieldProps, {
6371
- onChange: function onChange(dateTime) {
6372
- return handleSubmit(dateTimeToString(dateTime));
6373
- }
6374
- }));
6375
6664
  };
6376
-
6377
- var MultiOption = function MultiOption(props) {
6378
- var _useFormikFields = useFormikFields(props),
6379
- handleSubmit = _useFormikFields.handleSubmit,
6380
- fieldProps = _useFormikFields.fieldProps;
6381
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
6382
- isMulti: true,
6383
- isSearchable: true
6384
- }, fieldProps, {
6385
- onChange: function onChange(selectedOptions) {
6386
- return handleSubmit(ramda.pluck("value", selectedOptions));
6387
- }
6388
- }));
6665
+ var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
6666
+ var INITIAL_FIELDS = {
6667
+ name: "",
6668
+ kind: pure.toLabelAndValue("text"),
6669
+ isRequired: false
6389
6670
  };
6390
-
6391
- var Number$1 = function Number(props) {
6392
- var _useFormikFields = useFormikFields(props),
6393
- handleSubmit = _useFormikFields.handleSubmit,
6394
- fieldProps = _useFormikFields.fieldProps;
6395
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6396
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
6397
- type: "number",
6398
- suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik.Button, {
6399
- icon: neetoIcons.Check,
6400
- style: "text",
6401
- onClick: function onClick() {
6402
- return handleSubmit();
6403
- }
6404
- })
6405
- }));
6671
+ var DEFAULT_OPTION = {
6672
+ label: "",
6673
+ displayOrder: 0
6674
+ };
6675
+ var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
6676
+ var DEFAULT_REGEX_DATA = {
6677
+ regex: "",
6678
+ helpMessage: ""
6679
+ };
6680
+ var BASIC_FIELD_FORM_VALIDATIONS = {
6681
+ name: yup__namespace.string().trim().required(t$1("validations.fieldNameIsRequired")),
6682
+ isRequired: yup__namespace["boolean"](),
6683
+ kind: yup__namespace.object().shape({
6684
+ value: yup__namespace.string().required()
6685
+ }).required(t$1("validations.kindIsRequired")),
6686
+ data: yup__namespace.mixed().when("kind", {
6687
+ is: function is(kind) {
6688
+ return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
6689
+ },
6690
+ then: regexValidationSchema
6691
+ }).when("kind", {
6692
+ is: function is(kind) {
6693
+ return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
6694
+ },
6695
+ then: dropDownOptionsValidationSchema
6696
+ })
6406
6697
  };
6407
6698
 
6408
- var RangePicker = function RangePicker(props) {
6409
- var _useFormikFields = useFormikFields(props),
6410
- handleSubmit = _useFormikFields.handleSubmit,
6411
- fieldProps = _useFormikFields.fieldProps;
6412
- var handleChange = function handleChange(_ref) {
6413
- var _ref2 = _slicedToArray(_ref, 2),
6414
- begin = _ref2[0],
6415
- end = _ref2[1];
6416
- return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
6699
+ var AdditionalInputs = function AdditionalInputs() {
6700
+ var _useTranslation = useTranslation(),
6701
+ t = _useTranslation.t;
6702
+ var _useFormikContext = formik.useFormikContext(),
6703
+ _useFormikContext$val = _useFormikContext.values,
6704
+ kind = _useFormikContext$val.kind,
6705
+ options = _useFormikContext$val.data,
6706
+ isSystem = _useFormikContext$val.isSystem;
6707
+ var removeOption = function removeOption(arrayHelpers, index) {
6708
+ return arrayHelpers.remove(index);
6417
6709
  };
6418
- if (props.kind === KINDS.dateRange) {
6419
- return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
6420
- type: "range",
6421
- onChange: handleChange
6710
+ var addOption = function addOption(arrayHelpers) {
6711
+ return arrayHelpers.push(DEFAULT_OPTION);
6712
+ };
6713
+ if (isDropdown(kind.value)) {
6714
+ return /*#__PURE__*/React__default["default"].createElement(formik.FieldArray, {
6715
+ name: "data"
6716
+ }, function (arrayHelpers) {
6717
+ return /*#__PURE__*/React__default["default"].createElement("div", {
6718
+ className: "flex w-full flex-col gap-y-4"
6719
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
6720
+ required: true
6721
+ }, t("titles.dropdownOptions")), pure.isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
6722
+ return /*#__PURE__*/React__default["default"].createElement("div", {
6723
+ className: "flex w-full space-x-3",
6724
+ key: index
6725
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
6726
+ className: "w-full"
6727
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6728
+ disabled: isSystem,
6729
+ name: "data.".concat(index, ".label"),
6730
+ placeholder: t("placeholders.enterAnOption"),
6731
+ suffix: options.length > 1 && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
6732
+ icon: neetoIcons.Delete,
6733
+ style: "text",
6734
+ onClick: function onClick() {
6735
+ return removeOption(arrayHelpers, index);
6736
+ }
6737
+ })
6738
+ })));
6739
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
6740
+ fullWidth: true,
6741
+ className: "mb-6 border-dashed text-xs uppercase",
6742
+ label: t("labels.addMoreOption"),
6743
+ style: "secondary",
6744
+ onClick: function onClick() {
6745
+ return addOption(arrayHelpers);
6746
+ }
6747
+ }));
6748
+ });
6749
+ } else if (isRegex(kind.value)) {
6750
+ return /*#__PURE__*/React__default["default"].createElement("div", {
6751
+ className: "flex w-full flex-col gap-y-4"
6752
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
6753
+ required: true
6754
+ }, t("titles.regexOptions")), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6755
+ disabled: isSystem,
6756
+ label: t("labels.regexCondition"),
6757
+ name: "data.condition",
6758
+ placeholder: t("placeholders.regexExample")
6759
+ }), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6760
+ disabled: isSystem,
6761
+ label: t("labels.helpMessage"),
6762
+ name: "data.helpMessage",
6763
+ placeholder: t("placeholders.enterErrorMessage")
6422
6764
  }));
6423
6765
  }
6766
+ return null;
6767
+ };
6424
6768
 
6425
- //time_range
6426
- return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, fieldProps, {
6427
- use12Hours: true,
6428
- format: "h:mm A",
6429
- type: "range",
6430
- onChange: handleChange
6431
- }));
6769
+ /** @type {React.FC<import("types").FieldFormProps>} */
6770
+
6771
+ var FieldForm = function FieldForm(_ref) {
6772
+ var chosenKind = _ref.chosenKind,
6773
+ _ref$kindSelectOption = _ref.kindSelectOptions,
6774
+ kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
6775
+ _ref$isSystem = _ref.isSystem,
6776
+ isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
6777
+ _ref$hideRequiredSwit = _ref.hideRequiredSwitch,
6778
+ hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
6779
+ children = _ref.children;
6780
+ var _useTranslation = useTranslation(),
6781
+ t = _useTranslation.t;
6782
+ var _useFormikContext = formik.useFormikContext(),
6783
+ options = _useFormikContext.values.data,
6784
+ setFieldValue = _useFormikContext.setFieldValue;
6785
+ var handleKindChange = function handleKindChange(kind) {
6786
+ setFieldValue("kind", kind);
6787
+ if (isDropdown(kind.value)) {
6788
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
6789
+ } else if (isRegex(kind.value)) {
6790
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
6791
+ }
6792
+ };
6793
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
6794
+ className: "w-full space-y-4"
6795
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
6796
+ required: true,
6797
+ disabled: isSystem,
6798
+ label: t("labels.fieldName"),
6799
+ name: "name",
6800
+ placeholder: t("placeholders.enterFieldName")
6801
+ }), /*#__PURE__*/React__default["default"].createElement(formik$1.Select, {
6802
+ isSearchable: true,
6803
+ isDisabled: isSystem,
6804
+ label: t("labels.fieldKind"),
6805
+ name: "kind",
6806
+ options: kindSelectOptions,
6807
+ onChange: handleKindChange
6808
+ }), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React__default["default"].createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
6809
+ className: "flex items-center gap-2"
6810
+ }, /*#__PURE__*/React__default["default"].createElement(formik$1.Switch, {
6811
+ name: "isRequired"
6812
+ }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6813
+ className: "leading-4",
6814
+ component: "span",
6815
+ style: "body2"
6816
+ }, t("labels.isRequired"))), children));
6432
6817
  };
6433
6818
 
6434
- var SingleOption = function SingleOption(props) {
6435
- var _useFormikFields = useFormikFields(props),
6436
- handleSubmit = _useFormikFields.handleSubmit,
6437
- fieldProps = _useFormikFields.fieldProps;
6438
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
6439
- isSearchable: true
6440
- }, fieldProps, {
6441
- onChange: function onChange(_ref) {
6442
- var value = _ref.value;
6443
- return handleSubmit(value);
6819
+ var _excluded$2 = ["resourceType", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6820
+ function ownKeys$5(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; }
6821
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6822
+
6823
+ /** @type {React.FC<import("types").AddProps>} */
6824
+
6825
+ var Add = function Add(_ref) {
6826
+ var resourceType = _ref.resourceType,
6827
+ _ref$allowedKinds = _ref.allowedKinds,
6828
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6829
+ ownerId = _ref.ownerId,
6830
+ additionalValidations = _ref.additionalValidations,
6831
+ initialValues = _ref.initialValues,
6832
+ onClose = _ref.onClose,
6833
+ onMutationSuccess = _ref.onMutationSuccess,
6834
+ props = _objectWithoutProperties(_ref, _excluded$2);
6835
+ var _useTranslation = useTranslation(),
6836
+ t = _useTranslation.t;
6837
+ var _useCreateField = useCreateField({
6838
+ onSuccess: onMutationSuccess
6839
+ }),
6840
+ createField = _useCreateField.mutate,
6841
+ isSubmitting = _useCreateField.isLoading;
6842
+ var filteredKinds = ramda.values(ramda.pick(allowedKinds, FIELD_KINDS));
6843
+ var handleSubmit = function handleSubmit(formValues) {
6844
+ var payload = buildPayload({
6845
+ formValues: formValues,
6846
+ resourceType: resourceType,
6847
+ ownerId: ownerId
6848
+ });
6849
+ createField(payload, {
6850
+ onSuccess: onClose
6851
+ });
6852
+ };
6853
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6854
+ style: "h2"
6855
+ }, t("titles.addField"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
6856
+ formikProps: {
6857
+ initialValues: _objectSpread$5(_objectSpread$5({}, initialValues), INITIAL_FIELDS),
6858
+ validationSchema: generateValidationSchema(additionalValidations),
6859
+ onSubmit: handleSubmit
6444
6860
  }
6861
+ }, function (_ref2) {
6862
+ var dirty = _ref2.dirty,
6863
+ kind = _ref2.values.kind;
6864
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FieldForm, _extends({
6865
+ chosenKind: kind.value,
6866
+ kindSelectOptions: filteredKinds
6867
+ }, props)), renderFormFooter({
6868
+ onClose: onClose,
6869
+ loading: isSubmitting,
6870
+ dirty: dirty
6871
+ }));
6445
6872
  }));
6446
6873
  };
6447
6874
 
6448
- var Text = function Text(props) {
6449
- var _useFormikFields = useFormikFields(props),
6450
- handleSubmit = _useFormikFields.handleSubmit,
6451
- fieldProps = _useFormikFields.fieldProps;
6452
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6453
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
6454
- suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik.Button, {
6455
- icon: neetoIcons.Check,
6456
- style: "text",
6457
- onClick: function onClick() {
6458
- return handleSubmit();
6459
- }
6460
- })
6461
- }));
6462
- };
6875
+ var _excluded$1 = ["fieldId", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6876
+ function ownKeys$4(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; }
6877
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6463
6878
 
6464
- var TextArea = function TextArea(props) {
6879
+ /** @type {React.FC<import("types").EditProps>} */
6880
+
6881
+ var Edit = function Edit(_ref) {
6882
+ var fieldId = _ref.fieldId,
6883
+ _ref$allowedKinds = _ref.allowedKinds,
6884
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6885
+ ownerId = _ref.ownerId,
6886
+ _ref$additionalValida = _ref.additionalValidations,
6887
+ additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
6888
+ _ref$initialValues = _ref.initialValues,
6889
+ initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
6890
+ onClose = _ref.onClose,
6891
+ onMutationSuccess = _ref.onMutationSuccess,
6892
+ props = _objectWithoutProperties(_ref, _excluded$1);
6465
6893
  var _useTranslation = useTranslation(),
6466
6894
  t = _useTranslation.t;
6467
- var _useFormikFields = useFormikFields(props),
6468
- handleSubmit = _useFormikFields.handleSubmit,
6469
- fieldProps = _useFormikFields.fieldProps;
6470
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6471
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik.Button, {
6472
- className: "m-auto mt-2",
6473
- label: t("labels.submit"),
6474
- size: "small",
6475
- onClick: function onClick() {
6476
- return handleSubmit();
6895
+ var _useShowField = useShowField({
6896
+ fieldId: fieldId,
6897
+ ownerId: ownerId
6898
+ }),
6899
+ _useShowField$data = _useShowField.data,
6900
+ _useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
6901
+ _useShowField$data2$f = _useShowField$data2.field,
6902
+ field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
6903
+ var _useUpdateField = useUpdateField({
6904
+ onSuccess: function onSuccess() {
6905
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6906
+ args[_key] = arguments[_key];
6907
+ }
6908
+ onMutationSuccess === null || onMutationSuccess === void 0 ? void 0 : onMutationSuccess.apply(void 0, args);
6909
+ onClose();
6910
+ }
6911
+ }),
6912
+ updateField = _useUpdateField.mutate,
6913
+ isSubmitting = _useUpdateField.isLoading;
6914
+ var handleSubmit = function handleSubmit(formValues) {
6915
+ var payload = buildPayload({
6916
+ formValues: formValues,
6917
+ ownerId: ownerId
6918
+ });
6919
+ updateField({
6920
+ fieldId: fieldId,
6921
+ payload: payload
6922
+ });
6923
+ };
6924
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6925
+ style: "h2"
6926
+ }, t("titles.editField"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
6927
+ formikProps: {
6928
+ initialValues: _objectSpread$4(_objectSpread$4({}, initialValues), ramda.assoc("kind", FIELD_KINDS[field.kind], field)),
6929
+ validationSchema: generateValidationSchema(additionalValidations),
6930
+ enableReinitialize: true,
6931
+ onSubmit: handleSubmit
6477
6932
  }
6933
+ }, function (_ref2) {
6934
+ var kind = _ref2.values.kind,
6935
+ dirty = _ref2.dirty;
6936
+ var permittedKinds = getPermittedKinds({
6937
+ allowedKinds: allowedKinds,
6938
+ selectedKind: kind
6939
+ });
6940
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FieldForm, _extends({
6941
+ chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
6942
+ isSystem: field.isSystem,
6943
+ kindSelectOptions: permittedKinds
6944
+ }, props)), renderFormFooter({
6945
+ onClose: onClose,
6946
+ loading: isSubmitting,
6947
+ dirty: dirty
6948
+ }));
6478
6949
  }));
6479
6950
  };
6480
6951
 
6481
- function ownKeys$5(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; }
6482
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6483
- var standardComponents = {
6484
- text: Text,
6485
- regex: Text,
6486
- textarea: TextArea,
6487
- text_area: TextArea,
6488
- // TODO: Remove text-area after integration in all hosts.
6489
- number: Number$1,
6490
- monetary: Number$1,
6491
- integer: Number$1,
6492
- decimal: Number$1,
6493
- date: DateOrTime,
6494
- time: DateOrTime,
6495
- datetime: DateOrTime,
6496
- single_option: SingleOption,
6497
- multi_option: MultiOption,
6498
- date_range: RangePicker,
6499
- time_range: RangePicker,
6500
- checkbox: Checkbox
6501
- };
6502
- var getFieldInput = function getFieldInput(_ref) {
6503
- var field = _ref.field,
6504
- _ref$customComponents = _ref.customComponents,
6505
- customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
6506
- var Component = customComponents[field.kind] || standardComponents[field.kind];
6507
- if (Component) {
6508
- return Component;
6509
- }
6510
- return null;
6511
- };
6512
- var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
6513
- return fieldValues.filter(function (item) {
6514
- return !ramda.isNil(ramda.prop("data", item));
6515
- });
6516
- };
6517
- var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
6518
- return ramda.map(ramda.pick(["id", "fieldId", "data"]), fieldValues);
6519
- };
6520
- var transformValues = function transformValues(_ref2) {
6521
- var formikValues = _ref2.values,
6522
- fields = _ref2.fields;
6523
- var allFieldValues = ramda.clone(formikValues);
6524
- var neetoFieldValues = [];
6525
- fields.forEach(function (_ref3) {
6526
- var id = _ref3.id,
6527
- name = _ref3.name;
6528
- neetoFieldValues.push(allFieldValues["".concat(name, "-").concat(id)]);
6529
- delete allFieldValues["".concat(name, "-").concat(id)];
6530
- });
6531
- var cleanedFieldValues = ramda.pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
6532
- return _objectSpread$5(_objectSpread$5({}, allFieldValues), {}, {
6533
- fieldValuesAttributes: cleanedFieldValues
6534
- });
6535
- };
6536
- var getInitialFieldValue = function getInitialFieldValue(field) {
6537
- var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6538
- var existingFieldValueData = pure.findBy({
6539
- fieldId: field.id
6540
- }, fieldValues);
6541
- var newFieldValueData = {
6542
- fieldId: field.id,
6543
- data: null
6544
- };
6545
- return _defineProperty({}, "".concat(field.name, "-").concat(field.id), existingFieldValueData || newFieldValueData);
6546
- };
6547
- var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6548
- var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6549
- return getNonSystemFields(fields).map(function (field) {
6550
- return getInitialFieldValue(field, fieldValues);
6551
- });
6552
- };
6553
- var mergeInitialValues = function mergeInitialValues(_ref5) {
6554
- var initialValues = _ref5.initialValues,
6555
- fields = _ref5.fields;
6556
- var initialValue = ramda.mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6557
- return ramda.omit(["fieldValues"], initialValue);
6558
- };
6559
- var getNonSystemFields = function getNonSystemFields(fields) {
6560
- return pure.filterBy({
6561
- isSystem: false
6562
- }, fields);
6563
- };
6564
- var neetoFieldsUtils = {
6565
- mergeInitialValues: mergeInitialValues,
6566
- transformValues: transformValues
6567
- };
6952
+ var _excluded = ["isOpen", "selectedField"];
6568
6953
 
6569
- function ownKeys$4(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; }
6570
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6571
- var FieldInputs = function FieldInputs(_ref) {
6572
- var _ref$customComponents = _ref.customComponents,
6573
- customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6574
- fields = _ref.fields,
6575
- formRef = _ref.formRef,
6576
- disabled = _ref.disabled,
6577
- isRequiredColumnName = _ref.isRequiredColumnName;
6578
- var _useTranslation = useTranslation(),
6579
- t = _useTranslation.t;
6580
- return getNonSystemFields(fields).map(function (field) {
6581
- var Field = getFieldInput({
6582
- field: field,
6583
- customComponents: customComponents
6584
- });
6585
- if (Field) {
6586
- return /*#__PURE__*/React__default["default"].createElement(Field, _extends({
6587
- key: field.id
6588
- }, _objectSpread$4(_objectSpread$4({}, field), {}, {
6589
- formRef: formRef,
6590
- disabled: disabled,
6591
- isRequiredColumnName: isRequiredColumnName
6592
- })));
6593
- }
6594
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6595
- key: field.id,
6596
- style: "body2"
6597
- }, t("messages.invalidKind"));
6598
- });
6954
+ /** @type {React.FC<import("types").FieldsPaneProps>} */
6955
+
6956
+ var FieldsPane = function FieldsPane(_ref) {
6957
+ var isOpen = _ref.isOpen,
6958
+ _ref$selectedField = _ref.selectedField,
6959
+ selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
6960
+ props = _objectWithoutProperties(_ref, _excluded);
6961
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
6962
+ isOpen: isOpen,
6963
+ onClose: props.onClose
6964
+ }, ramda.isEmpty(selectedField) ? /*#__PURE__*/React__default["default"].createElement(Add, props) : /*#__PURE__*/React__default["default"].createElement(Edit, _extends({
6965
+ fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
6966
+ }, props)));
6599
6967
  };
6600
6968
 
6601
6969
  var Menu = neetoui.Dropdown.Menu,
@@ -6606,7 +6974,7 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6606
6974
  return [{
6607
6975
  key: "name",
6608
6976
  dataIndex: "name",
6609
- title: t("titles.name"),
6977
+ title: t$1("titles.name"),
6610
6978
  render: function render(name, field) {
6611
6979
  return /*#__PURE__*/React__default["default"].createElement("div", {
6612
6980
  className: "flex items-center justify-between gap-x-3"
@@ -6623,25 +6991,25 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6623
6991
  onClick: function onClick() {
6624
6992
  return onEditClick(field);
6625
6993
  }
6626
- }, t("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6994
+ }, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6627
6995
  onClick: function onClick() {
6628
6996
  return onDeleteClick(field);
6629
6997
  }
6630
- }, t("labels.delete")))));
6998
+ }, t$1("labels.delete")))));
6631
6999
  }
6632
7000
  }, {
6633
7001
  key: "kind",
6634
7002
  dataIndex: "kind",
6635
- title: t("titles.kind"),
7003
+ title: t$1("titles.kind"),
6636
7004
  render: function render(kind) {
6637
7005
  return DISPLAY_KINDS[kind];
6638
7006
  }
6639
7007
  }, {
6640
7008
  key: "isRequired",
6641
7009
  dataIndex: "isRequired",
6642
- title: t("titles.required"),
7010
+ title: t$1("titles.required"),
6643
7011
  render: function render(boolVal) {
6644
- return boolVal ? t("common.yes") : t("common.no");
7012
+ return boolVal ? t$1("common.yes") : t$1("common.no");
6645
7013
  }
6646
7014
  }];
6647
7015
  };
@@ -6649,14 +7017,15 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6649
7017
  var items = _ref2.items,
6650
7018
  isOwnerBased = _ref2.isOwnerBased,
6651
7019
  selectedMenu = _ref2.selectedMenu,
6652
- handleBlockClick = _ref2.handleBlockClick;
7020
+ handleBlockClick = _ref2.handleBlockClick,
7021
+ nameAliases = _ref2.nameAliases;
6653
7022
  if (isOwnerBased) {
6654
7023
  return items.map(function (item) {
6655
7024
  return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
6656
7025
  active: selectedMenu === item.id,
6657
7026
  key: item.id,
6658
7027
  label: pure.humanize(item.name),
6659
- description: t("messages.manageFieldFor", {
7028
+ description: t$1("messages.manageFieldFor", {
6660
7029
  resource: pure.humanize(item.name).toLocaleLowerCase()
6661
7030
  }),
6662
7031
  onClick: handleBlockClick({
@@ -6669,8 +7038,8 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6669
7038
  return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
6670
7039
  active: selectedMenu === item,
6671
7040
  key: item,
6672
- label: pure.humanize(item),
6673
- description: t("messages.manageFieldFor", {
7041
+ label: nameAliases[item] || pure.humanize(item),
7042
+ description: t$1("messages.manageFieldFor", {
6674
7043
  resource: pure.humanize(item).toLocaleLowerCase()
6675
7044
  }),
6676
7045
  onClick: handleBlockClick({
@@ -6689,7 +7058,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
6689
7058
  style: "h5",
6690
7059
  textTransform: "uppercase",
6691
7060
  weight: "bold"
6692
- }, t("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
7061
+ }, t$1("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
6693
7062
  active: selectedState === FIELD_STATES.active,
6694
7063
  count: activeFieldsCount,
6695
7064
  label: fieldStatesTaxonomy.active,
@@ -6709,11 +7078,26 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
6709
7078
  var _findBy;
6710
7079
  var isOwnerBased = _ref4.isOwnerBased,
6711
7080
  owners = _ref4.owners,
6712
- selectedVal = _ref4.selectedVal;
6713
- return t("messages.manageFieldFor", {
7081
+ selectedVal = _ref4.selectedVal,
7082
+ nameAliases = _ref4.nameAliases;
7083
+ return t$1("messages.manageFieldFor", {
6714
7084
  resource: isOwnerBased ? (_findBy = pure.findBy({
6715
7085
  id: selectedVal
6716
- }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : selectedVal
7086
+ }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal
7087
+ });
7088
+ };
7089
+ var renderNoDataHelpText = function renderNoDataHelpText(url) {
7090
+ return /*#__PURE__*/React__default["default"].createElement(Trans, {
7091
+ i18nKey: "helpTexts.noData",
7092
+ components: {
7093
+ a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
7094
+ className: "neeto-ui-text-primary-600 underline",
7095
+ target: "_blank",
7096
+ to: {
7097
+ pathname: url
7098
+ }
7099
+ })
7100
+ }
6717
7101
  });
6718
7102
  };
6719
7103
 
@@ -6760,6 +7144,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6760
7144
  var _getQueryParams = utils.getQueryParams(),
6761
7145
  resource = _getQueryParams.resource,
6762
7146
  state = _getQueryParams.state;
7147
+ var ownerId = showOwnersInMenu ? resource : undefined;
6763
7148
  var history = reactRouterDom.useHistory();
6764
7149
  var _useFetchConfigs = useFetchConfigs(),
6765
7150
  _useFetchConfigs$data = _useFetchConfigs.data,
@@ -6771,7 +7156,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6771
7156
  isConfigsLoading = _useFetchConfigs.isLoading;
6772
7157
  var fieldParams = {
6773
7158
  resourceType: !showOwnersInMenu ? resource : undefined,
6774
- ownerId: showOwnersInMenu ? resource : undefined,
7159
+ ownerId: ownerId,
6775
7160
  state: state || FIELD_STATES.active
6776
7161
  };
6777
7162
  var _useFetchFields = useFetchFields(fieldParams, {
@@ -6786,15 +7171,18 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6786
7171
  inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6787
7172
  isFieldsLoading = _useFetchFields.isLoading,
6788
7173
  isFieldsFetching = _useFetchFields.isFetching;
6789
- var _useDestroyField = useDestroyField(),
6790
- deleteField = _useDestroyField.mutate,
6791
- isDeleting = _useDestroyField.isLoading;
6792
- var handleDelete = function handleDelete() {
6793
- deleteField(selectedField.id, {
7174
+ var _useDestroyField = useDestroyField({
6794
7175
  onSuccess: function onSuccess() {
6795
7176
  setIsDeleteAlertOpen(false);
6796
7177
  setSelectedField({});
6797
7178
  }
7179
+ }),
7180
+ deleteField = _useDestroyField.mutate,
7181
+ isDeleting = _useDestroyField.isLoading;
7182
+ var handleDelete = function handleDelete() {
7183
+ deleteField({
7184
+ fieldId: selectedField.id,
7185
+ ownerId: ownerId
6798
7186
  });
6799
7187
  };
6800
7188
  var handleClosePane = function handleClosePane() {
@@ -6871,6 +7259,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6871
7259
  selectedField: selectedField,
6872
7260
  selectedState: state,
6873
7261
  selectedMenu: resource,
7262
+ // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType
6874
7263
  isFieldsFetching: isFieldsFetching,
6875
7264
  isFieldsLoading: isFieldsLoading,
6876
7265
  isDeleting: isDeleting,
@@ -6890,13 +7279,16 @@ var FieldsTable = function FieldsTable(_ref) {
6890
7279
  isLoading = _ref.isLoading,
6891
7280
  rowData = _ref.rowData,
6892
7281
  columnData = _ref.columnData,
6893
- setIsPaneOpen = _ref.setIsPaneOpen;
7282
+ setIsPaneOpen = _ref.setIsPaneOpen,
7283
+ helpDocUrl = _ref.helpDocUrl;
6894
7284
  var _useTranslation = useTranslation(),
6895
7285
  t = _useTranslation.t;
6896
7286
  var showNoDataScreen = !isLoading && ramda.isEmpty(rowData);
6897
7287
  return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], null, showNoDataScreen ? /*#__PURE__*/React__default["default"].createElement("div", {
6898
7288
  className: "flex h-full w-full items-center justify-center"
6899
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, {
7289
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({}, helpDocUrl && {
7290
+ helpText: renderNoDataHelpText(helpDocUrl)
7291
+ }, {
6900
7292
  title: t("messages.noFields"),
6901
7293
  primaryButtonProps: {
6902
7294
  label: t("labels.addField"),
@@ -6904,7 +7296,7 @@ var FieldsTable = function FieldsTable(_ref) {
6904
7296
  return setIsPaneOpen(true);
6905
7297
  }
6906
7298
  }
6907
- })) : /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
7299
+ }))) : /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
6908
7300
  fixedHeight: true,
6909
7301
  allowRowClick: false,
6910
7302
  columnData: columnData,
@@ -11184,7 +11576,8 @@ var FieldBlock$1 = /*#__PURE__*/React__default["default"].memo(FieldBlock);
11184
11576
  var ReorderPane = function ReorderPane(_ref) {
11185
11577
  var isOpen = _ref.isOpen,
11186
11578
  onClose = _ref.onClose,
11187
- allFields = _ref.allFields;
11579
+ allFields = _ref.allFields,
11580
+ ownerId = _ref.ownerId;
11188
11581
  var _useState = React.useState([]),
11189
11582
  _useState2 = _slicedToArray(_useState, 2),
11190
11583
  fields = _useState2[0],
@@ -11209,10 +11602,11 @@ var ReorderPane = function ReorderPane(_ref) {
11209
11602
  fields.map(function (field, index) {
11210
11603
  return field.id !== allFields[index].id && params.push({
11211
11604
  id: field.id,
11212
- displayOrder: index
11605
+ displayOrder: index + 1
11213
11606
  });
11214
11607
  });
11215
11608
  reorderField({
11609
+ ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId,
11216
11610
  fields: params
11217
11611
  }, {
11218
11612
  onSuccess: onClose
@@ -11284,7 +11678,10 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11284
11678
  _ref$showStateFilter = _ref.showStateFilter,
11285
11679
  showStateFilter = _ref$showStateFilter === void 0 ? true : _ref$showStateFilter,
11286
11680
  _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
11287
- fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon;
11681
+ fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
11682
+ helpDocUrl = _ref.helpDocUrl,
11683
+ _ref$nameAliases = _ref.nameAliases,
11684
+ nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases;
11288
11685
  var _useTranslation = useTranslation(),
11289
11686
  t = _useTranslation.t;
11290
11687
  var _useFieldsDashboard = useFieldsDashboard({
@@ -11319,7 +11716,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11319
11716
  handleClosePane = _useFieldsDashboard.handleClosePane,
11320
11717
  handleReorderPaneClose = _useFieldsDashboard.handleReorderPaneClose,
11321
11718
  handleBlockClick = _useFieldsDashboard.handleBlockClick;
11322
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
11719
+ var isMenuBarNeeded = showStateFilter || menuItems.length > 1;
11720
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMenuBarNeeded && /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
11323
11721
  showMenu: isMenuBarOpen,
11324
11722
  title: t("titles.field", PLURAL)
11325
11723
  }, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
@@ -11328,7 +11726,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11328
11726
  isOwnerBased: showOwnersInMenu,
11329
11727
  items: menuItems,
11330
11728
  selectedMenu: selectedMenu,
11331
- handleBlockClick: handleBlockClick
11729
+ handleBlockClick: handleBlockClick,
11730
+ nameAliases: nameAliases
11332
11731
  }), showStateFilter && renderMenuBarFilters({
11333
11732
  selectedState: selectedState,
11334
11733
  fieldStatesTaxonomy: fieldStatesTaxonomy,
@@ -11337,11 +11736,13 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11337
11736
  handleBlockClick: handleBlockClick
11338
11737
  })), isScreenLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
11339
11738
  className: "flex w-full flex-grow items-center justify-center"
11340
- }, /*#__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"], {
11341
- breadcrumbs: breadcrumbs,
11739
+ }, /*#__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({
11740
+ breadcrumbs: breadcrumbs
11741
+ }, isMenuBarNeeded && {
11342
11742
  menuBarToggle: function menuBarToggle() {
11343
11743
  return setIsMenuBarOpen(ramda.not);
11344
- },
11744
+ }
11745
+ }, {
11345
11746
  actionBlock: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
11346
11747
  label: t("labels.reorder"),
11347
11748
  style: "secondary",
@@ -11363,22 +11764,27 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11363
11764
  hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
11364
11765
  initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
11365
11766
  isOpen: isPaneOpen,
11366
- resourceType: showOwnersInMenu ? resourceType : selectedMenu,
11767
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11768
+ resourceType: showOwnersInMenu ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
11769
+ ,
11367
11770
  selectedField: selectedField,
11368
- onClose: handleClosePane
11771
+ onClose: handleClosePane,
11772
+ onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
11369
11773
  }, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
11370
11774
  title: pure.humanize(getDashBoardTitle({
11371
11775
  isOwnerBased: showOwnersInMenu,
11372
11776
  owners: owners,
11373
- selectedVal: selectedMenu
11777
+ selectedVal: selectedMenu,
11778
+ nameAliases: nameAliases
11374
11779
  }))
11375
- }), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
11780
+ })), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
11376
11781
  leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
11377
11782
  className: "mr-4 font-semibold",
11378
11783
  style: "h4"
11379
11784
  }, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
11380
11785
  }), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
11381
11786
  columnData: columnData,
11787
+ helpDocUrl: helpDocUrl,
11382
11788
  isLoading: isFieldsFetching || isFieldsLoading,
11383
11789
  rowData: ramda.isEmpty(rowData) ? fields : rowData,
11384
11790
  setIsPaneOpen: setIsPaneOpen,
@@ -11386,6 +11792,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11386
11792
  })), /*#__PURE__*/React__default["default"].createElement(ReorderPane, {
11387
11793
  allFields: fields,
11388
11794
  isOpen: isReorderPaneOpen,
11795
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11389
11796
  onClose: handleReorderPaneClose
11390
11797
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
11391
11798
  isOpen: isDeleteAlertOpen,
@@ -11408,14 +11815,16 @@ var create = function create(payload) {
11408
11815
  var fetch = function fetch(payload) {
11409
11816
  return axios__default["default"].get(FIELD_VALUES_URL, payload);
11410
11817
  };
11411
- var destroy = function destroy(id, payload) {
11818
+ var destroy = function destroy(_ref) {
11819
+ var id = _ref.id,
11820
+ payload = _ref.payload;
11412
11821
  return axios__default["default"]["delete"](fieldValueUrl(id), {
11413
11822
  data: payload
11414
11823
  });
11415
11824
  };
11416
- var update = function update(_ref) {
11417
- var id = _ref.id,
11418
- payload = _ref.payload;
11825
+ var update = function update(_ref2) {
11826
+ var id = _ref2.id,
11827
+ payload = _ref2.payload;
11419
11828
  return axios__default["default"].patch(fieldValueUrl(id), payload);
11420
11829
  };
11421
11830
  var fieldValuesApi = {
@@ -11431,8 +11840,11 @@ var useCreateFieldValue = function useCreateFieldValue(options) {
11431
11840
  var queryClient = reactQuery.useQueryClient();
11432
11841
  return reactQuery.useMutation(fieldValuesApi.create, _objectSpread$1(_objectSpread$1({}, options), {}, {
11433
11842
  onSuccess: function onSuccess() {
11843
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11844
+ args[_key] = arguments[_key];
11845
+ }
11846
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11434
11847
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11435
- options === null || options === void 0 ? void 0 : options.onSuccess();
11436
11848
  }
11437
11849
  }));
11438
11850
  };
@@ -11440,8 +11852,23 @@ var useUpdateFieldValue = function useUpdateFieldValue(options) {
11440
11852
  var queryClient = reactQuery.useQueryClient();
11441
11853
  return reactQuery.useMutation(fieldValuesApi.update, _objectSpread$1(_objectSpread$1({}, options), {}, {
11442
11854
  onSuccess: function onSuccess() {
11855
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
11856
+ args[_key2] = arguments[_key2];
11857
+ }
11858
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11859
+ queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11860
+ }
11861
+ }));
11862
+ };
11863
+ var useDeleteFieldValue = function useDeleteFieldValue(options) {
11864
+ var queryClient = reactQuery.useQueryClient();
11865
+ return reactQuery.useMutation(fieldValuesApi.destroy, _objectSpread$1(_objectSpread$1({}, options), {}, {
11866
+ onSuccess: function onSuccess() {
11867
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11868
+ args[_key3] = arguments[_key3];
11869
+ }
11870
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11443
11871
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11444
- options === null || options === void 0 ? void 0 : options.onSuccess();
11445
11872
  }
11446
11873
  }));
11447
11874
  };
@@ -11453,7 +11880,7 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11453
11880
  onSubmit = _ref.onSubmit,
11454
11881
  _ref$className = _ref.className,
11455
11882
  className = _ref$className === void 0 ? "" : _ref$className;
11456
- return /*#__PURE__*/React__default["default"].createElement(formik.Form, {
11883
+ return /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
11457
11884
  className: classnames__default["default"]("flex w-full", className),
11458
11885
  formikProps: {
11459
11886
  initialValues: getInitialFieldValue(field, fieldValues),
@@ -11463,6 +11890,14 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11463
11890
  }, children);
11464
11891
  };
11465
11892
 
11893
+ var isFieldValueEmpty = function isFieldValueEmpty(fieldKind, fieldValueData) {
11894
+ if (fieldKind === KINDS.multiOption) return ramda.isEmpty(fieldValueData.values);
11895
+ if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {
11896
+ return ramda.isEmpty(fieldValueData.value[0]) && ramda.isEmpty(fieldValueData.value[1]);
11897
+ }
11898
+ return ramda.isEmpty(fieldValueData.value);
11899
+ };
11900
+
11466
11901
  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; }
11467
11902
  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; }
11468
11903
  var FieldValuesContainer = function FieldValuesContainer(_ref) {
@@ -11473,8 +11908,6 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11473
11908
  _ref$ownerId = _ref.ownerId,
11474
11909
  ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
11475
11910
  resourceId = _ref.resourceId,
11476
- _ref$queryKeysToBeInv = _ref.queryKeysToBeInvalidatedOnSuccess,
11477
- queryKeysToBeInvalidatedOnSuccess = _ref$queryKeysToBeInv === void 0 ? [] : _ref$queryKeysToBeInv,
11478
11911
  _ref$customComponents = _ref.customComponents,
11479
11912
  customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
11480
11913
  _ref$className = _ref.className,
@@ -11487,14 +11920,13 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11487
11920
  isRequiredColumnName = _ref.isRequiredColumnName,
11488
11921
  fieldContainerClassName = _ref.fieldContainerClassName,
11489
11922
  fieldClassName = _ref.fieldClassName,
11490
- labelClassName = _ref.labelClassName;
11491
- var queryClient = reactQuery.useQueryClient();
11923
+ labelClassName = _ref.labelClassName,
11924
+ _ref$onMutationSucces = _ref.onMutationSuccess,
11925
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? pure.noop : _ref$onMutationSucces;
11492
11926
  var _useTranslation = useTranslation(),
11493
11927
  t = _useTranslation.t;
11494
11928
  var queryOptions = {
11495
- onSuccess: function onSuccess() {
11496
- queryClient.invalidateQueries(queryKeysToBeInvalidatedOnSuccess);
11497
- }
11929
+ onSuccess: onMutationSuccess
11498
11930
  };
11499
11931
  var _useFetchFields = useFetchFields({
11500
11932
  resourceType: ramda.isEmpty(resourceType) ? undefined : resourceType,
@@ -11512,7 +11944,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11512
11944
  createFieldValue = _useCreateFieldValue.mutate;
11513
11945
  var _useUpdateFieldValue = useUpdateFieldValue(queryOptions),
11514
11946
  updateFieldValue = _useUpdateFieldValue.mutate;
11515
- var handleSubmit = function handleSubmit(values) {
11947
+ var _useDeleteFieldValue = useDeleteFieldValue(queryOptions),
11948
+ deleteFieldValue = _useDeleteFieldValue.mutate;
11949
+ var handleSubmit = function handleSubmit(field, values) {
11516
11950
  var fieldValue = ramda.head(ramda.values(values));
11517
11951
  var payload = {
11518
11952
  fieldValue: fieldValue,
@@ -11520,10 +11954,17 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11520
11954
  resourceId: resourceId,
11521
11955
  ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId
11522
11956
  };
11523
- fieldValue.id ? updateFieldValue({
11524
- id: fieldValue.id,
11525
- payload: payload
11526
- }) : createFieldValue(payload);
11957
+ if (isFieldValueEmpty(field.kind, fieldValue.data)) {
11958
+ deleteFieldValue({
11959
+ id: fieldValue.id,
11960
+ payload: payload
11961
+ });
11962
+ } else {
11963
+ fieldValue.id ? updateFieldValue({
11964
+ id: fieldValue.id,
11965
+ payload: payload
11966
+ }) : createFieldValue(payload);
11967
+ }
11527
11968
  };
11528
11969
  var fields = propFields || fetchedFields;
11529
11970
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -11546,7 +11987,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11546
11987
  style: "h5"
11547
11988
  }, pure.capitalize(field.name)), /*#__PURE__*/React__default["default"].createElement(FieldValueInputWrapper, {
11548
11989
  className: fieldClassName,
11549
- onSubmit: handleSubmit,
11990
+ onSubmit: function onSubmit(values) {
11991
+ return handleSubmit(field, values);
11992
+ },
11550
11993
  field: field,
11551
11994
  fieldValues: fieldValues
11552
11995
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -11565,10 +12008,10 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11565
12008
  }));
11566
12009
  };
11567
12010
 
11568
- exports.AddField = AddField;
11569
12011
  exports.FieldInputs = FieldInputs;
11570
12012
  exports.FieldValuesContainer = FieldValuesContainer;
11571
12013
  exports.FieldsDashboard = FieldsDashboard;
12014
+ exports.FieldsPane = FieldsPane;
11572
12015
  exports.neetoFieldsUtils = neetoFieldsUtils;
11573
12016
  exports.useCreateField = useCreateField;
11574
12017
  exports.useDestroyField = useDestroyField;