@bigbinary/neeto-fields-frontend 1.0.8 → 1.1.0

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,19 +1,19 @@
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, capitalize as capitalize$1, filterBy, findBy, isNotEmpty, humanize, countBy, existsBy, noop as noop$2 } from '@bigbinary/neeto-commons-frontend/pure';
4
+ import { values, map, isNil, isNotNil, 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
18
  import { useHistory } from 'react-router-dom';
19
19
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
@@ -5029,6 +5029,33 @@ instance.services.formatter.addCached("boldList", function (lng, options) {
5029
5029
  };
5030
5030
  });
5031
5031
 
5032
+ function _extends() {
5033
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
5034
+ for (var i = 1; i < arguments.length; i++) {
5035
+ var source = arguments[i];
5036
+ for (var key in source) {
5037
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
5038
+ target[key] = source[key];
5039
+ }
5040
+ }
5041
+ }
5042
+ return target;
5043
+ };
5044
+ return _extends.apply(this, arguments);
5045
+ }
5046
+
5047
+ function _arrayWithoutHoles(arr) {
5048
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5049
+ }
5050
+
5051
+ function _nonIterableSpread() {
5052
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5053
+ }
5054
+
5055
+ function _toConsumableArray(arr) {
5056
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5057
+ }
5058
+
5032
5059
  var KINDS = {
5033
5060
  text: "text",
5034
5061
  number: "number",
@@ -5077,708 +5104,59 @@ var DEFAULT_FIELD_STATE_TAXONOMY = {
5077
5104
  };
5078
5105
  var ALL_KINDS = values(KINDS);
5079
5106
 
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
- }
5107
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
5108
+ try {
5109
+ var info = gen[key](arg);
5110
+ var value = info.value;
5111
+ } catch (error) {
5112
+ reject(error);
5113
+ return;
5114
+ }
5115
+ if (info.done) {
5116
+ resolve(value);
5117
+ } else {
5118
+ Promise.resolve(value).then(_next, _throw);
5119
+ }
5120
+ }
5121
+ function _asyncToGenerator(fn) {
5122
+ return function () {
5123
+ var self = this,
5124
+ args = arguments;
5125
+ return new Promise(function (resolve, reject) {
5126
+ var gen = fn.apply(self, args);
5127
+ function _next(value) {
5128
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
5088
5129
  }
5089
- }
5090
- return target;
5130
+ function _throw(err) {
5131
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
5132
+ }
5133
+ _next(undefined);
5134
+ });
5091
5135
  };
5092
- return _extends.apply(this, arguments);
5093
5136
  }
5094
5137
 
5095
- function _arrayWithoutHoles(arr) {
5096
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
5097
- }
5138
+ var regeneratorRuntime$1 = {exports: {}};
5098
5139
 
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
- }
5140
+ var _typeof = {exports: {}};
5102
5141
 
5103
- function _toConsumableArray(arr) {
5104
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
5105
- }
5142
+ _typeof.exports;
5106
5143
 
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
- };
5144
+ (function (module) {
5145
+ function _typeof(obj) {
5146
+ "@babel/helpers - typeof";
5120
5147
 
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
- };
5148
+ return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
5149
+ return typeof obj;
5150
+ } : function (obj) {
5151
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
5152
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
5153
+ }
5154
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
5155
+ } (_typeof));
5167
5156
 
5168
- var QUERY_KEYS = {
5169
- FIELDS: "fields",
5170
- FIELD_VALUES: "field_values",
5171
- CONFIGS: "configurations"
5172
- };
5173
- var DEFAULT_STALE_TIME = 3600000; // 1 hour
5157
+ var _typeofExports = _typeof.exports;
5174
5158
 
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;
5780
-
5781
- regeneratorRuntime$1.exports;
5159
+ regeneratorRuntime$1.exports;
5782
5160
 
5783
5161
  (function (module) {
5784
5162
  var _typeof = _typeofExports["default"];
@@ -6086,481 +5464,1110 @@ regeneratorRuntime$1.exports;
6086
5464
  module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
6087
5465
  } (regeneratorRuntime$1));
6088
5466
 
