@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.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import React, { useContext, useState, useRef, useEffect, useLayoutEffect, useMemo, useCallback, createContext, memo, useReducer } from 'react';
2
- import { Pane, Label, Button, Typography, Switch as Switch$1, TimePicker, DatePicker, Select as Select$1, Input as Input$1, Textarea, Dropdown, NoData, Table, Spinner, Alert } from '@bigbinary/neetoui';
3
- import { values, pick, isEmpty, omit, assoc, map, isNil, isNotNil, pluck, clone as clone$1, pipe, mergeAll, prop, any, not, head } from 'ramda';
4
- import { ActionBlock, Input, Select, Switch, Form, Button as Button$1 } from '@bigbinary/neetoui/formik';
5
- import { useQuery, useQueryClient, useMutation } from 'react-query';
6
- import axios from 'axios';
7
- import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
8
- import { filterBy, toLabelAndValue, isNotEmpty, capitalize as capitalize$1, findBy, humanize, countBy, existsBy } from '@bigbinary/neeto-commons-frontend/pure';
2
+ import { Switch, TimePicker, DatePicker, Select, Input, Textarea, Typography, Pane, Label, Button as Button$1, Dropdown, NoData, Table, Spinner, Alert } from '@bigbinary/neetoui';
3
+ import { toLabelAndValue, isNotEmpty, capitalize as capitalize$1, filterBy, findBy, humanize, countBy, existsBy, noop as noop$2 } from '@bigbinary/neeto-commons-frontend/pure';
4
+ import { values, map, isNotNil, isNil, pluck, clone as clone$1, pipe, mergeAll, omit, prop, pick, isEmpty, assoc, any, not, head } from 'ramda';
5
+ import { useFormikContext, useField, FieldArray } from 'formik';
9
6
  import * as yup from 'yup';
10
- import { useFormikContext, FieldArray, useField } from 'formik';
11
- import { Delete, Check, MenuHorizontal, Reorder } from '@bigbinary/neeto-icons';
7
+ import { Check, Delete, MenuHorizontal, Reorder } from '@bigbinary/neeto-icons';
8
+ import { Button, ActionBlock, Input as Input$1, Select as Select$1, Switch as Switch$1, Form } from '@bigbinary/neetoui/formik';
12
9
  import Container from '@bigbinary/neeto-molecules/Container';
13
10
  import Header from '@bigbinary/neeto-molecules/Header';
14
11
  import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
15
12
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
16
13
  import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
14
+ import { useQuery, useQueryClient, useMutation } from 'react-query';
15
+ import axios from 'axios';
16
+ import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
17
17
  import { handleMetaClick } from '@bigbinary/neeto-commons-frontend/react-utils';
18
- import { useHistory } from 'react-router-dom';
18
+ import { Link, useHistory } from 'react-router-dom';
19
19
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
20
20
  import { unstable_batchedUpdates, createPortal } from 'react-dom';
21
21
  import classnames from 'classnames';
@@ -3714,8 +3714,8 @@ function transformOptions(options) {
3714
3714
  return options;
3715
3715
  }
3716
3716
 
3717
- 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; }
3718
- 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; }
3717
+ 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; }
3718
+ 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; }
3719
3719
  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); }; }
3720
3720
  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; } }
3721
3721
  function noop$1() {}
@@ -3775,9 +3775,9 @@ var I18n = function (_EventEmitter) {
3775
3775
  }
3776
3776
  }
3777
3777
  var defOpts = get();
3778
- this.options = _objectSpread$d(_objectSpread$d(_objectSpread$d({}, defOpts), this.options), transformOptions(options));
3778
+ this.options = _objectSpread$e(_objectSpread$e(_objectSpread$e({}, defOpts), this.options), transformOptions(options));
3779
3779
  if (this.options.compatibilityAPI !== 'v1') {
3780
- this.options.interpolation = _objectSpread$d(_objectSpread$d({}, defOpts.interpolation), this.options.interpolation);
3780
+ this.options.interpolation = _objectSpread$e(_objectSpread$e({}, defOpts.interpolation), this.options.interpolation);
3781
3781
  }
3782
3782
  if (options.keySeparator !== undefined) {
3783
3783
  this.options.userDefinedKeySeparator = options.keySeparator;
@@ -4055,7 +4055,7 @@ var I18n = function (_EventEmitter) {
4055
4055
  }
4056
4056
  options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));
4057
4057
  } else {
4058
- options = _objectSpread$d({}, opts);
4058
+ options = _objectSpread$e({}, opts);
4059
4059
  }
4060
4060
  options.lng = options.lng || fixedT.lng;
4061
4061
  options.lngs = options.lngs || fixedT.lngs;
@@ -4182,7 +4182,7 @@ var I18n = function (_EventEmitter) {
4182
4182
  var _this8 = this;
4183
4183
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4184
4184
  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
4185
- var mergedOptions = _objectSpread$d(_objectSpread$d(_objectSpread$d({}, this.options), options), {
4185
+ var mergedOptions = _objectSpread$e(_objectSpread$e(_objectSpread$e({}, this.options), options), {
4186
4186
  isClone: true
4187
4187
  });
4188
4188
  var clone = new I18n(mergedOptions);
@@ -4193,7 +4193,7 @@ var I18n = function (_EventEmitter) {
4193
4193
  membersToCopy.forEach(function (m) {
4194
4194
  clone[m] = _this8[m];
4195
4195
  });
4196
- clone.services = _objectSpread$d({}, this.services);
4196
+ clone.services = _objectSpread$e({}, this.services);
4197
4197
  clone.services.utils = {
4198
4198
  hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)
4199
4199
  };
@@ -4241,7 +4241,7 @@ instance.reloadResources;
4241
4241
  instance.use;
4242
4242
  instance.changeLanguage;
4243
4243
  instance.getFixedT;
4244
- var t = instance.t;
4244
+ var t$1 = instance.t;
4245
4245
  instance.exists;
4246
4246
  instance.setDefaultNamespace;
4247
4247
  instance.hasLoadedNamespace;
@@ -4632,9 +4632,79 @@ function getDefaultExportFromCjs (x) {
4632
4632
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
4633
4633
  }
4634
4634
 
4635
- 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; }
4635
+ /**
4636
+ * This file automatically generated from `pre-publish.js`.
4637
+ * Do not manually edit.
4638
+ */
4636
4639
 
4637
- 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; }
4640
+ var voidElements = {
4641
+ "area": true,
4642
+ "base": true,
4643
+ "br": true,
4644
+ "col": true,
4645
+ "embed": true,
4646
+ "hr": true,
4647
+ "img": true,
4648
+ "input": true,
4649
+ "link": true,
4650
+ "meta": true,
4651
+ "param": true,
4652
+ "source": true,
4653
+ "track": true,
4654
+ "wbr": true
4655
+ };
4656
+
4657
+ var e = /*@__PURE__*/getDefaultExportFromCjs(voidElements);
4658
+
4659
+ 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)},"")}};
4660
+
4661
+ /**
4662
+ * Copyright (C) 2017-present by Andrea Giammarchi - @WebReflection
4663
+ *
4664
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4665
+ * of this software and associated documentation files (the "Software"), to deal
4666
+ * in the Software without restriction, including without limitation the rights
4667
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4668
+ * copies of the Software, and to permit persons to whom the Software is
4669
+ * furnished to do so, subject to the following conditions:
4670
+ *
4671
+ * The above copyright notice and this permission notice shall be included in
4672
+ * all copies or substantial portions of the Software.
4673
+ *
4674
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4675
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4676
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4677
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4678
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4679
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
4680
+ * THE SOFTWARE.
4681
+ */
4682
+
4683
+ var replace = ''.replace;
4684
+ var es = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
4685
+ var unes = {
4686
+ '&amp;': '&',
4687
+ '&#38;': '&',
4688
+ '&lt;': '<',
4689
+ '&#60;': '<',
4690
+ '&gt;': '>',
4691
+ '&#62;': '>',
4692
+ '&apos;': "'",
4693
+ '&#39;': "'",
4694
+ '&quot;': '"',
4695
+ '&#34;': '"'
4696
+ };
4697
+
4698
+ function unescape(un) {
4699
+ return replace.call(un, es, cape);
4700
+ }
4701
+ function cape(m) {
4702
+ return unes[m];
4703
+ }
4704
+
4705
+ 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; }
4706
+
4707
+ 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; }
4638
4708
  var defaultOptions$1 = {
4639
4709
  bindI18n: 'languageChanged',
4640
4710
  bindI18nStore: '',
@@ -4648,7 +4718,7 @@ var i18nInstance;
4648
4718
  var I18nContext = React.createContext();
4649
4719
  function setDefaults() {
4650
4720
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4651
- defaultOptions$1 = _objectSpread$c(_objectSpread$c({}, defaultOptions$1), options);
4721
+ defaultOptions$1 = _objectSpread$d(_objectSpread$d({}, defaultOptions$1), options);
4652
4722
  }
4653
4723
  function getDefaults() {
4654
4724
  return defaultOptions$1;
@@ -4772,6 +4842,274 @@ function hasLoadedNamespace(ns, i18n) {
4772
4842
  });
4773
4843
  }
4774
4844
 
