@bigbinary/neeto-fields-frontend 1.4.0-beta2 → 2.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.
Files changed (76) hide show
  1. package/dist/DeleteAlert-063eea87.js +764 -0
  2. package/dist/DeleteAlert-063eea87.js.map +1 -0
  3. package/dist/DeleteAlert-f2c5236d.js +781 -0
  4. package/dist/DeleteAlert-f2c5236d.js.map +1 -0
  5. package/dist/FieldDeleteAlert.js +23 -0
  6. package/dist/FieldDeleteAlert.js.map +1 -0
  7. package/dist/FieldInputs.js +58 -0
  8. package/dist/FieldInputs.js.map +1 -0
  9. package/dist/FieldValueInputWrapper-adbbc915.js +198 -0
  10. package/dist/FieldValueInputWrapper-adbbc915.js.map +1 -0
  11. package/dist/FieldValueInputWrapper-f1f2e095.js +189 -0
  12. package/dist/FieldValueInputWrapper-f1f2e095.js.map +1 -0
  13. package/dist/FieldValuesContainer.js +223 -0
  14. package/dist/FieldValuesContainer.js.map +1 -0
  15. package/dist/FieldsDashboard.js +5000 -0
  16. package/dist/FieldsDashboard.js.map +1 -0
  17. package/dist/FieldsPane.js +563 -0
  18. package/dist/FieldsPane.js.map +1 -0
  19. package/dist/InlineFieldValueInput.js +157 -0
  20. package/dist/InlineFieldValueInput.js.map +1 -0
  21. package/dist/_commonjsHelpers-1789f0cf.js +8 -0
  22. package/dist/_commonjsHelpers-1789f0cf.js.map +1 -0
  23. package/dist/_commonjsHelpers-b3309d7b.js +11 -0
  24. package/dist/_commonjsHelpers-b3309d7b.js.map +1 -0
  25. package/dist/cjs/FieldDeleteAlert.js +29 -0
  26. package/dist/cjs/FieldDeleteAlert.js.map +1 -0
  27. package/dist/cjs/FieldInputs.js +64 -0
  28. package/dist/cjs/FieldInputs.js.map +1 -0
  29. package/dist/cjs/FieldValuesContainer.js +232 -0
  30. package/dist/cjs/FieldValuesContainer.js.map +1 -0
  31. package/dist/cjs/FieldsDashboard.js +5020 -0
  32. package/dist/cjs/FieldsDashboard.js.map +1 -0
  33. package/dist/cjs/FieldsPane.js +598 -0
  34. package/dist/cjs/FieldsPane.js.map +1 -0
  35. package/dist/cjs/InlineFieldValueInput.js +164 -0
  36. package/dist/cjs/InlineFieldValueInput.js.map +1 -0
  37. package/dist/cjs/hooks.js +20 -0
  38. package/dist/cjs/hooks.js.map +1 -0
  39. package/dist/cjs/index.js +84 -0
  40. package/dist/cjs/index.js.map +1 -0
  41. package/dist/cjs/utils.js +34 -0
  42. package/dist/cjs/utils.js.map +1 -0
  43. package/dist/constants-0e6017ea.js +57 -0
  44. package/dist/constants-0e6017ea.js.map +1 -0
  45. package/dist/constants-c71008a3.js +64 -0
  46. package/dist/constants-c71008a3.js.map +1 -0
  47. package/dist/hooks.js +8 -0
  48. package/dist/hooks.js.map +1 -0
  49. package/dist/index-265f7913.js +117 -0
  50. package/dist/index-265f7913.js.map +1 -0
  51. package/dist/index-27e54c2c.js +130 -0
  52. package/dist/index-27e54c2c.js.map +1 -0
  53. package/dist/index.js +64 -8236
  54. package/dist/index.js.map +1 -1
  55. package/dist/query-0df5b2dd.js +13 -0
  56. package/dist/query-0df5b2dd.js.map +1 -0
  57. package/dist/query-1a62b3ac.js +10 -0
  58. package/dist/query-1a62b3ac.js.map +1 -0
  59. package/dist/slicedToArray-50f7cc19.js +46 -0
  60. package/dist/slicedToArray-50f7cc19.js.map +1 -0
  61. package/dist/slicedToArray-6198349b.js +44 -0
  62. package/dist/slicedToArray-6198349b.js.map +1 -0
  63. package/dist/useFieldsApi-14928ecf.js +161 -0
  64. package/dist/useFieldsApi-14928ecf.js.map +1 -0
  65. package/dist/useFieldsApi-5c114bac.js +149 -0
  66. package/dist/useFieldsApi-5c114bac.js.map +1 -0
  67. package/dist/utils-9f816116.js +1140 -0
  68. package/dist/utils-9f816116.js.map +1 -0
  69. package/dist/utils-a0333c9c.js +1180 -0
  70. package/dist/utils-a0333c9c.js.map +1 -0
  71. package/dist/utils.js +26 -0
  72. package/dist/utils.js.map +1 -0
  73. package/package.json +28 -14
  74. package/types.d.ts +1 -1
  75. package/dist/index.cjs.js +0 -8306
  76. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,1140 @@