6089
- var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5467
+ var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
5468
+
5469
+ // TODO(Babel 8): Remove this file.
5470
+
5471
+ var runtime = regeneratorRuntimeExports();
5472
+ var regenerator = runtime;
5473
+
5474
+ // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
5475
+ try {
5476
+ regeneratorRuntime = runtime;
5477
+ } catch (accidentalStrictMode) {
5478
+ if (typeof globalThis === "object") {
5479
+ globalThis.regeneratorRuntime = runtime;
5480
+ } else {
5481
+ Function("r", "regeneratorRuntime = r")(runtime);
5482
+ }
5483
+ }
5484
+
5485
+ var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
5486
+
5487
+ var dayjs_min = {exports: {}};
5488
+
5489
+ dayjs_min.exports;
5490
+
5491
+ (function (module, exports) {
5492
+ !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}));
5493
+ } (dayjs_min, dayjs_min.exports));
5494
+
5495
+ var dayjs_minExports = dayjs_min.exports;
5496
+ var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
5497
+
5498
+ var dateSchema = yup.date().nullable();
5499
+ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
5500
+ var kind = _ref.kind,
5501
+ isRequired = _ref.isRequired,
5502
+ fieldData = _ref.fieldData;
5503
+ switch (kind) {
5504
+ case KINDS.singleOption:
5505
+ case KINDS.text:
5506
+ {
5507
+ var schema = yup.string().trim().nullable();
5508
+ return isRequired ? schema.required(t("validations.thisIsRequired")) : schema;
5509
+ }
5510
+ case KINDS.number:
5511
+ case KINDS.monetary:
5512
+ case KINDS.decimal:
5513
+ {
5514
+ var _schema = yup.number().nullable().typeError(t("validations.notAValidNumber"));
5515
+ return isRequired ? _schema.required(t("validations.thisIsRequired")) : _schema;
5516
+ }
5517
+ case KINDS.integer:
5518
+ {
5519
+ var _schema2 = yup.number().nullable().integer().typeError(t("validations.notAValidInteger"));
5520
+ return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
5521
+ }
5522
+ case KINDS.date:
5523
+ case KINDS.time:
5524
+ return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
5525
+ case KINDS.multiOption:
5526
+ {
5527
+ var _schema3 = yup.array().of(yup.string()).nullable();
5528
+ return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
5529
+ }
5530
+ case KINDS.dateRange:
5531
+ case KINDS.timeRange:
5532
+ {
5533
+ if (isRequired) {
5534
+ return yup.array().of(dateSchema).required(t("validations.thisIsRequired"));
5535
+ }
5536
+ return yup.array().of(dateSchema).nullable();
5537
+ }
5538
+ case KINDS.checkbox:
5539
+ return yup["boolean"]().nullable();
5540
+ case KINDS.regex:
5541
+ {
5542
+ var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
5543
+ var _schema4 = yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
5544
+ return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
5545
+ }
5546
+ default:
5547
+ return yup.mixed();
5548
+ }
5549
+ };
5550
+ var cleanedRegex = function cleanedRegex(expression) {
5551
+ if (expression.startsWith("/") && expression.endsWith("/")) {
5552
+ return expression.slice(1, -1);
5553
+ }
5554
+ return expression;
5555
+ };
5556
+ var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
5557
+ var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5558
+ return optionObjects.map(function (_ref2) {
5559
+ var label = _ref2.label,
5560
+ value = _ref2.value;
5561
+ return {
5562
+ label: label,
5563
+ value: value || label
5564
+ };
5565
+ });
5566
+ };
5567
+ var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
5568
+ return map(toLabelAndValue, value || []);
5569
+ };
5570
+ var validateField = /*#__PURE__*/function () {
5571
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
5572
+ var fieldValue, fieldName, isRequired, kind, fieldData;
5573
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
5574
+ while (1) switch (_context.prev = _context.next) {
5575
+ case 0:
5576
+ fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
5577
+ _context.prev = 1;
5578
+ _context.next = 4;
5579
+ return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
5580
+ kind: kind,
5581
+ isRequired: isRequired,
5582
+ fieldData: fieldData
5583
+ }))).validate(_defineProperty({}, fieldName, fieldValue));
5584
+ case 4:
5585
+ return _context.abrupt("return", false);
5586
+ case 7:
5587
+ _context.prev = 7;
5588
+ _context.t0 = _context["catch"](1);
5589
+ return _context.abrupt("return", _context.t0.errors);
5590
+ case 10:
5591
+ case "end":
5592
+ return _context.stop();
5593
+ }
5594
+ }, _callee, null, [[1, 7]]);
5595
+ }));
5596
+ return function validateField(_x) {
5597
+ return _ref4.apply(this, arguments);
5598
+ };
5599
+ }();
5600
+ var dateTimeToString = function dateTimeToString(dateTime) {
5601
+ return dayjs(dateTime).toString();
5602
+ };
5603
+
5604
+ var _excluded$3 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
5605
+ 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; }
5606
+ 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; }
5607
+ var useFormikFields = function useFormikFields(_ref) {
5608
+ var name = _ref.name,
5609
+ fieldId = _ref.id,
5610
+ kind = _ref.kind,
5611
+ fieldData = _ref.data,
5612
+ individualSubmit = _ref.individualSubmit,
5613
+ formRef = _ref.formRef,
5614
+ formRefs = _ref.formRefs,
5615
+ disabled = _ref.disabled,
5616
+ _ref$isRequiredColumn = _ref.isRequiredColumnName,
5617
+ isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
5618
+ props = _objectWithoutProperties(_ref, _excluded$3);
5619
+ var formikContext = useFormikContext();
5620
+ var setFieldValue = formikContext.setFieldValue,
5621
+ submitForm = formikContext.submitForm,
5622
+ dirty = formikContext.dirty,
5623
+ isSubmitting = formikContext.isSubmitting;
5624
+ var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
5625
+ var fieldName = kind === KINDS.multiOption ? "values" : "value";
5626
+ var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
5627
+ if (isNil(formRef) && isNotNil(formRefs)) {
5628
+ formRefs.current[fieldValuePath] = formikContext;
5629
+ } else if (isNil(formRefs) && isNotNil(formRef)) {
5630
+ formRef.current = formikContext;
5631
+ }
5632
+ var _useField = useField({
5633
+ name: fieldValuePath,
5634
+ validate: function validate(fieldValue) {
5635
+ return validateField({
5636
+ fieldValue: fieldValue,
5637
+ fieldName: name,
5638
+ isRequired: props[isRequiredColumnName],
5639
+ kind: kind,
5640
+ fieldData: fieldData
5641
+ });
5642
+ }
5643
+ }),
5644
+ _useField2 = _slicedToArray(_useField, 3),
5645
+ formikFieldProps = _useField2[0],
5646
+ meta = _useField2[1],
5647
+ helpers = _useField2[2];
5648
+ var handleSubmit = function handleSubmit(value) {
5649
+ isNotNil(value) && setFieldValue(fieldValuePath, value);
5650
+ individualSubmit && submitForm();
5651
+ };
5652
+ var getValueForField = function getValueForField(value) {
5653
+ if (kind === KINDS.singleOption) {
5654
+ value = toLabelAndValue(value);
5655
+ } else if (kind === KINDS.multiOption) {
5656
+ value = buildArrayToLabelAndValues(value);
5657
+ }
5658
+ return value;
5659
+ };
5660
+ var isDropdown = ["single_option", "multi_option"].includes(kind);
5661
+ if (isSubmitting && !meta.touched) {
5662
+ helpers.setTouched(true);
5663
+ }
5664
+ return {
5665
+ handleSubmit: handleSubmit,
5666
+ fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
5667
+ required: props[isRequiredColumnName],
5668
+ error: meta.touched && meta.error,
5669
+ options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
5670
+ value: getValueForField(formikFieldProps.value),
5671
+ dirty: dirty,
5672
+ label: !individualSubmit && capitalize$1(name),
5673
+ disabled: disabled
5674
+ })
5675
+ };
5676
+ };
6090
5677
 
6091
- // TODO(Babel 8): Remove this file.
5678
+ var Checkbox = function Checkbox(props) {
5679
+ var _useFormikFields = useFormikFields(props),
5680
+ handleSubmit = _useFormikFields.handleSubmit,
5681
+ fieldProps = _useFormikFields.fieldProps;
5682
+ return /*#__PURE__*/React.createElement(Switch, _extends({}, fieldProps, {
5683
+ checked: fieldProps.value,
5684
+ onChange: function onChange(_ref) {
5685
+ var checked = _ref.target.checked;
5686
+ return handleSubmit(checked);
5687
+ }
5688
+ }));
5689
+ };
6092
5690
 
6093
- var runtime = regeneratorRuntimeExports();
6094
- var regenerator = runtime;
5691
+ var DateOrTime = function DateOrTime(props) {
5692
+ var _useFormikFields = useFormikFields(props),
5693
+ handleSubmit = _useFormikFields.handleSubmit,
5694
+ fieldProps = _useFormikFields.fieldProps;
5695
+ if (props.kind === KINDS.time) {
5696
+ return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
5697
+ use12Hours: true,
5698
+ format: "h:mm A",
5699
+ onChange: function onChange(dateTime) {
5700
+ return handleSubmit(dateTimeToString(dateTime));
5701
+ }
5702
+ }));
5703
+ } else if (props.kind === KINDS.date) {
5704
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
5705
+ onChange: function onChange(dateTime) {
5706
+ return handleSubmit(dateTimeToString(dateTime));
5707
+ }
5708
+ }));
5709
+ }
5710
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({
5711
+ showTime: true,
5712
+ timeFormat: "h:mm A"
5713
+ }, fieldProps, {
5714
+ onChange: function onChange(dateTime) {
5715
+ return handleSubmit(dateTimeToString(dateTime));
5716
+ }
5717
+ }));
5718
+ };
6095
5719
 
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);
5720
+ var MultiOption = function MultiOption(props) {
5721
+ var _useFormikFields = useFormikFields(props),
5722
+ handleSubmit = _useFormikFields.handleSubmit,
5723
+ fieldProps = _useFormikFields.fieldProps;
5724
+ return /*#__PURE__*/React.createElement(Select, _extends({
5725
+ isMulti: true,
5726
+ isSearchable: true
5727
+ }, fieldProps, {
5728
+ onChange: function onChange(selectedOptions) {
5729
+ return handleSubmit(pluck("value", selectedOptions));
5730
+ }
5731
+ }));
5732
+ };
5733
+
5734
+ var Number$1 = function Number(props) {
5735
+ var _useFormikFields = useFormikFields(props),
5736
+ handleSubmit = _useFormikFields.handleSubmit,
5737
+ fieldProps = _useFormikFields.fieldProps;
5738
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
5739
+ return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
5740
+ type: "number",
5741
+ suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
5742
+ icon: Check,
5743
+ style: "text",
5744
+ onClick: function onClick() {
5745
+ return handleSubmit();
5746
+ }
5747
+ })
5748
+ }));
5749
+ };
5750
+
5751
+ var RangePicker = function RangePicker(props) {
5752
+ var _useFormikFields = useFormikFields(props),
5753
+ handleSubmit = _useFormikFields.handleSubmit,
5754
+ fieldProps = _useFormikFields.fieldProps;
5755
+ var handleChange = function handleChange(_ref) {
5756
+ var _ref2 = _slicedToArray(_ref, 2),
5757
+ begin = _ref2[0],
5758
+ end = _ref2[1];
5759
+ return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
5760
+ };
5761
+ if (props.kind === KINDS.dateRange) {
5762
+ return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
5763
+ type: "range",
5764
+ onChange: handleChange
5765
+ }));
6104
5766
  }