4845
+ var _excluded$4 = ["format"],
4846
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
4847
+
4848
+ 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; }
4849
+
4850
+ 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; }
4851
+
4852
+ function hasChildren(node, checkLength) {
4853
+ if (!node) return false;
4854
+ var base = node.props ? node.props.children : node.children;
4855
+ if (checkLength) return base.length > 0;
4856
+ return !!base;
4857
+ }
4858
+
4859
+ function getChildren(node) {
4860
+ if (!node) return [];
4861
+ return node && node.children ? node.children : node.props && node.props.children;
4862
+ }
4863
+
4864
+ function hasValidReactChildren(children) {
4865
+ if (Object.prototype.toString.call(children) !== '[object Array]') return false;
4866
+ return children.every(function (child) {
4867
+ return React.isValidElement(child);
4868
+ });
4869
+ }
4870
+
4871
+ function getAsArray(data) {
4872
+ return Array.isArray(data) ? data : [data];
4873
+ }
4874
+
4875
+ function mergeProps(source, target) {
4876
+ var newTarget = _objectSpread$c({}, target);
4877
+
4878
+ newTarget.props = Object.assign(source.props, target.props);
4879
+ return newTarget;
4880
+ }
4881
+
4882
+ function nodesToString(children, i18nOptions) {
4883
+ if (!children) return '';
4884
+ var stringNode = '';
4885
+ var childrenArray = getAsArray(children);
4886
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
4887
+ childrenArray.forEach(function (child, childIndex) {
4888
+ if (typeof child === 'string') {
4889
+ stringNode += "".concat(child);
4890
+ } else if (React.isValidElement(child)) {
4891
+ var childPropsCount = Object.keys(child.props).length;
4892
+ var shouldKeepChild = keepArray.indexOf(child.type) > -1;
4893
+ var childChildren = child.props.children;
4894
+
4895
+ if (!childChildren && shouldKeepChild && childPropsCount === 0) {
4896
+ stringNode += "<".concat(child.type, "/>");
4897
+ } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {
4898
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
4899
+ } else if (child.props.i18nIsDynamicList) {
4900
+ stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
4901
+ } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {
4902
+ stringNode += "<".concat(child.type, ">").concat(childChildren, "</").concat(child.type, ">");
4903
+ } else {
4904
+ var content = nodesToString(childChildren, i18nOptions);
4905
+ stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
4906
+ }
4907
+ } else if (child === null) {
4908
+ warn("Trans: the passed in value is invalid - seems you passed in a null child.");
4909
+ } else if (_typeof$1(child) === 'object') {
4910
+ var format = child.format,
4911
+ clone = _objectWithoutProperties(child, _excluded$4);
4912
+
4913
+ var keys = Object.keys(clone);
4914
+
4915
+ if (keys.length === 1) {
4916
+ var value = format ? "".concat(keys[0], ", ").concat(format) : keys[0];
4917
+ stringNode += "{{".concat(value, "}}");
4918
+ } else {
4919
+ warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child);
4920
+ }
4921
+ } else {
4922
+ 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);
4923
+ }
4924
+ });
4925
+ return stringNode;
4926
+ }
4927
+
4928
+ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
4929
+ if (targetString === '') return [];
4930
+ var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
4931
+ var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
4932
+ if (!children && !emptyChildrenButNeedsHandling) return [targetString];
4933
+ var data = {};
4934
+
4935
+ function getData(childs) {
4936
+ var childrenArray = getAsArray(childs);
4937
+ childrenArray.forEach(function (child) {
4938
+ if (typeof child === 'string') return;
4939
+ if (hasChildren(child)) getData(getChildren(child));else if (_typeof$1(child) === 'object' && !React.isValidElement(child)) Object.assign(data, child);
4940
+ });
4941
+ }
4942
+
4943
+ getData(children);
4944
+ var ast = c.parse("<0>".concat(targetString, "</0>"));
4945
+
4946
+ var opts = _objectSpread$c(_objectSpread$c({}, data), combinedTOpts);
4947
+
4948
+ function renderInner(child, node, rootReactNode) {
4949
+ var childs = getChildren(child);
4950
+ var mappedChildren = mapAST(childs, node.children, rootReactNode);
4951
+ return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
4952
+ }
4953
+
4954
+ function pushTranslatedJSX(child, inner, mem, i, isVoid) {
4955
+ if (child.dummy) child.children = inner;
4956
+ mem.push(React.cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
4957
+ key: i
4958
+ }), isVoid ? undefined : inner));
4959
+ }
4960
+
4961
+ function mapAST(reactNode, astNode, rootReactNode) {
4962
+ var reactNodes = getAsArray(reactNode);
4963
+ var astNodes = getAsArray(astNode);
4964
+ return astNodes.reduce(function (mem, node, i) {
4965
+ var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
4966
+
4967
+ if (node.type === 'tag') {
4968
+ var tmp = reactNodes[parseInt(node.name, 10)];
4969
+ if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
4970
+ if (!tmp) tmp = {};
4971
+ var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
4972
+ props: node.attrs
4973
+ }, tmp) : tmp;
4974
+ var isElement = React.isValidElement(child);
4975
+ var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
4976
+ var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof$1(child) === 'object' && child.dummy && !isElement;
4977
+ var isKnownComponent = _typeof$1(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
4978
+
4979
+ if (typeof child === 'string') {
4980
+ var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);
4981
+ mem.push(value);
4982
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
4983
+ var inner = renderInner(child, node, rootReactNode);
4984
+ pushTranslatedJSX(child, inner, mem, i);
4985
+ } else if (isEmptyTransWithHTML) {
4986
+ var _inner = mapAST(reactNodes, node.children, rootReactNode);
4987
+
4988
+ mem.push(React.cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
4989
+ key: i
4990
+ }), _inner));
4991
+ } else if (Number.isNaN(parseFloat(node.name))) {
4992
+ if (isKnownComponent) {
4993
+ var _inner2 = renderInner(child, node, rootReactNode);
4994
+
4995
+ pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);
4996
+ } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
4997
+ if (node.voidElement) {
4998
+ mem.push(React.createElement(node.name, {
4999
+ key: "".concat(node.name, "-").concat(i)
5000
+ }));
5001
+ } else {
5002
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
5003
+
5004
+ mem.push(React.createElement(node.name, {
5005
+ key: "".concat(node.name, "-").concat(i)
5006
+ }, _inner3));
5007
+ }
5008
+ } else if (node.voidElement) {
5009
+ mem.push("<".concat(node.name, " />"));
5010
+ } else {
5011
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
5012
+
5013
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
5014
+ }
5015
+ } else if (_typeof$1(child) === 'object' && !isElement) {
5016
+ var content = node.children[0] ? translationContent : null;
5017
+ if (content) mem.push(content);
5018
+ } else if (node.children.length === 1 && translationContent) {
5019
+ mem.push(React.cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
5020
+ key: i
5021
+ }), translationContent));
5022
+ } else {
5023
+ mem.push(React.cloneElement(child, _objectSpread$c(_objectSpread$c({}, child.props), {}, {
5024
+ key: i
5025
+ })));
5026
+ }
5027
+ } else if (node.type === 'text') {
5028
+ var wrapTextNodes = i18nOptions.transWrapTextNodes;
5029
+
5030
+ var _content = shouldUnescape ? unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);
5031
+
5032
+ if (wrapTextNodes) {
5033
+ mem.push(React.createElement(wrapTextNodes, {
5034
+ key: "".concat(node.name, "-").concat(i)
5035
+ }, _content));
5036
+ } else {
5037
+ mem.push(_content);
5038
+ }
5039
+ }
5040
+
5041
+ return mem;
5042
+ }, []);
5043
+ }
5044
+
5045
+ var result = mapAST([{
5046
+ dummy: true,
5047
+ children: children || []
5048
+ }], ast, getAsArray(children || []));
5049
+ return getChildren(result[0]);
5050
+ }
5051
+
5052
+ function Trans(_ref) {
5053
+ var children = _ref.children,
5054
+ count = _ref.count,
5055
+ parent = _ref.parent,
5056
+ i18nKey = _ref.i18nKey,
5057
+ context = _ref.context,
5058
+ _ref$tOptions = _ref.tOptions,
5059
+ tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
5060
+ values = _ref.values,
5061
+ defaults = _ref.defaults,
5062
+ components = _ref.components,
5063
+ ns = _ref.ns,
5064
+ i18nFromProps = _ref.i18n,
5065
+ tFromProps = _ref.t,
5066
+ shouldUnescape = _ref.shouldUnescape,
5067
+ additionalProps = _objectWithoutProperties(_ref, _excluded2);
5068
+
5069
+ var _ref2 = useContext(I18nContext) || {},
5070
+ i18nFromContext = _ref2.i18n,
5071
+ defaultNSFromContext = _ref2.defaultNS;
5072
+
5073
+ var i18n = i18nFromProps || i18nFromContext || getI18n();
5074
+
5075
+ if (!i18n) {
5076
+ warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
5077
+ return children;
5078
+ }
5079
+
5080
+ var t = tFromProps || i18n.t.bind(i18n) || function (k) {
5081
+ return k;
5082
+ };
5083
+
5084
+ if (context) tOptions.context = context;
5085
+
5086
+ var reactI18nextOptions = _objectSpread$c(_objectSpread$c({}, getDefaults()), i18n.options && i18n.options.react);
5087
+
5088
+ var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
5089
+ namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
5090
+ var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
5091
+ var hashTransKey = reactI18nextOptions.hashTransKey;
5092
+ var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
5093
+ var interpolationOverride = values ? tOptions.interpolation : {
5094
+ interpolation: _objectSpread$c(_objectSpread$c({}, tOptions.interpolation), {}, {
5095
+ prefix: '#$?',
5096
+ suffix: '?$#'
5097
+ })
5098
+ };
5099
+
5100
+ var combinedTOpts = _objectSpread$c(_objectSpread$c(_objectSpread$c(_objectSpread$c({}, tOptions), {}, {
5101
+ count: count
5102
+ }, values), interpolationOverride), {}, {
5103
+ defaultValue: defaultValue,
5104
+ ns: namespaces
5105
+ });
5106
+
5107
+ var translation = key ? t(key, combinedTOpts) : defaultValue;
5108
+ var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);
5109
+ var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;
5110
+ return useAsParent ? React.createElement(useAsParent, additionalProps, content) : content;
5111
+ }
5112
+
4775
5113
  function _iterableToArrayLimit(arr, i) {
4776
5114
  var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
4777
5115
  if (null != _i) {
@@ -4968,7 +5306,7 @@ var fields = {
4968
5306
  };
4969
5307
  var messages = {
4970
5308
  noFields: "There are no fields to show",
4971
- confirmDelete: "Are you sure want to delete the field ?. This action cannot be undone.",
5309
+ confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
4972
5310
  manageFieldFor: "Manage fields for {{resource}}",
4973
5311
  invalidKind: "Invalid kind",
4974
5312
  reorderFields: "Fields are displayed from top to bottom."
@@ -4989,6 +5327,9 @@ var validations = {
4989
5327
  var tooltips = {
4990
5328
  reorder: "Fields a are displayed from top to bottom. Re-order them"
4991
5329
  };
5330
+ var helpTexts = {
5331
+ noData: "Here is how you can use <a>fields.</a>"
5332
+ };
4992
5333
  var en = {
4993
5334
  common: common,
4994
5335
  titles: titles,
@@ -4997,7 +5338,8 @@ var en = {
4997
5338
  fields: fields,
4998
5339
  messages: messages,
4999
5340
  validations: validations,
5000
- tooltips: tooltips
5341
+ tooltips: tooltips,
5342
+ helpTexts: helpTexts
5001
5343
  };
5002
5344
 
5003
5345
  instance.use(Browser).use(initReactI18next).init({
@@ -5029,6 +5371,33 @@ instance.services.formatter.addCached("boldList", function (lng, options) {
5029
5371
  };
5030
5372
  });
5031
5373
 
5374
+ function _extends() {
5375
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
5376
+ for (var i = 1; i < arguments.length; i++) {
5377
+ var source = arguments[i];
5378
+ for (var key in source) {
5379
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
5380
+ target[key] = source[key];
5381
+ }
5382
+ }
5383
+ }
5384
+ return target;
5385
+ };
5386
+ return _extends.apply(this, arguments);
5387
+ }
5388
+
5389
+ function _arrayWithoutHoles(arr) {
5390
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5391
+ }
5392
+
5393
+ function _nonIterableSpread() {
5394
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5395
+ }
5396
+
5397
+ function _toConsumableArray(arr) {
5398
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5399
+ }
5400
+
5032
5401
  var KINDS = {
5033
5402
  text: "text",
5034
5403
  number: "number",
@@ -5049,23 +5418,23 @@ var KINDS = {
5049
5418
  datetime: "datetime"
5050
5419
  };
5051
5420
  var DISPLAY_KINDS = {
5052
- text: t("fields.kinds.text"),
5053
- number: t("fields.kinds.number"),
5054
- monetary: t("fields.kinds.monetary"),
5055
- single_option: t("fields.kinds.singleOption"),
5056
- multi_option: t("fields.kinds.multiOption"),
5057
- date: t("fields.kinds.date"),
5058
- time: t("fields.kinds.time"),
5059
- date_range: t("fields.kinds.dateRange"),
5060
- time_range: t("fields.kinds.timeRange"),
5061
- textarea: t("fields.kinds.textarea"),
5062
- text_area: t("fields.kinds.textArea"),
5063
- person: t("fields.kinds.person"),
5064
- checkbox: t("fields.kinds.checkbox"),
5065
- regex: t("fields.kinds.regex"),
5066
- integer: t("fields.kinds.integer"),
5067
- decimal: t("fields.kinds.decimal"),
5068
- datetime: t("fields.kinds.datetime")
5421
+ text: t$1("fields.kinds.text"),
5422
+ number: t$1("fields.kinds.number"),
5423
+ monetary: t$1("fields.kinds.monetary"),
5424
+ single_option: t$1("fields.kinds.singleOption"),
5425
+ multi_option: t$1("fields.kinds.multiOption"),
5426
+ date: t$1("fields.kinds.date"),
5427
+ time: t$1("fields.kinds.time"),
5428
+ date_range: t$1("fields.kinds.dateRange"),
5429
+ time_range: t$1("fields.kinds.timeRange"),
5430
+ textarea: t$1("fields.kinds.textarea"),
5431
+ text_area: t$1("fields.kinds.textArea"),
5432
+ person: t$1("fields.kinds.person"),
5433
+ checkbox: t$1("fields.kinds.checkbox"),
5434
+ regex: t$1("fields.kinds.regex"),
5435
+ integer: t$1("fields.kinds.integer"),
5436
+ decimal: t$1("fields.kinds.decimal"),
5437
+ datetime: t$1("fields.kinds.datetime")
5069
5438
  };
5070
5439
  var FIELD_STATES = {
5071
5440
  active: "active",
@@ -5077,706 +5446,57 @@ var DEFAULT_FIELD_STATE_TAXONOMY = {
5077
5446
  };
5078
5447
  var ALL_KINDS = values(KINDS);
5079
5448
 
5080
- function _extends() {
5081
- _extends = Object.assign ? Object.assign.bind() : function (target) {
5082
- for (var i = 1; i < arguments.length; i++) {
5083
- var source = arguments[i];
5084
- for (var key in source) {
5085
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5086
- target[key] = source[key];
5087
- }
5449
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5450
+ try {
5451
+ var info = gen[key](arg);
5452
+ var value = info.value;
5453
+ } catch (error) {
5454
+ reject(error);
5455
+ return;
5456
+ }
5457
+ if (info.done) {
5458
+ resolve(value);
5459
+ } else {
5460
+ Promise.resolve(value).then(_next, _throw);
5461
+ }
5462
+ }
5463
+ function _asyncToGenerator(fn) {
5464
+ return function () {
5465
+ var self = this,
5466
+ args = arguments;
5467
+ return new Promise(function (resolve, reject) {
5468
+ var gen = fn.apply(self, args);
5469
+ function _next(value) {
5470
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5088
5471
  }
5089
- }
5090
- return target;
5472
+ function _throw(err) {
5473
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5474
+ }
5475
+ _next(undefined);
5476
+ });
5091
5477
  };
5092
- return _extends.apply(this, arguments);
5093
5478
  }
5094
5479
 
5095
- function _arrayWithoutHoles(arr) {
5096
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5097
- }
5480
+ var regeneratorRuntime$1 = {exports: {}};
5098
5481
 
5099
- function _nonIterableSpread() {
5100
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5101
- }
5482
+ var _typeof = {exports: {}};
5102
5483
 
5103
- function _toConsumableArray(arr) {
5104
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5105
- }
5484
+ _typeof.exports;
5106
5485
 
5107
- var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
5108
- var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
5109
- var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
5110
- var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
5111
- var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
5112
- var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
5113
- var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
5114
- var SINGULAR = {
5115
- count: 1
5116
- };
5117
- var PLURAL = {
5118
- count: 2
5119
- };
5486
+ (function (module) {
5487
+ function _typeof(obj) {
5488
+ "@babel/helpers - typeof";
5120
5489
 
5121
- var fieldUrl = function fieldUrl(fieldId) {
5122
- return buildUrl(FIELD_URL, {
5123
- fieldId: fieldId
5124
- });
5125
- };
5126
- var fetch$1 = function fetch(_ref) {
5127
- var resourceType = _ref.resourceType,
5128
- ownerId = _ref.ownerId,
5129
- state = _ref.state;
5130
- return axios.get(FIELDS_URL, {
5131
- params: {
5132
- resourceType: resourceType,
5133
- ownerId: ownerId,
5134
- state: state
5135
- }
5136
- });
5137
- };
5138
- var create$1 = function create(field) {
5139
- return axios.post(FIELDS_URL, {
5140
- field: field
5141
- });
5142
- };
5143
- var show = function show(fieldId) {
5144
- return axios.get(fieldUrl(fieldId));
5145
- };
5146
- var destroy$1 = function destroy(fieldId) {
5147
- return axios["delete"](fieldUrl(fieldId));
5148
- };
5149
- var update$1 = function update(_ref2) {
5150
- var fieldId = _ref2.fieldId,
5151
- payload = _ref2.payload;
5152
- return axios.put(fieldUrl(fieldId), {
5153
- field: payload
5154
- });
5155
- };
5156
- var reorder = function reorder(payload) {
5157
- return axios.patch(FIELDS_REORDER_URL, payload);
5158
- };
5159
- var fieldsApi = {
5160
- fetch: fetch$1,
5161
- create: create$1,
5162
- show: show,
5163
- destroy: destroy$1,
5164
- update: update$1,
5165
- reorder: reorder
5166
- };
5490
+ return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
5491
+ return typeof obj;
5492
+ } : function (obj) {
5493
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
5494
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
5495
+ }
5496
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5497
+ } (_typeof));
5167
5498
 
5168
- var QUERY_KEYS = {
5169
- FIELDS: "fields",
5170
- FIELD_VALUES: "field_values",
5171
- CONFIGS: "configurations"
5172
- };
5173
- var DEFAULT_STALE_TIME = 3600000; // 1 hour
5174
-
5175
- 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; }
5176
- 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; }
5177
- var FIELDS = QUERY_KEYS.FIELDS;
5178
- var useFetchFields = function useFetchFields(_ref, options) {
5179
- var resourceType = _ref.resourceType,
5180
- ownerId = _ref.ownerId,
5181
- state = _ref.state,
5182
- _ref$prefixQueryKeys = _ref.prefixQueryKeys,
5183
- prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
5184
- return useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
5185
- return fieldsApi.fetch({
5186
- resourceType: resourceType,
5187
- ownerId: ownerId,
5188
- state: state
5189
- });
5190
- }, _objectSpread$a({
5191
- staleTime: DEFAULT_STALE_TIME
5192
- }, options));
5193
- };
5194
- var useCreateField = function useCreateField(options) {
5195
- var queryClient = useQueryClient();
5196
- return useMutation(fieldsApi.create, _objectSpread$a(_objectSpread$a({}, options), {}, {
5197
- onSuccess: function onSuccess() {
5198
- var _options$onSuccess;
5199
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5200
- args[_key] = arguments[_key];
5201
- }
5202
- 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));
5203
- queryClient.invalidateQueries(FIELDS);
5204
- }
5205
- }));
5206
- };
5207
- var useShowField = function useShowField(fieldId, options) {
5208
- var queryKey = [FIELDS, fieldId];
5209
- return useQuery(queryKey, function () {
5210
- return fieldsApi.show(fieldId);
5211
- }, options);
5212
- };
5213
- var useUpdateField = function useUpdateField(options) {
5214
- var queryClient = useQueryClient();
5215
- return useMutation(fieldsApi.update, _objectSpread$a(_objectSpread$a({}, options), {}, {
5216
- onSuccess: function onSuccess() {
5217
- var _options$onSuccess2;
5218
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
5219
- args[_key2] = arguments[_key2];
5220
- }
5221
- 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));
5222
- queryClient.invalidateQueries(FIELDS);
5223
- }
5224
- }));
5225
- };
5226
- var useDestroyField = function useDestroyField(options) {
5227
- var queryClient = useQueryClient();
5228
- return useMutation(fieldsApi.destroy, _objectSpread$a(_objectSpread$a({}, options), {}, {
5229
- onSuccess: function onSuccess() {
5230
- var _options$onSuccess3;
5231
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
5232
- args[_key3] = arguments[_key3];
5233
- }
5234
- 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));
5235
- queryClient.invalidateQueries(FIELDS);
5236
- }
5237
- }));
5238
- };
5239
- var useReorderFields = function useReorderFields() {
5240
- var queryClient = useQueryClient();
5241
- return useMutation(fieldsApi.reorder, {
5242
- onSuccess: function onSuccess() {
5243
- queryClient.invalidateQueries(FIELDS);
5244
- }
5245
- });
5246
- };
5247
-
5248
- 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; }
5249
- 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; }
5250
- var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
5251
- return options.map(function (option, index) {
5252
- return _objectSpread$9(_objectSpread$9({}, option), {}, {
5253
- displayOrder: index
5254
- });
5255
- });
5256
- };
5257
- var buildPayload = function buildPayload(_ref) {
5258
- var formValues = _ref.formValues,
5259
- _ref$resourceType = _ref.resourceType,
5260
- resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
5261
- _ref$ownerId = _ref.ownerId,
5262
- ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
5263
- var kind = formValues.kind.value;
5264
- var name = formValues.name.trim();
5265
- return _objectSpread$9(_objectSpread$9({}, omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
5266
- kind: kind,
5267
- name: name,
5268
- resourceType: isEmpty(resourceType) ? undefined : resourceType,
5269
- ownerId: isEmpty(ownerId) ? undefined : ownerId,
5270
- data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
5271
- });
5272
- };
5273
- var isDropdown = function isDropdown(kind) {
5274
- return ["single_option", "multi_option"].includes(kind);
5275
- };
5276
- var isRegex = function isRegex(kind) {
5277
- return kind === "regex";
5278
- };
5279
- var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
5280
- return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
5281
- };
5282
- var getPermittedKinds = function getPermittedKinds(_ref2) {
5283
- var allowedKinds = _ref2.allowedKinds,
5284
- selectedKind = _ref2.selectedKind;
5285
- var filteredKinds = pick(allowedKinds, FIELD_KINDS);
5286
- var permittedKinds = filterBy({
5287
- group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
5288
- }, values(filteredKinds));
5289
- return permittedKinds;
5290
- };
5291
- var generateValidationSchema = function generateValidationSchema(additionalValidations) {
5292
- return yup.object().shape(_objectSpread$9(_objectSpread$9({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
5293
- };
5294
- var renderFormFooter = function renderFormFooter(_ref3) {
5295
- var onClose = _ref3.onClose,
5296
- loading = _ref3.loading,
5297
- _ref3$dirty = _ref3.dirty,
5298
- dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
5299
- return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
5300
- cancelButtonProps: {
5301
- onClick: onClose,
5302
- style: "text",
5303
- disabled: loading
5304
- },
5305
- submitButtonProps: {
5306
- label: t("labels.saveChanges"),
5307
- className: "mr-2",
5308
- type: "submit",
5309
- disabled: !dirty,
5310
- loading: loading
5311
- }
5312
- }));
5313
- };
5314
-
5315
- var regexValidationSchema = yup.object().shape({
5316
- condition: yup.string().required(t("validations.regexConditionIsRequired")),
5317
- helpMessage: yup.string().required(t("validations.regexHelpMessageIsRequired"))
5318
- });
5319
- var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
5320
- label: yup.string().trim().required(t("validations.fieldOptionIsRequired")),
5321
- displayOrder: yup.number()
5322
- })).min(1, t("validations.atLeastFieldOptionIsRequired"));
5323
- var FIELD_KINDS = {
5324
- text: {
5325
- value: "text",
5326
- label: t("fields.kinds.text"),
5327
- group: 1
5328
- },
5329
- number: {
5330
- value: "number",
5331
- label: t("fields.kinds.number"),
5332
- group: 2
5333
- },
5334
- monetary: {
5335
- value: "monetary",
5336
- label: t("fields.kinds.monetary"),
5337
- group: 2
5338
- },
5339
- single_option: {
5340
- value: "single_option",
5341
- label: t("fields.kinds.singleOption"),
5342
- group: 3
5343
- },
5344
- multi_option: {
5345
- value: "multi_option",
5346
- label: t("fields.kinds.multiOption"),
5347
- group: 3
5348
- },
5349
- date: {
5350
- value: "date",
5351
- label: t("fields.kinds.date"),
5352
- group: 4
5353
- },
5354
- time: {
5355
- value: "time",
5356
- label: t("fields.kinds.time"),
5357
- group: 5
5358
- },
5359
- date_range: {
5360
- value: "date_range",
5361
- label: t("fields.kinds.dateRange"),
5362
- group: 6
5363
- },
5364
- time_range: {
5365
- value: "time_range",
5366
- label: t("fields.kinds.timeRange"),
5367
- group: 7
5368
- },
5369
- text_area: {
5370
- value: "text_area",
5371
- label: t("fields.kinds.textArea"),
5372
- group: 1
5373
- },
5374
- textarea: {
5375
- value: "textarea",
5376
- label: t("fields.kinds.textarea"),
5377
- group: 1
5378
- },
5379
- person: {
5380
- value: "person",
5381
- label: t("fields.kinds.person"),
5382
- group: 8
5383
- },
5384
- checkbox: {
5385
- value: "checkbox",
5386
- label: t("fields.kinds.checkbox"),
5387
- group: 9
5388
- },
5389
- regex: {
5390
- value: "regex",
5391
- label: t("fields.kinds.regex"),
5392
- group: 10
5393
- },
5394
- integer: {
5395
- value: "integer",
5396
- label: t("fields.kinds.integer"),
5397
- group: 2
5398
- },
5399
- decimal: {
5400
- value: "decimal",
5401
- label: t("fields.kinds.decimal"),
5402
- group: 2
5403
- },
5404
- datetime: {
5405
- value: "datetime",
5406
- label: t("fields.kinds.datetime"),
5407
- group: 11
5408
- }
5409
- };
5410
- var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
5411
- var INITIAL_FIELDS = {
5412
- name: "",
5413
- kind: toLabelAndValue("text"),
5414
- isRequired: false
5415
- };
5416
- var DEFAULT_OPTION = {
5417
- label: "",
5418
- displayOrder: 0
5419
- };
5420
- var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
5421
- var DEFAULT_REGEX_DATA = {
5422
- regex: "",
5423
- helpMessage: ""
5424
- };
5425
- var BASIC_FIELD_FORM_VALIDATIONS = {
5426
- name: yup.string().trim().required(t("validations.fieldNameIsRequired")),
5427
- isRequired: yup["boolean"](),
5428
- kind: yup.object().shape({
5429
- value: yup.string().required()
5430
- }).required(t("validations.kindIsRequired")),
5431
- data: yup.mixed().when("kind", {
5432
- is: function is(kind) {
5433
- return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
5434
- },
5435
- then: regexValidationSchema
5436
- }).when("kind", {
5437
- is: function is(kind) {
5438
- return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
5439
- },
5440
- then: dropDownOptionsValidationSchema
5441
- })
5442
- };
5443
-
5444
- var AdditionalInputs = function AdditionalInputs() {
5445
- var _useTranslation = useTranslation(),
5446
- t = _useTranslation.t;
5447
- var _useFormikContext = useFormikContext(),
5448
- _useFormikContext$val = _useFormikContext.values,
5449
- kind = _useFormikContext$val.kind,
5450
- options = _useFormikContext$val.data,
5451
- isSystem = _useFormikContext$val.isSystem;
5452
- var removeOption = function removeOption(arrayHelpers, index) {
5453
- return arrayHelpers.remove(index);
5454
- };
5455
- var addOption = function addOption(arrayHelpers) {
5456
- return arrayHelpers.push(DEFAULT_OPTION);
5457
- };
5458
- if (isDropdown(kind.value)) {
5459
- return /*#__PURE__*/React.createElement(FieldArray, {
5460
- name: "data"
5461
- }, function (arrayHelpers) {
5462
- return /*#__PURE__*/React.createElement("div", {
5463
- className: "flex w-full flex-col gap-y-4"
5464
- }, /*#__PURE__*/React.createElement(Label, {
5465
- required: true
5466
- }, t("titles.dropdownOptions")), isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
5467
- return /*#__PURE__*/React.createElement("div", {
5468
- className: "flex w-full space-x-3",
5469
- key: index
5470
- }, /*#__PURE__*/React.createElement("div", {
5471
- className: "w-full"
5472
- }, /*#__PURE__*/React.createElement(Input, {
5473
- disabled: isSystem,
5474
- name: "data.".concat(index, ".label"),
5475
- placeholder: t("placeholders.enterAnOption"),
5476
- suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button, {
5477
- icon: Delete,
5478
- style: "text",
5479
- onClick: function onClick() {
5480
- return removeOption(arrayHelpers, index);
5481
- }
5482
- })
5483
- })));
5484
- }), /*#__PURE__*/React.createElement(Button, {
5485
- fullWidth: true,
5486
- className: "mb-6 border-dashed text-xs uppercase",
5487
- label: t("labels.addMoreOption"),
5488
- style: "secondary",
5489
- onClick: function onClick() {
5490
- return addOption(arrayHelpers);
5491
- }
5492
- }));
5493
- });
5494
- } else if (isRegex(kind.value)) {
5495
- return /*#__PURE__*/React.createElement("div", {
5496
- className: "flex w-full flex-col gap-y-4"
5497
- }, /*#__PURE__*/React.createElement(Label, {
5498
- required: true
5499
- }, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input, {
5500
- disabled: isSystem,
5501
- label: t("labels.regexCondition"),
5502
- name: "data.condition",
5503
- placeholder: t("placeholders.regexExample")
5504
- }), /*#__PURE__*/React.createElement(Input, {
5505
- disabled: isSystem,
5506
- label: t("labels.helpMessage"),
5507
- name: "data.helpMessage",
5508
- placeholder: t("placeholders.enterErrorMessage")
5509
- }));
5510
- }
5511
- return null;
5512
- };
5513
-
5514
- /** @type {React.FC<import("types").FieldFormProps>} */
5515
-
5516
- var FieldForm = function FieldForm(_ref) {
5517
- var chosenKind = _ref.chosenKind,
5518
- _ref$kindSelectOption = _ref.kindSelectOptions,
5519
- kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
5520
- _ref$isSystem = _ref.isSystem,
5521
- isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
5522
- _ref$hideRequiredSwit = _ref.hideRequiredSwitch,
5523
- hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
5524
- children = _ref.children;
5525
- var _useTranslation = useTranslation(),
5526
- t = _useTranslation.t;
5527
- var _useFormikContext = useFormikContext(),
5528
- options = _useFormikContext.values.data,
5529
- setFieldValue = _useFormikContext.setFieldValue;
5530
- var handleKindChange = function handleKindChange(kind) {
5531
- setFieldValue("kind", kind);
5532
- if (isDropdown(kind.value)) {
5533
- setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
5534
- } else if (isRegex(kind.value)) {
5535
- setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
5536
- }
5537
- };
5538
- return /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
5539
- className: "w-full space-y-4"
5540
- }, /*#__PURE__*/React.createElement(Input, {
5541
- required: true,
5542
- disabled: isSystem,
5543
- label: t("labels.fieldName"),
5544
- name: "name",
5545
- placeholder: t("placeholders.enterFieldName")
5546
- }), /*#__PURE__*/React.createElement(Select, {
5547
- isSearchable: true,
5548
- isDisabled: isSystem,
5549
- label: t("labels.fieldKind"),
5550
- name: "kind",
5551
- options: kindSelectOptions,
5552
- onChange: handleKindChange
5553
- }), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
5554
- className: "flex items-center gap-2"
5555
- }, /*#__PURE__*/React.createElement(Switch, {
5556
- name: "isRequired"
5557
- }), /*#__PURE__*/React.createElement(Typography, {
5558
- className: "leading-4",
5559
- component: "span",
5560
- style: "body2"
5561
- }, t("labels.isRequired"))), children));
5562
- };
5563
-
5564
- var _excluded$3 = ["resourceType", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
5565
- 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; }
5566
- 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; }
5567
-
5568
- /** @type {React.FC<import("types").AddProps>} */
5569
-
5570
- var Add = function Add(_ref) {
5571
- var resourceType = _ref.resourceType,
5572
- allowedKinds = _ref.allowedKinds,
5573
- additionalValidations = _ref.additionalValidations,
5574
- initialValues = _ref.initialValues,
5575
- onClose = _ref.onClose,
5576
- props = _objectWithoutProperties(_ref, _excluded$3);
5577
- var _useTranslation = useTranslation(),
5578
- t = _useTranslation.t;
5579
- var _useCreateField = useCreateField(),
5580
- createField = _useCreateField.mutate,
5581
- isSubmitting = _useCreateField.isLoading;
5582
- var filteredKinds = values(pick(allowedKinds, FIELD_KINDS));
5583
- var handleSubmit = function handleSubmit(formValues) {
5584
- var payload = buildPayload({
5585
- formValues: formValues,
5586
- resourceType: resourceType
5587
- });
5588
- createField(payload, {
5589
- onSuccess: onClose
5590
- });
5591
- };
5592
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
5593
- style: "h2"
5594
- }, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
5595
- formikProps: {
5596
- initialValues: _objectSpread$8(_objectSpread$8({}, initialValues), INITIAL_FIELDS),
5597
- validationSchema: generateValidationSchema(additionalValidations),
5598
- onSubmit: handleSubmit
5599
- }
5600
- }, function (_ref2) {
5601
- var dirty = _ref2.dirty,
5602
- kind = _ref2.values.kind;
5603
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
5604
- chosenKind: kind.value,
5605
- kindSelectOptions: filteredKinds
5606
- }, props)), renderFormFooter({
5607
- onClose: onClose,
5608
- loading: isSubmitting,
5609
- dirty: dirty
5610
- }));
5611
- }));
5612
- };
5613
-
5614
- var _excluded$2 = ["fieldId", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
5615
- 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; }
5616
- 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; }
5617
-
5618
- /** @type {React.FC<import("types").EditProps>} */
5619
-
5620
- var Edit = function Edit(_ref) {
5621
- var fieldId = _ref.fieldId,
5622
- allowedKinds = _ref.allowedKinds,
5623
- _ref$additionalValida = _ref.additionalValidations,
5624
- additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
5625
- _ref$initialValues = _ref.initialValues,
5626
- initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
5627
- onClose = _ref.onClose,
5628
- props = _objectWithoutProperties(_ref, _excluded$2);
5629
- var _useTranslation = useTranslation(),
5630
- t = _useTranslation.t;
5631
- var _useShowField = useShowField(fieldId),
5632
- _useShowField$data = _useShowField.data,
5633
- _useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
5634
- _useShowField$data2$f = _useShowField$data2.field,
5635
- field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
5636
- var _useUpdateField = useUpdateField(),
5637
- updateField = _useUpdateField.mutate,
5638
- isSubmitting = _useUpdateField.isLoading;
5639
- var handleSubmit = function handleSubmit(formValues) {
5640
- var payload = buildPayload({
5641
- formValues: formValues
5642
- });
5643
- updateField({
5644
- fieldId: fieldId,
5645
- payload: payload
5646
- }, {
5647
- onSuccess: onClose
5648
- });
5649
- };
5650
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
5651
- style: "h2"
5652
- }, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
5653
- formikProps: {
5654
- initialValues: _objectSpread$7(_objectSpread$7({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
5655
- validationSchema: generateValidationSchema(additionalValidations),
5656
- enableReinitialize: true,
5657
- onSubmit: handleSubmit
5658
- }
5659
- }, function (_ref2) {
5660
- var kind = _ref2.values.kind,
5661
- dirty = _ref2.dirty;
5662
- var permittedKinds = getPermittedKinds({
5663
- allowedKinds: allowedKinds,
5664
- selectedKind: kind
5665
- });
5666
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
5667
- chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
5668
- isSystem: field.isSystem,
5669
- kindSelectOptions: permittedKinds
5670
- }, props)), renderFormFooter({
5671
- onClose: onClose,
5672
- loading: isSubmitting,
5673
- dirty: dirty
5674
- }));
5675
- }));
5676
- };
5677
-
5678
- var _excluded$1 = ["isOpen", "selectedField"];
5679
-
5680
- /** @type {React.FC<import("types").FieldsPaneProps>} */
5681
-
5682
- var FieldsPane = function FieldsPane(_ref) {
5683
- var isOpen = _ref.isOpen,
5684
- _ref$selectedField = _ref.selectedField,
5685
- selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
5686
- props = _objectWithoutProperties(_ref, _excluded$1);
5687
- return /*#__PURE__*/React.createElement(Pane, {
5688
- isOpen: isOpen,
5689
- onClose: props.onClose
5690
- }, isEmpty(selectedField) ? /*#__PURE__*/React.createElement(Add, props) : /*#__PURE__*/React.createElement(Edit, _extends({
5691
- fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
5692
- }, props)));
5693
- };
5694
-
5695
- /** @type {React.FC<import("types").AddFieldProps>} */
5696
-
5697
- var AddField = function AddField(_ref) {
5698
- var resourceType = _ref.resourceType,
5699
- _ref$allowedKinds = _ref.allowedKinds,
5700
- allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
5701
- additionalValidations = _ref.additionalValidations,
5702
- initialValues = _ref.initialValues,
5703
- hideRequiredSwitch = _ref.hideRequiredSwitch,
5704
- children = _ref.children;
5705
- var _useState = useState(false),
5706
- _useState2 = _slicedToArray(_useState, 2),
5707
- isOpen = _useState2[0],
5708
- setIsOpen = _useState2[1];
5709
- var _useTranslation = useTranslation(),
5710
- t = _useTranslation.t;
5711
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
5712
- label: t("labels.addField"),
5713
- onClick: function onClick() {
5714
- return setIsOpen(true);
5715
- }
5716
- }), /*#__PURE__*/React.createElement(FieldsPane, {
5717
- additionalValidations: additionalValidations,
5718
- allowedKinds: allowedKinds,
5719
- hideRequiredSwitch: hideRequiredSwitch,
5720
- initialValues: initialValues,
5721
- isOpen: isOpen,
5722
- resourceType: resourceType,
5723
- onClose: function onClose() {
5724
- return setIsOpen(false);
5725
- }
5726
- }, children));
5727
- };
5728
-
5729
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5730
- try {
5731
- var info = gen[key](arg);
5732
- var value = info.value;
5733
- } catch (error) {
5734
- reject(error);
5735
- return;
5736
- }
5737
- if (info.done) {
5738
- resolve(value);
5739
- } else {
5740
- Promise.resolve(value).then(_next, _throw);
5741
- }
5742
- }
5743
- function _asyncToGenerator(fn) {
5744
- return function () {
5745
- var self = this,
5746
- args = arguments;
5747
- return new Promise(function (resolve, reject) {
5748
- var gen = fn.apply(self, args);
5749
- function _next(value) {
5750
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5751
- }
5752
- function _throw(err) {
5753
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5754
- }
5755
- _next(undefined);
5756
- });
5757
- };
5758
- }
5759
-
5760
- var regeneratorRuntime$1 = {exports: {}};
5761
-
5762
- var _typeof = {exports: {}};
5763
-
5764
- _typeof.exports;
5765
-
5766
- (function (module) {
5767
- function _typeof(obj) {
5768
- "@babel/helpers - typeof";
5769
-
5770
- return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
5771
- return typeof obj;
5772
- } : function (obj) {
5773
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
5774
- }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
5775
- }
5776
- module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5777
- } (_typeof));
5778
-
5779
- var _typeofExports = _typeof.exports;
5499
+ var _typeofExports = _typeof.exports;
5780
5500
 