1
+ import { _ as _defineProperty, b as _toConsumableArray, a as _objectWithoutProperties, S as SUBMIT_FIELD_STATUS } from './index-265f7913.js';
2
+ import { isNotEmpty, renameKeys, capitalize, findBy, noop, notEquals, filterBy } from '@bigbinary/neeto-cist';
3
+ import { isNotNil, isNil, isEmpty, prop, pluck, clone, pipe, mergeAll, omit, map, pick } from 'ramda';
4
+ import { useEffect, useState, useRef } from 'react';
5
+ import NeetoUICheckbox from '@bigbinary/neetoui/Checkbox';
6
+ import { _ as _slicedToArray } from './slicedToArray-6198349b.js';
7
+ import { g as getDefaultExportFromCjs } from './_commonjsHelpers-1789f0cf.js';
8
+ import { useFormikContext, useField } from 'formik';
9
+ import { useFuncDebounce, useOnClickOutside } from '@bigbinary/neeto-commons-frontend/react-utils';
10
+ import { K as KINDS } from './constants-0e6017ea.js';
11
+ import DatePicker from '@bigbinary/neetoui/DatePicker';
12
+ import TimePicker from '@bigbinary/neetoui/TimePicker';
13
+ import dayjs from 'dayjs';
14
+ import { t as t$1 } from 'i18next';
15
+ import * as yup from 'yup';
16
+ import { hyphenize } from '@bigbinary/neeto-commons-frontend/utils/general';
17
+ import Check from '@bigbinary/neeto-icons/Check';
18
+ import Label from '@bigbinary/neetoui/Label';
19
+ import Spinner from '@bigbinary/neetoui/Spinner';
20
+ import { jsx, jsxs } from 'react/jsx-runtime';
21
+ import Select from '@bigbinary/neetoui/formik/Select';
22
+ import Input from '@bigbinary/neetoui/Input';
23
+ import Select$1 from '@bigbinary/neetoui/Select';
24
+ import Textarea from '@bigbinary/neetoui/Textarea';
25
+
26
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
27
+ try {
28
+ var info = gen[key](arg);
29
+ var value = info.value;
30
+ } catch (error) {
31
+ reject(error);
32
+ return;
33
+ }
34
+ if (info.done) {
35
+ resolve(value);
36
+ } else {
37
+ Promise.resolve(value).then(_next, _throw);
38
+ }
39
+ }
40
+ function _asyncToGenerator(fn) {
41
+ return function () {
42
+ var self = this,
43
+ args = arguments;
44
+ return new Promise(function (resolve, reject) {
45
+ var gen = fn.apply(self, args);
46
+ function _next(value) {
47
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
48
+ }
49
+ function _throw(err) {
50
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
51
+ }
52
+ _next(undefined);
53
+ });
54
+ };
55
+ }
56
+
57
+ var regeneratorRuntime$1 = {exports: {}};
58
+
59
+ var _typeof = {exports: {}};
60
+
61
+ _typeof.exports;
62
+
63
+ (function (module) {
64
+ function _typeof(o) {
65
+ "@babel/helpers - typeof";
66
+
67
+ return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
68
+ return typeof o;
69
+ } : function (o) {
70
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
71
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
72
+ }
73
+ module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
74
+ } (_typeof));
75
+
76
+ var _typeofExports = _typeof.exports;
77
+
78
+ regeneratorRuntime$1.exports;
79
+
80
+ (function (module) {
81
+ var _typeof = _typeofExports["default"];
82
+ function _regeneratorRuntime() {
83
+ module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
84
+ return e;
85
+ }, module.exports.__esModule = true, module.exports["default"] = module.exports;
86
+ var t,
87
+ e = {},
88
+ r = Object.prototype,
89
+ n = r.hasOwnProperty,
90
+ o = Object.defineProperty || function (t, e, r) {
91
+ t[e] = r.value;
92
+ },
93
+ i = "function" == typeof Symbol ? Symbol : {},
94
+ a = i.iterator || "@@iterator",
95
+ c = i.asyncIterator || "@@asyncIterator",
96
+ u = i.toStringTag || "@@toStringTag";
97
+ function define(t, e, r) {
98
+ return Object.defineProperty(t, e, {
99
+ value: r,
100
+ enumerable: !0,
101
+ configurable: !0,
102
+ writable: !0
103
+ }), t[e];
104
+ }
105
+ try {
106
+ define({}, "");
107
+ } catch (t) {
108
+ define = function define(t, e, r) {
109
+ return t[e] = r;
110
+ };
111
+ }
112
+ function wrap(t, e, r, n) {
113
+ var i = e && e.prototype instanceof Generator ? e : Generator,
114
+ a = Object.create(i.prototype),
115
+ c = new Context(n || []);
116
+ return o(a, "_invoke", {
117
+ value: makeInvokeMethod(t, r, c)
118
+ }), a;
119
+ }
120
+ function tryCatch(t, e, r) {
121
+ try {
122
+ return {
123
+ type: "normal",
124
+ arg: t.call(e, r)
125
+ };
126
+ } catch (t) {
127
+ return {
128
+ type: "throw",
129
+ arg: t
130
+ };
131
+ }
132
+ }
133
+ e.wrap = wrap;
134
+ var h = "suspendedStart",
135
+ l = "suspendedYield",
136
+ f = "executing",
137
+ s = "completed",
138
+ y = {};
139
+ function Generator() {}
140
+ function GeneratorFunction() {}
141
+ function GeneratorFunctionPrototype() {}
142
+ var p = {};
143
+ define(p, a, function () {
144
+ return this;
145
+ });
146
+ var d = Object.getPrototypeOf,
147
+ v = d && d(d(values([])));
148
+ v && v !== r && n.call(v, a) && (p = v);
149
+ var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
150
+ function defineIteratorMethods(t) {
151
+ ["next", "throw", "return"].forEach(function (e) {
152
+ define(t, e, function (t) {
153
+ return this._invoke(e, t);
154
+ });
155
+ });
156
+ }
157
+ function AsyncIterator(t, e) {
158
+ function invoke(r, o, i, a) {
159
+ var c = tryCatch(t[r], t, o);
160
+ if ("throw" !== c.type) {
161
+ var u = c.arg,
162
+ h = u.value;
163
+ return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
164
+ invoke("next", t, i, a);
165
+ }, function (t) {
166
+ invoke("throw", t, i, a);
167
+ }) : e.resolve(h).then(function (t) {
168
+ u.value = t, i(u);
169
+ }, function (t) {
170
+ return invoke("throw", t, i, a);
171
+ });
172
+ }
173
+ a(c.arg);
174
+ }
175
+ var r;
176
+ o(this, "_invoke", {
177
+ value: function value(t, n) {
178
+ function callInvokeWithMethodAndArg() {
179
+ return new e(function (e, r) {
180
+ invoke(t, n, e, r);
181
+ });
182
+ }
183
+ return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
184
+ }
185
+ });
186
+ }
187
+ function makeInvokeMethod(e, r, n) {
188
+ var o = h;
189
+ return function (i, a) {
190
+ if (o === f) throw new Error("Generator is already running");
191
+ if (o === s) {
192
+ if ("throw" === i) throw a;
193
+ return {
194
+ value: t,
195
+ done: !0
196
+ };
197
+ }
198
+ for (n.method = i, n.arg = a;;) {
199
+ var c = n.delegate;
200
+ if (c) {
201
+ var u = maybeInvokeDelegate(c, n);
202
+ if (u) {
203
+ if (u === y) continue;
204
+ return u;
205
+ }
206
+ }
207
+ if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
208
+ if (o === h) throw o = s, n.arg;
209
+ n.dispatchException(n.arg);
210
+ } else "return" === n.method && n.abrupt("return", n.arg);
211
+ o = f;
212
+ var p = tryCatch(e, r, n);
213
+ if ("normal" === p.type) {
214
+ if (o = n.done ? s : l, p.arg === y) continue;
215
+ return {
216
+ value: p.arg,
217
+ done: n.done
218
+ };
219
+ }
220
+ "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
221
+ }
222
+ };
223
+ }
224
+ function maybeInvokeDelegate(e, r) {
225
+ var n = r.method,
226
+ o = e.iterator[n];
227
+ if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
228
+ var i = tryCatch(o, e.iterator, r.arg);
229
+ if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
230
+ var a = i.arg;
231
+ return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
232
+ }
233
+ function pushTryEntry(t) {
234
+ var e = {
235
+ tryLoc: t[0]
236
+ };
237
+ 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
238
+ }
239
+ function resetTryEntry(t) {
240
+ var e = t.completion || {};
241
+ e.type = "normal", delete e.arg, t.completion = e;
242
+ }
243
+ function Context(t) {
244
+ this.tryEntries = [{
245
+ tryLoc: "root"
246
+ }], t.forEach(pushTryEntry, this), this.reset(!0);
247
+ }
248
+ function values(e) {
249
+ if (e || "" === e) {
250
+ var r = e[a];
251
+ if (r) return r.call(e);
252
+ if ("function" == typeof e.next) return e;
253
+ if (!isNaN(e.length)) {
254
+ var o = -1,
255
+ i = function next() {
256
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
257
+ return next.value = t, next.done = !0, next;
258
+ };
259
+ return i.next = i;
260
+ }
261
+ }
262
+ throw new TypeError(_typeof(e) + " is not iterable");
263
+ }
264
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
265
+ value: GeneratorFunctionPrototype,
266
+ configurable: !0
267
+ }), o(GeneratorFunctionPrototype, "constructor", {
268
+ value: GeneratorFunction,
269
+ configurable: !0
270
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
271
+ var e = "function" == typeof t && t.constructor;
272
+ return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
273
+ }, e.mark = function (t) {
274
+ return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
275
+ }, e.awrap = function (t) {
276
+ return {
277
+ __await: t
278
+ };
279
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
280
+ return this;
281
+ }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
282
+ void 0 === i && (i = Promise);
283
+ var a = new AsyncIterator(wrap(t, r, n, o), i);
284
+ return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
285
+ return t.done ? t.value : a.next();
286
+ });
287
+ }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
288
+ return this;
289
+ }), define(g, "toString", function () {
290
+ return "[object Generator]";
291
+ }), e.keys = function (t) {
292
+ var e = Object(t),
293
+ r = [];
294
+ for (var n in e) r.push(n);
295
+ return r.reverse(), function next() {
296
+ for (; r.length;) {
297
+ var t = r.pop();
298
+ if (t in e) return next.value = t, next.done = !1, next;
299
+ }
300
+ return next.done = !0, next;
301
+ };
302
+ }, e.values = values, Context.prototype = {
303
+ constructor: Context,
304
+ reset: function reset(e) {
305
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
306
+ },
307
+ stop: function stop() {
308
+ this.done = !0;
309
+ var t = this.tryEntries[0].completion;
310
+ if ("throw" === t.type) throw t.arg;
311
+ return this.rval;
312
+ },
313
+ dispatchException: function dispatchException(e) {
314
+ if (this.done) throw e;
315
+ var r = this;
316
+ function handle(n, o) {
317
+ return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
318
+ }
319
+ for (var o = this.tryEntries.length - 1; o >= 0; --o) {
320
+ var i = this.tryEntries[o],
321
+ a = i.completion;
322
+ if ("root" === i.tryLoc) return handle("end");
323
+ if (i.tryLoc <= this.prev) {
324
+ var c = n.call(i, "catchLoc"),
325
+ u = n.call(i, "finallyLoc");
326
+ if (c && u) {
327
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
328
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
329
+ } else if (c) {
330
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
331
+ } else {
332
+ if (!u) throw new Error("try statement without catch or finally");
333
+ if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
334
+ }
335
+ }
336
+ }
337
+ },
338
+ abrupt: function abrupt(t, e) {
339
+ for (var r = this.tryEntries.length - 1; r >= 0; --r) {
340
+ var o = this.tryEntries[r];
341
+ if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
342
+ var i = o;
343
+ break;
344
+ }
345
+ }
346
+ i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
347
+ var a = i ? i.completion : {};
348
+ return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
349
+ },
350
+ complete: function complete(t, e) {
351
+ if ("throw" === t.type) throw t.arg;
352
+ return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
353
+ },
354
+ finish: function finish(t) {
355
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
356
+ var r = this.tryEntries[e];
357
+ if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
358
+ }
359
+ },
360
+ "catch": function _catch(t) {
361
+ for (var e = this.tryEntries.length - 1; e >= 0; --e) {
362
+ var r = this.tryEntries[e];
363
+ if (r.tryLoc === t) {
364
+ var n = r.completion;
365
+ if ("throw" === n.type) {
366
+ var o = n.arg;
367
+ resetTryEntry(r);
368
+ }
369
+ return o;
370
+ }
371
+ }
372
+ throw new Error("illegal catch attempt");
373
+ },
374
+ delegateYield: function delegateYield(e, r, n) {
375
+ return this.delegate = {
376
+ iterator: values(e),
377
+ resultName: r,
378
+ nextLoc: n
379
+ }, "next" === this.method && (this.arg = t), y;
380
+ }
381
+ }, e;
382
+ }
383
+ module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
384
+ } (regeneratorRuntime$1));
385
+
386
+ var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
387
+
388
+ // TODO(Babel 8): Remove this file.
389
+
390
+ var runtime = regeneratorRuntimeExports();
391
+ var regenerator = runtime;
392
+
393
+ // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
394
+ try {
395
+ regeneratorRuntime = runtime;
396
+ } catch (accidentalStrictMode) {
397
+ if (typeof globalThis === "object") {
398
+ globalThis.regeneratorRuntime = runtime;
399
+ } else {
400
+ Function("r", "regeneratorRuntime = r")(runtime);
401
+ }
402
+ }
403
+
404
+ var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
405
+
406
+ var DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];
407
+
408
+ var isDateTime = function isDateTime(kind) {
409
+ return ["date", "time", "date_range", "time_range", "datetime"].includes(kind);
410
+ };
411
+ var isDropdown = function isDropdown(kind) {
412
+ return ["single_option", "multi_option"].includes(kind);
413
+ };
414
+ var isTextType = function isTextType(kind) {
415
+ return [KINDS.text, KINDS.decimal, KINDS.integer, KINDS.monetary, KINDS.number, KINDS.regex, KINDS.textarea].includes(kind);
416
+ };
417
+
418
+ var dateSchema = yup.date().nullable();
419
+ var isValueEmpty = function isValueEmpty(value) {
420
+ return typeof value === "string" && isEmpty(value.trim());
421
+ };
422
+ var isCheckboxUnchecked = function isCheckboxUnchecked(kind, value) {
423
+ return kind === KINDS.checkbox && !value;
424
+ };
425
+ var isArrayEmpty = function isArrayEmpty(kind, value) {
426
+ return [KINDS.multiOption, KINDS.singleOption, KINDS.dateRange, KINDS.timeRange].includes(kind) && isEmpty(value);
427
+ };
428
+ var buildSchemaAllowingEmptyValue = function buildSchemaAllowingEmptyValue(schema) {
429
+ return yup.mixed().test({
430
+ name: "validate-if-not-empty",
431
+ test: function test(value) {
432
+ if (isNotEmpty(value) && isNotNil(value)) {
433
+ schema.validateSync(value);
434
+ }
435
+ return true;
436
+ }
437
+ });
438
+ };
439
+ var buildSchemaForRequiredInputs = function buildSchemaForRequiredInputs(schema, kind) {
440
+ return yup.mixed().test({
441
+ name: "validate-required-inputs",
442
+ test: function test(value) {
443
+ if (isNil(value) || isValueEmpty(value) || isArrayEmpty(kind, value) || isCheckboxUnchecked(kind, value)) {
444
+ throw new yup.ValidationError(t$1("neetoFields.validations.thisIsRequired"));
445
+ }
446
+ schema.validateSync(value);
447
+ return true;
448
+ }
449
+ });
450
+ };
451
+ var buildSchema = function buildSchema(_ref) {
452
+ var schema = _ref.schema,
453
+ isRequired = _ref.isRequired,
454
+ kind = _ref.kind;
455
+ return isRequired ? buildSchemaForRequiredInputs(schema, kind) : buildSchemaAllowingEmptyValue(schema);
456
+ };
457
+ var getBasicValidationSchema = function getBasicValidationSchema(_ref2) {
458
+ var kind = _ref2.kind,
459
+ fieldData = _ref2.fieldData;
460
+ switch (kind) {
461
+ case KINDS.singleOption:
462
+ case KINDS.textarea:
463
+ case KINDS.text:
464
+ {
465
+ return yup.string().trim().nullable();
466
+ }
467
+ case KINDS.number:
468
+ case KINDS.monetary:
469
+ case KINDS.decimal:
470
+ {
471
+ return yup.number(t$1("neetoFields.validations.notAValidNumber")).nullable();
472
+ }
473
+ case KINDS.integer:
474
+ {
475
+ return yup.number().nullable().integer(t$1("neetoFields.validations.notAValidInteger"));
476
+ }
477
+ case KINDS.date:
478
+ case KINDS.time:
479
+ {
480
+ return dateSchema;
481
+ }
482
+ case KINDS.multiOption:
483
+ {
484
+ return yup.array().of(yup.string()).nullable();
485
+ }
486
+ case KINDS.dateRange:
487
+ case KINDS.timeRange:
488
+ {
489
+ return yup.array().of(dateSchema).nullable();
490
+ }
491
+ case KINDS.checkbox:
492
+ return yup["boolean"]().nullable();
493
+ case KINDS.regex:
494
+ {
495
+ var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
496
+ return yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
497
+ }
498
+ default:
499
+ return yup.mixed();
500
+ }
501
+ };
502
+ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref3) {
503
+ var kind = _ref3.kind,
504
+ isRequired = _ref3.isRequired,
505
+ fieldData = _ref3.fieldData;
506
+ var schema = getBasicValidationSchema({
507
+ kind: kind,
508
+ fieldData: fieldData
509
+ });
510
+ return buildSchema({
511
+ schema: schema,
512
+ isRequired: isRequired,
513
+ kind: kind
514
+ });
515
+ };
516
+ var cleanedRegex = function cleanedRegex(regexCondition) {
517
+ var patternMatchingExp = /[igmsyu]*$/;
518
+ var conditionFlags = regexCondition.match(patternMatchingExp)[0];
519
+ var conditionWithoutFlags = regexCondition.replace(patternMatchingExp, "");
520
+ var sanitizedFlags = _toConsumableArray(new Set(conditionFlags)).join("");
521
+ if (conditionWithoutFlags.startsWith("/") && conditionWithoutFlags.endsWith("/")) {
522
+ conditionWithoutFlags = conditionWithoutFlags.slice(1, -1);
523
+ }
524
+ return RegExp(conditionWithoutFlags, sanitizedFlags);
525
+ };
526
+ var validateField = /*#__PURE__*/function () {
527
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref4) {
528
+ var fieldValue, fieldName, isRequired, kind, fieldData;
529
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
530
+ while (1) switch (_context.prev = _context.next) {
531
+ case 0:
532
+ fieldValue = _ref4.fieldValue, fieldName = _ref4.fieldName, isRequired = _ref4.isRequired, kind = _ref4.kind, fieldData = _ref4.fieldData;
533
+ _context.prev = 1;
534
+ _context.next = 4;
535
+ return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
536
+ kind: kind,
537
+ isRequired: isRequired,
538
+ fieldData: fieldData
539
+ }))).validate(_defineProperty({}, fieldName, fieldValue));
540
+ case 4:
541
+ return _context.abrupt("return", false);
542
+ case 7:
543
+ _context.prev = 7;
544
+ _context.t0 = _context["catch"](1);
545
+ return _context.abrupt("return", _context.t0.errors[0]);
546
+ case 10:
547
+ case "end":
548
+ return _context.stop();
549
+ }
550
+ }, _callee, null, [[1, 7]]);
551
+ }));
552
+ return function validateField(_x) {
553
+ return _ref5.apply(this, arguments);
554
+ };
555
+ }();
556
+ var dateTimeToString = function dateTimeToString(dateTime) {
557
+ return dateTime && dayjs(dateTime).toString() || "";
558
+ };
559
+ var getValueFromBool = function getValueFromBool(value) {
560
+ return value === true ? t$1("neetoFields.common.yes") : t$1("neetoFields.common.no");
561
+ };
562
+ var getComponentDisplayName = function getComponentDisplayName(Component) {
563
+ return Component.displayName || Component.name || "Component";
564
+ };
565
+
566
+ var _excluded$2 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName", "isInline", "onBlur", "hasMetadataWrapper"];
567
+ function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
568
+ function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
569
+ var useFormikFields = function useFormikFields(_ref) {
570
+ var name = _ref.name,
571
+ fieldId = _ref.id,
572
+ kind = _ref.kind,
573
+ fieldData = _ref.data,
574
+ individualSubmit = _ref.individualSubmit,
575
+ formRef = _ref.formRef,
576
+ formRefs = _ref.formRefs,
577
+ disabled = _ref.disabled,
578
+ _ref$isRequiredColumn = _ref.isRequiredColumnName,
579
+ isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
580
+ _ref$isInline = _ref.isInline,
581
+ isInline = _ref$isInline === void 0 ? false : _ref$isInline,
582
+ _ref$onBlur = _ref.onBlur,
583
+ handleBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
584
+ _ref$hasMetadataWrapp = _ref.hasMetadataWrapper,
585
+ hasMetadataWrapper = _ref$hasMetadataWrapp === void 0 ? false : _ref$hasMetadataWrapp,
586
+ props = _objectWithoutProperties(_ref, _excluded$2);
587
+ var formikContext = useFormikContext();
588
+ var submitForm = formikContext.submitForm,
589
+ dirty = formikContext.dirty,
590
+ isSubmitting = formikContext.isSubmitting;
591
+ var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
592
+ var fieldName = kind === KINDS.multiOption ? "values" : "value";
593
+ var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
594
+ isDropdown(kind) && (fieldData = renameKeys({
595
+ id: "value"
596
+ }, fieldData));
597
+ if (isNil(formRef) && isNotNil(formRefs)) {
598
+ formRefs.current[fieldValuePath] = formikContext;
599
+ } else if (isNil(formRefs) && isNotNil(formRef)) {
600
+ formRef.current = formikContext;
601
+ }
602
+ var _useField = useField({
603
+ name: fieldValuePath,
604
+ validate: function validate(fieldValue) {
605
+ return validateField({
606
+ fieldValue: fieldValue,
607
+ fieldName: name,
608
+ isRequired: props[isRequiredColumnName],
609
+ kind: kind,
610
+ fieldData: fieldData
611
+ });
612
+ }
613
+ }),
614
+ _useField2 = _slicedToArray(_useField, 3),
615
+ formikFieldProps = _useField2[0],
616
+ meta = _useField2[1],
617
+ helpers = _useField2[2];
618
+ var debouncedSubmitForm = useFuncDebounce(submitForm, 100);
619
+ var handleSubmit = /*#__PURE__*/function () {
620
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value) {
621
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
622
+ while (1) switch (_context.prev = _context.next) {
623
+ case 0:
624
+ isNotNil(value) && helpers.setValue(value);
625
+ _context.t0 = individualSubmit;
626
+ if (!_context.t0) {
627
+ _context.next = 5;
628
+ break;
629
+ }
630
+ _context.next = 5;
631
+ return debouncedSubmitForm();
632
+ case 5:
633
+ isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind) && handleBlur();
634
+ case 6:
635
+ case "end":
636
+ return _context.stop();
637
+ }
638
+ }, _callee);
639
+ }));
640
+ return function handleSubmit(_x) {
641
+ return _ref2.apply(this, arguments);
642
+ };
643
+ }();
644
+ var getBlurHandler = function getBlurHandler(kind) {
645
+ if (isTextType(kind)) {
646
+ return dirty ? function () {
647
+ return handleSubmit();
648
+ } : handleBlur;
649
+ }
650
+ if (!DIRECT_EDIT_INPUT_FIELDS.includes(kind)) {
651
+ return handleBlur;
652
+ }
653
+ return undefined;
654
+ };
655
+ var getValueForField = function getValueForField(value) {
656
+ if (kind === KINDS.singleOption) {
657
+ value = findBy({
658
+ value: value
659
+ }, fieldData);
660
+ } else if (kind === KINDS.multiOption) {
661
+ var _value;
662
+ value = (_value = value) === null || _value === void 0 ? void 0 : _value.map(function (optionId) {
663
+ return findBy({
664
+ value: optionId
665
+ }, fieldData);
666
+ });
667
+ }
668
+ return value || "";
669
+ };
670
+ useEffect(function () {
671
+ if (isSubmitting && !meta.touched) {
672
+ helpers.setTouched(true);
673
+ }
674
+ }, [isSubmitting]);
675
+ return {
676
+ dirty: dirty,
677
+ handleSubmit: handleSubmit,
678
+ fieldProps: _objectSpread$b(_objectSpread$b({}, formikFieldProps), {}, {
679
+ id: fieldId,
680
+ error: individualSubmit ? meta.error : meta.touched && meta.error,
681
+ value: getValueForField(formikFieldProps.value),
682
+ label: !isInline && !hasMetadataWrapper && capitalize(name),
683
+ labelProps: !isInline && !hasMetadataWrapper && {
684
+ required: props[isRequiredColumnName]
685
+ },
686
+ autoFocus: isInline && !DIRECT_EDIT_INPUT_FIELDS.includes(kind),
687
+ onBlur: isInline ? getBlurHandler(kind) : undefined,
688
+ disabled: disabled,
689
+ //conditional props
690
+ options: isDropdown(kind) ? fieldData : undefined,
691
+ getPopupContainer: !isInline && isDateTime(kind) ? prop("parentElement") : undefined
692
+ }),
693
+ helpers: helpers
694
+ };
695
+ };
696
+
697
+ function ownKeys$a(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
698
+ function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
699
+ var Checkbox = function Checkbox(props) {
700
+ var _useFormikFields = useFormikFields(props),
701
+ handleSubmit = _useFormikFields.handleSubmit,
702
+ fieldProps = _useFormikFields.fieldProps;
703
+ var submissionStatus = props.submissionStatus;
704
+ return /*#__PURE__*/jsx(NeetoUICheckbox, _objectSpread$a(_objectSpread$a({}, fieldProps), {}, {
705
+ checked: fieldProps.value,
706
+ disabled: submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING,
707
+ onChange: function onChange(_ref) {
708
+ var checked = _ref.target.checked;
709
+ return handleSubmit(checked);
710
+ }
711
+ }));
712
+ };
713
+
714
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
715
+
716
+ var css$1 = ".neeto-fields-nano__metadata-card__spinner{scale:.6}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX21ldGFkYXRhLXBhbmVsLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkNBQ0UsUUFDRiIsInNvdXJjZXNDb250ZW50IjpbIi5uZWV0by1maWVsZHMtbmFub19fbWV0YWRhdGEtY2FyZF9fc3Bpbm5lciB7XG4gIHNjYWxlOiAwLjY7XG59XG4iXX0= */";
717
+ n(css$1,{});
718
+
719
+ function ownKeys$9(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
720
+ function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
721
+ var MetadataBlock = function MetadataBlock(_ref) {
722
+ var labelProps = _ref.labelProps,
723
+ label = _ref.label,
724
+ fieldId = _ref.fieldId,
725
+ children = _ref.children,
726
+ submissionStatus = _ref.submissionStatus,
727
+ isInline = _ref.isInline;
728
+ return /*#__PURE__*/jsxs("div", {
729
+ className: "w-full space-y-2",
730
+ children: [!isInline && /*#__PURE__*/jsxs("div", {
731
+ className: "flex items-center gap-2",
732
+ children: [/*#__PURE__*/jsx(Label, _objectSpread$9(_objectSpread$9({
733
+ "data-cy": "".concat(hyphenize(label), "-label"),
734
+ htmlFor: fieldId
735
+ }, labelProps), {}, {
736
+ children: label
737
+ })), /*#__PURE__*/jsxs("div", {
738
+ className: "inline-flex h-6 items-center",
739
+ children: [submissionStatus === SUBMIT_FIELD_STATUS.SUBMITTING && /*#__PURE__*/jsx(Spinner, {
740
+ className: "neeto-fields-nano__metadata-card__spinner"
741
+ }), submissionStatus === SUBMIT_FIELD_STATUS.SUCCESS && /*#__PURE__*/jsx(Check, {
742
+ className: "neeto-ui-text-success-500",
743
+ size: 20
744
+ })]
745
+ })]
746
+ }), children]
747
+ });
748
+ };
749
+
750
+ function ownKeys$8(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
751
+ function _objectSpread$8(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$8(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
752
+ var WithMetadataBlock = function WithMetadataBlock(Component) {
753
+ var withMetadataBlockWrapper = function withMetadataBlockWrapper(props) {
754
+ var submissionStatus = props.submissionStatus,
755
+ _props$isInline = props.isInline,
756
+ isInline = _props$isInline === void 0 ? false : _props$isInline,
757
+ _props$isRequiredColu = props.isRequiredColumnName,
758
+ isRequiredColumnName = _props$isRequiredColu === void 0 ? "isRequired" : _props$isRequiredColu,
759
+ name = props.name,
760
+ fieldId = props.id;
761
+ var label = !isInline && capitalize(name);
762
+ var labelProps = {
763
+ required: props[isRequiredColumnName]
764
+ };
765
+ return /*#__PURE__*/jsx(MetadataBlock, {
766
+ fieldId: fieldId,
767
+ isInline: isInline,
768
+ label: label,
769
+ labelProps: labelProps,
770
+ submissionStatus: submissionStatus,
771
+ children: /*#__PURE__*/jsx(Component, _objectSpread$8(_objectSpread$8({}, props), {}, {
772
+ hasMetadataWrapper: true
773
+ }))
774
+ });
775
+ };
776
+ withMetadataBlockWrapper.displayName = "withMetadataBlockWrapper(".concat(getComponentDisplayName(Component), ")");
777
+ return withMetadataBlockWrapper;
778
+ };
779
+
780
+ var _excluded$1 = ["onBlur"];
781
+ function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
782
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
783
+ var DateOrTime = function DateOrTime(props) {
784
+ var isInline = props.isInline;
785
+ var _useState = useState(isInline),
786
+ _useState2 = _slicedToArray(_useState, 2),
787
+ isOpen = _useState2[0],
788
+ setIsOpen = _useState2[1];
789
+ var value = useRef();
790
+ var _useFormikFields = useFormikFields(props),
791
+ handleSubmit = _useFormikFields.handleSubmit,
792
+ _useFormikFields$fiel = _useFormikFields.fieldProps,
793
+ onBlur = _useFormikFields$fiel.onBlur,
794
+ fieldProps = _objectWithoutProperties(_useFormikFields$fiel, _excluded$1),
795
+ helpers = _useFormikFields.helpers;
796
+ var handleChange = function handleChange(dateTime) {
797
+ value.current = dateTimeToString(dateTime);
798
+ helpers.setValue(value.current);
799
+ if (!isOpen) handleSubmit();
800
+ };
801
+ var onOpenChange = /*#__PURE__*/function () {
802
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(open) {
803
+ var shouldSubmit;
804
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
805
+ while (1) switch (_context.prev = _context.next) {
806
+ case 0:
807
+ setIsOpen(open);
808
+ if (!open) {
809
+ _context.next = 3;
810
+ break;
811
+ }
812
+ return _context.abrupt("return");
813
+ case 3:
814
+ shouldSubmit = value.current !== undefined && notEquals(fieldProps.value, value.current);
815
+ _context.t0 = shouldSubmit;
816
+ if (!_context.t0) {
817
+ _context.next = 8;
818
+ break;
819
+ }
820
+ _context.next = 8;
821
+ return handleSubmit();
822
+ case 8:
823
+ onBlur === null || onBlur === void 0 || onBlur();
824
+ case 9:
825
+ case "end":
826
+ return _context.stop();
827
+ }
828
+ }, _callee);
829
+ }));
830
+ return function onOpenChange(_x) {
831
+ return _ref.apply(this, arguments);
832
+ };
833
+ }();
834
+ if (props.kind === KINDS.time) {
835
+ return /*#__PURE__*/jsx(TimePicker, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, fieldProps), {}, {
836
+ onOpenChange: onOpenChange
837
+ })), {}, {
838
+ use12Hours: true,
839
+ format: "h:mm A",
840
+ open: isOpen,
841
+ onChange: handleChange
842
+ }));
843
+ } else if (props.kind === KINDS.date) {
844
+ return /*#__PURE__*/jsx(DatePicker, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, fieldProps), {}, {
845
+ onOpenChange: onOpenChange
846
+ })), {}, {
847
+ open: isOpen,
848
+ onChange: handleChange
849
+ }));
850
+ }
851
+ return /*#__PURE__*/jsx(DatePicker, _objectSpread$7(_objectSpread$7({
852
+ showTime: true,
853
+ timeFormat: "h:mm A"
854
+ }, _objectSpread$7(_objectSpread$7({}, fieldProps), {}, {
855
+ onOpenChange: onOpenChange
856
+ })), {}, {
857
+ open: isOpen,
858
+ onChange: handleChange
859
+ }));
860
+ };
861
+ var DateOrTimeInput = WithMetadataBlock(DateOrTime);
862
+
863
+ function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
864
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
865
+ var MultiOption = function MultiOption(props) {
866
+ var _useFormikFields = useFormikFields(props),
867
+ handleSubmit = _useFormikFields.handleSubmit,
868
+ fieldProps = _useFormikFields.fieldProps;
869
+ return /*#__PURE__*/jsx(Select, _objectSpread$6(_objectSpread$6({
870
+ isMulti: true,
871
+ isSearchable: true,
872
+ strategy: "fixed"
873
+ }, fieldProps), {}, {
874
+ onChange: function onChange(selectedOptions) {
875
+ return handleSubmit(pluck("value", selectedOptions));
876
+ }
877
+ }));
878
+ };
879
+ var MultiOptionInput = WithMetadataBlock(MultiOption);
880
+
881
+ function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
882
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
883
+ var Number = function Number(props) {
884
+ var _useFormikFields = useFormikFields(props),
885
+ handleSubmit = _useFormikFields.handleSubmit,
886
+ fieldProps = _useFormikFields.fieldProps,
887
+ dirty = _useFormikFields.dirty;
888
+ return /*#__PURE__*/jsx(Input, _objectSpread$5(_objectSpread$5({}, fieldProps), {}, {
889
+ type: "number",
890
+ onBlur: function onBlur() {
891
+ return dirty && handleSubmit();
892
+ }
893
+ }));
894
+ };
895
+ var NumberInput = WithMetadataBlock(Number);
896
+
897
+ var _excluded = ["onBlur"];
898
+ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
899
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
900
+ var withOnClickOutsideWrapper = function withOnClickOutsideWrapper(Component) {
901
+ var WithOnClickOutsideWrapper = function WithOnClickOutsideWrapper(_ref) {
902
+ var _ref$onBlur = _ref.onBlur,
903
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
904
+ props = _objectWithoutProperties(_ref, _excluded);
905
+ var ref = useRef(null);
906
+ var isInline = onBlur !== noop;
907
+ useOnClickOutside(ref, onBlur, {
908
+ enabled: isInline
909
+ });
910
+ return isInline ? /*#__PURE__*/jsx("div", {
911
+ ref: ref,
912
+ children: /*#__PURE__*/jsx(Component, _objectSpread$4(_objectSpread$4({}, props), {}, {
913
+ type: "range"
914
+ }))
915
+ }) : /*#__PURE__*/jsx(Component, _objectSpread$4(_objectSpread$4({}, props), {}, {
916
+ type: "range"
917
+ }));
918
+ };
919
+ WithOnClickOutsideWrapper.displayName = "WithOnClickOutsideWrapper(".concat(getComponentDisplayName(Component), ")");
920
+ return WithOnClickOutsideWrapper;
921
+ };
922
+ var DateRangePicker = withOnClickOutsideWrapper(DatePicker);
923
+ var TimeRangePicker = withOnClickOutsideWrapper(TimePicker);
924
+ var RangePicker = function RangePicker(props) {
925
+ var _useFormikFields = useFormikFields(props),
926
+ handleSubmit = _useFormikFields.handleSubmit,
927
+ fieldProps = _useFormikFields.fieldProps;
928
+ var handleChange = function handleChange(_ref2) {
929
+ var _ref3 = _slicedToArray(_ref2, 2),
930
+ begin = _ref3[0],
931
+ end = _ref3[1];
932
+ if (begin && end) {
933
+ handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
934
+ } else {
935
+ handleSubmit([]);
936
+ }
937
+ };
938
+ if (props.kind === KINDS.dateRange) {
939
+ return /*#__PURE__*/jsx(DateRangePicker, _objectSpread$4(_objectSpread$4({}, fieldProps), {}, {
940
+ onChange: handleChange
941
+ }));
942
+ }
943
+
944
+ //time_range
945
+ return /*#__PURE__*/jsx(TimeRangePicker, _objectSpread$4(_objectSpread$4({}, fieldProps), {}, {
946
+ use12Hours: true,
947
+ format: "h:mm A",
948
+ onChange: handleChange
949
+ }));
950
+ };
951
+ var RangePickerInput = WithMetadataBlock(RangePicker);
952
+
953
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
954
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
955
+ var SingleOption = function SingleOption(props) {
956
+ var _useFormikFields = useFormikFields(props),
957
+ handleSubmit = _useFormikFields.handleSubmit,
958
+ fieldProps = _useFormikFields.fieldProps;
959
+ return /*#__PURE__*/jsx(Select$1, _objectSpread$3(_objectSpread$3({
960
+ isClearable: true,
961
+ isSearchable: true,
962
+ strategy: "fixed"
963
+ }, fieldProps), {}, {
964
+ onChange: function onChange(option) {
965
+ return handleSubmit((option === null || option === void 0 ? void 0 : option.value) || "");
966
+ }
967
+ }));
968
+ };
969
+ var SingleOptionInput = WithMetadataBlock(SingleOption);
970
+
971
+ var css = ".neeto-fields-nano-adaptive-input textarea{--neeto-ui-input-line-height:1.5}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--small{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:4px}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--medium{--neeto-ui-textarea-padding-x:8px;--neeto-ui-textarea-padding-y:5px}.neeto-fields-nano-adaptive-input .neeto-ui-input.neeto-ui-input--large{--neeto-ui-textarea-padding-x:12px;--neeto-ui-textarea-padding-y:8px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL2NvbXBvbmVudHMvX2FkYXB0aXZlX2lucHV0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0UsMkNBQ0UsZ0NBQUosQ0FJSSx3RUFDRSxpQ0FBQSxDQUNBLGlDQUZOLENBS0kseUVBQ0UsaUNBQUEsQ0FDQSxpQ0FITixDQU1JLHdFQUNFLGtDQUFBLENBQ0EsaUNBSk4iLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tZmllbGRzLW5hbm8tYWRhcHRpdmUtaW5wdXQge1xuICB0ZXh0YXJlYSB7XG4gICAgLS1uZWV0by11aS1pbnB1dC1saW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgLm5lZXRvLXVpLWlucHV0ICB7XG4gICAgJi5uZWV0by11aS1pbnB1dC0tc21hbGwge1xuICAgICAgLS1uZWV0by11aS10ZXh0YXJlYS1wYWRkaW5nLXg6IDhweDtcbiAgICAgIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy15OiA0cHg7XG4gICAgfVxuXG4gICAgJi5uZWV0by11aS1pbnB1dC0tbWVkaXVtIHtcbiAgICAgIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy14OiA4cHg7XG4gICAgICAtLW5lZXRvLXVpLXRleHRhcmVhLXBhZGRpbmcteTogNXB4O1xuICAgIH1cblxuICAgICYubmVldG8tdWktaW5wdXQtLWxhcmdlIHtcbiAgICAgIC0tbmVldG8tdWktdGV4dGFyZWEtcGFkZGluZy14OiAxMnB4O1xuICAgICAgLS1uZWV0by11aS10ZXh0YXJlYS1wYWRkaW5nLXk6IDhweDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */";
972
+ n(css,{});
973
+
974
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
975
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
976
+ var Text = function Text(props) {
977
+ var _useFormikFields = useFormikFields(props),
978
+ handleSubmit = _useFormikFields.handleSubmit,
979
+ fieldProps = _useFormikFields.fieldProps,
980
+ dirty = _useFormikFields.dirty;
981
+ var handleKeyDown = function handleKeyDown(event) {
982
+ if (event.key !== "Enter" || event.shiftKey) return;
983
+ event.preventDefault();
984
+ handleSubmit();
985
+ };
986
+ var handleFocus = function handleFocus(element) {
987
+ var end = element.value.length;
988
+ element.setSelectionRange(end, end);
989
+ };
990
+ return /*#__PURE__*/jsx(Textarea, _objectSpread$2(_objectSpread$2({}, fieldProps), {}, {
991
+ className: "neeto-fields-nano-adaptive-input",
992
+ rows: 1,
993
+ size: "small",
994
+ style: {
995
+ resize: "none"
996
+ },
997
+ onBlur: function onBlur() {
998
+ return dirty && handleSubmit();
999
+ },
1000
+ onFocus: function onFocus(_ref) {
1001
+ var target = _ref.target;
1002
+ return handleFocus(target);
1003
+ },
1004
+ onKeyDown: handleKeyDown
1005
+ }));
1006
+ };
1007
+ var TextInput = WithMetadataBlock(Text);
1008
+
1009
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1010
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1011
+ var TextArea = function TextArea(props) {
1012
+ var _useFormikFields = useFormikFields(props),
1013
+ handleSubmit = _useFormikFields.handleSubmit,
1014
+ fieldProps = _useFormikFields.fieldProps,
1015
+ dirty = _useFormikFields.dirty;
1016
+ return /*#__PURE__*/jsx(Textarea, _objectSpread$1(_objectSpread$1({}, fieldProps), {}, {
1017
+ onBlur: function onBlur() {
1018
+ return dirty && handleSubmit();
1019
+ }
1020
+ }));
1021
+ };
1022
+ var TextAreaInput = WithMetadataBlock(TextArea);
1023
+
1024
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1025
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1026
+ var standardComponents = {
1027
+ text: TextInput,
1028
+ regex: TextInput,
1029
+ textarea: TextAreaInput,
1030
+ text_area: TextAreaInput,
1031
+ // TODO: Remove text-area after integration in all hosts.
1032
+ number: NumberInput,
1033
+ monetary: NumberInput,
1034
+ integer: NumberInput,
1035
+ decimal: NumberInput,
1036
+ date: DateOrTimeInput,
1037
+ time: DateOrTimeInput,
1038
+ datetime: DateOrTimeInput,
1039
+ single_option: SingleOptionInput,
1040
+ multi_option: MultiOptionInput,
1041
+ date_range: RangePickerInput,
1042
+ time_range: RangePickerInput,
1043
+ checkbox: Checkbox
1044
+ };
1045
+ var getFieldInput = function getFieldInput(_ref) {
1046
+ var field = _ref.field,
1047
+ _ref$customComponents = _ref.customComponents,
1048
+ customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
1049
+ var Component = customComponents[field.kind] || standardComponents[field.kind];
1050
+ if (Component) {
1051
+ return Component;
1052
+ }
1053
+ return null;
1054
+ };
1055
+ var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
1056
+ return fieldValues.filter(function (item) {
1057
+ return !isNil(prop("data", item));
1058
+ });
1059
+ };
1060
+ var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
1061
+ return map(pick(["id", "fieldId", "data"]), fieldValues);
1062
+ };
1063
+ var transformValues = function transformValues(_ref2) {
1064
+ var formikValues = _ref2.values,
1065
+ fields = _ref2.fields;
1066
+ var allFieldValues = clone(formikValues);
1067
+ var neetoFieldValues = [];
1068
+ fields.forEach(function (_ref3) {
1069
+ var id = _ref3.id,
1070
+ name = _ref3.name;
1071
+ var fieldPath = escapeString("".concat(name, "-").concat(id));
1072
+ neetoFieldValues.push(allFieldValues[fieldPath]);
1073
+ delete allFieldValues[fieldPath];
1074
+ });
1075
+ var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
1076
+ return _objectSpread(_objectSpread({}, allFieldValues), {}, {
1077
+ fieldValuesAttributes: cleanedFieldValues
1078
+ });
1079
+ };
1080
+ var getDefaultInitialValue = function getDefaultInitialValue(kind) {
1081
+ switch (kind) {
1082
+ case KINDS.checkbox:
1083
+ return false;
1084
+ case KINDS.multiOption:
1085
+ case KINDS.dateRange:
1086
+ case KINDS.timeRange:
1087
+ return [];
1088
+ default:
1089
+ return "";
1090
+ }
1091
+ };
1092
+ var getInitialFieldValue = function getInitialFieldValue(_ref4) {
1093
+ var field = _ref4.field,
1094
+ _ref4$fieldValues = _ref4.fieldValues,
1095
+ fieldValues = _ref4$fieldValues === void 0 ? [] : _ref4$fieldValues,
1096
+ _ref4$isIndividualFie = _ref4.isIndividualFieldForm,
1097
+ isIndividualFieldForm = _ref4$isIndividualFie === void 0 ? false : _ref4$isIndividualFie;
1098
+ var existingFieldValueData = findBy({
1099
+ fieldId: field.id
1100
+ }, fieldValues);
1101
+ var keyInData = field.kind === KINDS.multiOption ? "values" : "value";
1102
+ var newFieldValueData = {
1103
+ fieldId: field.id,
1104
+ data: isIndividualFieldForm ? _defineProperty({}, keyInData, getDefaultInitialValue(field.kind)) : null
1105
+ };
1106
+ return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
1107
+ };
1108
+ var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
1109
+ var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
1110
+ return getNonSystemFields(fields).map(function (field) {
1111
+ return getInitialFieldValue({
1112
+ field: field,
1113
+ fieldValues: fieldValues
1114
+ });
1115
+ });
1116
+ };
1117
+ var mergeInitialValues = function mergeInitialValues(_ref7) {
1118
+ var initialValues = _ref7.initialValues,
1119
+ fields = _ref7.fields;
1120
+ var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
1121
+ return omit(["fieldValues"], initialValue);
1122
+ };
1123
+ var getNonSystemFields = function getNonSystemFields(fields) {
1124
+ return filterBy({
1125
+ isSystem: false
1126
+ }, fields);
1127
+ };
1128
+ var escapeString = function escapeString(string) {
1129
+ return string.replace(/[^a-zA-Z0-9_]/g, function (match) {
1130
+ var charCode = match.charCodeAt(0);
1131
+ return "_".concat(charCode, "_");
1132
+ });
1133
+ };
1134
+ var neetoFieldsUtils = {
1135
+ mergeInitialValues: mergeInitialValues,
1136
+ transformValues: transformValues
1137
+ };
1138
+
1139
+ export { DIRECT_EDIT_INPUT_FIELDS as D, getFieldInput as a, getInitialFieldValue as b, getValueFromBool as c, getNonSystemFields as g, neetoFieldsUtils as n };
1140
+ //# sourceMappingURL=utils-9f816116.js.map