6105
- }
6106
5767
 
6107
- var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
5768
+ //time_range
5769
+ return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
5770
+ use12Hours: true,
5771
+ format: "h:mm A",
5772
+ type: "range",
5773
+ onChange: handleChange
5774
+ }));
5775
+ };
5776
+
5777
+ var SingleOption = function SingleOption(props) {
5778
+ var _useFormikFields = useFormikFields(props),
5779
+ handleSubmit = _useFormikFields.handleSubmit,
5780
+ fieldProps = _useFormikFields.fieldProps;
5781
+ return /*#__PURE__*/React.createElement(Select, _extends({
5782
+ isSearchable: true
5783
+ }, fieldProps, {
5784
+ onChange: function onChange(_ref) {
5785
+ var value = _ref.value;
5786
+ return handleSubmit(value);
5787
+ }
5788
+ }));
5789
+ };
5790
+
5791
+ var Text = function Text(props) {
5792
+ var _useFormikFields = useFormikFields(props),
5793
+ handleSubmit = _useFormikFields.handleSubmit,
5794
+ fieldProps = _useFormikFields.fieldProps;
5795
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
5796
+ return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
5797
+ suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
5798
+ icon: Check,
5799
+ style: "text",
5800
+ onClick: function onClick() {
5801
+ return handleSubmit();
5802
+ }
5803
+ })
5804
+ }));
5805
+ };
5806
+
5807
+ var TextArea = function TextArea(props) {
5808
+ var _useTranslation = useTranslation(),
5809
+ t = _useTranslation.t;
5810
+ var _useFormikFields = useFormikFields(props),
5811
+ handleSubmit = _useFormikFields.handleSubmit,
5812
+ fieldProps = _useFormikFields.fieldProps;
5813
+ var showSubmitButton = props.individualSubmit && fieldProps.dirty;
5814
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React.createElement(Button, {
5815
+ className: "m-auto mt-2",
5816
+ label: t("labels.submit"),
5817
+ size: "small",
5818
+ onClick: function onClick() {
5819
+ return handleSubmit();
5820
+ }
5821
+ }));
5822
+ };
5823
+
5824
+ 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; }
5825
+ 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; }
5826
+ var standardComponents = {
5827
+ text: Text,
5828
+ regex: Text,
5829
+ textarea: TextArea,
5830
+ text_area: TextArea,
5831
+ // TODO: Remove text-area after integration in all hosts.
5832
+ number: Number$1,
5833
+ monetary: Number$1,
5834
+ integer: Number$1,
5835
+ decimal: Number$1,
5836
+ date: DateOrTime,
5837
+ time: DateOrTime,
5838
+ datetime: DateOrTime,
5839
+ single_option: SingleOption,
5840
+ multi_option: MultiOption,
5841
+ date_range: RangePicker,
5842
+ time_range: RangePicker,
5843
+ checkbox: Checkbox
5844
+ };
5845
+ var getFieldInput = function getFieldInput(_ref) {
5846
+ var field = _ref.field,
5847
+ _ref$customComponents = _ref.customComponents,
5848
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
5849
+ var Component = customComponents[field.kind] || standardComponents[field.kind];
5850
+ if (Component) {
5851
+ return Component;
5852
+ }
5853
+ return null;
5854
+ };
5855
+ var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
5856
+ return fieldValues.filter(function (item) {
5857
+ return !isNil(prop("data", item));
5858
+ });
5859
+ };
5860
+ var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
5861
+ return map(pick(["id", "fieldId", "data"]), fieldValues);
5862
+ };
5863
+ var transformValues = function transformValues(_ref2) {
5864
+ var formikValues = _ref2.values,
5865
+ fields = _ref2.fields;
5866
+ var allFieldValues = clone$1(formikValues);
5867
+ var neetoFieldValues = [];
5868
+ fields.forEach(function (_ref3) {
5869
+ var id = _ref3.id,
5870
+ name = _ref3.name;
5871
+ var fieldPath = escapeString("".concat(name, "-").concat(id));
5872
+ neetoFieldValues.push(allFieldValues[fieldPath]);
5873
+ delete allFieldValues[fieldPath];
5874
+ });
5875
+ var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
5876
+ return _objectSpread$9(_objectSpread$9({}, allFieldValues), {}, {
5877
+ fieldValuesAttributes: cleanedFieldValues
5878
+ });
5879
+ };
5880
+ var getInitialFieldValue = function getInitialFieldValue(field) {
5881
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
5882
+ var existingFieldValueData = findBy({
5883
+ fieldId: field.id
5884
+ }, fieldValues);
5885
+ var newFieldValueData = {
5886
+ fieldId: field.id,
5887
+ data: null
5888
+ };
5889
+ return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
5890
+ };
5891
+ var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
5892
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
5893
+ return getNonSystemFields(fields).map(function (field) {
5894
+ return getInitialFieldValue(field, fieldValues);
5895
+ });
5896
+ };
5897
+ var mergeInitialValues = function mergeInitialValues(_ref5) {
5898
+ var initialValues = _ref5.initialValues,
5899
+ fields = _ref5.fields;
5900
+ var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
5901
+ return omit(["fieldValues"], initialValue);
5902
+ };
5903
+ var getNonSystemFields = function getNonSystemFields(fields) {
5904
+ return filterBy({
5905
+ isSystem: false
5906
+ }, fields);
5907
+ };
5908
+ var escapeString = function escapeString(string) {
5909
+ return string.replace(/[^a-zA-Z0-9_]/g, function (match) {
5910
+ var charCode = match.charCodeAt(0);
5911
+ return "_".concat(charCode, "_");
5912
+ });
5913
+ };
5914
+ var neetoFieldsUtils = {
5915
+ mergeInitialValues: mergeInitialValues,
5916
+ transformValues: transformValues
5917
+ };
6108
5918
 
6109
- var dayjs_min = {exports: {}};
5919
+ 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; }
5920
+ 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; }
5921
+ var FieldInputs = function FieldInputs(_ref) {
5922
+ var _ref$customComponents = _ref.customComponents,
5923
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
5924
+ fields = _ref.fields,
5925
+ formRef = _ref.formRef,
5926
+ disabled = _ref.disabled,
5927
+ isRequiredColumnName = _ref.isRequiredColumnName;
5928
+ var _useTranslation = useTranslation(),
5929
+ t = _useTranslation.t;
5930
+ return getNonSystemFields(fields).map(function (field) {
5931
+ var Field = getFieldInput({
5932
+ field: field,
5933
+ customComponents: customComponents
5934
+ });
5935
+ if (Field) {
5936
+ return /*#__PURE__*/React.createElement(Field, _extends({
5937
+ key: field.id
5938
+ }, _objectSpread$8(_objectSpread$8({}, field), {}, {
5939
+ formRef: formRef,
5940
+ disabled: disabled,
5941
+ isRequiredColumnName: isRequiredColumnName
5942
+ })));
5943
+ }
5944
+ return /*#__PURE__*/React.createElement(Typography, {
5945
+ key: field.id,
5946
+ style: "body2"
5947
+ }, t("messages.invalidKind"));
5948
+ });
5949
+ };
6110
5950
 