5781
5501
  regeneratorRuntime$1.exports;
5782
5502
 
@@ -6086,481 +5806,1129 @@ regeneratorRuntime$1.exports;
6086
5806
  module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
6087
5807
  } (regeneratorRuntime$1));
6088
5808
 
6089
- var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5809
+ var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5810
+
5811
+ // TODO(Babel 8): Remove this file.
5812
+
5813
+ var runtime = regeneratorRuntimeExports();
5814
+ var regenerator = runtime;
5815
+
5816
+ // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
5817
+ try {
5818
+ regeneratorRuntime = runtime;
5819
+ } catch (accidentalStrictMode) {
5820
+ if (typeof globalThis === "object") {
5821
+ globalThis.regeneratorRuntime = runtime;
5822
+ } else {
5823
+ Function("r", "regeneratorRuntime = r")(runtime);
5824
+ }
5825
+ }
5826
+
5827
+ var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
5828
+
5829
+ var dayjs_min = {exports: {}};
5830
+
5831
+ dayjs_min.exports;
5832
+
5833
+ (function (module, exports) {
5834
+ !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}));
5835
+ } (dayjs_min, dayjs_min.exports));
5836
+
5837
+ var dayjs_minExports = dayjs_min.exports;
5838
+ var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
5839
+
5840
+ var dateSchema = yup.date().nullable();
5841
+ var buildSchemaAllowingEmptyValue = function buildSchemaAllowingEmptyValue(schema) {
5842
+ return yup.mixed().test({
5843
+ name: "validate-if-not-empty",
5844
+ test: function test(value) {
5845
+ if (isNotEmpty(value) && isNotNil(value)) {
5846
+ try {
5847
+ schema.validateSync(value);
5848
+ return true;
5849
+ } catch (_unused) {
5850
+ return false;
5851
+ }
5852
+ }
5853
+ return true;
5854
+ }
5855
+ });
5856
+ };
5857
+ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5858
+ var kind = _ref.kind,
5859
+ isRequired = _ref.isRequired,
5860
+ fieldData = _ref.fieldData;
5861
+ switch (kind) {
5862
+ case KINDS.singleOption:
5863
+ case KINDS.text:
5864
+ {
5865
+ var schema = yup.string().trim().nullable();
5866
+ return isRequired ? schema.required(t$1("validations.thisIsRequired")) : schema;
5867
+ }
5868
+ case KINDS.number:
5869
+ case KINDS.monetary:
5870
+ case KINDS.decimal:
5871
+ {
5872
+ var _schema = buildSchemaAllowingEmptyValue(yup.number().typeError(t$1("validations.notAValidNumber")));
5873
+ return isRequired ? _schema.required(t$1("validations.thisIsRequired")) : _schema;
5874
+ }
5875
+ case KINDS.integer:
5876
+ {
5877
+ var _schema2 = buildSchemaAllowingEmptyValue(yup.number().nullable().integer().typeError(t$1("validations.notAValidInteger")));
5878
+ return isRequired ? _schema2.required(t$1("validations.thisIsRequired")) : _schema2;
5879
+ }
5880
+ case KINDS.date:
5881
+ case KINDS.time:
5882
+ {
5883
+ var _schema3 = buildSchemaAllowingEmptyValue(dateSchema);
5884
+ return isRequired ? _schema3.required(t$1("validations.thisIsRequired")) : _schema3;
5885
+ }
5886
+ case KINDS.multiOption:
5887
+ {
5888
+ var _schema4 = yup.array().of(yup.string()).nullable();
5889
+ return isRequired ? _schema4.min(1, t$1("validations.minOneItem")).required(t$1("validations.thisIsRequired")) : _schema4;
5890
+ }
5891
+ case KINDS.dateRange:
5892
+ case KINDS.timeRange:
5893
+ {
5894
+ if (isRequired) {
5895
+ return yup.array().of(dateSchema).required(t$1("validations.thisIsRequired"));
5896
+ }
5897
+ return yup.array().of(dateSchema).nullable();
5898
+ }
5899
+ case KINDS.checkbox:
5900
+ return yup["boolean"]().nullable();
5901
+ case KINDS.regex:
5902
+ {
5903
+ var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
5904
+ var _schema5 = buildSchemaAllowingEmptyValue(yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage));
5905
+ return isRequired ? _schema5.required(t$1("validations.thisIsRequired")) : _schema5;
5906
+ }
5907
+ default:
5908
+ return yup.mixed();
5909
+ }
5910
+ };
5911
+ var cleanedRegex = function cleanedRegex(expression) {
5912
+ if (expression.startsWith("/") && expression.endsWith("/")) {
5913
+ return expression.slice(1, -1);
5914
+ }
5915
+ return expression;
5916
+ };
5917
+ var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
5918
+ var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5919
+ return optionObjects.map(function (_ref2) {
5920
+ var label = _ref2.label,
5921
+ value = _ref2.value;
5922
+ return {
5923
+ label: label,
5924
+ value: value || label
5925
+ };
5926
+ });
5927
+ };
5928
+ var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
5929
+ return map(toLabelAndValue, value || []);
5930
+ };
5931
+ var validateField = /*#__PURE__*/function () {
5932
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
5933
+ var fieldValue, fieldName, isRequired, kind, fieldData;
5934
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
5935
+ while (1) switch (_context.prev = _context.next) {
5936
+ case 0:
5937
+ fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
5938
+ _context.prev = 1;
5939
+ _context.next = 4;
5940
+ return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
5941
+ kind: kind,
5942
+ isRequired: isRequired,
5943
+ fieldData: fieldData
5944
+ }))).validate(_defineProperty({}, fieldName, fieldValue));
5945
+ case 4:
5946
+ return _context.abrupt("return", false);
5947
+ case 7:
5948
+ _context.prev = 7;
5949
+ _context.t0 = _context["catch"](1);
5950
+ return _context.abrupt("return", _context.t0.errors);
5951
+ case 10:
5952
+ case "end":
5953
+ return _context.stop();
5954
+ }
5955
+ }, _callee, null, [[1, 7]]);
5956
+ }));
5957
+ return function validateField(_x) {
5958
+ return _ref4.apply(this, arguments);
5959
+ };
5960
+ }();
5961
+ var dateTimeToString = function dateTimeToString(dateTime) {
5962
+ return dateTime && dayjs(dateTime).toString() || "";
5963
+ };
5964
+
5965
+ var _excluded$3 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
5966
+ 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; }
5967
+ 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; }
5968
+ var useFormikFields = function useFormikFields(_ref) {
5969
+ var name = _ref.name,
5970
+ fieldId = _ref.id,
5971
+ kind = _ref.kind,
5972
+ fieldData = _ref.data,
5973
+ individualSubmit = _ref.individualSubmit,
5974
+ formRef = _ref.formRef,
5975
+ formRefs = _ref.formRefs,
5976
+ disabled = _ref.disabled,
5977
+ _ref$isRequiredColumn = _ref.isRequiredColumnName,
5978
+ isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
5979
+ props = _objectWithoutProperties(_ref, _excluded$3);
5980
+ var formikContext = useFormikContext();
5981
+ var setFieldValue = formikContext.setFieldValue,
5982
+ submitForm = formikContext.submitForm,
5983
+ dirty = formikContext.dirty,
5984
+ isSubmitting = formikContext.isSubmitting;
5985
+ var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
5986
+ var fieldName = kind === KINDS.multiOption ? "values" : "value";
5987
+ var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
5988
+ if (isNil(formRef) && isNotNil(formRefs)) {
5989
+ formRefs.current[fieldValuePath] = formikContext;
5990
+ } else if (isNil(formRefs) && isNotNil(formRef)) {
5991
+ formRef.current = formikContext;
5992
+ }
5993
+ var _useField = useField({
5994
+ name: fieldValuePath,
5995
+ validate: function validate(fieldValue) {
5996
+ return validateField({
5997
+ fieldValue: fieldValue,
5998
+ fieldName: name,
5999
+ isRequired: props[isRequiredColumnName],
6000
+ kind: kind,
6001
+ fieldData: fieldData
6002
+ });
6003
+ }
6004
+ }),
6005
+ _useField2 = _slicedToArray(_useField, 3),
6006
+ formikFieldProps = _useField2[0],
6007
+ meta = _useField2[1],
6008
+ helpers = _useField2[2];
6009
+ var handleSubmit = function handleSubmit(value) {
6010
+ isNotNil(value) && setFieldValue(fieldValuePath, value);
6011
+ individualSubmit && submitForm();
6012
+ };
6013
+ var getValueForField = function getValueForField(value) {
6014
+ if (kind === KINDS.singleOption) {
6015
+ value = toLabelAndValue(value);
6016
+ } else if (kind === KINDS.multiOption) {
6017
+ value = buildArrayToLabelAndValues(value);
6018
+ }
6019
+ return value || "";
6020
+ };
6021
+ var isDropdown = ["single_option", "multi_option"].includes(kind);
6022
+ if (isSubmitting && !meta.touched) {
6023
+ helpers.setTouched(true);
6024
+ }
6025
+ return {
6026
+ handleSubmit: handleSubmit,
6027
+ fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
6028
+ required: props[isRequiredColumnName],
6029
+ error: meta.touched && meta.error,
6030
+ options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
6031
+ value: getValueForField(formikFieldProps.value),
6032
+ dirty: dirty,
6033
+ label: !individualSubmit && capitalize$1(name),
6034
+ disabled: disabled
6035
+ })
6036
+ };
6037
+ };
6090
6038
 