6111
- dayjs_min.exports;
5951
+ var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
5952
+ var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
5953
+ var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
5954
+ var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
5955
+ var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
5956
+ var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
5957
+ var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
5958
+ var SINGULAR = {
5959
+ count: 1
5960
+ };
5961
+ var PLURAL = {
5962
+ count: 2
5963
+ };
6112
5964
 
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));
5965
+ var fieldUrl = function fieldUrl(fieldId) {
5966
+ return buildUrl(FIELD_URL, {
5967
+ fieldId: fieldId
5968
+ });
5969
+ };
5970
+ var fetch$1 = function fetch(_ref) {
5971
+ var resourceType = _ref.resourceType,
5972
+ ownerId = _ref.ownerId,
5973
+ state = _ref.state;
5974
+ return axios.get(FIELDS_URL, {
5975
+ params: {
5976
+ resourceType: resourceType,
5977
+ ownerId: ownerId,
5978
+ state: state
5979
+ }
5980
+ });
5981
+ };
5982
+ var create$1 = function create(payload) {
5983
+ return axios.post(FIELDS_URL, payload);
5984
+ };
5985
+ var show = function show(_ref2) {
5986
+ var fieldId = _ref2.fieldId,
5987
+ ownerId = _ref2.ownerId;
5988
+ return axios.get(fieldUrl(fieldId), {
5989
+ params: {
5990
+ ownerId: ownerId
5991
+ }
5992
+ });
5993
+ };
5994
+ var destroy$1 = function destroy(_ref3) {
5995
+ var fieldId = _ref3.fieldId,
5996
+ ownerId = _ref3.ownerId;
5997
+ return axios["delete"](fieldUrl(fieldId), {
5998
+ data: {
5999
+ ownerId: ownerId
6000
+ }
6001
+ });
6002
+ };
6003
+ var update$1 = function update(_ref4) {
6004
+ var fieldId = _ref4.fieldId,
6005
+ payload = _ref4.payload;
6006
+ return axios.put(fieldUrl(fieldId), payload);
6007
+ };
6008
+ var reorder = function reorder(payload) {
6009
+ return axios.patch(FIELDS_REORDER_URL, payload);
6010
+ };
6011
+ var fieldsApi = {
6012
+ fetch: fetch$1,
6013
+ create: create$1,
6014
+ show: show,
6015
+ destroy: destroy$1,
6016
+ update: update$1,
6017
+ reorder: reorder
6018
+ };
6116
6019
 
6117
- var dayjs_minExports = dayjs_min.exports;
6118
- var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
6020
+ var QUERY_KEYS = {
6021
+ FIELDS: "fields",
6022
+ FIELD_VALUES: "field_values",
6023
+ CONFIGS: "configurations"
6024
+ };
6025
+ var DEFAULT_STALE_TIME = 3600000; // 1 hour
6119
6026
 
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;
6151
- }
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();
6159
- }
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;
6167
- }
6168
- default:
6169
- return yup.mixed();
6170
- }
6027
+ 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; }
6028
+ 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; }
6029
+ var FIELDS = QUERY_KEYS.FIELDS;
6030
+ var useFetchFields = function useFetchFields(_ref, options) {
6031
+ var resourceType = _ref.resourceType,
6032
+ ownerId = _ref.ownerId,
6033
+ state = _ref.state,
6034
+ _ref$prefixQueryKeys = _ref.prefixQueryKeys,
6035
+ prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
6036
+ return useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
6037
+ return fieldsApi.fetch({
6038
+ resourceType: resourceType,
6039
+ ownerId: ownerId,
6040
+ state: state
6041
+ });
6042
+ }, _objectSpread$7({
6043
+ staleTime: DEFAULT_STALE_TIME
6044
+ }, options));
6171
6045
  };
6172
- var cleanedRegex = function cleanedRegex(expression) {
6173
- if (expression.startsWith("/") && expression.endsWith("/")) {
6174
- return expression.slice(1, -1);
6175
- }
6176
- return expression;
6046
+ var useCreateField = function useCreateField(options) {
6047
+ var queryClient = useQueryClient();
6048
+ return useMutation(fieldsApi.create, _objectSpread$7(_objectSpread$7({}, options), {}, {
6049
+ onSuccess: function onSuccess() {
6050
+ var _options$onSuccess;
6051
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6052
+ args[_key] = arguments[_key];
6053
+ }
6054
+ 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));
6055
+ queryClient.invalidateQueries(FIELDS);
6056
+ }
6057
+ }));
6177
6058
  };
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
- };
6187
- });
6059
+ var useShowField = function useShowField(_ref2, options) {
6060
+ var fieldId = _ref2.fieldId,
6061
+ ownerId = _ref2.ownerId;
6062
+ var queryKey = [FIELDS, fieldId];
6063
+ return useQuery(queryKey, function () {
6064
+ return fieldsApi.show({
6065
+ fieldId: fieldId,
6066
+ ownerId: ownerId
6067
+ });
6068
+ }, options);
6188
6069
  };
6189
- var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
6190
- return map(toLabelAndValue, value || []);
6070
+ var useUpdateField = function useUpdateField(options) {
6071
+ var queryClient = useQueryClient();
6072
+ return useMutation(fieldsApi.update, _objectSpread$7(_objectSpread$7({}, options), {}, {
6073
+ onSuccess: function onSuccess() {
6074
+ var _options$onSuccess2;
6075
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
6076
+ args[_key2] = arguments[_key2];
6077
+ }
6078
+ 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));
6079
+ queryClient.invalidateQueries(FIELDS);
6080
+ }
6081
+ }));
6191
6082
  };
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();
6083
+ var useDestroyField = function useDestroyField(options) {
6084
+ var queryClient = useQueryClient();
6085
+ return useMutation(fieldsApi.destroy, _objectSpread$7(_objectSpread$7({}, options), {}, {
6086
+ onSuccess: function onSuccess() {
6087
+ var _options$onSuccess3;
6088
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
6089
+ args[_key3] = arguments[_key3];
6215
6090
  }
6216
- }, _callee, null, [[1, 7]]);
6091
+ 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));
6092
+ queryClient.invalidateQueries(FIELDS);
6093
+ }
6217
6094
  }));
6218
- return function validateField(_x) {
6219
- return _ref4.apply(this, arguments);
6220
- };
6221
- }();
6222
- var dateTimeToString = function dateTimeToString(dateTime) {
6223
- return dayjs(dateTime).toString();
6095
+ };
6096
+ var useReorderFields = function useReorderFields() {
6097
+ var queryClient = useQueryClient();
6098
+ return useMutation(fieldsApi.reorder, {
6099
+ onSuccess: function onSuccess() {
6100
+ queryClient.invalidateQueries(FIELDS);
6101
+ }
6102
+ });
6224
6103
  };
6225
6104
 
6226
- var _excluded = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
6227
6105
  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
6106
  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;
6253
- }
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();
6107
+ var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
6108
+ return options.map(function (option, index) {
6109
+ return _objectSpread$6(_objectSpread$6({}, option), {}, {
6110
+ displayOrder: index
6111
+ });
6112
+ });
6113
+ };
6114
+ var buildPayload = function buildPayload(_ref) {
6115
+ var formValues = _ref.formValues,
6116
+ _ref$resourceType = _ref.resourceType,
6117
+ resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
6118
+ _ref$ownerId = _ref.ownerId,
6119
+ ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
6120
+ var kind = formValues.kind.value;
6121
+ var name = formValues.name.trim();
6122
+ return {
6123
+ ownerId: isEmpty(ownerId) ? undefined : ownerId,
6124
+ field: _objectSpread$6(_objectSpread$6({}, omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
6125
+ kind: kind,
6126
+ name: name,
6127
+ resourceType: isEmpty(resourceType) ? undefined : resourceType,
6128
+ data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
6129
+ })
6273
6130
  };
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);
6131
+ };
6132
+ var isDropdown = function isDropdown(kind) {
6133
+ return ["single_option", "multi_option"].includes(kind);
6134
+ };
6135
+ var isRegex = function isRegex(kind) {
6136
+ return kind === "regex";
6137
+ };
6138
+ var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
6139
+ return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
6140
+ };
6141
+ var getPermittedKinds = function getPermittedKinds(_ref2) {
6142
+ var allowedKinds = _ref2.allowedKinds,
6143
+ selectedKind = _ref2.selectedKind;
6144
+ var filteredKinds = pick(allowedKinds, FIELD_KINDS);
6145
+ var permittedKinds = filterBy({
6146
+ group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
6147
+ }, values(filteredKinds));
6148
+ return permittedKinds;
6149
+ };
6150
+ var generateValidationSchema = function generateValidationSchema(additionalValidations) {
6151
+ return yup.object().shape(_objectSpread$6(_objectSpread$6({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
6152
+ };
6153
+ var renderFormFooter = function renderFormFooter(_ref3) {
6154
+ var onClose = _ref3.onClose,
6155
+ loading = _ref3.loading,
6156
+ _ref3$dirty = _ref3.dirty,
6157
+ dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
6158
+ return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
6159
+ cancelButtonProps: {
6160
+ onClick: onClose,
6161
+ style: "text",
6162
+ disabled: loading
6163
+ },
6164
+ submitButtonProps: {
6165
+ label: t("labels.saveChanges"),
6166
+ className: "mr-2",
6167
+ type: "submit",
6168
+ disabled: !dirty,
6169
+ loading: loading
6279
6170
  }
6280
- return value;
6281
- };
6282
- var isDropdown = ["single_option", "multi_option"].includes(kind);
6283
- if (isSubmitting && !meta.touched) {
6284
- helpers.setTouched(true);
6171
+ }));
6172
+ };
6173
+
6174
+ var regexValidationSchema = yup.object().shape({
6175
+ condition: yup.string().required(t("validations.regexConditionIsRequired")),
6176
+ helpMessage: yup.string().required(t("validations.regexHelpMessageIsRequired"))
6177
+ });
6178
+ var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
6179
+ label: yup.string().trim().required(t("validations.fieldOptionIsRequired")),
6180
+ displayOrder: yup.number()
6181
+ })).min(1, t("validations.atLeastFieldOptionIsRequired"));
6182
+ var FIELD_KINDS = {
6183
+ text: {
6184
+ value: "text",
6185
+ label: t("fields.kinds.text"),
6186
+ group: 1
6187
+ },
6188
+ number: {
6189
+ value: "number",
6190
+ label: t("fields.kinds.number"),
6191
+ group: 2
6192
+ },
6193
+ monetary: {
6194
+ value: "monetary",
6195
+ label: t("fields.kinds.monetary"),
6196
+ group: 2
6197
+ },
6198
+ single_option: {
6199
+ value: "single_option",
6200
+ label: t("fields.kinds.singleOption"),
6201
+ group: 3
6202
+ },
6203
+ multi_option: {
6204
+ value: "multi_option",
6205
+ label: t("fields.kinds.multiOption"),
6206
+ group: 3
6207
+ },
6208
+ date: {
6209
+ value: "date",
6210
+ label: t("fields.kinds.date"),
6211
+ group: 4
6212
+ },
6213
+ time: {
6214
+ value: "time",
6215
+ label: t("fields.kinds.time"),
6216
+ group: 5
6217
+ },
6218
+ date_range: {
6219
+ value: "date_range",
6220
+ label: t("fields.kinds.dateRange"),
6221
+ group: 6
6222
+ },
6223
+ time_range: {
6224
+ value: "time_range",
6225
+ label: t("fields.kinds.timeRange"),
6226
+ group: 7
6227
+ },
6228
+ text_area: {
6229
+ value: "text_area",
6230
+ label: t("fields.kinds.textArea"),
6231
+ group: 1
6232
+ },
6233
+ textarea: {
6234
+ value: "textarea",
6235
+ label: t("fields.kinds.textarea"),
6236
+ group: 1
6237
+ },
6238
+ person: {
6239
+ value: "person",
6240
+ label: t("fields.kinds.person"),
6241
+ group: 8
6242
+ },
6243
+ checkbox: {
6244
+ value: "checkbox",
6245
+ label: t("fields.kinds.checkbox"),
6246
+ group: 9
6247
+ },
6248
+ regex: {
6249
+ value: "regex",
6250
+ label: t("fields.kinds.regex"),
6251
+ group: 10
6252
+ },
6253
+ integer: {
6254
+ value: "integer",
6255
+ label: t("fields.kinds.integer"),
6256
+ group: 2
6257
+ },
6258
+ decimal: {
6259
+ value: "decimal",
6260
+ label: t("fields.kinds.decimal"),
6261
+ group: 2
6262
+ },
6263
+ datetime: {
6264
+ value: "datetime",
6265
+ label: t("fields.kinds.datetime"),
6266
+ group: 11
6285
6267
  }
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
- };
6298
6268
  };
6299
-
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
- }));
6269
+ var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
6270
+ var INITIAL_FIELDS = {
6271
+ name: "",
6272
+ kind: toLabelAndValue("text"),
6273
+ isRequired: false
6311
6274
  };
6312
-
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));
6338
- }
6339
- }));
6275
+ var DEFAULT_OPTION = {
6276
+ label: "",
6277
+ displayOrder: 0
6340
6278
  };
6341
-
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
- }));
6279
+ var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
6280
+ var DEFAULT_REGEX_DATA = {
6281
+ regex: "",
6282
+ helpMessage: ""
6354
6283
  };
6355
-
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
- }));
6284
+ var BASIC_FIELD_FORM_VALIDATIONS = {
6285
+ name: yup.string().trim().required(t("validations.fieldNameIsRequired")),
6286
+ isRequired: yup["boolean"](),
6287
+ kind: yup.object().shape({
6288
+ value: yup.string().required()
6289
+ }).required(t("validations.kindIsRequired")),
6290
+ data: yup.mixed().when("kind", {
6291
+ is: function is(kind) {
6292
+ return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
6293
+ },
6294
+ then: regexValidationSchema
6295
+ }).when("kind", {
6296
+ is: function is(kind) {
6297
+ return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
6298
+ },
6299
+ then: dropDownOptionsValidationSchema
6300
+ })
6371
6301
  };