6091
- // TODO(Babel 8): Remove this file.
6039
+ var Checkbox = function Checkbox(props) {
6040
+ var _useFormikFields = useFormikFields(props),
6041
+ handleSubmit = _useFormikFields.handleSubmit,
6042
+ fieldProps = _useFormikFields.fieldProps;
6043
+ return /*#__PURE__*/React.createElement(Switch, _extends({}, fieldProps, {
6044
+ checked: fieldProps.value,
6045
+ onChange: function onChange(_ref) {
6046
+ var checked = _ref.target.checked;
6047
+ return handleSubmit(checked);
6048
+ }
6049
+ }));
6050
+ };
6092
6051
 
6093
- var runtime = regeneratorRuntimeExports();
6094
- var regenerator = runtime;
6052
+ var DateOrTime = function DateOrTime(props) {
6053
+ var _useFormikFields = useFormikFields(props),
6054
+ handleSubmit = _useFormikFields.handleSubmit,
6055
+ fieldProps = _useFormikFields.fieldProps;
6056
+ if (props.kind === KINDS.time) {
6057
+ return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
6058
+ use12Hours: true,
6059
+ format: "h:mm A",
6060
+ onChange: function onChange(dateTime) {
6061
+ return handleSubmit(dateTimeToString(dateTime));
6062
+ }
6063
+ }));
6064
+ } else if (props.kind === KINDS.date) {
6065
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
6066
+ onChange: function onChange(dateTime) {
6067
+ return handleSubmit(dateTimeToString(dateTime));
6068
+ }
6069
+ }));
6070
+ }
6071
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({
6072
+ showTime: true,
6073
+ timeFormat: "h:mm A"
6074
+ }, fieldProps, {
6075
+ onChange: function onChange(dateTime) {
6076
+ return handleSubmit(dateTimeToString(dateTime));
6077
+ }
6078
+ }));
6079
+ };
6095
6080
 
6096
- // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
6097
- try {
6098
- regeneratorRuntime = runtime;
6099
- } catch (accidentalStrictMode) {
6100
- if (typeof globalThis === "object") {
6101
- globalThis.regeneratorRuntime = runtime;
6102
- } else {
6103
- Function("r", "regeneratorRuntime = r")(runtime);
6081
+ var MultiOption = function MultiOption(props) {
6082
+ var _useFormikFields = useFormikFields(props),
6083
+ handleSubmit = _useFormikFields.handleSubmit,
6084
+ fieldProps = _useFormikFields.fieldProps;
6085
+ return /*#__PURE__*/React.createElement(Select, _extends({
6086
+ isMulti: true,
6087
+ isSearchable: true
6088
+ }, fieldProps, {
6089
+ onChange: function onChange(selectedOptions) {
6090
+ return handleSubmit(pluck("value", selectedOptions));
6091
+ }
6092
+ }));
6093
+ };
6094
+
6095
+ var Number$1 = function Number(props) {
6096
+ var _useFormikFields = useFormikFields(props),
6097
+ handleSubmit = _useFormikFields.handleSubmit,
6098
+ fieldProps = _useFormikFields.fieldProps;
6099
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6100
+ return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
6101
+ type: "number",
6102
+ suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
6103
+ icon: Check,
6104
+ style: "text",
6105
+ onClick: function onClick() {
6106
+ return handleSubmit();
6107
+ }
6108
+ })
6109
+ }));
6110
+ };
6111
+
6112
+ var RangePicker = function RangePicker(props) {
6113
+ var _useFormikFields = useFormikFields(props),
6114
+ handleSubmit = _useFormikFields.handleSubmit,
6115
+ fieldProps = _useFormikFields.fieldProps;
6116
+ var handleChange = function handleChange(_ref) {
6117
+ var _ref2 = _slicedToArray(_ref, 2),
6118
+ begin = _ref2[0],
6119
+ end = _ref2[1];
6120
+ return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
6121
+ };
6122
+ if (props.kind === KINDS.dateRange) {
6123
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
6124
+ type: "range",
6125
+ onChange: handleChange
6126
+ }));
6104
6127
  }
6105
- }
6106
6128
 
6107
- var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
6129
+ //time_range
6130
+ return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
6131
+ use12Hours: true,
6132
+ format: "h:mm A",
6133
+ type: "range",
6134
+ onChange: handleChange
6135
+ }));
6136
+ };
6137
+
6138
+ var SingleOption = function SingleOption(props) {
6139
+ var _useFormikFields = useFormikFields(props),
6140
+ handleSubmit = _useFormikFields.handleSubmit,
6141
+ fieldProps = _useFormikFields.fieldProps;
6142
+ return /*#__PURE__*/React.createElement(Select, _extends({
6143
+ isSearchable: true
6144
+ }, fieldProps, {
6145
+ onChange: function onChange(_ref) {
6146
+ var value = _ref.value;
6147
+ return handleSubmit(value);
6148
+ }
6149
+ }));
6150
+ };
6151
+
6152
+ var Text = function Text(props) {
6153
+ var _useFormikFields = useFormikFields(props),
6154
+ handleSubmit = _useFormikFields.handleSubmit,
6155
+ fieldProps = _useFormikFields.fieldProps;
6156
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6157
+ return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
6158
+ suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
6159
+ icon: Check,
6160
+ style: "text",
6161
+ onClick: function onClick() {
6162
+ return handleSubmit();
6163
+ }
6164
+ })
6165
+ }));
6166
+ };
6167
+
6168
+ var TextArea = function TextArea(props) {
6169
+ var _useTranslation = useTranslation(),
6170
+ t = _useTranslation.t;
6171
+ var _useFormikFields = useFormikFields(props),
6172
+ handleSubmit = _useFormikFields.handleSubmit,
6173
+ fieldProps = _useFormikFields.fieldProps;
6174
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6175
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React.createElement(Button, {
6176
+ className: "m-auto mt-2",
6177
+ label: t("labels.submit"),
6178
+ size: "small",
6179
+ onClick: function onClick() {
6180
+ return handleSubmit();
6181
+ }
6182
+ }));
6183
+ };
6184
+
6185
+ 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; }
6186
+ 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; }
6187
+ var standardComponents = {
6188
+ text: Text,
6189
+ regex: Text,
6190
+ textarea: TextArea,
6191
+ text_area: TextArea,
6192
+ // TODO: Remove text-area after integration in all hosts.
6193
+ number: Number$1,
6194
+ monetary: Number$1,
6195
+ integer: Number$1,
6196
+ decimal: Number$1,
6197
+ date: DateOrTime,
6198
+ time: DateOrTime,
6199
+ datetime: DateOrTime,
6200
+ single_option: SingleOption,
6201
+ multi_option: MultiOption,
6202
+ date_range: RangePicker,
6203
+ time_range: RangePicker,
6204
+ checkbox: Checkbox
6205
+ };
6206
+ var getFieldInput = function getFieldInput(_ref) {
6207
+ var field = _ref.field,
6208
+ _ref$customComponents = _ref.customComponents,
6209
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
6210
+ var Component = customComponents[field.kind] || standardComponents[field.kind];
6211
+ if (Component) {
6212
+ return Component;
6213
+ }
6214
+ return null;
6215
+ };
6216
+ var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
6217
+ return fieldValues.filter(function (item) {
6218
+ return !isNil(prop("data", item));
6219
+ });
6220
+ };
6221
+ var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
6222
+ return map(pick(["id", "fieldId", "data"]), fieldValues);
6223
+ };
6224
+ var transformValues = function transformValues(_ref2) {
6225
+ var formikValues = _ref2.values,
6226
+ fields = _ref2.fields;
6227
+ var allFieldValues = clone$1(formikValues);
6228
+ var neetoFieldValues = [];
6229
+ fields.forEach(function (_ref3) {
6230
+ var id = _ref3.id,
6231
+ name = _ref3.name;
6232
+ var fieldPath = escapeString("".concat(name, "-").concat(id));
6233
+ neetoFieldValues.push(allFieldValues[fieldPath]);
6234
+ delete allFieldValues[fieldPath];
6235
+ });
6236
+ var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
6237
+ return _objectSpread$9(_objectSpread$9({}, allFieldValues), {}, {
6238
+ fieldValuesAttributes: cleanedFieldValues
6239
+ });
6240
+ };
6241
+ var getInitialFieldValue = function getInitialFieldValue(field) {
6242
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6243
+ var existingFieldValueData = findBy({
6244
+ fieldId: field.id
6245
+ }, fieldValues);
6246
+ var newFieldValueData = {
6247
+ fieldId: field.id,
6248
+ data: null
6249
+ };
6250
+ return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
6251
+ };
6252
+ var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6253
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6254
+ return getNonSystemFields(fields).map(function (field) {
6255
+ return getInitialFieldValue(field, fieldValues);
6256
+ });
6257
+ };
6258
+ var mergeInitialValues = function mergeInitialValues(_ref5) {
6259
+ var initialValues = _ref5.initialValues,
6260
+ fields = _ref5.fields;
6261
+ var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6262
+ return omit(["fieldValues"], initialValue);
6263
+ };
6264
+ var getNonSystemFields = function getNonSystemFields(fields) {
6265
+ return filterBy({
6266
+ isSystem: false
6267
+ }, fields);
6268
+ };
6269
+ var escapeString = function escapeString(string) {
6270
+ return string.replace(/[^a-zA-Z0-9_]/g, function (match) {
6271
+ var charCode = match.charCodeAt(0);
6272
+ return "_".concat(charCode, "_");
6273
+ });
6274
+ };
6275
+ var neetoFieldsUtils = {
6276
+ mergeInitialValues: mergeInitialValues,
6277
+ transformValues: transformValues
6278
+ };
6108
6279
 