6372
6302
 
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)]);
6303
+ var AdditionalInputs = function AdditionalInputs() {
6304
+ var _useTranslation = useTranslation(),
6305
+ t = _useTranslation.t;
6306
+ var _useFormikContext = useFormikContext(),
6307
+ _useFormikContext$val = _useFormikContext.values,
6308
+ kind = _useFormikContext$val.kind,
6309
+ options = _useFormikContext$val.data,
6310
+ isSystem = _useFormikContext$val.isSystem;
6311
+ var removeOption = function removeOption(arrayHelpers, index) {
6312
+ return arrayHelpers.remove(index);
6382
6313
  };
6383
- if (props.kind === KINDS.dateRange) {
6384
- return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
6385
- type: "range",
6386
- onChange: handleChange
6314
+ var addOption = function addOption(arrayHelpers) {
6315
+ return arrayHelpers.push(DEFAULT_OPTION);
6316
+ };
6317
+ if (isDropdown(kind.value)) {
6318
+ return /*#__PURE__*/React.createElement(FieldArray, {
6319
+ name: "data"
6320
+ }, function (arrayHelpers) {
6321
+ return /*#__PURE__*/React.createElement("div", {
6322
+ className: "flex w-full flex-col gap-y-4"
6323
+ }, /*#__PURE__*/React.createElement(Label, {
6324
+ required: true
6325
+ }, t("titles.dropdownOptions")), isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
6326
+ return /*#__PURE__*/React.createElement("div", {
6327
+ className: "flex w-full space-x-3",
6328
+ key: index
6329
+ }, /*#__PURE__*/React.createElement("div", {
6330
+ className: "w-full"
6331
+ }, /*#__PURE__*/React.createElement(Input$1, {
6332
+ disabled: isSystem,
6333
+ name: "data.".concat(index, ".label"),
6334
+ placeholder: t("placeholders.enterAnOption"),
6335
+ suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button$1, {
6336
+ icon: Delete,
6337
+ style: "text",
6338
+ onClick: function onClick() {
6339
+ return removeOption(arrayHelpers, index);
6340
+ }
6341
+ })
6342
+ })));
6343
+ }), /*#__PURE__*/React.createElement(Button$1, {
6344
+ fullWidth: true,
6345
+ className: "mb-6 border-dashed text-xs uppercase",
6346
+ label: t("labels.addMoreOption"),
6347
+ style: "secondary",
6348
+ onClick: function onClick() {
6349
+ return addOption(arrayHelpers);
6350
+ }
6351
+ }));
6352
+ });
6353
+ } else if (isRegex(kind.value)) {
6354
+ return /*#__PURE__*/React.createElement("div", {
6355
+ className: "flex w-full flex-col gap-y-4"
6356
+ }, /*#__PURE__*/React.createElement(Label, {
6357
+ required: true
6358
+ }, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input$1, {
6359
+ disabled: isSystem,
6360
+ label: t("labels.regexCondition"),
6361
+ name: "data.condition",
6362
+ placeholder: t("placeholders.regexExample")
6363
+ }), /*#__PURE__*/React.createElement(Input$1, {
6364
+ disabled: isSystem,
6365
+ label: t("labels.helpMessage"),
6366
+ name: "data.helpMessage",
6367
+ placeholder: t("placeholders.enterErrorMessage")
6387
6368
  }));
6388
6369
  }
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
- }));
6370
+ return null;
6397
6371
  };
6398
6372
 
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);
6409
- }
6410
- }));
6411
- };
6373
+ /** @type {React.FC<import("types").FieldFormProps>} */
6412
6374
 
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
- }));
6375
+ var FieldForm = function FieldForm(_ref) {
6376
+ var chosenKind = _ref.chosenKind,
6377
+ _ref$kindSelectOption = _ref.kindSelectOptions,
6378
+ kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
6379
+ _ref$isSystem = _ref.isSystem,
6380
+ isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
6381
+ _ref$hideRequiredSwit = _ref.hideRequiredSwitch,
6382
+ hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
6383
+ children = _ref.children;
6384
+ var _useTranslation = useTranslation(),
6385
+ t = _useTranslation.t;
6386
+ var _useFormikContext = useFormikContext(),
6387
+ options = _useFormikContext.values.data,
6388
+ setFieldValue = _useFormikContext.setFieldValue;
6389
+ var handleKindChange = function handleKindChange(kind) {
6390
+ setFieldValue("kind", kind);
6391
+ if (isDropdown(kind.value)) {
6392
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
6393
+ } else if (isRegex(kind.value)) {
6394
+ setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
6395
+ }
6396
+ };
6397
+ return /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
6398
+ className: "w-full space-y-4"
6399
+ }, /*#__PURE__*/React.createElement(Input$1, {
6400
+ required: true,
6401
+ disabled: isSystem,
6402
+ label: t("labels.fieldName"),
6403
+ name: "name",
6404
+ placeholder: t("placeholders.enterFieldName")
6405
+ }), /*#__PURE__*/React.createElement(Select$1, {
6406
+ isSearchable: true,
6407
+ isDisabled: isSystem,
6408
+ label: t("labels.fieldKind"),
6409
+ name: "kind",
6410
+ options: kindSelectOptions,
6411
+ onChange: handleKindChange
6412
+ }), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
6413
+ className: "flex items-center gap-2"
6414
+ }, /*#__PURE__*/React.createElement(Switch$1, {
6415
+ name: "isRequired"
6416
+ }), /*#__PURE__*/React.createElement(Typography, {
6417
+ className: "leading-4",
6418
+ component: "span",
6419
+ style: "body2"
6420
+ }, t("labels.isRequired"))), children));
6427
6421
  };
6428
6422
 
6429
- var TextArea = function TextArea(props) {
6423
+ var _excluded$2 = ["resourceType", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6424
+ 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; }
6425
+ 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; }
6426
+
6427
+ /** @type {React.FC<import("types").AddProps>} */
6428
+
6429
+ var Add = function Add(_ref) {
6430
+ var resourceType = _ref.resourceType,
6431
+ _ref$allowedKinds = _ref.allowedKinds,
6432
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6433
+ ownerId = _ref.ownerId,
6434
+ additionalValidations = _ref.additionalValidations,
6435
+ initialValues = _ref.initialValues,
6436
+ onClose = _ref.onClose,
6437
+ onMutationSuccess = _ref.onMutationSuccess,
6438
+ props = _objectWithoutProperties(_ref, _excluded$2);
6430
6439
  var _useTranslation = useTranslation(),
6431
6440
  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();
6441
+ var _useCreateField = useCreateField({
6442
+ onSuccess: onMutationSuccess
6443
+ }),
6444
+ createField = _useCreateField.mutate,
6445
+ isSubmitting = _useCreateField.isLoading;
6446
+ var filteredKinds = values(pick(allowedKinds, FIELD_KINDS));
6447
+ var handleSubmit = function handleSubmit(formValues) {
6448
+ var payload = buildPayload({
6449
+ formValues: formValues,
6450
+ resourceType: resourceType,
6451
+ ownerId: ownerId
6452
+ });
6453
+ createField(payload, {
6454
+ onSuccess: onClose
6455
+ });
6456
+ };
6457
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
6458
+ style: "h2"
6459
+ }, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
6460
+ formikProps: {
6461
+ initialValues: _objectSpread$5(_objectSpread$5({}, initialValues), INITIAL_FIELDS),
6462
+ validationSchema: generateValidationSchema(additionalValidations),
6463
+ onSubmit: handleSubmit
6442
6464
  }