6109
- var dayjs_min = {exports: {}};
6280
+ 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; }
6281
+ 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; }
6282
+ var FieldInputs = function FieldInputs(_ref) {
6283
+ var _ref$customComponents = _ref.customComponents,
6284
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6285
+ fields = _ref.fields,
6286
+ formRef = _ref.formRef,
6287
+ disabled = _ref.disabled,
6288
+ isRequiredColumnName = _ref.isRequiredColumnName;
6289
+ var _useTranslation = useTranslation(),
6290
+ t = _useTranslation.t;
6291
+ return getNonSystemFields(fields).map(function (field) {
6292
+ var Field = getFieldInput({
6293
+ field: field,
6294
+ customComponents: customComponents
6295
+ });
6296
+ if (Field) {
6297
+ return /*#__PURE__*/React.createElement(Field, _extends({
6298
+ key: field.id
6299
+ }, _objectSpread$8(_objectSpread$8({}, field), {}, {
6300
+ formRef: formRef,
6301
+ disabled: disabled,
6302
+ isRequiredColumnName: isRequiredColumnName
6303
+ })));
6304
+ }
6305
+ return /*#__PURE__*/React.createElement(Typography, {
6306
+ key: field.id,
6307
+ style: "body2"
6308
+ }, t("messages.invalidKind"));
6309
+ });
6310
+ };
6110
6311
 
6111
- dayjs_min.exports;
6312
+ var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
6313
+ var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
6314
+ var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
6315
+ var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
6316
+ var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
6317
+ var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
6318
+ var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
6319
+ var SINGULAR = {
6320
+ count: 1
6321
+ };
6322
+ var PLURAL = {
6323
+ count: 2
6324
+ };
6112
6325
 
6113
- (function (module, exports) {
6114
- !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}));
6115
- } (dayjs_min, dayjs_min.exports));
6326
+ var fieldUrl = function fieldUrl(fieldId) {
6327
+ return buildUrl(FIELD_URL, {
6328
+ fieldId: fieldId
6329
+ });
6330
+ };
6331
+ var fetch$1 = function fetch(_ref) {
6332
+ var resourceType = _ref.resourceType,
6333
+ ownerId = _ref.ownerId,
6334
+ state = _ref.state;
6335
+ return axios.get(FIELDS_URL, {
6336
+ params: {
6337
+ resourceType: resourceType,
6338
+ ownerId: ownerId,
6339
+ state: state
6340
+ }
6341
+ });
6342
+ };
6343
+ var create$1 = function create(payload) {
6344
+ return axios.post(FIELDS_URL, payload);
6345
+ };
6346
+ var show = function show(_ref2) {
6347
+ var fieldId = _ref2.fieldId,
6348
+ ownerId = _ref2.ownerId;
6349
+ return axios.get(fieldUrl(fieldId), {
6350
+ params: {
6351
+ ownerId: ownerId
6352
+ }
6353
+ });
6354
+ };
6355
+ var destroy$1 = function destroy(_ref3) {
6356
+ var fieldId = _ref3.fieldId,
6357
+ ownerId = _ref3.ownerId;
6358
+ return axios["delete"](fieldUrl(fieldId), {
6359
+ data: {
6360
+ ownerId: ownerId
6361
+ }
6362
+ });
6363
+ };
6364
+ var update$1 = function update(_ref4) {
6365
+ var fieldId = _ref4.fieldId,
6366
+ payload = _ref4.payload;
6367
+ return axios.put(fieldUrl(fieldId), payload);
6368
+ };
6369
+ var reorder = function reorder(payload) {
6370
+ return axios.patch(FIELDS_REORDER_URL, payload);
6371
+ };
6372
+ var fieldsApi = {
6373
+ fetch: fetch$1,
6374
+ create: create$1,
6375
+ show: show,
6376
+ destroy: destroy$1,
6377
+ update: update$1,
6378
+ reorder: reorder
6379
+ };
6116
6380
 
6117
- var dayjs_minExports = dayjs_min.exports;
6118
- var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
6381
+ var QUERY_KEYS = {
6382
+ FIELDS: "fields",
6383
+ FIELD_VALUES: "field_values",
6384
+ CONFIGS: "configurations"
6385
+ };
6386
+ var DEFAULT_STALE_TIME = 3600000; // 1 hour
6119
6387
 
6120
- var dateSchema = yup.date().nullable();
6121
- var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
6122
- var kind = _ref.kind,
6123
- isRequired = _ref.isRequired,
6124
- fieldData = _ref.fieldData;
6125
- switch (kind) {
6126
- case KINDS.singleOption:
6127
- case KINDS.text:
6128
- {
6129
- var schema = yup.string().trim().nullable();
6130
- return isRequired ? schema.required(t("validations.thisIsRequired")) : schema;
6131
- }
6132
- case KINDS.number:
6133
- case KINDS.monetary:
6134
- case KINDS.decimal:
6135
- {
6136
- var _schema = yup.number().nullable().typeError(t("validations.notAValidNumber"));
6137
- return isRequired ? _schema.required(t("validations.thisIsRequired")) : _schema;
6138
- }
6139
- case KINDS.integer:
6140
- {
6141
- var _schema2 = yup.number().nullable().integer().typeError(t("validations.notAValidInteger"));
6142
- return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
6143
- }
6144
- case KINDS.date:
6145
- case KINDS.time:
6146
- return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
6147
- case KINDS.multiOption:
6148
- {
6149
- var _schema3 = yup.array().of(yup.string()).nullable();
6150
- return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
6388
+ 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; }
6389
+ 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; }
6390
+ var FIELDS = QUERY_KEYS.FIELDS;
6391
+ var useFetchFields = function useFetchFields(_ref, options) {
6392
+ var resourceType = _ref.resourceType,
6393
+ ownerId = _ref.ownerId,
6394
+ state = _ref.state,
6395
+ _ref$prefixQueryKeys = _ref.prefixQueryKeys,
6396
+ prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
6397
+ return useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
6398
+ return fieldsApi.fetch({
6399
+ resourceType: resourceType,
6400
+ ownerId: ownerId,
6401
+ state: state
6402
+ });
6403
+ }, _objectSpread$7({
6404
+ staleTime: DEFAULT_STALE_TIME
6405
+ }, options));
6406
+ };
6407
+ var useCreateField = function useCreateField(options) {
6408
+ var queryClient = useQueryClient();
6409
+ return useMutation(fieldsApi.create, _objectSpread$7(_objectSpread$7({}, options), {}, {
6410
+ onSuccess: function onSuccess() {
6411
+ var _options$onSuccess;
6412
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6413
+ args[_key] = arguments[_key];
6151
6414
  }
6152
- case KINDS.dateRange:
6153
- case KINDS.timeRange:
6154
- {
6155
- if (isRequired) {
6156
- return yup.array().of(dateSchema).required(t("validations.thisIsRequired"));
6157
- }
6158
- return yup.array().of(dateSchema).nullable();
6415
+ 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));
6416
+ queryClient.invalidateQueries(FIELDS);
6417
+ }
6418
+ }));
6419
+ };
6420
+ var useShowField = function useShowField(_ref2, options) {
6421
+ var fieldId = _ref2.fieldId,
6422
+ ownerId = _ref2.ownerId;
6423
+ var queryKey = [FIELDS, fieldId];
6424
+ return useQuery(queryKey, function () {
6425
+ return fieldsApi.show({
6426
+ fieldId: fieldId,
6427
+ ownerId: ownerId
6428
+ });
6429
+ }, options);
6430
+ };
6431
+ var useUpdateField = function useUpdateField(options) {
6432
+ var queryClient = useQueryClient();
6433
+ return useMutation(fieldsApi.update, _objectSpread$7(_objectSpread$7({}, options), {}, {
6434
+ onSuccess: function onSuccess() {
6435
+ var _options$onSuccess2;
6436
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
6437
+ args[_key2] = arguments[_key2];
6159
6438
  }
6160
- case KINDS.checkbox:
6161
- return yup["boolean"]().nullable();
6162
- case KINDS.regex:
6163
- {
6164
- var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
6165
- var _schema4 = yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
6166
- return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
6439
+ 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));
6440
+ queryClient.invalidateQueries(FIELDS);
6441
+ }
6442
+ }));
6443
+ };
6444
+ var useDestroyField = function useDestroyField(options) {
6445
+ var queryClient = useQueryClient();
6446
+ return useMutation(fieldsApi.destroy, _objectSpread$7(_objectSpread$7({}, options), {}, {
6447
+ onSuccess: function onSuccess() {
6448
+ var _options$onSuccess3;
6449
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
6450
+ args[_key3] = arguments[_key3];
6167
6451
  }
6168
- default:
6169
- return yup.mixed();
6170
- }
6452
+ 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));
6453
+ queryClient.invalidateQueries(FIELDS);
6454
+ }
6455
+ }));
6171
6456
  };
6172
- var cleanedRegex = function cleanedRegex(expression) {
6173
- if (expression.startsWith("/") && expression.endsWith("/")) {
6174
- return expression.slice(1, -1);
6175
- }
6176
- return expression;
6457
+ var useReorderFields = function useReorderFields() {
6458
+ var queryClient = useQueryClient();
6459
+ return useMutation(fieldsApi.reorder, {
6460
+ onSuccess: function onSuccess() {
6461
+ queryClient.invalidateQueries(FIELDS);
6462
+ }
6463
+ });
6177
6464
  };
6178
- var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
6179
- var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6180
- return optionObjects.map(function (_ref2) {
6181
- var label = _ref2.label,
6182
- value = _ref2.value;
6183
- return {
6184
- label: label,
6185
- value: value || label
6186
- };
6465
+
6466
+ 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; }
6467
+ 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; }
6468
+ var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
6469
+ return options.map(function (option, index) {
6470
+ return _objectSpread$6(_objectSpread$6({}, option), {}, {
6471
+ displayOrder: index
6472
+ });
6187
6473
  });
6188
6474
  };
6189
- var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
6190
- return map(toLabelAndValue, value || []);
6475
+ var buildPayload = function buildPayload(_ref) {
6476
+ var formValues = _ref.formValues,
6477
+ _ref$resourceType = _ref.resourceType,
6478
+ resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
6479
+ _ref$ownerId = _ref.ownerId,
6480
+ ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
6481
+ var kind = formValues.kind.value;
6482
+ var name = formValues.name.trim();
6483
+ return {
6484
+ ownerId: isEmpty(ownerId) ? undefined : ownerId,
6485
+ field: _objectSpread$6(_objectSpread$6({}, omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
6486
+ kind: kind,
6487
+ name: name,
6488
+ resourceType: isEmpty(resourceType) ? undefined : resourceType,
6489
+ data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
6490
+ })
6491
+ };
6191
6492
  };
6192
- var validateField = /*#__PURE__*/function () {
6193
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
6194
- var fieldValue, fieldName, isRequired, kind, fieldData;
6195
- return _regeneratorRuntime.wrap(function _callee$(_context) {
6196
- while (1) switch (_context.prev = _context.next) {
6197
- case 0:
6198
- fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
6199
- _context.prev = 1;
6200
- _context.next = 4;
6201
- return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
6202
- kind: kind,
6203
- isRequired: isRequired,
6204
- fieldData: fieldData
6205
- }))).validate(_defineProperty({}, fieldName, fieldValue));
6206
- case 4:
6207
- return _context.abrupt("return", false);
6208
- case 7:
6209
- _context.prev = 7;
6210
- _context.t0 = _context["catch"](1);
6211
- return _context.abrupt("return", _context.t0.errors);
6212
- case 10:
6213
- case "end":
6214
- return _context.stop();
6215
- }
6216
- }, _callee, null, [[1, 7]]);
6493
+ var isDropdown = function isDropdown(kind) {
6494
+ return ["single_option", "multi_option"].includes(kind);
6495
+ };
6496
+ var isRegex = function isRegex(kind) {
6497
+ return kind === "regex";
6498
+ };
6499
+ var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
6500
+ return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
6501
+ };
6502
+ var getPermittedKinds = function getPermittedKinds(_ref2) {
6503
+ var allowedKinds = _ref2.allowedKinds,
6504
+ selectedKind = _ref2.selectedKind;
6505
+ var filteredKinds = pick(allowedKinds, FIELD_KINDS);
6506
+ var permittedKinds = filterBy({
6507
+ group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
6508
+ }, values(filteredKinds));
6509
+ return permittedKinds;
6510
+ };
6511
+ var generateValidationSchema = function generateValidationSchema(additionalValidations) {
6512
+ return yup.object().shape(_objectSpread$6(_objectSpread$6({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
6513
+ };
6514
+ var renderFormFooter = function renderFormFooter(_ref3) {
6515
+ var onClose = _ref3.onClose,
6516
+ loading = _ref3.loading,
6517
+ _ref3$dirty = _ref3.dirty,
6518
+ dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
6519
+ return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
6520
+ cancelButtonProps: {
6521
+ onClick: onClose,
6522
+ style: "text",
6523
+ disabled: loading
6524
+ },
6525
+ submitButtonProps: {
6526
+ label: t$1("labels.saveChanges"),
6527
+ className: "mr-2",
6528
+ type: "submit",
6529
+ disabled: !dirty,
6530
+ loading: loading
6531
+ }
6217
6532
  }));
6218
- return function validateField(_x) {
6219
- return _ref4.apply(this, arguments);
6220
- };
6221
- }();
6222
- var dateTimeToString = function dateTimeToString(dateTime) {
6223
- return dayjs(dateTime).toString();
6224
6533
  };
6225
6534
 
6226
- var _excluded = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
6227
- 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; }
6228
- 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; }
6229
- var useFormikFields = function useFormikFields(_ref) {
6230
- var name = _ref.name,
6231
- fieldId = _ref.id,
6232
- kind = _ref.kind,
6233
- fieldData = _ref.data,
6234
- individualSubmit = _ref.individualSubmit,
6235
- formRef = _ref.formRef,
6236
- formRefs = _ref.formRefs,
6237
- disabled = _ref.disabled,
6238
- _ref$isRequiredColumn = _ref.isRequiredColumnName,
6239
- isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
6240
- props = _objectWithoutProperties(_ref, _excluded);
6241
- var formikContext = useFormikContext();
6242
- var setFieldValue = formikContext.setFieldValue,
6243
- submitForm = formikContext.submitForm,
6244
- dirty = formikContext.dirty,
6245
- isSubmitting = formikContext.isSubmitting;
6246
- var fieldPath = "".concat(name, "-").concat(fieldId);
6247
- var fieldName = kind === KINDS.multiOption ? "values" : "value";
6248
- var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
6249
- if (isNil(formRef) && isNotNil(formRefs)) {
6250
- formRefs.current[fieldValuePath] = formikContext;
6251
- } else if (isNil(formRefs) && isNotNil(formRef)) {
6252
- formRef.current = formikContext;
6535
+ var regexValidationSchema = yup.object().shape({
6536
+ condition: yup.string().required(t$1("validations.regexConditionIsRequired")),
6537
+ helpMessage: yup.string().required(t$1("validations.regexHelpMessageIsRequired"))
6538
+ });
6539
+ var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
6540
+ label: yup.string().trim().required(t$1("validations.fieldOptionIsRequired")),
6541
+ displayOrder: yup.number()
6542
+ })).min(1, t$1("validations.atLeastFieldOptionIsRequired"));
6543
+ var FIELD_KINDS = {
6544
+ text: {
6545
+ value: "text",
6546
+ label: t$1("fields.kinds.text"),
6547
+ group: 1
6548
+ },
6549
+ number: {
6550
+ value: "number",
6551
+ label: t$1("fields.kinds.number"),
6552
+ group: 2
6553
+ },
6554
+ monetary: {
6555
+ value: "monetary",
6556
+ label: t$1("fields.kinds.monetary"),
6557
+ group: 2
6558
+ },
6559
+ single_option: {
6560
+ value: "single_option",
6561
+ label: t$1("fields.kinds.singleOption"),
6562
+ group: 3
6563
+ },
6564
+ multi_option: {
6565
+ value: "multi_option",
6566
+ label: t$1("fields.kinds.multiOption"),
6567
+ group: 3
6568
+ },
6569
+ date: {
6570
+ value: "date",
6571
+ label: t$1("fields.kinds.date"),
6572
+ group: 4
6573
+ },
6574
+ time: {
6575
+ value: "time",
6576
+ label: t$1("fields.kinds.time"),
6577
+ group: 5
6578
+ },
6579
+ date_range: {
6580
+ value: "date_range",
6581
+ label: t$1("fields.kinds.dateRange"),
6582
+ group: 6
6583
+ },
6584
+ time_range: {
6585
+ value: "time_range",
6586
+ label: t$1("fields.kinds.timeRange"),
6587
+ group: 7
6588
+ },
6589
+ text_area: {
6590
+ value: "text_area",
6591
+ label: t$1("fields.kinds.textArea"),
6592
+ group: 1
6593
+ },
6594
+ textarea: {
6595
+ value: "textarea",
6596
+ label: t$1("fields.kinds.textarea"),
6597
+ group: 1
6598
+ },
6599
+ person: {
6600
+ value: "person",
6601
+ label: t$1("fields.kinds.person"),
6602
+ group: 8
6603
+ },
6604
+ checkbox: {
6605
+ value: "checkbox",
6606
+ label: t$1("fields.kinds.checkbox"),
6607
+ group: 9
6608
+ },
6609
+ regex: {
6610
+ value: "regex",
6611
+ label: t$1("fields.kinds.regex"),
6612
+ group: 10
6613
+ },
6614
+ integer: {
6615
+ value: "integer",
6616
+ label: t$1("fields.kinds.integer"),
6617
+ group: 2
6618
+ },
6619
+ decimal: {
6620
+ value: "decimal",
6621
+ label: t$1("fields.kinds.decimal"),
6622
+ group: 2
6623
+ },
6624
+ datetime: {
6625
+ value: "datetime",
6626
+ label: t$1("fields.kinds.datetime"),
6627
+ group: 11
6253
6628
  }
6254
- var _useField = useField({
6255
- name: fieldValuePath,
6256
- validate: function validate(fieldValue) {
6257
- return validateField({
6258
- fieldValue: fieldValue,
6259
- fieldName: name,
6260
- isRequired: props[isRequiredColumnName],
6261
- kind: kind,
6262
- fieldData: fieldData
6263
- });
6264
- }
6265
- }),
6266
- _useField2 = _slicedToArray(_useField, 3),
6267
- formikFieldProps = _useField2[0],
6268
- meta = _useField2[1],
6269
- helpers = _useField2[2];
6270
- var handleSubmit = function handleSubmit(value) {
6271
- isNotNil(value) && setFieldValue(fieldValuePath, value);
6272
- individualSubmit && submitForm();
6629
+ };
6630
+ var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
6631
+ var INITIAL_FIELDS = {
6632
+ name: "",
6633
+ kind: toLabelAndValue("text"),
6634
+ isRequired: false
6635
+ };
6636
+ var DEFAULT_OPTION = {
6637
+ label: "",
6638
+ displayOrder: 0
6639
+ };
6640
+ var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
6641
+ var DEFAULT_REGEX_DATA = {
6642
+ regex: "",
6643
+ helpMessage: ""
6644
+ };
6645
+ var BASIC_FIELD_FORM_VALIDATIONS = {
6646
+ name: yup.string().trim().required(t$1("validations.fieldNameIsRequired")),
6647
+ isRequired: yup["boolean"](),
6648
+ kind: yup.object().shape({
6649
+ value: yup.string().required()
6650
+ }).required(t$1("validations.kindIsRequired")),
6651
+ data: yup.mixed().when("kind", {
6652
+ is: function is(kind) {
6653
+ return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
6654
+ },
6655
+ then: regexValidationSchema
6656
+ }).when("kind", {
6657
+ is: function is(kind) {
6658
+ return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
6659
+ },
6660
+ then: dropDownOptionsValidationSchema
6661
+ })
6662
+ };
6663
+
6664
+ var AdditionalInputs = function AdditionalInputs() {
6665
+ var _useTranslation = useTranslation(),
6666
+ t = _useTranslation.t;
6667
+ var _useFormikContext = useFormikContext(),
6668
+ _useFormikContext$val = _useFormikContext.values,
6669
+ kind = _useFormikContext$val.kind,
6670
+ options = _useFormikContext$val.data,
6671
+ isSystem = _useFormikContext$val.isSystem;
6672
+ var removeOption = function removeOption(arrayHelpers, index) {
6673
+ return arrayHelpers.remove(index);
6273
6674
  };
6274
- var getValueForField = function getValueForField(value) {
6275
- if (kind === KINDS.singleOption) {
6276
- value = toLabelAndValue(value);
6277
- } else if (kind === KINDS.multiOption) {
6278
- value = buildArrayToLabelAndValues(value);
6279
- }
6280
- return value;
6675
+ var addOption = function addOption(arrayHelpers) {
6676
+ return arrayHelpers.push(DEFAULT_OPTION);
6281
6677
  };
6282
- var isDropdown = ["single_option", "multi_option"].includes(kind);
6283
- if (isSubmitting && !meta.touched) {
6284
- helpers.setTouched(true);
6678
+ if (isDropdown(kind.value)) {
6679
+ return /*#__PURE__*/React.createElement(FieldArray, {
6680
+ name: "data"
6681
+ }, function (arrayHelpers) {
6682
+ return /*#__PURE__*/React.createElement("div", {
6683
+ className: "flex w-full flex-col gap-y-4"
6684
+ }, /*#__PURE__*/React.createElement(Label, {
6685
+ required: true
6686
+ }, t("titles.dropdownOptions")), isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
6687
+ return /*#__PURE__*/React.createElement("div", {
6688
+ className: "flex w-full space-x-3",
6689
+ key: index
6690
+ }, /*#__PURE__*/React.createElement("div", {
6691
+ className: "w-full"
6692
+ }, /*#__PURE__*/React.createElement(Input$1, {
6693
+ disabled: isSystem,
6694
+ name: "data.".concat(index, ".label"),
6695
+ placeholder: t("placeholders.enterAnOption"),
6696
+ suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button$1, {
6697
+ icon: Delete,
6698
+ style: "text",
6699
+ onClick: function onClick() {
6700
+ return removeOption(arrayHelpers, index);
6701
+ }
6702
+ })
6703
+ })));
6704
+ }), /*#__PURE__*/React.createElement(Button$1, {
6705
+ fullWidth: true,
6706
+ className: "mb-6 border-dashed text-xs uppercase",
6707
+ label: t("labels.addMoreOption"),
6708
+ style: "secondary",
6709
+ onClick: function onClick() {
6710
+ return addOption(arrayHelpers);
6711
+ }
6712
+ }));
6713
+ });
6714
+ } else if (isRegex(kind.value)) {
6715
+ return /*#__PURE__*/React.createElement("div", {
6716
+ className: "flex w-full flex-col gap-y-4"
6717
+ }, /*#__PURE__*/React.createElement(Label, {
6718
+ required: true
6719
+ }, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input$1, {
6720
+ disabled: isSystem,
6721
+ label: t("labels.regexCondition"),
6722
+ name: "data.condition",
6723
+ placeholder: t("placeholders.regexExample")
6724
+ }), /*#__PURE__*/React.createElement(Input$1, {
6725
+ disabled: isSystem,
6726
+ label: t("labels.helpMessage"),
6727
+ name: "data.helpMessage",
6728
+ placeholder: t("placeholders.enterErrorMessage")
6729
+ }));
6285
6730
  }
6286
- return {
6287
- handleSubmit: handleSubmit,
6288
- fieldProps: _objectSpread$6(_objectSpread$6({}, formikFieldProps), {}, {
6289
- required: props[isRequiredColumnName],
6290
- error: meta.touched && meta.error,
6291
- options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
6292
- value: getValueForField(formikFieldProps.value),
6293
- dirty: dirty,
6294
- label: !individualSubmit && capitalize$1(name),
6295
- disabled: disabled
6296
- })
6297
- };
6731
+ return null;
6298
6732
  };
6299
6733
 
6300
- var Checkbox = function Checkbox(props) {
6301
- var _useFormikFields = useFormikFields(props),
6302
- handleSubmit = _useFormikFields.handleSubmit,
6303
- fieldProps = _useFormikFields.fieldProps;
6304
- return /*#__PURE__*/React.createElement(Switch$1, _extends({}, fieldProps, {
6305
- checked: fieldProps.value,
6306
- onChange: function onChange(_ref) {
6307
- var checked = _ref.target.checked;
6308
- return handleSubmit(checked);
6309
- }
6310
- }));
6311
- };
6734
+ /** @type {React.FC<import("types").FieldFormProps>} */
6312
6735
 
6313
- var DateOrTime = function DateOrTime(props) {
6314
- var _useFormikFields = useFormikFields(props),
6315
- handleSubmit = _useFormikFields.handleSubmit,
6316
- fieldProps = _useFormikFields.fieldProps;
6317
- if (props.kind === KINDS.time) {
6318
- return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
6319
- use12Hours: true,
6320
- format: "h:mm A",
6321
- onChange: function onChange(dateTime) {
6322
- return handleSubmit(dateTimeToString(dateTime));
6323
- }
6324
- }));
6325
- } else if (props.kind === KINDS.date) {
6326
- return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
6327
- onChange: function onChange(dateTime) {
6328
- return handleSubmit(dateTimeToString(dateTime));
6329
- }
6330
- }));
6331
- }
6332
- return /*#__PURE__*/React.createElement(DatePicker, _extends({
6333
- showTime: true,
6334
- timeFormat: "h:mm A"
6335
- }, fieldProps, {
6336
- onChange: function onChange(dateTime) {
6337
- return handleSubmit(dateTimeToString(dateTime));
6736
+ var FieldForm = function FieldForm(_ref) {
6737
+ var chosenKind = _ref.chosenKind,
6738
+ _ref$kindSelectOption = _ref.kindSelectOptions,
6739
+ kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
6740
+ _ref$isSystem = _ref.isSystem,
6741
+ isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
6742
+ _ref$hideRequiredSwit = _ref.hideRequiredSwitch,
6743
+ hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
6744
+ children = _ref.children;
6745
+ var _useTranslation = useTranslation(),
6746
+ t = _useTranslation.t;
6747
+ var _useFormikContext = useFormikContext(),
6748
+ options = _useFormikContext.values.data,
6749
+ setFieldValue = _useFormikContext.setFieldValue;
6750
+ var handleKindChange = function handleKindChange(kind) {
6751
+ setFieldValue("kind", kind);
6752
+ if (isDropdown(kind.value)) {
6753
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
6754
+ } else if (isRegex(kind.value)) {
6755
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
6338
6756
  }
6339
- }));
6757
+ };
6758
+ return /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
6759
+ className: "w-full space-y-4"
6760
+ }, /*#__PURE__*/React.createElement(Input$1, {
6761
+ required: true,
6762
+ disabled: isSystem,
6763
+ label: t("labels.fieldName"),
6764
+ name: "name",
6765
+ placeholder: t("placeholders.enterFieldName")
6766
+ }), /*#__PURE__*/React.createElement(Select$1, {
6767
+ isSearchable: true,
6768
+ isDisabled: isSystem,
6769
+ label: t("labels.fieldKind"),
6770
+ name: "kind",
6771
+ options: kindSelectOptions,
6772
+ onChange: handleKindChange
6773
+ }), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
6774
+ className: "flex items-center gap-2"
6775
+ }, /*#__PURE__*/React.createElement(Switch$1, {
6776
+ name: "isRequired"
6777
+ }), /*#__PURE__*/React.createElement(Typography, {
6778
+ className: "leading-4",
6779
+ component: "span",
6780
+ style: "body2"
6781
+ }, t("labels.isRequired"))), children));
6340
6782
  };
6341
6783
 
6342
- var MultiOption = function MultiOption(props) {
6343
- var _useFormikFields = useFormikFields(props),
6344
- handleSubmit = _useFormikFields.handleSubmit,
6345
- fieldProps = _useFormikFields.fieldProps;
6346
- return /*#__PURE__*/React.createElement(Select$1, _extends({
6347
- isMulti: true,
6348
- isSearchable: true
6349
- }, fieldProps, {
6350
- onChange: function onChange(selectedOptions) {
6351
- return handleSubmit(pluck("value", selectedOptions));
6352
- }
6353
- }));
6354
- };
6784
+ var _excluded$2 = ["resourceType", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6785
+ 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; }
6786
+ 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; }
6355
6787
 
6356
- var Number$1 = function Number(props) {
6357
- var _useFormikFields = useFormikFields(props),
6358
- handleSubmit = _useFormikFields.handleSubmit,
6359
- fieldProps = _useFormikFields.fieldProps;
6360
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6361
- return /*#__PURE__*/React.createElement(Input$1, _extends({}, fieldProps, {
6362
- type: "number",
6363
- suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button$1, {
6364
- icon: Check,
6365
- style: "text",
6366
- onClick: function onClick() {
6367
- return handleSubmit();
6368
- }
6369
- })
6370
- }));
6371
- };
6788
+ /** @type {React.FC<import("types").AddProps>} */
6372
6789
 
6373
- var RangePicker = function RangePicker(props) {
6374
- var _useFormikFields = useFormikFields(props),
6375
- handleSubmit = _useFormikFields.handleSubmit,
6376
- fieldProps = _useFormikFields.fieldProps;
6377
- var handleChange = function handleChange(_ref) {
6378
- var _ref2 = _slicedToArray(_ref, 2),
6379
- begin = _ref2[0],
6380
- end = _ref2[1];
6381
- return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
6790
+ var Add = function Add(_ref) {
6791
+ var resourceType = _ref.resourceType,
6792
+ _ref$allowedKinds = _ref.allowedKinds,
6793
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6794
+ ownerId = _ref.ownerId,
6795
+ additionalValidations = _ref.additionalValidations,
6796
+ initialValues = _ref.initialValues,
6797
+ onClose = _ref.onClose,
6798
+ onMutationSuccess = _ref.onMutationSuccess,
6799
+ props = _objectWithoutProperties(_ref, _excluded$2);
6800
+ var _useTranslation = useTranslation(),
6801
+ t = _useTranslation.t;
6802
+ var _useCreateField = useCreateField({
6803
+ onSuccess: onMutationSuccess
6804
+ }),
6805
+ createField = _useCreateField.mutate,
6806
+ isSubmitting = _useCreateField.isLoading;
6807
+ var filteredKinds = values(pick(allowedKinds, FIELD_KINDS));
6808
+ var handleSubmit = function handleSubmit(formValues) {
6809
+ var payload = buildPayload({
6810
+ formValues: formValues,
6811
+ resourceType: resourceType,
6812
+ ownerId: ownerId
6813
+ });
6814
+ createField(payload, {
6815
+ onSuccess: onClose
6816
+ });
6382
6817
  };
6383
- if (props.kind === KINDS.dateRange) {
6384
- return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
6385
- type: "range",
6386
- onChange: handleChange
6387
- }));
6388
- }
6389
-
6390
- //time_range
6391
- return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
6392
- use12Hours: true,
6393
- format: "h:mm A",
6394
- type: "range",
6395
- onChange: handleChange
6396
- }));
6397
- };
6398
-
6399
- var SingleOption = function SingleOption(props) {
6400
- var _useFormikFields = useFormikFields(props),
6401
- handleSubmit = _useFormikFields.handleSubmit,
6402
- fieldProps = _useFormikFields.fieldProps;
6403
- return /*#__PURE__*/React.createElement(Select$1, _extends({
6404
- isSearchable: true
6405
- }, fieldProps, {
6406
- onChange: function onChange(_ref) {
6407
- var value = _ref.value;
6408
- return handleSubmit(value);
6818
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
6819
+ style: "h2"
6820
+ }, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
6821
+ formikProps: {
6822
+ initialValues: _objectSpread$5(_objectSpread$5({}, initialValues), INITIAL_FIELDS),
6823
+ validationSchema: generateValidationSchema(additionalValidations),
6824
+ onSubmit: handleSubmit
6409
6825
  }
6826
+ }, function (_ref2) {
6827
+ var dirty = _ref2.dirty,
6828
+ kind = _ref2.values.kind;
6829
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
6830
+ chosenKind: kind.value,
6831
+ kindSelectOptions: filteredKinds
6832
+ }, props)), renderFormFooter({
6833
+ onClose: onClose,
6834
+ loading: isSubmitting,
6835
+ dirty: dirty
6836
+ }));
6410
6837
  }));