6465
+ }, function (_ref2) {
6466
+ var dirty = _ref2.dirty,
6467
+ kind = _ref2.values.kind;
6468
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
6469
+ chosenKind: kind.value,
6470
+ kindSelectOptions: filteredKinds
6471
+ }, props)), renderFormFooter({
6472
+ onClose: onClose,
6473
+ loading: isSubmitting,
6474
+ dirty: dirty
6475
+ }));
6443
6476
  }));
6444
6477
  };
6445
6478
 
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
- };
6533
-
6479
+ var _excluded$1 = ["fieldId", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
6534
6480
  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
6481
  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;
6482
+
6483
+ /** @type {React.FC<import("types").EditProps>} */
6484
+
6485
+ var Edit = function Edit(_ref) {
6486
+ var fieldId = _ref.fieldId,
6487
+ _ref$allowedKinds = _ref.allowedKinds,
6488
+ allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6489
+ ownerId = _ref.ownerId,
6490
+ _ref$additionalValida = _ref.additionalValidations,
6491
+ additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
6492
+ _ref$initialValues = _ref.initialValues,
6493
+ initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
6494
+ onClose = _ref.onClose,
6495
+ onMutationSuccess = _ref.onMutationSuccess,
6496
+ props = _objectWithoutProperties(_ref, _excluded$1);
6543
6497
  var _useTranslation = useTranslation(),
6544
6498
  t = _useTranslation.t;
6545
- return getNonSystemFields(fields).map(function (field) {
6546
- var Field = getFieldInput({
6547
- field: field,
6548
- customComponents: customComponents
6499
+ var _useShowField = useShowField({
6500
+ fieldId: fieldId,
6501
+ ownerId: ownerId
6502
+ }),
6503
+ _useShowField$data = _useShowField.data,
6504
+ _useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
6505
+ _useShowField$data2$f = _useShowField$data2.field,
6506
+ field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
6507
+ var _useUpdateField = useUpdateField({
6508
+ onSuccess: function onSuccess() {
6509
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
6510
+ args[_key] = arguments[_key];
6511
+ }
6512
+ onMutationSuccess === null || onMutationSuccess === void 0 ? void 0 : onMutationSuccess.apply(void 0, args);
6513
+ onClose();
6514
+ }
6515
+ }),
6516
+ updateField = _useUpdateField.mutate,
6517
+ isSubmitting = _useUpdateField.isLoading;
6518
+ var handleSubmit = function handleSubmit(formValues) {
6519
+ var payload = buildPayload({
6520
+ formValues: formValues,
6521
+ ownerId: ownerId
6549
6522
  });
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
- })));
6523
+ updateField({
6524
+ fieldId: fieldId,
6525
+ payload: payload
6526
+ });
6527
+ };
6528
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
6529
+ style: "h2"
6530
+ }, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
6531
+ formikProps: {
6532
+ initialValues: _objectSpread$4(_objectSpread$4({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
6533
+ validationSchema: generateValidationSchema(additionalValidations),
6534
+ enableReinitialize: true,
6535
+ onSubmit: handleSubmit
6558
6536
  }
6559
- return /*#__PURE__*/React.createElement(Typography, {
6560
- key: field.id,
6561
- style: "body2"
6562
- }, t("messages.invalidKind"));
6563
- });
6537
+ }, function (_ref2) {
6538
+ var kind = _ref2.values.kind,
6539
+ dirty = _ref2.dirty;
6540
+ var permittedKinds = getPermittedKinds({
6541
+ allowedKinds: allowedKinds,
6542
+ selectedKind: kind
6543
+ });
6544
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
6545
+ chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
6546
+ isSystem: field.isSystem,
6547
+ kindSelectOptions: permittedKinds
6548
+ }, props)), renderFormFooter({
6549
+ onClose: onClose,
6550
+ loading: isSubmitting,
6551
+ dirty: dirty
6552
+ }));
6553
+ }));
6554
+ };
6555
+
6556
+ var _excluded = ["isOpen", "selectedField"];
6557
+
6558
+ /** @type {React.FC<import("types").FieldsPaneProps>} */
6559
+
6560
+ var FieldsPane = function FieldsPane(_ref) {
6561
+ var isOpen = _ref.isOpen,
6562
+ _ref$selectedField = _ref.selectedField,
6563
+ selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
6564
+ props = _objectWithoutProperties(_ref, _excluded);
6565
+ return /*#__PURE__*/React.createElement(Pane, {
6566
+ isOpen: isOpen,
6567
+ onClose: props.onClose
6568
+ }, isEmpty(selectedField) ? /*#__PURE__*/React.createElement(Add, props) : /*#__PURE__*/React.createElement(Edit, _extends({
6569
+ fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
6570
+ }, props)));
6564
6571
  };
6565
6572
 
6566
6573
  var Menu = Dropdown.Menu,
@@ -6725,6 +6732,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6725
6732
  var _getQueryParams = getQueryParams(),
6726
6733
  resource = _getQueryParams.resource,
6727
6734
  state = _getQueryParams.state;
6735
+ var ownerId = showOwnersInMenu ? resource : undefined;
6728
6736
  var history = useHistory();
6729
6737
  var _useFetchConfigs = useFetchConfigs(),
6730
6738
  _useFetchConfigs$data = _useFetchConfigs.data,
@@ -6736,7 +6744,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6736
6744
  isConfigsLoading = _useFetchConfigs.isLoading;
6737
6745
  var fieldParams = {
6738
6746
  resourceType: !showOwnersInMenu ? resource : undefined,
6739
- ownerId: showOwnersInMenu ? resource : undefined,
6747
+ ownerId: ownerId,
6740
6748
  state: state || FIELD_STATES.active
6741
6749
  };