6411
6838
  };
6412
6839
 
6413
- var Text = function Text(props) {
6414
- var _useFormikFields = useFormikFields(props),
6415
- handleSubmit = _useFormikFields.handleSubmit,
6416
- fieldProps = _useFormikFields.fieldProps;
6417
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6418
- return /*#__PURE__*/React.createElement(Input$1, _extends({}, fieldProps, {
6419
- suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button$1, {
6420
- icon: Check,
6421
- style: "text",
6422
- onClick: function onClick() {
6423
- return handleSubmit();
6424
- }
6425
- })
6426
- }));
6427
- };
6840
+ var _excluded$1 = ["fieldId", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6841
+ 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; }
6842
+ 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; }
6428
6843
 
6429
- var TextArea = function TextArea(props) {
6844
+ /** @type {React.FC<import("types").EditProps>} */
6845
+
6846
+ var Edit = function Edit(_ref) {
6847
+ var fieldId = _ref.fieldId,
6848
+ _ref$allowedKinds = _ref.allowedKinds,
6849
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6850
+ ownerId = _ref.ownerId,
6851
+ _ref$additionalValida = _ref.additionalValidations,
6852
+ additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
6853
+ _ref$initialValues = _ref.initialValues,
6854
+ initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
6855
+ onClose = _ref.onClose,
6856
+ onMutationSuccess = _ref.onMutationSuccess,
6857
+ props = _objectWithoutProperties(_ref, _excluded$1);
6430
6858
  var _useTranslation = useTranslation(),
6431
6859
  t = _useTranslation.t;
6432
- var _useFormikFields = useFormikFields(props),
6433
- handleSubmit = _useFormikFields.handleSubmit,
6434
- fieldProps = _useFormikFields.fieldProps;
6435
- var showSubmitButton = props.individualSubmit && fieldProps.dirty;
6436
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React.createElement(Button$1, {
6437
- className: "m-auto mt-2",
6438
- label: t("labels.submit"),
6439
- size: "small",
6440
- onClick: function onClick() {
6441
- return handleSubmit();
6860
+ var _useShowField = useShowField({
6861
+ fieldId: fieldId,
6862
+ ownerId: ownerId
6863
+ }),
6864
+ _useShowField$data = _useShowField.data,
6865
+ _useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
6866
+ _useShowField$data2$f = _useShowField$data2.field,
6867
+ field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
6868
+ var _useUpdateField = useUpdateField({
6869
+ onSuccess: function onSuccess() {
6870
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6871
+ args[_key] = arguments[_key];
6872
+ }
6873
+ onMutationSuccess === null || onMutationSuccess === void 0 ? void 0 : onMutationSuccess.apply(void 0, args);
6874
+ onClose();
6875
+ }
6876
+ }),
6877
+ updateField = _useUpdateField.mutate,
6878
+ isSubmitting = _useUpdateField.isLoading;
6879
+ var handleSubmit = function handleSubmit(formValues) {
6880
+ var payload = buildPayload({
6881
+ formValues: formValues,
6882
+ ownerId: ownerId
6883
+ });
6884
+ updateField({
6885
+ fieldId: fieldId,
6886
+ payload: payload
6887
+ });
6888
+ };
6889
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
6890
+ style: "h2"
6891
+ }, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
6892
+ formikProps: {
6893
+ initialValues: _objectSpread$4(_objectSpread$4({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
6894
+ validationSchema: generateValidationSchema(additionalValidations),
6895
+ enableReinitialize: true,
6896
+ onSubmit: handleSubmit
6442
6897
  }
6898
+ }, function (_ref2) {
6899
+ var kind = _ref2.values.kind,
6900
+ dirty = _ref2.dirty;
6901
+ var permittedKinds = getPermittedKinds({
6902
+ allowedKinds: allowedKinds,
6903
+ selectedKind: kind
6904
+ });
6905
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
6906
+ chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
6907
+ isSystem: field.isSystem,
6908
+ kindSelectOptions: permittedKinds
6909
+ }, props)), renderFormFooter({
6910
+ onClose: onClose,
6911
+ loading: isSubmitting,
6912
+ dirty: dirty
6913
+ }));
6443
6914
  }));
6444
6915
  };
6445
6916
 
6446
- 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; }
6447
- 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; }
6448
- var standardComponents = {
6449
- text: Text,
6450
- regex: Text,
6451
- textarea: TextArea,
6452
- text_area: TextArea,
6453
- // TODO: Remove text-area after integration in all hosts.
6454
- number: Number$1,
6455
- monetary: Number$1,
6456
- integer: Number$1,
6457
- decimal: Number$1,
6458
- date: DateOrTime,
6459
- time: DateOrTime,
6460
- datetime: DateOrTime,
6461
- single_option: SingleOption,
6462
- multi_option: MultiOption,
6463
- date_range: RangePicker,
6464
- time_range: RangePicker,
6465
- checkbox: Checkbox
6466
- };
6467
- var getFieldInput = function getFieldInput(_ref) {
6468
- var field = _ref.field,
6469
- _ref$customComponents = _ref.customComponents,
6470
- customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
6471
- var Component = customComponents[field.kind] || standardComponents[field.kind];
6472
- if (Component) {
6473
- return Component;
6474
- }
6475
- return null;
6476
- };
6477
- var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
6478
- return fieldValues.filter(function (item) {
6479
- return !isNil(prop("data", item));
6480
- });
6481
- };
6482
- var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
6483
- return map(pick(["id", "fieldId", "data"]), fieldValues);
6484
- };
6485
- var transformValues = function transformValues(_ref2) {
6486
- var formikValues = _ref2.values,
6487
- fields = _ref2.fields;
6488
- var allFieldValues = clone$1(formikValues);
6489
- var neetoFieldValues = [];
6490
- fields.forEach(function (_ref3) {
6491
- var id = _ref3.id,
6492
- name = _ref3.name;
6493
- neetoFieldValues.push(allFieldValues["".concat(name, "-").concat(id)]);
6494
- delete allFieldValues["".concat(name, "-").concat(id)];
6495
- });
6496
- var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
6497
- return _objectSpread$5(_objectSpread$5({}, allFieldValues), {}, {
6498
- fieldValuesAttributes: cleanedFieldValues
6499
- });
6500
- };
6501
- var getInitialFieldValue = function getInitialFieldValue(field) {
6502
- var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6503
- var existingFieldValueData = findBy({
6504
- fieldId: field.id
6505
- }, fieldValues);
6506
- var newFieldValueData = {
6507
- fieldId: field.id,
6508
- data: null
6509
- };
6510
- return _defineProperty({}, "".concat(field.name, "-").concat(field.id), existingFieldValueData || newFieldValueData);
6511
- };
6512
- var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6513
- var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6514
- return getNonSystemFields(fields).map(function (field) {
6515
- return getInitialFieldValue(field, fieldValues);
6516
- });
6517
- };
6518
- var mergeInitialValues = function mergeInitialValues(_ref5) {
6519
- var initialValues = _ref5.initialValues,
6520
- fields = _ref5.fields;
6521
- var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6522
- return omit(["fieldValues"], initialValue);
6523
- };
6524
- var getNonSystemFields = function getNonSystemFields(fields) {
6525
- return filterBy({
6526
- isSystem: false
6527
- }, fields);
6528
- };
6529
- var neetoFieldsUtils = {
6530
- mergeInitialValues: mergeInitialValues,
6531
- transformValues: transformValues
6532
- };
6917
+ var _excluded = ["isOpen", "selectedField"];
6533
6918
 
6534
- 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; }
6535
- 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; }
6536
- var FieldInputs = function FieldInputs(_ref) {
6537
- var _ref$customComponents = _ref.customComponents,
6538
- customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6539
- fields = _ref.fields,
6540
- formRef = _ref.formRef,
6541
- disabled = _ref.disabled,
6542
- isRequiredColumnName = _ref.isRequiredColumnName;
6543
- var _useTranslation = useTranslation(),
6544
- t = _useTranslation.t;
6545
- return getNonSystemFields(fields).map(function (field) {
6546
- var Field = getFieldInput({
6547
- field: field,
6548
- customComponents: customComponents
6549
- });
6550
- if (Field) {
6551
- return /*#__PURE__*/React.createElement(Field, _extends({
6552
- key: field.id
6553
- }, _objectSpread$4(_objectSpread$4({}, field), {}, {
6554
- formRef: formRef,
6555
- disabled: disabled,
6556
- isRequiredColumnName: isRequiredColumnName
6557
- })));
6558
- }
6559
- return /*#__PURE__*/React.createElement(Typography, {
6560
- key: field.id,
6561
- style: "body2"
6562
- }, t("messages.invalidKind"));
6563
- });
6919
+ /** @type {React.FC<import("types").FieldsPaneProps>} */
6920
+
6921
+ var FieldsPane = function FieldsPane(_ref) {
6922
+ var isOpen = _ref.isOpen,
6923
+ _ref$selectedField = _ref.selectedField,
6924
+ selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
6925
+ props = _objectWithoutProperties(_ref, _excluded);
6926
+ return /*#__PURE__*/React.createElement(Pane, {
6927
+ isOpen: isOpen,
6928
+ onClose: props.onClose
6929
+ }, isEmpty(selectedField) ? /*#__PURE__*/React.createElement(Add, props) : /*#__PURE__*/React.createElement(Edit, _extends({
6930
+ fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
6931
+ }, props)));
6564
6932
  };
6565
6933
 
6566
6934
  var Menu = Dropdown.Menu,
@@ -6571,7 +6939,7 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6571
6939
  return [{
6572
6940
  key: "name",
6573
6941
  dataIndex: "name",
6574
- title: t("titles.name"),
6942
+ title: t$1("titles.name"),
6575
6943
  render: function render(name, field) {
6576
6944
  return /*#__PURE__*/React.createElement("div", {
6577
6945
  className: "flex items-center justify-between gap-x-3"
@@ -6588,25 +6956,25 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6588
6956
  onClick: function onClick() {
6589
6957
  return onEditClick(field);
6590
6958
  }
6591
- }, t("labels.edit")), !field.isSystem && /*#__PURE__*/React.createElement(MenuItem.Button, {
6959
+ }, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React.createElement(MenuItem.Button, {
6592
6960
  onClick: function onClick() {
6593
6961
  return onDeleteClick(field);
6594
6962
  }
6595
- }, t("labels.delete")))));
6963
+ }, t$1("labels.delete")))));
6596
6964
  }
6597
6965
  }, {
6598
6966
  key: "kind",
6599
6967
  dataIndex: "kind",
6600
- title: t("titles.kind"),
6968
+ title: t$1("titles.kind"),
6601
6969
  render: function render(kind) {
6602
6970
  return DISPLAY_KINDS[kind];
6603
6971
  }
6604
6972
  }, {
6605
6973
  key: "isRequired",
6606
6974
  dataIndex: "isRequired",
6607
- title: t("titles.required"),
6975
+ title: t$1("titles.required"),
6608
6976
  render: function render(boolVal) {
6609
- return boolVal ? t("common.yes") : t("common.no");
6977
+ return boolVal ? t$1("common.yes") : t$1("common.no");
6610
6978
  }
6611
6979
  }];
6612
6980
  };
@@ -6614,14 +6982,15 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6614
6982
  var items = _ref2.items,
6615
6983
  isOwnerBased = _ref2.isOwnerBased,
6616
6984
  selectedMenu = _ref2.selectedMenu,
6617
- handleBlockClick = _ref2.handleBlockClick;
6985
+ handleBlockClick = _ref2.handleBlockClick,
6986
+ nameAliases = _ref2.nameAliases;
6618
6987
  if (isOwnerBased) {
6619
6988
  return items.map(function (item) {
6620
6989
  return /*#__PURE__*/React.createElement(MenuBar.Item, {
6621
6990
  active: selectedMenu === item.id,
6622
6991
  key: item.id,
6623
6992
  label: humanize(item.name),
6624
- description: t("messages.manageFieldFor", {
6993
+ description: t$1("messages.manageFieldFor", {
6625
6994
  resource: humanize(item.name).toLocaleLowerCase()
6626
6995
  }),
6627
6996
  onClick: handleBlockClick({
@@ -6634,8 +7003,8 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6634
7003
  return /*#__PURE__*/React.createElement(MenuBar.Item, {
6635
7004
  active: selectedMenu === item,
6636
7005
  key: item,
6637
- label: humanize(item),
6638
- description: t("messages.manageFieldFor", {
7006
+ label: nameAliases[item] || humanize(item),
7007
+ description: t$1("messages.manageFieldFor", {
6639
7008
  resource: humanize(item).toLocaleLowerCase()
6640
7009
  }),
6641
7010
  onClick: handleBlockClick({
@@ -6654,7 +7023,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
6654
7023
  style: "h5",
6655
7024
  textTransform: "uppercase",
6656
7025
  weight: "bold"
6657
- }, t("titles.filters"))), /*#__PURE__*/React.createElement(MenuBar.Block, {
7026
+ }, t$1("titles.filters"))), /*#__PURE__*/React.createElement(MenuBar.Block, {
6658
7027
  active: selectedState === FIELD_STATES.active,
6659
7028
  count: activeFieldsCount,
6660
7029
  label: fieldStatesTaxonomy.active,
@@ -6674,11 +7043,26 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
6674
7043
  var _findBy;
6675
7044
  var isOwnerBased = _ref4.isOwnerBased,
6676
7045
  owners = _ref4.owners,
6677
- selectedVal = _ref4.selectedVal;
6678
- return t("messages.manageFieldFor", {
7046
+ selectedVal = _ref4.selectedVal,
7047
+ nameAliases = _ref4.nameAliases;
7048
+ return t$1("messages.manageFieldFor", {
6679
7049
  resource: isOwnerBased ? (_findBy = findBy({
6680
7050
  id: selectedVal
6681
- }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : selectedVal
7051
+ }, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal
7052
+ });
7053
+ };
7054
+ var renderNoDataHelpText = function renderNoDataHelpText(url) {
7055
+ return /*#__PURE__*/React.createElement(Trans, {
7056
+ i18nKey: "helpTexts.noData",
7057
+ components: {
7058
+ a: /*#__PURE__*/React.createElement(Link, {
7059
+ className: "neeto-ui-text-primary-600 underline",
7060
+ target: "_blank",
7061
+ to: {
7062
+ pathname: url
7063
+ }
7064
+ })
7065
+ }
6682
7066
  });
6683
7067
  };
6684
7068
 
@@ -6725,6 +7109,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6725
7109
  var _getQueryParams = getQueryParams(),
6726
7110
  resource = _getQueryParams.resource,
6727
7111
  state = _getQueryParams.state;
7112
+ var ownerId = showOwnersInMenu ? resource : undefined;
6728
7113
  var history = useHistory();
6729
7114
  var _useFetchConfigs = useFetchConfigs(),
6730
7115
  _useFetchConfigs$data = _useFetchConfigs.data,
@@ -6736,7 +7121,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6736
7121
  isConfigsLoading = _useFetchConfigs.isLoading;
6737
7122
  var fieldParams = {
6738
7123
  resourceType: !showOwnersInMenu ? resource : undefined,
6739
- ownerId: showOwnersInMenu ? resource : undefined,
7124
+ ownerId: ownerId,
6740
7125
  state: state || FIELD_STATES.active
6741
7126
  };
6742
7127
  var _useFetchFields = useFetchFields(fieldParams, {
@@ -6751,15 +7136,18 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6751
7136
  inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6752
7137
  isFieldsLoading = _useFetchFields.isLoading,
6753
7138
  isFieldsFetching = _useFetchFields.isFetching;
6754
- var _useDestroyField = useDestroyField(),
6755
- deleteField = _useDestroyField.mutate,
6756
- isDeleting = _useDestroyField.isLoading;
6757
- var handleDelete = function handleDelete() {
6758
- deleteField(selectedField.id, {
7139
+ var _useDestroyField = useDestroyField({
6759
7140
  onSuccess: function onSuccess() {
6760
7141
  setIsDeleteAlertOpen(false);
6761
7142
  setSelectedField({});
6762
7143
  }
7144
+ }),
7145
+ deleteField = _useDestroyField.mutate,
7146
+ isDeleting = _useDestroyField.isLoading;
7147
+ var handleDelete = function handleDelete() {
7148
+ deleteField({
7149
+ fieldId: selectedField.id,
7150
+ ownerId: ownerId
6763
7151
  });
6764
7152
  };
6765
7153
  var handleClosePane = function handleClosePane() {
@@ -6836,6 +7224,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6836
7224
  selectedField: selectedField,
6837
7225
  selectedState: state,
6838
7226
  selectedMenu: resource,
7227
+ // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType
6839
7228
  isFieldsFetching: isFieldsFetching,
6840
7229
  isFieldsLoading: isFieldsLoading,
6841
7230
  isDeleting: isDeleting,
@@ -6855,13 +7244,16 @@ var FieldsTable = function FieldsTable(_ref) {
6855
7244
  isLoading = _ref.isLoading,
6856
7245
  rowData = _ref.rowData,
6857
7246
  columnData = _ref.columnData,
6858
- setIsPaneOpen = _ref.setIsPaneOpen;
7247
+ setIsPaneOpen = _ref.setIsPaneOpen,
7248
+ helpDocUrl = _ref.helpDocUrl;
6859
7249
  var _useTranslation = useTranslation(),
6860
7250
  t = _useTranslation.t;
6861
7251
  var showNoDataScreen = !isLoading && isEmpty(rowData);
6862
7252
  return /*#__PURE__*/React.createElement(TableWrapper, null, showNoDataScreen ? /*#__PURE__*/React.createElement("div", {
6863
7253
  className: "flex h-full w-full items-center justify-center"
6864
- }, /*#__PURE__*/React.createElement(NoData, {
7254
+ }, /*#__PURE__*/React.createElement(NoData, _extends({}, helpDocUrl && {
7255
+ helpText: renderNoDataHelpText(helpDocUrl)
7256
+ }, {
6865
7257
  title: t("messages.noFields"),
6866
7258
  primaryButtonProps: {
6867
7259
  label: t("labels.addField"),
@@ -6869,7 +7261,7 @@ var FieldsTable = function FieldsTable(_ref) {
6869
7261
  return setIsPaneOpen(true);
6870
7262
  }
6871
7263
  }
6872
- })) : /*#__PURE__*/React.createElement(Table, {
7264
+ }))) : /*#__PURE__*/React.createElement(Table, {
6873
7265
  fixedHeight: true,
6874
7266
  allowRowClick: false,
6875
7267
  columnData: columnData,
@@ -11149,7 +11541,8 @@ var FieldBlock$1 = /*#__PURE__*/React.memo(FieldBlock);
11149
11541
  var ReorderPane = function ReorderPane(_ref) {
11150
11542
  var isOpen = _ref.isOpen,
11151
11543
  onClose = _ref.onClose,
11152
- allFields = _ref.allFields;
11544
+ allFields = _ref.allFields,
11545
+ ownerId = _ref.ownerId;
11153
11546
  var _useState = useState([]),
11154
11547
  _useState2 = _slicedToArray(_useState, 2),
11155
11548
  fields = _useState2[0],
@@ -11174,10 +11567,11 @@ var ReorderPane = function ReorderPane(_ref) {
11174
11567
  fields.map(function (field, index) {
11175
11568
  return field.id !== allFields[index].id && params.push({
11176
11569
  id: field.id,
11177
- displayOrder: index
11570
+ displayOrder: index + 1
11178
11571
  });
11179
11572
  });
11180
11573
  reorderField({
11574
+ ownerId: isEmpty(ownerId) ? undefined : ownerId,
11181
11575
  fields: params
11182
11576
  }, {
11183
11577
  onSuccess: onClose
@@ -11214,12 +11608,12 @@ var ReorderPane = function ReorderPane(_ref) {
11214
11608
  });
11215
11609
  }))))), /*#__PURE__*/React.createElement(Pane.Footer, {
11216
11610
  className: "flex items-center space-x-2"
11217
- }, /*#__PURE__*/React.createElement(Button, {
11611
+ }, /*#__PURE__*/React.createElement(Button$1, {
11218
11612
  disabled: initialStateRef.current === fields,
11219
11613
  label: t("labels.saveChanges"),
11220
11614
  loading: isSubmitting,
11221
11615
  onClick: handleReorderSave
11222
- }), /*#__PURE__*/React.createElement(Button, {
11616
+ }), /*#__PURE__*/React.createElement(Button$1, {
11223
11617
  label: t("labels.cancel"),
11224
11618
  style: "text",
11225
11619
  onClick: onClose
@@ -11249,7 +11643,10 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11249
11643
  _ref$showStateFilter = _ref.showStateFilter,
11250
11644
  showStateFilter = _ref$showStateFilter === void 0 ? true : _ref$showStateFilter,
11251
11645
  _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
11252
- fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon;
11646
+ fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
11647
+ helpDocUrl = _ref.helpDocUrl,
11648
+ _ref$nameAliases = _ref.nameAliases,
11649
+ nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases;
11253
11650
  var _useTranslation = useTranslation(),
11254
11651
  t = _useTranslation.t;
11255
11652
  var _useFieldsDashboard = useFieldsDashboard({
@@ -11284,7 +11681,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11284
11681
  handleClosePane = _useFieldsDashboard.handleClosePane,
11285
11682
  handleReorderPaneClose = _useFieldsDashboard.handleReorderPaneClose,
11286
11683
  handleBlockClick = _useFieldsDashboard.handleBlockClick;
11287
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar, {
11684
+ var isMenuBarNeeded = showStateFilter || menuItems.length > 1;
11685
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isMenuBarNeeded && /*#__PURE__*/React.createElement(MenuBar, {
11288
11686
  showMenu: isMenuBarOpen,
11289
11687
  title: t("titles.field", PLURAL)
11290
11688
  }, isConfigsLoading ? /*#__PURE__*/React.createElement("div", {
@@ -11293,7 +11691,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11293
11691
  isOwnerBased: showOwnersInMenu,
11294
11692
  items: menuItems,
11295
11693
  selectedMenu: selectedMenu,
11296
- handleBlockClick: handleBlockClick
11694
+ handleBlockClick: handleBlockClick,
11695
+ nameAliases: nameAliases
11297
11696
  }), showStateFilter && renderMenuBarFilters({
11298
11697
  selectedState: selectedState,
11299
11698
  fieldStatesTaxonomy: fieldStatesTaxonomy,
@@ -11302,12 +11701,14 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11302
11701
  handleBlockClick: handleBlockClick
11303
11702
  })), isScreenLoading ? /*#__PURE__*/React.createElement("div", {
11304
11703
  className: "flex w-full flex-grow items-center justify-center"
11305
- }, /*#__PURE__*/React.createElement(PageLoader, null)) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, {
11306
- breadcrumbs: breadcrumbs,
11704
+ }, /*#__PURE__*/React.createElement(PageLoader, null)) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, _extends({
11705
+ breadcrumbs: breadcrumbs
11706
+ }, isMenuBarNeeded && {
11307
11707
  menuBarToggle: function menuBarToggle() {
11308
11708
  return setIsMenuBarOpen(not);
11309
- },
11310
- actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
11709
+ }
11710
+ }, {
11711
+ actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
11311
11712
  label: t("labels.reorder"),
11312
11713
  style: "secondary",
11313
11714
  disabled: !existsBy({
@@ -11317,7 +11718,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11317
11718
  onClick: function onClick() {
11318
11719
  return setIsReorderPaneOpen(true);
11319
11720
  }
11320
- }), /*#__PURE__*/React.createElement(Button, {
11721
+ }), /*#__PURE__*/React.createElement(Button$1, {
11321
11722
  label: t("labels.addField"),
11322
11723
  onClick: function onClick() {
11323
11724
  return setIsPaneOpen(true);
@@ -11328,22 +11729,27 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11328
11729
  hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
11329
11730
  initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
11330
11731
  isOpen: isPaneOpen,
11331
- resourceType: showOwnersInMenu ? resourceType : selectedMenu,
11732
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11733
+ resourceType: showOwnersInMenu ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
11734
+ ,
11332
11735
  selectedField: selectedField,
11333
- onClose: handleClosePane
11736
+ onClose: handleClosePane,
11737
+ onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
11334
11738
  }, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
11335
11739
  title: humanize(getDashBoardTitle({
11336
11740
  isOwnerBased: showOwnersInMenu,
11337
11741
  owners: owners,
11338
- selectedVal: selectedMenu
11742
+ selectedVal: selectedMenu,
11743
+ nameAliases: nameAliases
11339
11744
  }))
11340
- }), showCountSubheader && /*#__PURE__*/React.createElement(SubHeader, {
11745
+ })), showCountSubheader && /*#__PURE__*/React.createElement(SubHeader, {
11341
11746
  leftActionBlock: /*#__PURE__*/React.createElement(Typography, {
11342
11747
  className: "mr-4 font-semibold",
11343
11748
  style: "h4"
11344
11749
  }, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
11345
11750
  }), /*#__PURE__*/React.createElement(FieldsTable, {
11346
11751
  columnData: columnData,
11752
+ helpDocUrl: helpDocUrl,
11347
11753
  isLoading: isFieldsFetching || isFieldsLoading,
11348
11754
  rowData: isEmpty(rowData) ? fields : rowData,
11349
11755
  setIsPaneOpen: setIsPaneOpen,
@@ -11351,6 +11757,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11351
11757
  })), /*#__PURE__*/React.createElement(ReorderPane, {
11352
11758
  allFields: fields,
11353
11759
  isOpen: isReorderPaneOpen,
11760
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11354
11761
  onClose: handleReorderPaneClose
11355
11762
  }), /*#__PURE__*/React.createElement(Alert, {
11356
11763
  isOpen: isDeleteAlertOpen,
@@ -11373,14 +11780,16 @@ var create = function create(payload) {
11373
11780
  var fetch = function fetch(payload) {
11374
11781
  return axios.get(FIELD_VALUES_URL, payload);
11375
11782
  };
11376
- var destroy = function destroy(id, payload) {
11783
+ var destroy = function destroy(_ref) {
11784
+ var id = _ref.id,
11785
+ payload = _ref.payload;
11377
11786
  return axios["delete"](fieldValueUrl(id), {
11378
11787
  data: payload
11379
11788
  });
11380
11789
  };
11381
- var update = function update(_ref) {
11382
- var id = _ref.id,
11383
- payload = _ref.payload;
11790
+ var update = function update(_ref2) {
11791
+ var id = _ref2.id,
11792
+ payload = _ref2.payload;
11384
11793
  return axios.patch(fieldValueUrl(id), payload);
11385
11794
  };
11386
11795
  var fieldValuesApi = {
@@ -11396,8 +11805,11 @@ var useCreateFieldValue = function useCreateFieldValue(options) {
11396
11805
  var queryClient = useQueryClient();
11397
11806
  return useMutation(fieldValuesApi.create, _objectSpread$1(_objectSpread$1({}, options), {}, {
11398
11807
  onSuccess: function onSuccess() {
11808
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11809
+ args[_key] = arguments[_key];
11810
+ }
11811
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11399
11812
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11400
- options === null || options === void 0 ? void 0 : options.onSuccess();
11401
11813
  }
11402
11814
  }));
11403
11815
  };
@@ -11405,8 +11817,23 @@ var useUpdateFieldValue = function useUpdateFieldValue(options) {
11405
11817
  var queryClient = useQueryClient();
11406
11818
  return useMutation(fieldValuesApi.update, _objectSpread$1(_objectSpread$1({}, options), {}, {
11407
11819
  onSuccess: function onSuccess() {
11820
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
11821
+ args[_key2] = arguments[_key2];
11822
+ }
11823
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11824
+ queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11825
+ }
11826
+ }));
11827
+ };
11828
+ var useDeleteFieldValue = function useDeleteFieldValue(options) {
11829
+ var queryClient = useQueryClient();
11830
+ return useMutation(fieldValuesApi.destroy, _objectSpread$1(_objectSpread$1({}, options), {}, {
11831
+ onSuccess: function onSuccess() {
11832
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11833
+ args[_key3] = arguments[_key3];
11834
+ }
11835
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11408
11836
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11409
- options === null || options === void 0 ? void 0 : options.onSuccess();
11410
11837
  }
11411
11838
  }));
11412
11839
  };
@@ -11428,6 +11855,14 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
11428
11855
  }, children);
11429
11856
  };
11430
11857
 
11858
+ var isFieldValueEmpty = function isFieldValueEmpty(fieldKind, fieldValueData) {
11859
+ if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);
11860
+ if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {
11861
+ return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);
11862
+ }
11863
+ return isEmpty(fieldValueData.value);
11864
+ };
11865
+
11431
11866
  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; }
11432
11867
  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; }
11433
11868
  var FieldValuesContainer = function FieldValuesContainer(_ref) {
@@ -11438,8 +11873,6 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11438
11873
  _ref$ownerId = _ref.ownerId,
11439
11874
  ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
11440
11875
  resourceId = _ref.resourceId,
11441
- _ref$queryKeysToBeInv = _ref.queryKeysToBeInvalidatedOnSuccess,
11442
- queryKeysToBeInvalidatedOnSuccess = _ref$queryKeysToBeInv === void 0 ? [] : _ref$queryKeysToBeInv,
11443
11876
  _ref$customComponents = _ref.customComponents,
11444
11877
  customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
11445
11878
  _ref$className = _ref.className,
@@ -11452,14 +11885,13 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11452
11885
  isRequiredColumnName = _ref.isRequiredColumnName,
11453
11886
  fieldContainerClassName = _ref.fieldContainerClassName,
11454
11887
  fieldClassName = _ref.fieldClassName,
11455
- labelClassName = _ref.labelClassName;
11456
- var queryClient = useQueryClient();
11888
+ labelClassName = _ref.labelClassName,
11889
+ _ref$onMutationSucces = _ref.onMutationSuccess,
11890
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? noop$2 : _ref$onMutationSucces;
11457
11891
  var _useTranslation = useTranslation(),
11458
11892
  t = _useTranslation.t;
11459
11893
  var queryOptions = {
11460
- onSuccess: function onSuccess() {
11461
- queryClient.invalidateQueries(queryKeysToBeInvalidatedOnSuccess);
11462
- }
11894
+ onSuccess: onMutationSuccess
11463
11895
  };
11464
11896
  var _useFetchFields = useFetchFields({
11465
11897
  resourceType: isEmpty(resourceType) ? undefined : resourceType,
@@ -11477,7 +11909,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11477
11909
  createFieldValue = _useCreateFieldValue.mutate;
11478
11910
  var _useUpdateFieldValue = useUpdateFieldValue(queryOptions),
11479
11911
  updateFieldValue = _useUpdateFieldValue.mutate;
11480
- var handleSubmit = function handleSubmit(values$1) {
11912
+ var _useDeleteFieldValue = useDeleteFieldValue(queryOptions),
11913
+ deleteFieldValue = _useDeleteFieldValue.mutate;
11914
+ var handleSubmit = function handleSubmit(field, values$1) {
11481
11915
  var fieldValue = head(values(values$1));
11482
11916
  var payload = {
11483
11917
  fieldValue: fieldValue,
@@ -11485,10 +11919,17 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11485
11919
  resourceId: resourceId,
11486
11920
  ownerId: isEmpty(ownerId) ? undefined : ownerId
11487
11921
  };
11488
- fieldValue.id ? updateFieldValue({
11489
- id: fieldValue.id,
11490
- payload: payload
11491
- }) : createFieldValue(payload);
11922
+ if (isFieldValueEmpty(field.kind, fieldValue.data)) {
11923
+ deleteFieldValue({
11924
+ id: fieldValue.id,
11925
+ payload: payload
11926
+ });
11927
+ } else {
11928
+ fieldValue.id ? updateFieldValue({
11929
+ id: fieldValue.id,
11930
+ payload: payload
11931
+ }) : createFieldValue(payload);
11932
+ }
11492
11933
  };
11493
11934
  var fields = propFields || fetchedFields;
11494
11935
  return /*#__PURE__*/React.createElement("div", {
@@ -11511,7 +11952,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11511
11952
  style: "h5"
11512
11953
  }, capitalize$1(field.name)), /*#__PURE__*/React.createElement(FieldValueInputWrapper, {
11513
11954
  className: fieldClassName,
11514
- onSubmit: handleSubmit,
11955
+ onSubmit: function onSubmit(values) {
11956
+ return handleSubmit(field, values);
11957
+ },
11515
11958
  field: field,
11516
11959
  fieldValues: fieldValues
11517
11960
  }, /*#__PURE__*/React.createElement("div", {
@@ -11530,5 +11973,5 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11530
11973
  }));
11531
11974
  };
11532
11975
 
11533
- export { AddField, FieldInputs, FieldValuesContainer, FieldsDashboard, neetoFieldsUtils, useCreateField, useDestroyField, useFetchFields, useShowField, useUpdateField };
11976
+ export { FieldInputs, FieldValuesContainer, FieldsDashboard, FieldsPane, neetoFieldsUtils, useCreateField, useDestroyField, useFetchFields, useShowField, useUpdateField };
11534
11977
  //# sourceMappingURL=index.js.map