6742
6750
  var _useFetchFields = useFetchFields(fieldParams, {
@@ -6751,15 +6759,18 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6751
6759
  inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6752
6760
  isFieldsLoading = _useFetchFields.isLoading,
6753
6761
  isFieldsFetching = _useFetchFields.isFetching;
6754
- var _useDestroyField = useDestroyField(),
6755
- deleteField = _useDestroyField.mutate,
6756
- isDeleting = _useDestroyField.isLoading;
6757
- var handleDelete = function handleDelete() {
6758
- deleteField(selectedField.id, {
6762
+ var _useDestroyField = useDestroyField({
6759
6763
  onSuccess: function onSuccess() {
6760
6764
  setIsDeleteAlertOpen(false);
6761
6765
  setSelectedField({});
6762
6766
  }
6767
+ }),
6768
+ deleteField = _useDestroyField.mutate,
6769
+ isDeleting = _useDestroyField.isLoading;
6770
+ var handleDelete = function handleDelete() {
6771
+ deleteField({
6772
+ fieldId: selectedField.id,
6773
+ ownerId: ownerId
6763
6774
  });
6764
6775
  };
6765
6776
  var handleClosePane = function handleClosePane() {
@@ -6836,6 +6847,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
6836
6847
  selectedField: selectedField,
6837
6848
  selectedState: state,
6838
6849
  selectedMenu: resource,
6850
+ // resource will be ownerId if showOwnersInMenu is true, else it will be resourceType
6839
6851
  isFieldsFetching: isFieldsFetching,
6840
6852
  isFieldsLoading: isFieldsLoading,
6841
6853
  isDeleting: isDeleting,
@@ -11149,7 +11161,8 @@ var FieldBlock$1 = /*#__PURE__*/React.memo(FieldBlock);
11149
11161
  var ReorderPane = function ReorderPane(_ref) {
11150
11162
  var isOpen = _ref.isOpen,
11151
11163
  onClose = _ref.onClose,
11152
- allFields = _ref.allFields;
11164
+ allFields = _ref.allFields,
11165
+ ownerId = _ref.ownerId;
11153
11166
  var _useState = useState([]),
11154
11167
  _useState2 = _slicedToArray(_useState, 2),
11155
11168
  fields = _useState2[0],
@@ -11174,10 +11187,11 @@ var ReorderPane = function ReorderPane(_ref) {
11174
11187
  fields.map(function (field, index) {
11175
11188
  return field.id !== allFields[index].id && params.push({
11176
11189
  id: field.id,
11177
- displayOrder: index
11190
+ displayOrder: index + 1
11178
11191
  });
11179
11192
  });
11180
11193
  reorderField({
11194
+ ownerId: isEmpty(ownerId) ? undefined : ownerId,
11181
11195
  fields: params
11182
11196
  }, {
11183
11197
  onSuccess: onClose
@@ -11214,12 +11228,12 @@ var ReorderPane = function ReorderPane(_ref) {
11214
11228
  });
11215
11229
  }))))), /*#__PURE__*/React.createElement(Pane.Footer, {
11216
11230
  className: "flex items-center space-x-2"
11217
- }, /*#__PURE__*/React.createElement(Button, {
11231
+ }, /*#__PURE__*/React.createElement(Button$1, {
11218
11232
  disabled: initialStateRef.current === fields,
11219
11233
  label: t("labels.saveChanges"),
11220
11234
  loading: isSubmitting,
11221
11235
  onClick: handleReorderSave
11222
- }), /*#__PURE__*/React.createElement(Button, {
11236
+ }), /*#__PURE__*/React.createElement(Button$1, {
11223
11237
  label: t("labels.cancel"),
11224
11238
  style: "text",
11225
11239
  onClick: onClose
@@ -11307,7 +11321,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11307
11321
  menuBarToggle: function menuBarToggle() {
11308
11322
  return setIsMenuBarOpen(not);
11309
11323
  },
11310
- actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
11324
+ actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
11311
11325
  label: t("labels.reorder"),
11312
11326
  style: "secondary",
11313
11327
  disabled: !existsBy({
@@ -11317,7 +11331,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11317
11331
  onClick: function onClick() {
11318
11332
  return setIsReorderPaneOpen(true);
11319
11333
  }
11320
- }), /*#__PURE__*/React.createElement(Button, {
11334
+ }), /*#__PURE__*/React.createElement(Button$1, {
11321
11335
  label: t("labels.addField"),
11322
11336
  onClick: function onClick() {
11323
11337
  return setIsPaneOpen(true);
@@ -11328,9 +11342,12 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11328
11342
  hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
11329
11343
  initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
11330
11344
  isOpen: isPaneOpen,
11331
- resourceType: showOwnersInMenu ? resourceType : selectedMenu,
11345
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11346
+ resourceType: showOwnersInMenu ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
11347
+ ,
11332
11348
  selectedField: selectedField,
11333
- onClose: handleClosePane
11349
+ onClose: handleClosePane,
11350
+ onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
11334
11351
  }, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
11335
11352
  title: humanize(getDashBoardTitle({
11336
11353
  isOwnerBased: showOwnersInMenu,
@@ -11351,6 +11368,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
11351
11368
  })), /*#__PURE__*/React.createElement(ReorderPane, {
11352
11369
  allFields: fields,
11353
11370
  isOpen: isReorderPaneOpen,
11371
+ ownerId: showOwnersInMenu ? selectedMenu : "",
11354
11372
  onClose: handleReorderPaneClose
11355
11373
  }), /*#__PURE__*/React.createElement(Alert, {
11356
11374
  isOpen: isDeleteAlertOpen,
@@ -11396,8 +11414,11 @@ var useCreateFieldValue = function useCreateFieldValue(options) {
11396
11414
  var queryClient = useQueryClient();
11397
11415
  return useMutation(fieldValuesApi.create, _objectSpread$1(_objectSpread$1({}, options), {}, {
11398
11416
  onSuccess: function onSuccess() {
11417
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11418
+ args[_key] = arguments[_key];
11419
+ }
11420
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11399
11421
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11400
- options === null || options === void 0 ? void 0 : options.onSuccess();
11401
11422
  }
11402
11423
  }));
11403
11424
  };
@@ -11405,8 +11426,11 @@ var useUpdateFieldValue = function useUpdateFieldValue(options) {
11405
11426
  var queryClient = useQueryClient();
11406
11427
  return useMutation(fieldValuesApi.update, _objectSpread$1(_objectSpread$1({}, options), {}, {
11407
11428
  onSuccess: function onSuccess() {
11429
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
11430
+ args[_key2] = arguments[_key2];
11431
+ }
11432
+ options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
11408
11433
  queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
11409
- options === null || options === void 0 ? void 0 : options.onSuccess();
11410
11434
  }
11411
11435
  }));
11412
11436
  };
@@ -11438,8 +11462,6 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11438
11462
  _ref$ownerId = _ref.ownerId,
11439
11463
  ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
11440
11464
  resourceId = _ref.resourceId,
11441
- _ref$queryKeysToBeInv = _ref.queryKeysToBeInvalidatedOnSuccess,
11442
- queryKeysToBeInvalidatedOnSuccess = _ref$queryKeysToBeInv === void 0 ? [] : _ref$queryKeysToBeInv,
11443
11465
  _ref$customComponents = _ref.customComponents,
11444
11466
  customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
11445
11467
  _ref$className = _ref.className,
@@ -11452,14 +11474,13 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11452
11474
  isRequiredColumnName = _ref.isRequiredColumnName,
11453
11475
  fieldContainerClassName = _ref.fieldContainerClassName,
11454
11476
  fieldClassName = _ref.fieldClassName,
11455
- labelClassName = _ref.labelClassName;
11456
- var queryClient = useQueryClient();
11477
+ labelClassName = _ref.labelClassName,
11478
+ _ref$onMutationSucces = _ref.onMutationSuccess,
11479
+ onMutationSuccess = _ref$onMutationSucces === void 0 ? noop$2 : _ref$onMutationSucces;
11457
11480
  var _useTranslation = useTranslation(),
11458
11481
  t = _useTranslation.t;
11459
11482
  var queryOptions = {
11460
- onSuccess: function onSuccess() {
11461
- queryClient.invalidateQueries(queryKeysToBeInvalidatedOnSuccess);
11462
- }
11483
+ onSuccess: onMutationSuccess
11463
11484
  };
11464
11485
  var _useFetchFields = useFetchFields({
11465
11486
  resourceType: isEmpty(resourceType) ? undefined : resourceType,
@@ -11530,5 +11551,5 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
11530
11551
  }));
11531
11552
  };
11532
11553
 
11533
- export { AddField, FieldInputs, FieldValuesContainer, FieldsDashboard, neetoFieldsUtils, useCreateField, useDestroyField, useFetchFields, useShowField, useUpdateField };
11554
+ export { FieldInputs, FieldValuesContainer, FieldsDashboard, FieldsPane, neetoFieldsUtils, useCreateField, useDestroyField, useFetchFields, useShowField, useUpdateField };
11534
11555
  //# sourceMappingURL=index.js.map