@abgov/jsonforms-components 1.46.0 → 1.48.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/index.esm.js CHANGED
@@ -1,15 +1,18 @@
1
+ import * as runtime from 'react/jsx-runtime';
1
2
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import React, { createContext, useContext, useReducer, useMemo, useEffect, useState, useRef, useCallback } from 'react';
3
3
  import { GoAFormItem, GoAInput, GoATextArea, GoACallout, GoAInputDate, GoAInputDateTime, GoAInputTime, GoARadioGroup, GoARadioItem, GoACheckbox, GoAGrid, GoAFormStepper, GoAFormStep, GoAPages, GoAButton, GoAModal, GoAButtonGroup, GoAIconButton, GoAFileUploadInput, GoACircularProgress, GoAContainer, GoATable, GoADropdown, GoADropdownItem, GoADetails, GoASpinner } from '@abgov/react-components';
4
4
  import styled from 'styled-components';
5
+ import React, { createContext, useContext, useReducer, useMemo, useEffect, useState, useRef, useCallback } from 'react';
5
6
  import axios from 'axios';
6
7
  import get$1 from 'lodash/get';
7
- import { rankWith, isStringControl, and, optionIs, uiTypeIs, isDateControl, isNumberControl, isIntegerControl, isDateTimeControl, isTimeControl, isEnumControl, isBooleanControl, getAjv, isVisible, isEnabled, deriveLabelForUISchemaElement, schemaTypeIs, formatIs, createDefaultValue, Paths, or, isObjectArrayControl, isPrimitiveArrayControl, isControl, isScoped, hasType, isCategorization, isLayout } from '@jsonforms/core';
8
+ import { rankWith, isStringControl, and, optionIs, uiTypeIs, isDateControl, isNumberControl, isIntegerControl, isDateTimeControl, isTimeControl, isEnumControl, isBooleanControl, getAjv, isVisible, toDataPath, deriveLabelForUISchemaElement, isEnabled, schemaTypeIs, formatIs, createDefaultValue, Paths, or, isObjectArrayControl, isPrimitiveArrayControl, isControl, isScoped, hasType, isCategorization, isLayout } from '@jsonforms/core';
8
9
  import { withJsonFormsControlProps, withJsonFormsRendererProps, withJsonFormsEnumProps, withTranslateProps, useJsonForms, JsonFormsDispatch, withJsonFormsLayoutProps, withJsonFormsArrayLayoutProps, withJsonFormsCellProps } from '@jsonforms/react';
9
- import { isEqual, isEmpty as isEmpty$2, isObject as isObject$e } from 'lodash';
10
+ import * as _$b from 'lodash';
11
+ import { isEqual, isObject as isObject$f } from 'lodash';
10
12
  import merge from 'lodash/merge';
11
- import isEmpty$1 from 'lodash/isEmpty';
13
+ import isEmpty from 'lodash/isEmpty';
12
14
  import range from 'lodash/range';
15
+ import { evaluateSync, compileSync } from '@mdx-js/mdx';
13
16
  import Ajv from 'ajv';
14
17
  import addErrors from 'ajv-errors';
15
18
  import addFormats from 'ajv-formats';
@@ -152,12 +155,12 @@ var $Object$3 = Object;
152
155
 
153
156
  // `ToObject` abstract operation
154
157
  // https://tc39.es/ecma262/#sec-toobject
155
- var toObject$7 = function (argument) {
158
+ var toObject$8 = function (argument) {
156
159
  return $Object$3(requireObjectCoercible$9(argument));
157
160
  };
158
161
 
159
162
  var uncurryThis$q = functionUncurryThis;
160
- var toObject$6 = toObject$7;
163
+ var toObject$7 = toObject$8;
161
164
 
162
165
  var hasOwnProperty = uncurryThis$q({}.hasOwnProperty);
163
166
 
@@ -165,7 +168,7 @@ var hasOwnProperty = uncurryThis$q({}.hasOwnProperty);
165
168
  // https://tc39.es/ecma262/#sec-hasownproperty
166
169
  // eslint-disable-next-line es/no-object-hasown -- safe
167
170
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
168
- return hasOwnProperty(toObject$6(it), key);
171
+ return hasOwnProperty(toObject$7(it), key);
169
172
  };
170
173
 
171
174
  var uncurryThis$p = functionUncurryThis;
@@ -245,7 +248,7 @@ var Symbol$1 = global$k.Symbol;
245
248
  var WellKnownSymbolsStore = shared$3('wks');
246
249
  var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
247
250
 
248
- var wellKnownSymbol$j = function (name) {
251
+ var wellKnownSymbol$k = function (name) {
249
252
  if (!hasOwn$d(WellKnownSymbolsStore, name)) {
250
253
  WellKnownSymbolsStore[name] = NATIVE_SYMBOL$2 && hasOwn$d(Symbol$1, name)
251
254
  ? Symbol$1[name]
@@ -267,18 +270,18 @@ var isCallable$q = typeof documentAll == 'undefined' && documentAll !== undefine
267
270
 
268
271
  var isCallable$p = isCallable$q;
269
272
 
270
- var isObject$d = function (it) {
273
+ var isObject$e = function (it) {
271
274
  return typeof it == 'object' ? it !== null : isCallable$p(it);
272
275
  };
273
276
 
274
- var isObject$c = isObject$d;
277
+ var isObject$d = isObject$e;
275
278
 
276
279
  var $String$5 = String;
277
280
  var $TypeError$h = TypeError;
278
281
 
279
282
  // `Assert: Type(argument) is Object`
280
283
  var anObject$f = function (argument) {
281
- if (isObject$c(argument)) return argument;
284
+ if (isObject$d(argument)) return argument;
282
285
  throw new $TypeError$h($String$5(argument) + ' is not an object');
283
286
  };
284
287
 
@@ -308,11 +311,11 @@ var v8PrototypeDefineBug = DESCRIPTORS$h && fails$m(function () {
308
311
  var objectDefineProperty = {};
309
312
 
310
313
  var global$j = global$o;
311
- var isObject$b = isObject$d;
314
+ var isObject$c = isObject$e;
312
315
 
313
316
  var document$3 = global$j.document;
314
317
  // typeof document.createElement is 'object' in old IE
315
- var EXISTS$1 = isObject$b(document$3) && isObject$b(document$3.createElement);
318
+ var EXISTS$1 = isObject$c(document$3) && isObject$c(document$3.createElement);
316
319
 
317
320
  var documentCreateElement$2 = function (it) {
318
321
  return EXISTS$1 ? document$3.createElement(it) : {};
@@ -400,7 +403,7 @@ var getMethod$5 = function (V, P) {
400
403
 
401
404
  var call$j = functionCall;
402
405
  var isCallable$l = isCallable$q;
403
- var isObject$a = isObject$d;
406
+ var isObject$b = isObject$e;
404
407
 
405
408
  var $TypeError$f = TypeError;
406
409
 
@@ -408,32 +411,32 @@ var $TypeError$f = TypeError;
408
411
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
409
412
  var ordinaryToPrimitive$1 = function (input, pref) {
410
413
  var fn, val;
411
- if (pref === 'string' && isCallable$l(fn = input.toString) && !isObject$a(val = call$j(fn, input))) return val;
412
- if (isCallable$l(fn = input.valueOf) && !isObject$a(val = call$j(fn, input))) return val;
413
- if (pref !== 'string' && isCallable$l(fn = input.toString) && !isObject$a(val = call$j(fn, input))) return val;
414
+ if (pref === 'string' && isCallable$l(fn = input.toString) && !isObject$b(val = call$j(fn, input))) return val;
415
+ if (isCallable$l(fn = input.valueOf) && !isObject$b(val = call$j(fn, input))) return val;
416
+ if (pref !== 'string' && isCallable$l(fn = input.toString) && !isObject$b(val = call$j(fn, input))) return val;
414
417
  throw new $TypeError$f("Can't convert object to primitive value");
415
418
  };
416
419
 
417
420
  var call$i = functionCall;
418
- var isObject$9 = isObject$d;
421
+ var isObject$a = isObject$e;
419
422
  var isSymbol$2 = isSymbol$3;
420
423
  var getMethod$4 = getMethod$5;
421
424
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
422
- var wellKnownSymbol$i = wellKnownSymbol$j;
425
+ var wellKnownSymbol$j = wellKnownSymbol$k;
423
426
 
424
427
  var $TypeError$e = TypeError;
425
- var TO_PRIMITIVE = wellKnownSymbol$i('toPrimitive');
428
+ var TO_PRIMITIVE = wellKnownSymbol$j('toPrimitive');
426
429
 
427
430
  // `ToPrimitive` abstract operation
428
431
  // https://tc39.es/ecma262/#sec-toprimitive
429
432
  var toPrimitive$1 = function (input, pref) {
430
- if (!isObject$9(input) || isSymbol$2(input)) return input;
433
+ if (!isObject$a(input) || isSymbol$2(input)) return input;
431
434
  var exoticToPrim = getMethod$4(input, TO_PRIMITIVE);
432
435
  var result;
433
436
  if (exoticToPrim) {
434
437
  if (pref === undefined) pref = 'default';
435
438
  result = call$i(exoticToPrim, input, pref);
436
- if (!isObject$9(result) || isSymbol$2(result)) return result;
439
+ if (!isObject$a(result) || isSymbol$2(result)) return result;
437
440
  throw new $TypeError$e("Can't convert object to primitive value");
438
441
  }
439
442
  if (pref === undefined) pref = 'number';
@@ -509,13 +512,13 @@ var trunc = mathTrunc;
509
512
 
510
513
  // `ToIntegerOrInfinity` abstract operation
511
514
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
512
- var toIntegerOrInfinity$6 = function (argument) {
515
+ var toIntegerOrInfinity$7 = function (argument) {
513
516
  var number = +argument;
514
517
  // eslint-disable-next-line no-self-compare -- NaN check
515
518
  return number !== number || number === 0 ? 0 : trunc(number);
516
519
  };
517
520
 
518
- var toIntegerOrInfinity$5 = toIntegerOrInfinity$6;
521
+ var toIntegerOrInfinity$6 = toIntegerOrInfinity$7;
519
522
 
520
523
  var max$1 = Math.max;
521
524
  var min$4 = Math.min;
@@ -524,18 +527,18 @@ var min$4 = Math.min;
524
527
  // Let integer be ? ToInteger(index).
525
528
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
526
529
  var toAbsoluteIndex$1 = function (index, length) {
527
- var integer = toIntegerOrInfinity$5(index);
530
+ var integer = toIntegerOrInfinity$6(index);
528
531
  return integer < 0 ? max$1(integer + length, 0) : min$4(integer, length);
529
532
  };
530
533
 
531
- var toIntegerOrInfinity$4 = toIntegerOrInfinity$6;
534
+ var toIntegerOrInfinity$5 = toIntegerOrInfinity$7;
532
535
 
533
536
  var min$3 = Math.min;
534
537
 
535
538
  // `ToLength` abstract operation
536
539
  // https://tc39.es/ecma262/#sec-tolength
537
540
  var toLength$5 = function (argument) {
538
- var len = toIntegerOrInfinity$4(argument);
541
+ var len = toIntegerOrInfinity$5(argument);
539
542
  return len > 0 ? min$3(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
540
543
  };
541
544
 
@@ -543,19 +546,19 @@ var toLength$4 = toLength$5;
543
546
 
544
547
  // `LengthOfArrayLike` abstract operation
545
548
  // https://tc39.es/ecma262/#sec-lengthofarraylike
546
- var lengthOfArrayLike$5 = function (obj) {
549
+ var lengthOfArrayLike$7 = function (obj) {
547
550
  return toLength$4(obj.length);
548
551
  };
549
552
 
550
553
  var toIndexedObject$4 = toIndexedObject$5;
551
554
  var toAbsoluteIndex = toAbsoluteIndex$1;
552
- var lengthOfArrayLike$4 = lengthOfArrayLike$5;
555
+ var lengthOfArrayLike$6 = lengthOfArrayLike$7;
553
556
 
554
557
  // `Array.prototype.{ indexOf, includes }` methods implementation
555
558
  var createMethod$3 = function (IS_INCLUDES) {
556
559
  return function ($this, el, fromIndex) {
557
560
  var O = toIndexedObject$4($this);
558
- var length = lengthOfArrayLike$4(O);
561
+ var length = lengthOfArrayLike$6(O);
559
562
  if (length === 0) return !IS_INCLUDES && -1;
560
563
  var index = toAbsoluteIndex(fromIndex, length);
561
564
  var value;
@@ -743,11 +746,11 @@ var objectCreate = Object.create || function create(O, Properties) {
743
746
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
744
747
  };
745
748
 
746
- var wellKnownSymbol$h = wellKnownSymbol$j;
749
+ var wellKnownSymbol$i = wellKnownSymbol$k;
747
750
  var create$3 = objectCreate;
748
751
  var defineProperty$6 = objectDefineProperty.f;
749
752
 
750
- var UNSCOPABLES = wellKnownSymbol$h('unscopables');
753
+ var UNSCOPABLES = wellKnownSymbol$i('unscopables');
751
754
  var ArrayPrototype$1 = Array.prototype;
752
755
 
753
756
  // Array.prototype[@@unscopables]
@@ -760,7 +763,7 @@ if (ArrayPrototype$1[UNSCOPABLES] === undefined) {
760
763
  }
761
764
 
762
765
  // add a key to Array.prototype[@@unscopables]
763
- var addToUnscopables$3 = function (key) {
766
+ var addToUnscopables$4 = function (key) {
764
767
  ArrayPrototype$1[UNSCOPABLES][key] = true;
765
768
  };
766
769
 
@@ -795,7 +798,7 @@ var createNonEnumerableProperty$9 = DESCRIPTORS$d ? function (object, key, value
795
798
 
796
799
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
797
800
  var global$g = global$o;
798
- var isObject$8 = isObject$d;
801
+ var isObject$9 = isObject$e;
799
802
  var createNonEnumerableProperty$8 = createNonEnumerableProperty$9;
800
803
  var hasOwn$b = hasOwnProperty_1;
801
804
  var shared$1 = sharedStore.exports;
@@ -814,7 +817,7 @@ var enforce = function (it) {
814
817
  var getterFor = function (TYPE) {
815
818
  return function (it) {
816
819
  var state;
817
- if (!isObject$8(it) || (state = get(it)).type !== TYPE) {
820
+ if (!isObject$9(it) || (state = get(it)).type !== TYPE) {
818
821
  throw new TypeError$2('Incompatible receiver, ' + TYPE + ' required');
819
822
  } return state;
820
823
  };
@@ -1163,7 +1166,7 @@ var correctPrototypeGetter = !fails$i(function () {
1163
1166
 
1164
1167
  var hasOwn$6 = hasOwnProperty_1;
1165
1168
  var isCallable$f = isCallable$q;
1166
- var toObject$5 = toObject$7;
1169
+ var toObject$6 = toObject$8;
1167
1170
  var sharedKey = sharedKey$3;
1168
1171
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1169
1172
 
@@ -1175,7 +1178,7 @@ var ObjectPrototype = $Object$1.prototype;
1175
1178
  // https://tc39.es/ecma262/#sec-object.getprototypeof
1176
1179
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
1177
1180
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1178
- var object = toObject$5(O);
1181
+ var object = toObject$6(O);
1179
1182
  if (hasOwn$6(object, IE_PROTO)) return object[IE_PROTO];
1180
1183
  var constructor = object.constructor;
1181
1184
  if (isCallable$f(constructor) && object instanceof constructor) {
@@ -1185,12 +1188,12 @@ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf :
1185
1188
 
1186
1189
  var fails$h = fails$r;
1187
1190
  var isCallable$e = isCallable$q;
1188
- var isObject$7 = isObject$d;
1191
+ var isObject$8 = isObject$e;
1189
1192
  var getPrototypeOf$1 = objectGetPrototypeOf;
1190
1193
  var defineBuiltIn$6 = defineBuiltIn$8;
1191
- var wellKnownSymbol$g = wellKnownSymbol$j;
1194
+ var wellKnownSymbol$h = wellKnownSymbol$k;
1192
1195
 
1193
- var ITERATOR$5 = wellKnownSymbol$g('iterator');
1196
+ var ITERATOR$5 = wellKnownSymbol$h('iterator');
1194
1197
  var BUGGY_SAFARI_ITERATORS$1 = false;
1195
1198
 
1196
1199
  // `%IteratorPrototype%` object
@@ -1208,7 +1211,7 @@ if ([].keys) {
1208
1211
  }
1209
1212
  }
1210
1213
 
1211
- var NEW_ITERATOR_PROTOTYPE = !isObject$7(IteratorPrototype$2) || fails$h(function () {
1214
+ var NEW_ITERATOR_PROTOTYPE = !isObject$8(IteratorPrototype$2) || fails$h(function () {
1212
1215
  var test = {};
1213
1216
  // FF44- legacy iterators case
1214
1217
  return IteratorPrototype$2[ITERATOR$5].call(test) !== test;
@@ -1231,9 +1234,9 @@ var iteratorsCore = {
1231
1234
 
1232
1235
  var defineProperty$4 = objectDefineProperty.f;
1233
1236
  var hasOwn$5 = hasOwnProperty_1;
1234
- var wellKnownSymbol$f = wellKnownSymbol$j;
1237
+ var wellKnownSymbol$g = wellKnownSymbol$k;
1235
1238
 
1236
- var TO_STRING_TAG$2 = wellKnownSymbol$f('toStringTag');
1239
+ var TO_STRING_TAG$2 = wellKnownSymbol$g('toStringTag');
1237
1240
 
1238
1241
  var setToStringTag$4 = function (target, TAG, STATIC) {
1239
1242
  if (target && !STATIC) target = target.prototype;
@@ -1268,10 +1271,10 @@ var functionUncurryThisAccessor = function (object, key, method) {
1268
1271
  } catch (error) { /* empty */ }
1269
1272
  };
1270
1273
 
1271
- var isObject$6 = isObject$d;
1274
+ var isObject$7 = isObject$e;
1272
1275
 
1273
1276
  var isPossiblePrototype$1 = function (argument) {
1274
- return isObject$6(argument) || argument === null;
1277
+ return isObject$7(argument) || argument === null;
1275
1278
  };
1276
1279
 
1277
1280
  var isPossiblePrototype = isPossiblePrototype$1;
@@ -1286,7 +1289,7 @@ var aPossiblePrototype$1 = function (argument) {
1286
1289
 
1287
1290
  /* eslint-disable no-proto -- safe */
1288
1291
  var uncurryThisAccessor = functionUncurryThisAccessor;
1289
- var isObject$5 = isObject$d;
1292
+ var isObject$6 = isObject$e;
1290
1293
  var requireObjectCoercible$8 = requireObjectCoercible$b;
1291
1294
  var aPossiblePrototype = aPossiblePrototype$1;
1292
1295
 
@@ -1306,14 +1309,14 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1306
1309
  return function setPrototypeOf(O, proto) {
1307
1310
  requireObjectCoercible$8(O);
1308
1311
  aPossiblePrototype(proto);
1309
- if (!isObject$5(O)) return O;
1312
+ if (!isObject$6(O)) return O;
1310
1313
  if (CORRECT_SETTER) setter(O, proto);
1311
1314
  else O.__proto__ = proto;
1312
1315
  return O;
1313
1316
  };
1314
1317
  }() : undefined);
1315
1318
 
1316
- var $$m = _export;
1319
+ var $$n = _export;
1317
1320
  var call$g = functionCall;
1318
1321
  var FunctionName = functionName;
1319
1322
  var isCallable$d = isCallable$q;
@@ -1323,7 +1326,7 @@ var setPrototypeOf$3 = objectSetPrototypeOf;
1323
1326
  var setToStringTag$2 = setToStringTag$4;
1324
1327
  var createNonEnumerableProperty$6 = createNonEnumerableProperty$9;
1325
1328
  var defineBuiltIn$5 = defineBuiltIn$8;
1326
- var wellKnownSymbol$e = wellKnownSymbol$j;
1329
+ var wellKnownSymbol$f = wellKnownSymbol$k;
1327
1330
  var Iterators$3 = iterators;
1328
1331
  var IteratorsCore = iteratorsCore;
1329
1332
 
@@ -1331,7 +1334,7 @@ var PROPER_FUNCTION_NAME$2 = FunctionName.PROPER;
1331
1334
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1332
1335
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
1333
1336
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
1334
- var ITERATOR$4 = wellKnownSymbol$e('iterator');
1337
+ var ITERATOR$4 = wellKnownSymbol$f('iterator');
1335
1338
  var KEYS = 'keys';
1336
1339
  var VALUES = 'values';
1337
1340
  var ENTRIES = 'entries';
@@ -1401,7 +1404,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1401
1404
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1402
1405
  defineBuiltIn$5(IterablePrototype, KEY, methods[KEY]);
1403
1406
  }
1404
- } else $$m({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1407
+ } else $$n({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1405
1408
  }
1406
1409
 
1407
1410
  // define iterator
@@ -1420,7 +1423,7 @@ var createIterResultObject$1 = function (value, done) {
1420
1423
  };
1421
1424
 
1422
1425
  var toIndexedObject = toIndexedObject$5;
1423
- var addToUnscopables$2 = addToUnscopables$3;
1426
+ var addToUnscopables$3 = addToUnscopables$4;
1424
1427
  var Iterators$2 = iterators;
1425
1428
  var InternalStateModule$1 = internalState;
1426
1429
  var defineProperty$3 = objectDefineProperty.f;
@@ -1471,9 +1474,9 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
1471
1474
  var values = Iterators$2.Arguments = Iterators$2.Array;
1472
1475
 
1473
1476
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1474
- addToUnscopables$2('keys');
1475
- addToUnscopables$2('values');
1476
- addToUnscopables$2('entries');
1477
+ addToUnscopables$3('keys');
1478
+ addToUnscopables$3('values');
1479
+ addToUnscopables$3('entries');
1477
1480
 
1478
1481
  // V8 ~ Chrome 45- bug
1479
1482
  if (DESCRIPTORS$9 && values.name !== 'values') try {
@@ -1530,9 +1533,9 @@ var DOMTokenListPrototype = domTokenListPrototype;
1530
1533
  var ArrayIteratorMethods = es_array_iterator;
1531
1534
  var createNonEnumerableProperty$5 = createNonEnumerableProperty$9;
1532
1535
  var setToStringTag$1 = setToStringTag$4;
1533
- var wellKnownSymbol$d = wellKnownSymbol$j;
1536
+ var wellKnownSymbol$e = wellKnownSymbol$k;
1534
1537
 
1535
- var ITERATOR$3 = wellKnownSymbol$d('iterator');
1538
+ var ITERATOR$3 = wellKnownSymbol$e('iterator');
1536
1539
  var ArrayValues = ArrayIteratorMethods.values;
1537
1540
 
1538
1541
  var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
@@ -1568,7 +1571,7 @@ var fails$g = fails$r;
1568
1571
  var objectKeys = objectKeys$2;
1569
1572
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1570
1573
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1571
- var toObject$4 = toObject$7;
1574
+ var toObject$5 = toObject$8;
1572
1575
  var IndexedObject$1 = indexedObject;
1573
1576
 
1574
1577
  // eslint-disable-next-line es/no-object-assign -- safe
@@ -1600,7 +1603,7 @@ var objectAssign = !$assign || fails$g(function () {
1600
1603
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1601
1604
  return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
1602
1605
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
1603
- var T = toObject$4(target);
1606
+ var T = toObject$5(target);
1604
1607
  var argumentsLength = arguments.length;
1605
1608
  var index = 1;
1606
1609
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
@@ -1618,13 +1621,13 @@ var objectAssign = !$assign || fails$g(function () {
1618
1621
  } return T;
1619
1622
  } : $assign;
1620
1623
 
1621
- var $$l = _export;
1624
+ var $$m = _export;
1622
1625
  var assign = objectAssign;
1623
1626
 
1624
1627
  // `Object.assign` method
1625
1628
  // https://tc39.es/ecma262/#sec-object.assign
1626
1629
  // eslint-disable-next-line es/no-object-assign -- required for testing
1627
- $$l({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1630
+ $$m({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1628
1631
  assign: assign
1629
1632
  });
1630
1633
 
@@ -1650,7 +1653,7 @@ var proxyAccessor$2 = function (Target, Source, key) {
1650
1653
  };
1651
1654
 
1652
1655
  var isCallable$c = isCallable$q;
1653
- var isObject$4 = isObject$d;
1656
+ var isObject$5 = isObject$e;
1654
1657
  var setPrototypeOf$2 = objectSetPrototypeOf;
1655
1658
 
1656
1659
  // makes subclassing work correct for wrapped built-ins
@@ -1662,15 +1665,15 @@ var inheritIfRequired$2 = function ($this, dummy, Wrapper) {
1662
1665
  // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
1663
1666
  isCallable$c(NewTarget = dummy.constructor) &&
1664
1667
  NewTarget !== Wrapper &&
1665
- isObject$4(NewTargetPrototype = NewTarget.prototype) &&
1668
+ isObject$5(NewTargetPrototype = NewTarget.prototype) &&
1666
1669
  NewTargetPrototype !== Wrapper.prototype
1667
1670
  ) setPrototypeOf$2($this, NewTargetPrototype);
1668
1671
  return $this;
1669
1672
  };
1670
1673
 
1671
- var wellKnownSymbol$c = wellKnownSymbol$j;
1674
+ var wellKnownSymbol$d = wellKnownSymbol$k;
1672
1675
 
1673
- var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
1676
+ var TO_STRING_TAG$1 = wellKnownSymbol$d('toStringTag');
1674
1677
  var test = {};
1675
1678
 
1676
1679
  test[TO_STRING_TAG$1] = 'z';
@@ -1680,9 +1683,9 @@ var toStringTagSupport = String(test) === '[object z]';
1680
1683
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1681
1684
  var isCallable$b = isCallable$q;
1682
1685
  var classofRaw$1 = classofRaw$2;
1683
- var wellKnownSymbol$b = wellKnownSymbol$j;
1686
+ var wellKnownSymbol$c = wellKnownSymbol$k;
1684
1687
 
1685
- var TO_STRING_TAG = wellKnownSymbol$b('toStringTag');
1688
+ var TO_STRING_TAG = wellKnownSymbol$c('toStringTag');
1686
1689
  var $Object = Object;
1687
1690
 
1688
1691
  // ES3 wrong here
@@ -1722,13 +1725,13 @@ var normalizeStringArgument$1 = function (argument, $default) {
1722
1725
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString$d(argument);
1723
1726
  };
1724
1727
 
1725
- var isObject$3 = isObject$d;
1728
+ var isObject$4 = isObject$e;
1726
1729
  var createNonEnumerableProperty$4 = createNonEnumerableProperty$9;
1727
1730
 
1728
1731
  // `InstallErrorCause` abstract operation
1729
1732
  // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
1730
1733
  var installErrorCause$1 = function (O, options) {
1731
- if (isObject$3(options) && 'cause' in options) {
1734
+ if (isObject$4(options) && 'cause' in options) {
1732
1735
  createNonEnumerableProperty$4(O, 'cause', options.cause);
1733
1736
  }
1734
1737
  };
@@ -1839,7 +1842,7 @@ var wrapErrorConstructorWithCause$1 = function (FULL_NAME, wrapper, FORCED, IS_A
1839
1842
  };
1840
1843
 
1841
1844
  /* eslint-disable no-unused-vars -- required for functions `.length` */
1842
- var $$k = _export;
1845
+ var $$l = _export;
1843
1846
  var global$d = global$o;
1844
1847
  var apply$3 = functionApply;
1845
1848
  var wrapErrorConstructorWithCause = wrapErrorConstructorWithCause$1;
@@ -1853,14 +1856,14 @@ var FORCED$3 = new Error('e', { cause: 7 }).cause !== 7;
1853
1856
  var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
1854
1857
  var O = {};
1855
1858
  O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED$3);
1856
- $$k({ global: true, constructor: true, arity: 1, forced: FORCED$3 }, O);
1859
+ $$l({ global: true, constructor: true, arity: 1, forced: FORCED$3 }, O);
1857
1860
  };
1858
1861
 
1859
1862
  var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
1860
1863
  if (WebAssembly && WebAssembly[ERROR_NAME]) {
1861
1864
  var O = {};
1862
1865
  O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED$3);
1863
- $$k({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED$3 }, O);
1866
+ $$l({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED$3 }, O);
1864
1867
  }
1865
1868
  };
1866
1869
 
@@ -1896,25 +1899,25 @@ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
1896
1899
  return function RuntimeError(message) { return apply$3(init, this, arguments); };
1897
1900
  });
1898
1901
 
1899
- var $$j = _export;
1900
- var toObject$3 = toObject$7;
1901
- var lengthOfArrayLike$3 = lengthOfArrayLike$5;
1902
- var toIntegerOrInfinity$3 = toIntegerOrInfinity$6;
1903
- var addToUnscopables$1 = addToUnscopables$3;
1902
+ var $$k = _export;
1903
+ var toObject$4 = toObject$8;
1904
+ var lengthOfArrayLike$5 = lengthOfArrayLike$7;
1905
+ var toIntegerOrInfinity$4 = toIntegerOrInfinity$7;
1906
+ var addToUnscopables$2 = addToUnscopables$4;
1904
1907
 
1905
1908
  // `Array.prototype.at` method
1906
1909
  // https://tc39.es/ecma262/#sec-array.prototype.at
1907
- $$j({ target: 'Array', proto: true }, {
1910
+ $$k({ target: 'Array', proto: true }, {
1908
1911
  at: function at(index) {
1909
- var O = toObject$3(this);
1910
- var len = lengthOfArrayLike$3(O);
1911
- var relativeIndex = toIntegerOrInfinity$3(index);
1912
+ var O = toObject$4(this);
1913
+ var len = lengthOfArrayLike$5(O);
1914
+ var relativeIndex = toIntegerOrInfinity$4(index);
1912
1915
  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
1913
1916
  return (k < 0 || k >= len) ? undefined : O[k];
1914
1917
  }
1915
1918
  });
1916
1919
 
1917
- addToUnscopables$1('at');
1920
+ addToUnscopables$2('at');
1918
1921
 
1919
1922
  var anObject$a = anObject$f;
1920
1923
 
@@ -2105,18 +2108,18 @@ if (PATCH) {
2105
2108
 
2106
2109
  var regexpExec$2 = patchedExec;
2107
2110
 
2108
- var $$i = _export;
2111
+ var $$j = _export;
2109
2112
  var exec$3 = regexpExec$2;
2110
2113
 
2111
2114
  // `RegExp.prototype.exec` method
2112
2115
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
2113
- $$i({ target: 'RegExp', proto: true, forced: /./.exec !== exec$3 }, {
2116
+ $$j({ target: 'RegExp', proto: true, forced: /./.exec !== exec$3 }, {
2114
2117
  exec: exec$3
2115
2118
  });
2116
2119
 
2117
2120
  // TODO: Remove from `core-js@4` since it's moved to entry points
2118
2121
 
2119
- var $$h = _export;
2122
+ var $$i = _export;
2120
2123
  var call$c = functionCall;
2121
2124
  var isCallable$a = isCallable$q;
2122
2125
  var anObject$9 = anObject$f;
@@ -2136,7 +2139,7 @@ var nativeTest = /./.test;
2136
2139
 
2137
2140
  // `RegExp.prototype.test` method
2138
2141
  // https://tc39.es/ecma262/#sec-regexp.prototype.test
2139
- $$h({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
2142
+ $$i({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
2140
2143
  test: function (S) {
2141
2144
  var R = anObject$9(this);
2142
2145
  var string = toString$b(S);
@@ -2188,10 +2191,10 @@ if (NOT_GENERIC || INCORRECT_NAME) {
2188
2191
  }, { unsafe: true });
2189
2192
  }
2190
2193
 
2191
- var $$g = _export;
2194
+ var $$h = _export;
2192
2195
  var uncurryThis$f = functionUncurryThis;
2193
2196
  var requireObjectCoercible$7 = requireObjectCoercible$b;
2194
- var toIntegerOrInfinity$2 = toIntegerOrInfinity$6;
2197
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$7;
2195
2198
  var toString$a = toString$e;
2196
2199
  var fails$a = fails$r;
2197
2200
 
@@ -2204,11 +2207,11 @@ var FORCED$2 = fails$a(function () {
2204
2207
 
2205
2208
  // `String.prototype.at` method
2206
2209
  // https://tc39.es/ecma262/#sec-string.prototype.at
2207
- $$g({ target: 'String', proto: true, forced: FORCED$2 }, {
2210
+ $$h({ target: 'String', proto: true, forced: FORCED$2 }, {
2208
2211
  at: function at(index) {
2209
2212
  var S = toString$a(requireObjectCoercible$7(this));
2210
2213
  var len = S.length;
2211
- var relativeIndex = toIntegerOrInfinity$2(index);
2214
+ var relativeIndex = toIntegerOrInfinity$3(index);
2212
2215
  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
2213
2216
  return (k < 0 || k >= len) ? undefined : charAt$5(S, k);
2214
2217
  }
@@ -2220,14 +2223,14 @@ var call$a = functionCall;
2220
2223
  var defineBuiltIn$3 = defineBuiltIn$8;
2221
2224
  var regexpExec$1 = regexpExec$2;
2222
2225
  var fails$9 = fails$r;
2223
- var wellKnownSymbol$a = wellKnownSymbol$j;
2226
+ var wellKnownSymbol$b = wellKnownSymbol$k;
2224
2227
  var createNonEnumerableProperty$1 = createNonEnumerableProperty$9;
2225
2228
 
2226
- var SPECIES$3 = wellKnownSymbol$a('species');
2229
+ var SPECIES$4 = wellKnownSymbol$b('species');
2227
2230
  var RegExpPrototype$2 = RegExp.prototype;
2228
2231
 
2229
2232
  var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
2230
- var SYMBOL = wellKnownSymbol$a(KEY);
2233
+ var SYMBOL = wellKnownSymbol$b(KEY);
2231
2234
 
2232
2235
  var DELEGATES_TO_SYMBOL = !fails$9(function () {
2233
2236
  // String methods call symbol-named RegExp methods
@@ -2249,7 +2252,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
2249
2252
  // RegExp[@@split] doesn't call the regex's exec method, but first creates
2250
2253
  // a new one. We need to return the patched regex when creating the new one.
2251
2254
  re.constructor = {};
2252
- re.constructor[SPECIES$3] = function () { return re; };
2255
+ re.constructor[SPECIES$4] = function () { return re; };
2253
2256
  re.flags = '';
2254
2257
  re[SYMBOL] = /./[SYMBOL];
2255
2258
  }
@@ -2291,7 +2294,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
2291
2294
  };
2292
2295
 
2293
2296
  var uncurryThis$e = functionUncurryThis;
2294
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$6;
2297
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$7;
2295
2298
  var toString$9 = toString$e;
2296
2299
  var requireObjectCoercible$6 = requireObjectCoercible$b;
2297
2300
 
@@ -2302,7 +2305,7 @@ var stringSlice$5 = uncurryThis$e(''.slice);
2302
2305
  var createMethod$2 = function (CONVERT_TO_STRING) {
2303
2306
  return function ($this, pos) {
2304
2307
  var S = toString$9(requireObjectCoercible$6($this));
2305
- var position = toIntegerOrInfinity$1(pos);
2308
+ var position = toIntegerOrInfinity$2(pos);
2306
2309
  var size = S.length;
2307
2310
  var first, second;
2308
2311
  if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
@@ -2336,7 +2339,7 @@ var advanceStringIndex$2 = function (S, index, unicode) {
2336
2339
  };
2337
2340
 
2338
2341
  var uncurryThis$d = functionUncurryThis;
2339
- var toObject$2 = toObject$7;
2342
+ var toObject$3 = toObject$8;
2340
2343
 
2341
2344
  var floor = Math.floor;
2342
2345
  var charAt$2 = uncurryThis$d(''.charAt);
@@ -2353,7 +2356,7 @@ var getSubstitution$1 = function (matched, str, position, captures, namedCapture
2353
2356
  var m = captures.length;
2354
2357
  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
2355
2358
  if (namedCaptures !== undefined) {
2356
- namedCaptures = toObject$2(namedCaptures);
2359
+ namedCaptures = toObject$3(namedCaptures);
2357
2360
  symbols = SUBSTITUTION_SYMBOLS;
2358
2361
  }
2359
2362
  return replace$4(replacement, symbols, function (match, ch) {
@@ -2410,7 +2413,7 @@ var fails$8 = fails$r;
2410
2413
  var anObject$6 = anObject$f;
2411
2414
  var isCallable$8 = isCallable$q;
2412
2415
  var isNullOrUndefined$3 = isNullOrUndefined$6;
2413
- var toIntegerOrInfinity = toIntegerOrInfinity$6;
2416
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$7;
2414
2417
  var toLength$3 = toLength$5;
2415
2418
  var toString$8 = toString$e;
2416
2419
  var requireObjectCoercible$5 = requireObjectCoercible$b;
@@ -2418,9 +2421,9 @@ var advanceStringIndex$1 = advanceStringIndex$2;
2418
2421
  var getMethod$3 = getMethod$5;
2419
2422
  var getSubstitution = getSubstitution$1;
2420
2423
  var regExpExec$1 = regexpExecAbstract;
2421
- var wellKnownSymbol$9 = wellKnownSymbol$j;
2424
+ var wellKnownSymbol$a = wellKnownSymbol$k;
2422
2425
 
2423
- var REPLACE = wellKnownSymbol$9('replace');
2426
+ var REPLACE = wellKnownSymbol$a('replace');
2424
2427
  var max = Math.max;
2425
2428
  var min$2 = Math.min;
2426
2429
  var concat = uncurryThis$c([].concat);
@@ -2516,7 +2519,7 @@ fixRegExpWellKnownSymbolLogic$1('replace', function (_, nativeReplace, maybeCall
2516
2519
  result = results[i];
2517
2520
 
2518
2521
  var matched = toString$8(result[0]);
2519
- var position = max(min$2(toIntegerOrInfinity(result.index), S.length), 0);
2522
+ var position = max(min$2(toIntegerOrInfinity$1(result.index), S.length), 0);
2520
2523
  var captures = [];
2521
2524
  var replacement;
2522
2525
  // NOTE: This is equivalent to
@@ -2554,17 +2557,17 @@ var functionUncurryThisClause = function (fn) {
2554
2557
  if (classofRaw(fn) === 'Function') return uncurryThis$b(fn);
2555
2558
  };
2556
2559
 
2557
- var isObject$2 = isObject$d;
2560
+ var isObject$3 = isObject$e;
2558
2561
  var classof$6 = classofRaw$2;
2559
- var wellKnownSymbol$8 = wellKnownSymbol$j;
2562
+ var wellKnownSymbol$9 = wellKnownSymbol$k;
2560
2563
 
2561
- var MATCH$2 = wellKnownSymbol$8('match');
2564
+ var MATCH$2 = wellKnownSymbol$9('match');
2562
2565
 
2563
2566
  // `IsRegExp` abstract operation
2564
2567
  // https://tc39.es/ecma262/#sec-isregexp
2565
2568
  var isRegexp = function (it) {
2566
2569
  var isRegExp;
2567
- return isObject$2(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$6(it) === 'RegExp');
2570
+ return isObject$3(it) && ((isRegExp = it[MATCH$2]) !== undefined ? !!isRegExp : classof$6(it) === 'RegExp');
2568
2571
  };
2569
2572
 
2570
2573
  var isRegExp$1 = isRegexp;
@@ -2577,9 +2580,9 @@ var notARegexp = function (it) {
2577
2580
  } return it;
2578
2581
  };
2579
2582
 
2580
- var wellKnownSymbol$7 = wellKnownSymbol$j;
2583
+ var wellKnownSymbol$8 = wellKnownSymbol$k;
2581
2584
 
2582
- var MATCH$1 = wellKnownSymbol$7('match');
2585
+ var MATCH$1 = wellKnownSymbol$8('match');
2583
2586
 
2584
2587
  var correctIsRegexpLogic = function (METHOD_NAME) {
2585
2588
  var regexp = /./;
@@ -2593,7 +2596,7 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
2593
2596
  } return false;
2594
2597
  };
2595
2598
 
2596
- var $$f = _export;
2599
+ var $$g = _export;
2597
2600
  var uncurryThis$a = functionUncurryThisClause;
2598
2601
  var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f;
2599
2602
  var toLength$2 = toLength$5;
@@ -2614,7 +2617,7 @@ var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
2614
2617
 
2615
2618
  // `String.prototype.startsWith` method
2616
2619
  // https://tc39.es/ecma262/#sec-string.prototype.startswith
2617
- $$f({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
2620
+ $$g({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
2618
2621
  startsWith: function startsWith(searchString /* , position = 0 */) {
2619
2622
  var that = toString$7(requireObjectCoercible$4(this));
2620
2623
  notARegExp$2(searchString);
@@ -2785,52 +2788,6 @@ const convertToSentenceCase = input => {
2785
2788
  return firstWord.concat(newWords).join(' ');
2786
2789
  };
2787
2790
 
2788
- const StepperContext = /*#__PURE__*/createContext({
2789
- updateStatus: status => {},
2790
- // return true because in the default case we don't want the
2791
- // input controls to take action if it is false.
2792
- isInitialized: _ => true,
2793
- stepId: 0
2794
- });
2795
- const isEmpty = value => {
2796
- return value === undefined || value === null || typeof value === 'string' && value.length < 1 || typeof value === 'boolean' && value === false;
2797
- };
2798
- const getCompletionStatus = (table, step, isFormChanged = false) => {
2799
- const nonEmptyCount = getNonEmptyCount(table, step);
2800
- const requiredCount = getRequiredCount(table, step);
2801
- if (nonEmptyCount === 0) {
2802
- if (!isFormChanged) {
2803
- return undefined;
2804
- }
2805
- if (requiredCount === 0) {
2806
- return 'complete';
2807
- } else {
2808
- return 'incomplete';
2809
- }
2810
- }
2811
- const requiredNonEmptyCount = getNonEmptyRequiredCount(table, step);
2812
- if (requiredNonEmptyCount === requiredCount) {
2813
- return 'complete';
2814
- }
2815
- return 'incomplete';
2816
- };
2817
- const getNonEmptyCount = (table, step) => {
2818
- const nonEmptyStatuses = Object.keys(table).filter(k => {
2819
- return table[k].step === step && !isEmpty(table[k].value);
2820
- });
2821
- return nonEmptyStatuses.length;
2822
- };
2823
- const getRequiredCount = (table, step) => {
2824
- const requiredStatuses = Object.keys(table).filter(k => {
2825
- return table[k].step === step && table[k].required;
2826
- });
2827
- return requiredStatuses.length;
2828
- };
2829
- const getNonEmptyRequiredCount = (table, step) => {
2830
- const requiredNonEmptyStatuses = Object.keys(table).filter(k => table[k].step === step && table[k].required && !isEmpty(table[k].value));
2831
- return requiredNonEmptyStatuses.length;
2832
- };
2833
-
2834
2791
  const standardizeDate = date => {
2835
2792
  try {
2836
2793
  const stdDate = new Date(date).toISOString().substring(0, 10);
@@ -3122,16 +3079,16 @@ const onChangeForNumericControl = props => {
3122
3079
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3123
3080
  const onChangeForCheckboxData = (data, name, value) => data ? !value ? data === null || data === void 0 ? void 0 : data.filter(item => item !== name) : [...data, name] : [name];
3124
3081
 
3125
- let _$9 = t => t,
3126
- _t$9,
3127
- _t2$5;
3128
- styled.div(_t$9 || (_t$9 = _$9`
3082
+ let _$a = t => t,
3083
+ _t$a,
3084
+ _t2$6;
3085
+ styled.div(_t$a || (_t$a = _$a`
3129
3086
  height: 70vh;
3130
3087
  overflow-y: auto;
3131
3088
  padding-left: var(--goa-space-2xs);
3132
3089
  padding-right: var(--goa-space-2xs);
3133
3090
  `));
3134
- const Visible = styled.div(_t2$5 || (_t2$5 = _$9`
3091
+ const Visible = styled.div(_t2$6 || (_t2$6 = _$a`
3135
3092
  display: ${0};
3136
3093
  `), p => p.visible ? 'initial' : 'none');
3137
3094
 
@@ -3145,12 +3102,12 @@ var classof$5 = classofRaw$2;
3145
3102
  // `IsArray` abstract operation
3146
3103
  // https://tc39.es/ecma262/#sec-isarray
3147
3104
  // eslint-disable-next-line es/no-array-isarray -- safe
3148
- var isArray$2 = Array.isArray || function isArray(argument) {
3105
+ var isArray$4 = Array.isArray || function isArray(argument) {
3149
3106
  return classof$5(argument) === 'Array';
3150
3107
  };
3151
3108
 
3152
3109
  var DESCRIPTORS$6 = descriptors;
3153
- var isArray$1 = isArray$2;
3110
+ var isArray$3 = isArray$4;
3154
3111
 
3155
3112
  var $TypeError$9 = TypeError;
3156
3113
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -3169,7 +3126,7 @@ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS$6 && !function () {
3169
3126
  }();
3170
3127
 
3171
3128
  var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
3172
- if (isArray$1(O) && !getOwnPropertyDescriptor$2(O, 'length').writable) {
3129
+ if (isArray$3(O) && !getOwnPropertyDescriptor$2(O, 'length').writable) {
3173
3130
  throw new $TypeError$9('Cannot set read only .length');
3174
3131
  } return O.length = length;
3175
3132
  } : function (O, length) {
@@ -3179,16 +3136,16 @@ var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
3179
3136
  var $TypeError$8 = TypeError;
3180
3137
  var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
3181
3138
 
3182
- var doesNotExceedSafeInteger$1 = function (it) {
3139
+ var doesNotExceedSafeInteger$2 = function (it) {
3183
3140
  if (it > MAX_SAFE_INTEGER) throw $TypeError$8('Maximum allowed index exceeded');
3184
3141
  return it;
3185
3142
  };
3186
3143
 
3187
- var $$e = _export;
3188
- var toObject$1 = toObject$7;
3189
- var lengthOfArrayLike$2 = lengthOfArrayLike$5;
3144
+ var $$f = _export;
3145
+ var toObject$2 = toObject$8;
3146
+ var lengthOfArrayLike$4 = lengthOfArrayLike$7;
3190
3147
  var setArrayLength = arraySetLength;
3191
- var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
3148
+ var doesNotExceedSafeInteger$1 = doesNotExceedSafeInteger$2;
3192
3149
  var fails$7 = fails$r;
3193
3150
 
3194
3151
  var INCORRECT_TO_LENGTH = fails$7(function () {
@@ -3210,13 +3167,13 @@ var FORCED$1 = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
3210
3167
 
3211
3168
  // `Array.prototype.push` method
3212
3169
  // https://tc39.es/ecma262/#sec-array.prototype.push
3213
- $$e({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, {
3170
+ $$f({ target: 'Array', proto: true, arity: 1, forced: FORCED$1 }, {
3214
3171
  // eslint-disable-next-line no-unused-vars -- required for `.length`
3215
3172
  push: function push(item) {
3216
- var O = toObject$1(this);
3217
- var len = lengthOfArrayLike$2(O);
3173
+ var O = toObject$2(this);
3174
+ var len = lengthOfArrayLike$4(O);
3218
3175
  var argCount = arguments.length;
3219
- doesNotExceedSafeInteger(len + argCount);
3176
+ doesNotExceedSafeInteger$1(len + argCount);
3220
3177
  for (var i = 0; i < argCount; i++) {
3221
3178
  O[len] = arguments[i];
3222
3179
  len++;
@@ -3261,10 +3218,10 @@ function registerReducer(state, action) {
3261
3218
  return state;
3262
3219
  }
3263
3220
 
3264
- var $$d = _export;
3221
+ var $$e = _export;
3265
3222
  var $includes = arrayIncludes.includes;
3266
3223
  var fails$6 = fails$r;
3267
- var addToUnscopables = addToUnscopables$3;
3224
+ var addToUnscopables$1 = addToUnscopables$4;
3268
3225
 
3269
3226
  // FF99+ bug
3270
3227
  var BROKEN_ON_SPARSE = fails$6(function () {
@@ -3274,21 +3231,21 @@ var BROKEN_ON_SPARSE = fails$6(function () {
3274
3231
 
3275
3232
  // `Array.prototype.includes` method
3276
3233
  // https://tc39.es/ecma262/#sec-array.prototype.includes
3277
- $$d({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
3234
+ $$e({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
3278
3235
  includes: function includes(el /* , fromIndex = 0 */) {
3279
3236
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
3280
3237
  }
3281
3238
  });
3282
3239
 
3283
3240
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
3284
- addToUnscopables('includes');
3241
+ addToUnscopables$1('includes');
3285
3242
 
3286
3243
  var uncurryThis$9 = functionUncurryThis;
3287
3244
 
3288
3245
  var arraySlice$2 = uncurryThis$9([].slice);
3289
3246
 
3290
3247
  var uncurryThis$8 = functionUncurryThis;
3291
- var isArray = isArray$2;
3248
+ var isArray$2 = isArray$4;
3292
3249
  var isCallable$7 = isCallable$q;
3293
3250
  var classof$4 = classofRaw$2;
3294
3251
  var toString$6 = toString$e;
@@ -3297,7 +3254,7 @@ var push = uncurryThis$8([].push);
3297
3254
 
3298
3255
  var getJsonReplacerFunction = function (replacer) {
3299
3256
  if (isCallable$7(replacer)) return replacer;
3300
- if (!isArray(replacer)) return;
3257
+ if (!isArray$2(replacer)) return;
3301
3258
  var rawLength = replacer.length;
3302
3259
  var keys = [];
3303
3260
  for (var i = 0; i < rawLength; i++) {
@@ -3312,12 +3269,12 @@ var getJsonReplacerFunction = function (replacer) {
3312
3269
  root = false;
3313
3270
  return value;
3314
3271
  }
3315
- if (isArray(this)) return value;
3272
+ if (isArray$2(this)) return value;
3316
3273
  for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
3317
3274
  };
3318
3275
  };
3319
3276
 
3320
- var $$c = _export;
3277
+ var $$d = _export;
3321
3278
  var getBuiltIn$4 = getBuiltIn$9;
3322
3279
  var apply$1 = functionApply;
3323
3280
  var call$7 = functionCall;
@@ -3380,7 +3337,7 @@ var fixIllFormed = function (match, offset, string) {
3380
3337
  if ($stringify) {
3381
3338
  // `JSON.stringify` method
3382
3339
  // https://tc39.es/ecma262/#sec-json.stringify
3383
- $$c({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
3340
+ $$d({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
3384
3341
  // eslint-disable-next-line no-unused-vars -- required for `.length`
3385
3342
  stringify: function stringify(it, replacer, space) {
3386
3343
  var args = arraySlice$1(arguments);
@@ -3390,7 +3347,7 @@ if ($stringify) {
3390
3347
  });
3391
3348
  }
3392
3349
 
3393
- var $$b = _export;
3350
+ var $$c = _export;
3394
3351
  var uncurryThis$6 = functionUncurryThis;
3395
3352
  var notARegExp$1 = notARegexp;
3396
3353
  var requireObjectCoercible$3 = requireObjectCoercible$b;
@@ -3401,7 +3358,7 @@ var stringIndexOf$1 = uncurryThis$6(''.indexOf);
3401
3358
 
3402
3359
  // `String.prototype.includes` method
3403
3360
  // https://tc39.es/ecma262/#sec-string.prototype.includes
3404
- $$b({ target: 'String', proto: true, forced: !correctIsRegExpLogic$1('includes') }, {
3361
+ $$c({ target: 'String', proto: true, forced: !correctIsRegExpLogic$1('includes') }, {
3405
3362
  includes: function includes(searchString /* , position = 0 */) {
3406
3363
  return !!~stringIndexOf$1(
3407
3364
  toString$5(requireObjectCoercible$3(this)),
@@ -3464,16 +3421,16 @@ var defineBuiltInAccessor$3 = function (target, name, descriptor) {
3464
3421
 
3465
3422
  var getBuiltIn$3 = getBuiltIn$9;
3466
3423
  var defineBuiltInAccessor$2 = defineBuiltInAccessor$3;
3467
- var wellKnownSymbol$6 = wellKnownSymbol$j;
3424
+ var wellKnownSymbol$7 = wellKnownSymbol$k;
3468
3425
  var DESCRIPTORS$5 = descriptors;
3469
3426
 
3470
- var SPECIES$2 = wellKnownSymbol$6('species');
3427
+ var SPECIES$3 = wellKnownSymbol$7('species');
3471
3428
 
3472
3429
  var setSpecies$2 = function (CONSTRUCTOR_NAME) {
3473
3430
  var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
3474
3431
 
3475
- if (DESCRIPTORS$5 && Constructor && !Constructor[SPECIES$2]) {
3476
- defineBuiltInAccessor$2(Constructor, SPECIES$2, {
3432
+ if (DESCRIPTORS$5 && Constructor && !Constructor[SPECIES$3]) {
3433
+ defineBuiltInAccessor$2(Constructor, SPECIES$3, {
3477
3434
  configurable: true,
3478
3435
  get: function () { return this; }
3479
3436
  });
@@ -3499,11 +3456,11 @@ var fails$4 = fails$r;
3499
3456
  var hasOwn$2 = hasOwnProperty_1;
3500
3457
  var enforceInternalState = internalState.enforce;
3501
3458
  var setSpecies$1 = setSpecies$2;
3502
- var wellKnownSymbol$5 = wellKnownSymbol$j;
3459
+ var wellKnownSymbol$6 = wellKnownSymbol$k;
3503
3460
  var UNSUPPORTED_DOT_ALL$1 = regexpUnsupportedDotAll;
3504
3461
  var UNSUPPORTED_NCG = regexpUnsupportedNcg;
3505
3462
 
3506
- var MATCH = wellKnownSymbol$5('match');
3463
+ var MATCH = wellKnownSymbol$6('match');
3507
3464
  var NativeRegExp = global$9.RegExp;
3508
3465
  var RegExpPrototype$1 = NativeRegExp.prototype;
3509
3466
  var SyntaxError = global$9.SyntaxError;
@@ -3891,9 +3848,9 @@ const JsonFormRegisterProvider = ({
3891
3848
  });
3892
3849
  };
3893
3850
 
3894
- let _$8 = t => t,
3895
- _t$8;
3896
- const FormFieldWrapper = styled.div(_t$8 || (_t$8 = _$8`
3851
+ let _$9 = t => t,
3852
+ _t$9;
3853
+ const FormFieldWrapper = styled.div(_t$9 || (_t$9 = _$9`
3897
3854
  margin-bottom: var(--goa-space-l);
3898
3855
  `));
3899
3856
 
@@ -3915,30 +3872,6 @@ const GoAInputBaseControl = props => {
3915
3872
  if (modifiedErrors === 'must be equal to one of the allowed values') {
3916
3873
  modifiedErrors = '';
3917
3874
  }
3918
- const getStepStatus = (props, value) => {
3919
- return {
3920
- id: props.id,
3921
- value: value,
3922
- required: props.required || false,
3923
- type: props.schema.type,
3924
- step: stepperContext.stepId
3925
- };
3926
- };
3927
- const stepperContext = useContext(StepperContext);
3928
- const handlerWithStepperUpdate = (path, value) => {
3929
- stepperContext.updateStatus(getStepStatus(props, value));
3930
- props.handleChange(path, value);
3931
- };
3932
- const modifiedProps = Object.assign(Object.assign({}, props), {
3933
- handleChange: handlerWithStepperUpdate
3934
- });
3935
- useEffect(() => {
3936
- if (!stepperContext.isInitialized(props.id)) {
3937
- const status = getStepStatus(props, props.data);
3938
- stepperContext.updateStatus(status);
3939
- }
3940
- // eslint-disable-next-line react-hooks/exhaustive-deps
3941
- }, []);
3942
3875
  return jsx(JsonFormRegisterProvider, {
3943
3876
  defaultRegisters: undefined,
3944
3877
  children: jsx(Visible, {
@@ -3950,14 +3883,14 @@ const GoAInputBaseControl = props => {
3950
3883
  testId: `${isStepperReview === true && 'review-base-'}${path}`,
3951
3884
  label: (props === null || props === void 0 ? void 0 : props.noLabel) === true ? '' : labelToUpdate,
3952
3885
  helpText: typeof ((_a = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _a === void 0 ? void 0 : _a.help) === 'string' && !isStepperReview ? (_b = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _b === void 0 ? void 0 : _b.help : '',
3953
- children: jsx(InnerComponent, Object.assign({}, modifiedProps))
3886
+ children: jsx(InnerComponent, Object.assign({}, props))
3954
3887
  })
3955
3888
  })
3956
3889
  })
3957
3890
  });
3958
3891
  };
3959
3892
 
3960
- var $$a = _export;
3893
+ var $$b = _export;
3961
3894
  var DESCRIPTORS$2 = descriptors;
3962
3895
  var global$8 = global$o;
3963
3896
  var uncurryThis$4 = functionUncurryThis;
@@ -4009,7 +3942,7 @@ if (DESCRIPTORS$2 && isCallable$5(NativeSymbol) && (!('description' in SymbolPro
4009
3942
  }
4010
3943
  });
4011
3944
 
4012
- $$a({ global: true, constructor: true, forced: true }, {
3945
+ $$b({ global: true, constructor: true, forced: true }, {
4013
3946
  Symbol: SymbolWrapper
4014
3947
  });
4015
3948
  }
@@ -4167,29 +4100,7 @@ const MultiLineText = props => {
4167
4100
  const autoCapitalize = ((_e = (_d = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _d === void 0 ? void 0 : _d.componentProps) === null || _e === void 0 ? void 0 : _e.autoCapitalize) === true || ((_f = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _f === void 0 ? void 0 : _f.autoCapitalize) === true;
4168
4101
  const readOnly = (_j = (_h = (_g = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _g === void 0 ? void 0 : _g.componentProps) === null || _h === void 0 ? void 0 : _h.readOnly) !== null && _j !== void 0 ? _j : false;
4169
4102
  const textAreaName = `${label || path}-text-area` || '';
4170
- const textarea = (_k = document.getElementsByName(textAreaName)[0]) !== null && _k !== void 0 ? _k : null;
4171
- useEffect(() => {
4172
- if (textarea) {
4173
- textarea.addEventListener('blur', onBlur);
4174
- }
4175
- return () => {
4176
- if (textarea) {
4177
- textarea.removeEventListener('blur', onBlur);
4178
- }
4179
- };
4180
- // eslint-disable-next-line react-hooks/exhaustive-deps
4181
- }, [textarea]);
4182
- const onBlur = event => {
4183
- let eventTargetValue = '';
4184
- if (event.target) {
4185
- eventTargetValue = event.target.value;
4186
- }
4187
- onBlurForTextControl({
4188
- name: path,
4189
- controlProps: props,
4190
- value: autoCapitalize ? eventTargetValue.toUpperCase() : eventTargetValue
4191
- });
4192
- };
4103
+ (_k = document.getElementsByName(textAreaName)[0]) !== null && _k !== void 0 ? _k : null;
4193
4104
  const txtAreaComponent = jsx(GoATextArea, Object.assign({
4194
4105
  error: errorsFormInput.length > 0,
4195
4106
  value: textAreaValue,
@@ -4634,13 +4545,13 @@ var stringTrimForced = function (METHOD_NAME) {
4634
4545
  });
4635
4546
  };
4636
4547
 
4637
- var $$9 = _export;
4548
+ var $$a = _export;
4638
4549
  var $trim = stringTrim.trim;
4639
4550
  var forcedStringTrimMethod = stringTrimForced;
4640
4551
 
4641
4552
  // `String.prototype.trim` method
4642
4553
  // https://tc39.es/ecma262/#sec-string.prototype.trim
4643
- $$9({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
4554
+ $$a({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
4644
4555
  trim: function trim() {
4645
4556
  return $trim(this);
4646
4557
  }
@@ -4655,12 +4566,12 @@ const SPACE_KEY = ' ';
4655
4566
  const ALT_KEY = 'Alt';
4656
4567
  const SHIFT_KEY = 'Shift';
4657
4568
 
4658
- let _$7 = t => t,
4659
- _t$7,
4660
- _t2$4,
4569
+ let _$8 = t => t,
4570
+ _t$8,
4571
+ _t2$5,
4661
4572
  _t3$4,
4662
4573
  _t4$3;
4663
- const GoADropdownTextbox = styled.div(_t$7 || (_t$7 = _$7`
4574
+ const GoADropdownTextbox = styled.div(_t$8 || (_t$8 = _$8`
4664
4575
  border-radius: var(--goa-space-2xs);
4665
4576
  box-shadow: ${0};
4666
4577
  &:hover {
@@ -4671,11 +4582,11 @@ const GoADropdownTextbox = styled.div(_t$7 || (_t$7 = _$7`
4671
4582
  box-shadow: ${0};
4672
4583
  }
4673
4584
  `), p => p.isOpen ? `0 0 0 3px var(--goa-color-interactive-focus)` : '', p => p.isOpen ? `0 0 0 3px var(--goa-color-interactive-focus) !important` : '');
4674
- const GoADropdownListContainerWrapper = styled.div(_t2$4 || (_t2$4 = _$7`
4585
+ const GoADropdownListContainerWrapper = styled.div(_t2$5 || (_t2$5 = _$8`
4675
4586
  position: relative;
4676
4587
  display: ${0};
4677
4588
  `), p => !(p === null || p === void 0 ? void 0 : p.isOpen) && 'none');
4678
- const GoADropdownListContainer = styled.div(_t3$4 || (_t3$4 = _$7`
4589
+ const GoADropdownListContainer = styled.div(_t3$4 || (_t3$4 = _$8`
4679
4590
  border: solid 1px var(--goa-color-greyscale-200);
4680
4591
  border-radius: var(--goa-space-2xs);
4681
4592
  background: var(--goa-color-greyscale-white);
@@ -4699,7 +4610,7 @@ const GoADropdownListContainer = styled.div(_t3$4 || (_t3$4 = _$7`
4699
4610
  scrollbar-color: #a8a8a8 var(--goa-color-greyscale-100) !important;
4700
4611
  }
4701
4612
  `), p => p.optionListMaxHeight || '272px');
4702
- const GoADropdownListOption = styled.div(_t4$3 || (_t4$3 = _$7`
4613
+ const GoADropdownListOption = styled.div(_t4$3 || (_t4$3 = _$8`
4703
4614
  padding: var(--goa-space-2xs) var(--goa-space-s);
4704
4615
  text-overflow: ellipsis;
4705
4616
  color: ${0} !important;
@@ -5200,8 +5111,8 @@ const BooleanRadioControl = props => jsx(GoAInputBaseControl, Object.assign({},
5200
5111
  const GoABooleanRadioControlTester = rankWith(3, and(isBooleanControl, optionIs('radio', true)));
5201
5112
  const GoABooleanRadioControl = withJsonFormsControlProps(BooleanRadioControl);
5202
5113
 
5203
- let _$6 = t => t,
5204
- _t$6;
5114
+ let _$7 = t => t,
5115
+ _t$7;
5205
5116
  const Checkboxes = ({
5206
5117
  children,
5207
5118
  orientation,
@@ -5213,7 +5124,7 @@ const Checkboxes = ({
5213
5124
  children: children
5214
5125
  });
5215
5126
  };
5216
- const CheckBoxGroupDiv = styled.div(_t$6 || (_t$6 = _$6`
5127
+ const CheckBoxGroupDiv = styled.div(_t$7 || (_t$7 = _$7`
5217
5128
  .horizontal {
5218
5129
  display: flex;
5219
5130
  flex-direction: row;
@@ -5293,6 +5204,8 @@ const GoInputBaseReview = props => jsx(GoAInputBaseControl, Object.assign({}, pr
5293
5204
  }));
5294
5205
  const GoInputBaseReviewControl = withJsonFormsControlProps(GoInputBaseReview);
5295
5206
 
5207
+ let _$6 = t => t,
5208
+ _t$6;
5296
5209
  const renderLayoutElements = (elements, schema, path, enabled, renderers, cells) => {
5297
5210
  return elements.map((child, index) => jsx("div", {
5298
5211
  children: jsx(JsonFormsDispatch, {
@@ -5325,7 +5238,7 @@ const LayoutRenderer = ({
5325
5238
  visible,
5326
5239
  width
5327
5240
  }) => {
5328
- if (isEmpty$1(elements)) {
5241
+ if (isEmpty(elements)) {
5329
5242
  return null;
5330
5243
  } else {
5331
5244
  if (direction === 'row') {
@@ -5344,10 +5257,44 @@ const LayoutRenderer = ({
5344
5257
  }
5345
5258
  }
5346
5259
  };
5260
+ const ReviewLayoutRenderer = ({
5261
+ elements,
5262
+ schema,
5263
+ path,
5264
+ enabled,
5265
+ direction,
5266
+ renderers,
5267
+ cells,
5268
+ visible,
5269
+ width
5270
+ }) => {
5271
+ if (isEmpty(elements)) {
5272
+ return null;
5273
+ } else {
5274
+ if (direction === 'row') {
5275
+ return jsx(Visible, {
5276
+ visible: visible,
5277
+ children: jsx(ReviewGrid, {
5278
+ children: renderLayoutElements(elements, schema, path, enabled, renderers, cells)
5279
+ })
5280
+ });
5281
+ } else {
5282
+ return jsx(Visible, {
5283
+ visible: visible,
5284
+ children: renderLayoutElements(elements, schema, path, enabled, renderers, cells)
5285
+ });
5286
+ }
5287
+ }
5288
+ };
5289
+ const ReviewGrid = styled.div(_t$6 || (_t$6 = _$6`
5290
+ display: grid;
5291
+ grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
5292
+ gap: 16px;
5293
+ `));
5347
5294
 
5348
5295
  let _$5 = t => t,
5349
5296
  _t$5,
5350
- _t2$3,
5297
+ _t2$4,
5351
5298
  _t3$3,
5352
5299
  _t4$2,
5353
5300
  _t5$2,
@@ -5368,12 +5315,16 @@ const ReviewItem = styled.div(_t$5 || (_t$5 = _$5`
5368
5315
  display: none;
5369
5316
  }
5370
5317
  `));
5371
- const ReviewItemSection = styled.div(_t2$3 || (_t2$3 = _$5`
5318
+ const ReviewItemSection = styled.div(_t2$4 || (_t2$4 = _$5`
5372
5319
  background-color: #f1f1f1;
5373
5320
  margin-bottom: var(--goa-space-m);
5374
5321
  padding: var(--goa-space-m);
5375
5322
  border: 1px solid #dcdcdc;
5376
5323
  border-radius: 5px;
5324
+
5325
+ .element-style {
5326
+ max-width: 1439px;
5327
+ }
5377
5328
  `));
5378
5329
  const ReviewItemHeader = styled.div(_t3$3 || (_t3$3 = _$5`
5379
5330
  display: flex;
@@ -5559,75 +5510,181 @@ const ContextProviderFactory = () => new ContextProviderClass().setup;
5559
5510
  const JsonFormContext = /*#__PURE__*/createContext(null);
5560
5511
 
5561
5512
  const RenderStepElements = props => {
5562
- return (
5563
- /*
5564
- [Mar-04-2024][Paul Li] the GoAPages internal state cannot handle the hidden/display well. We need extra hide/display control to it appropriately.
5565
- */
5566
- jsx(Visible, {
5567
- visible: props.categoryIndex === props.step - 1,
5568
- children: props.category.elements.map((uiSchema, index) => {
5569
- return jsx(JsonFormsDispatch, {
5570
- schema: props.schema,
5571
- uischema: uiSchema,
5572
- renderers: props.renderers,
5573
- cells: props.cells,
5574
- path: props.path,
5575
- visible: props.visible,
5576
- enabled: props.enabled && !props.disabledCategoryMap[props.categoryIndex]
5577
- }, index);
5578
- })
5513
+ return jsx(Visible, {
5514
+ visible: props.visible,
5515
+ "date-testid": `${props.path}-categories-${props.categoryIndex}`,
5516
+ children: props.category.elements.map((uiSchema, index) => {
5517
+ return jsx(JsonFormsDispatch, {
5518
+ schema: props.schema,
5519
+ uischema: uiSchema,
5520
+ renderers: props.renderers,
5521
+ cells: props.cells,
5522
+ path: props.path,
5523
+ visible: props.visible,
5524
+ enabled: props.enabled
5525
+ }, `${props.path}-category-page-${index}`);
5579
5526
  })
5580
- );
5527
+ });
5581
5528
  };
5582
5529
 
5583
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5584
- const validateData = (jsonSchema, data, ajv) => {
5585
- const newSchema = JSON.parse(JSON.stringify(jsonSchema));
5586
- Object.keys(newSchema.properties || {}).forEach(propertyName => {
5587
- var _a, _b, _c, _d, _e;
5588
- const property = newSchema.properties || {};
5589
- if (((_a = property[propertyName]) === null || _a === void 0 ? void 0 : _a.enum) && ((_b = property[propertyName]) === null || _b === void 0 ? void 0 : _b.enum[0]) === '') {
5590
- (_c = property[propertyName]) === null || _c === void 0 ? true : delete _c.enum;
5591
- }
5592
- if (((_d = property[propertyName]) === null || _d === void 0 ? void 0 : _d.format) === 'file-urn') {
5593
- delete property[propertyName].format;
5594
- }
5595
- if (((_e = property[propertyName]) === null || _e === void 0 ? void 0 : _e.title) === sinTitle && data && data[propertyName] === '') {
5596
- delete data[propertyName];
5530
+ var uncurryThis$2 = functionUncurryThisClause;
5531
+ var aCallable$6 = aCallable$9;
5532
+ var NATIVE_BIND = functionBindNative;
5533
+
5534
+ var bind$5 = uncurryThis$2(uncurryThis$2.bind);
5535
+
5536
+ // optional / simple context binding
5537
+ var functionBindContext = function (fn, that) {
5538
+ aCallable$6(fn);
5539
+ return that === undefined ? fn : NATIVE_BIND ? bind$5(fn, that) : function (/* ...args */) {
5540
+ return fn.apply(that, arguments);
5541
+ };
5542
+ };
5543
+
5544
+ var isArray$1 = isArray$4;
5545
+ var lengthOfArrayLike$3 = lengthOfArrayLike$7;
5546
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$2;
5547
+ var bind$4 = functionBindContext;
5548
+
5549
+ // `FlattenIntoArray` abstract operation
5550
+ // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
5551
+ var flattenIntoArray$1 = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
5552
+ var targetIndex = start;
5553
+ var sourceIndex = 0;
5554
+ var mapFn = mapper ? bind$4(mapper, thisArg) : false;
5555
+ var element, elementLen;
5556
+
5557
+ while (sourceIndex < sourceLen) {
5558
+ if (sourceIndex in source) {
5559
+ element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
5560
+
5561
+ if (depth > 0 && isArray$1(element)) {
5562
+ elementLen = lengthOfArrayLike$3(element);
5563
+ targetIndex = flattenIntoArray$1(target, original, element, elementLen, targetIndex, depth - 1) - 1;
5564
+ } else {
5565
+ doesNotExceedSafeInteger(targetIndex + 1);
5566
+ target[targetIndex] = element;
5567
+ }
5568
+
5569
+ targetIndex++;
5597
5570
  }
5598
- });
5571
+ sourceIndex++;
5572
+ }
5573
+ return targetIndex;
5574
+ };
5575
+
5576
+ var flattenIntoArray_1 = flattenIntoArray$1;
5577
+
5578
+ var uncurryThis$1 = functionUncurryThis;
5579
+ var fails$2 = fails$r;
5580
+ var isCallable$4 = isCallable$q;
5581
+ var classof$2 = classof$9;
5582
+ var getBuiltIn$2 = getBuiltIn$9;
5583
+ var inspectSource$1 = inspectSource$3;
5584
+
5585
+ var noop = function () { /* empty */ };
5586
+ var construct = getBuiltIn$2('Reflect', 'construct');
5587
+ var constructorRegExp = /^\s*(?:class|function)\b/;
5588
+ var exec = uncurryThis$1(constructorRegExp.exec);
5589
+ var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
5590
+
5591
+ var isConstructorModern = function isConstructor(argument) {
5592
+ if (!isCallable$4(argument)) return false;
5599
5593
  try {
5600
- const validate = ajv.compile(newSchema);
5601
- return validate(data).valueOf();
5602
- } catch (e) {
5594
+ construct(noop, [], argument);
5595
+ return true;
5596
+ } catch (error) {
5603
5597
  return false;
5604
5598
  }
5605
5599
  };
5606
5600
 
5607
- /**
5608
- * Steps can be hidden:
5609
- * When the user clicks on a step in the stepper function, it returns
5610
- * a step number relative to all steps. Map to the step number relative
5611
- * to the visible steps.
5612
- */
5613
- const mapToVisibleStep = (step, allSteps, visibleSteps) => {
5614
- if (visibleSteps.length < 1) return 0;
5615
- if (step < 1) return 1;
5616
- if (allSteps.length !== visibleSteps.length) {
5617
- const stepIndex = step - 1;
5618
- if (step > 1 && step <= allSteps.length) {
5619
- // Check to see if the the step is visible
5620
- const selectedLabel = allSteps[stepIndex];
5621
- const selectedIndex = visibleSteps.indexOf(selectedLabel);
5622
- step = selectedIndex !== -1 ? selectedIndex + 1 : 1;
5623
- }
5624
- if (step > allSteps.length) {
5625
- step = visibleSteps.length;
5626
- }
5601
+ var isConstructorLegacy = function isConstructor(argument) {
5602
+ if (!isCallable$4(argument)) return false;
5603
+ switch (classof$2(argument)) {
5604
+ case 'AsyncFunction':
5605
+ case 'GeneratorFunction':
5606
+ case 'AsyncGeneratorFunction': return false;
5607
+ }
5608
+ try {
5609
+ // we can't check .prototype since constructors produced by .bind haven't it
5610
+ // `Function#toString` throws on some built-it function in some legacy engines
5611
+ // (for example, `DOMQuad` and similar in FF41-)
5612
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource$1(argument));
5613
+ } catch (error) {
5614
+ return true;
5627
5615
  }
5628
- return step;
5629
5616
  };
5630
5617
 
5618
+ isConstructorLegacy.sham = true;
5619
+
5620
+ // `IsConstructor` abstract operation
5621
+ // https://tc39.es/ecma262/#sec-isconstructor
5622
+ var isConstructor$2 = !construct || fails$2(function () {
5623
+ var called;
5624
+ return isConstructorModern(isConstructorModern.call)
5625
+ || !isConstructorModern(Object)
5626
+ || !isConstructorModern(function () { called = true; })
5627
+ || called;
5628
+ }) ? isConstructorLegacy : isConstructorModern;
5629
+
5630
+ var isArray = isArray$4;
5631
+ var isConstructor$1 = isConstructor$2;
5632
+ var isObject$2 = isObject$e;
5633
+ var wellKnownSymbol$5 = wellKnownSymbol$k;
5634
+
5635
+ var SPECIES$2 = wellKnownSymbol$5('species');
5636
+ var $Array = Array;
5637
+
5638
+ // a part of `ArraySpeciesCreate` abstract operation
5639
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
5640
+ var arraySpeciesConstructor$1 = function (originalArray) {
5641
+ var C;
5642
+ if (isArray(originalArray)) {
5643
+ C = originalArray.constructor;
5644
+ // cross-realm fallback
5645
+ if (isConstructor$1(C) && (C === $Array || isArray(C.prototype))) C = undefined;
5646
+ else if (isObject$2(C)) {
5647
+ C = C[SPECIES$2];
5648
+ if (C === null) C = undefined;
5649
+ }
5650
+ } return C === undefined ? $Array : C;
5651
+ };
5652
+
5653
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
5654
+
5655
+ // `ArraySpeciesCreate` abstract operation
5656
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
5657
+ var arraySpeciesCreate$1 = function (originalArray, length) {
5658
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
5659
+ };
5660
+
5661
+ var $$9 = _export;
5662
+ var flattenIntoArray = flattenIntoArray_1;
5663
+ var toObject$1 = toObject$8;
5664
+ var lengthOfArrayLike$2 = lengthOfArrayLike$7;
5665
+ var toIntegerOrInfinity = toIntegerOrInfinity$7;
5666
+ var arraySpeciesCreate = arraySpeciesCreate$1;
5667
+
5668
+ // `Array.prototype.flat` method
5669
+ // https://tc39.es/ecma262/#sec-array.prototype.flat
5670
+ $$9({ target: 'Array', proto: true }, {
5671
+ flat: function flat(/* depthArg = 1 */) {
5672
+ var depthArg = arguments.length ? arguments[0] : undefined;
5673
+ var O = toObject$1(this);
5674
+ var sourceLen = lengthOfArrayLike$2(O);
5675
+ var A = arraySpeciesCreate(O, 0);
5676
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
5677
+ return A;
5678
+ }
5679
+ });
5680
+
5681
+ // this method was added to unscopables after implementation
5682
+ // in popular engines, so it's moved to a separate module
5683
+ var addToUnscopables = addToUnscopables$4;
5684
+
5685
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5686
+ addToUnscopables('flat');
5687
+
5631
5688
  // eslint-disable-next-line
5632
5689
  const getProperty = (obj, propName) => {
5633
5690
  if (obj[propName] !== undefined) return obj[propName];
@@ -5638,6 +5695,23 @@ const getProperty = (obj, propName) => {
5638
5695
  }
5639
5696
  }
5640
5697
  };
5698
+ // eslint-disable-next-line
5699
+ const pickPropertyValues = (obj, property) => {
5700
+ let values = [];
5701
+ Object.keys(obj).forEach(function (key) {
5702
+ if (key === property) {
5703
+ values.push(obj[key]);
5704
+ } else if (_$b.isObject(obj[key])) {
5705
+ values = [...values, ...pickPropertyValues(obj[key], property)];
5706
+ } else if (_$b.isArray(obj[key])) {
5707
+ const nextValues = obj[key].map(function (arrayObj) {
5708
+ return pickPropertyValues(arrayObj, property);
5709
+ });
5710
+ values = [...values, ...nextValues];
5711
+ }
5712
+ });
5713
+ return values;
5714
+ };
5641
5715
 
5642
5716
  const FormStepperReviewer = props => {
5643
5717
  var _a, _b, _c;
@@ -5647,8 +5721,6 @@ const FormStepperReviewer = props => {
5647
5721
  schema,
5648
5722
  ajv,
5649
5723
  cells,
5650
- renderers,
5651
- visible,
5652
5724
  enabled,
5653
5725
  navigationFunc
5654
5726
  } = props;
@@ -5656,6 +5728,7 @@ const FormStepperReviewer = props => {
5656
5728
  const readOnly = (_c = componentProps === null || componentProps === void 0 ? void 0 : componentProps.readOnly) !== null && _c !== void 0 ? _c : false;
5657
5729
  const categorization = uischema;
5658
5730
  const categories = categorization.elements.filter(category => isVisible(category, data, '', ajv));
5731
+ const rescopeMaps = ['#/properties/albertaAddress', '#/properties/canadianAddress', '#/properties/sin'];
5659
5732
  return jsx(ReviewItem, {
5660
5733
  children: categories.map((category, index) => {
5661
5734
  const categoryLabel = category.label || category.i18n || 'Unknown Category';
@@ -5665,18 +5738,20 @@ const FormStepperReviewer = props => {
5665
5738
  children: [jsx(ReviewItemTitle, {
5666
5739
  children: categoryLabel
5667
5740
  }), navigationFunc && jsx(Anchor, {
5668
- onClick: () => navigationFunc(index + 1),
5741
+ onClick: () => {
5742
+ navigationFunc(index);
5743
+ },
5669
5744
  "data-testid": testId,
5670
5745
  onKeyDown: e => {
5671
5746
  if (!readOnly && (e.key === ' ' || e.key === 'Enter')) {
5672
5747
  e.preventDefault();
5673
- navigationFunc(index + 1);
5748
+ navigationFunc(index);
5674
5749
  }
5675
5750
  },
5676
5751
  children: readOnly ? 'View' : 'Edit'
5677
5752
  })]
5678
5753
  }), jsx(GoAGrid, {
5679
- minChildWidth: "600px",
5754
+ minChildWidth: "100%",
5680
5755
  children: category.elements.filter(field => {
5681
5756
  var _a, _b;
5682
5757
  const conditionProps = (_a = field.rule) === null || _a === void 0 ? void 0 : _a.condition;
@@ -5690,8 +5765,22 @@ const FormStepperReviewer = props => {
5690
5765
  } else {
5691
5766
  return field;
5692
5767
  }
5693
- }).map((element, index) => {
5768
+ }).map(e => {
5769
+ const layout = e;
5770
+ if (rescopeMaps.some(scope => {
5771
+ var _a;
5772
+ return (_a = layout.elements) === null || _a === void 0 ? void 0 : _a.map(el => {
5773
+ const element = el;
5774
+ return element.scope;
5775
+ }).includes(scope);
5776
+ })) {
5777
+ return layout.elements;
5778
+ } else {
5779
+ return e;
5780
+ }
5781
+ }).flat().map((element, index) => {
5694
5782
  return jsx("div", {
5783
+ className: "element-style",
5695
5784
  children: jsx(JsonFormsDispatch, {
5696
5785
  "data-testid": `jsonforms-object-list-defined-elements-dispatch`,
5697
5786
  schema: schema,
@@ -5707,39 +5796,256 @@ const FormStepperReviewer = props => {
5707
5796
  })
5708
5797
  });
5709
5798
  };
5799
+ const FormStepperReviewControl = withAjvProps(withTranslateProps(withJsonFormsLayoutProps(FormStepperReviewer)));
5800
+
5801
+ const stepperReducer = (state, action) => {
5802
+ const {
5803
+ activeId,
5804
+ categories
5805
+ } = state;
5806
+ const lastId = categories[categories.length - 1].id;
5807
+ switch (action.type) {
5808
+ case 'page/next':
5809
+ {
5810
+ state.activeId += 1;
5811
+ if (activeId === lastId) {
5812
+ state.isOnReview = true;
5813
+ state.hasNextButton = false;
5814
+ state.hasPrevButton = false;
5815
+ } else {
5816
+ state.hasNextButton = true;
5817
+ state.hasPrevButton = true;
5818
+ state.isOnReview = false;
5819
+ }
5820
+ state.categories[activeId].isVisited = true;
5821
+ return Object.assign({}, state);
5822
+ }
5823
+ case 'page/prev':
5824
+ {
5825
+ state.categories[activeId].isVisited = true;
5826
+ if (activeId > 0) {
5827
+ state.activeId -= 1;
5828
+ state.hasPrevButton = state.activeId !== 0;
5829
+ state.hasNextButton = true;
5830
+ state.isOnReview = false;
5831
+ }
5832
+ return Object.assign({}, state);
5833
+ }
5834
+ case 'page/to/index':
5835
+ {
5836
+ const {
5837
+ id
5838
+ } = action.payload;
5839
+ state.activeId = id;
5840
+ if (id > lastId) {
5841
+ state.isOnReview = true;
5842
+ state.hasNextButton = false;
5843
+ state.hasPrevButton = false;
5844
+ return Object.assign({}, state);
5845
+ } else {
5846
+ state.categories[id].isVisited = true;
5847
+ state.hasNextButton = id <= lastId;
5848
+ state.hasPrevButton = id !== 0;
5849
+ state.isOnReview = false;
5850
+ return Object.assign({}, state);
5851
+ }
5852
+ }
5853
+ case 'update/category':
5854
+ {
5855
+ const {
5856
+ id,
5857
+ errors
5858
+ } = action.payload;
5859
+ if (state.isOnReview) {
5860
+ return Object.assign({}, state);
5861
+ }
5862
+ const errorsInCategory = errors.filter(e => categories[id].scopes.map(s => '/' + toDataPath(s)).includes(e.instancePath));
5863
+ state.categories[id].isCompleted = errorsInCategory.filter(e => e.keyword === 'required').length === 0;
5864
+ state.categories[id].isValid = errorsInCategory.length === 0;
5865
+ return Object.assign({}, state);
5866
+ }
5867
+ case 'validate/form':
5868
+ {
5869
+ const {
5870
+ errors
5871
+ } = action.payload;
5872
+ state.isValid = errors.length === 0;
5873
+ return Object.assign({}, state);
5874
+ }
5875
+ }
5876
+ return state;
5877
+ };
5878
+
5879
+ const isErrorPathIncluded = (errorPaths, path) => {
5880
+ return errorPaths.some(ePath => {
5881
+ /**
5882
+ * case A: errorPaths: [name] path: [name]
5883
+ *
5884
+ * case B: errorPath: [name] path: [name.firstName]
5885
+ * */
5886
+ return ePath === path || path.startsWith(ePath + '.');
5887
+ });
5888
+ };
5889
+ const getIncompletePaths = (ajv, scopes) => {
5890
+ var _a;
5891
+ const requiredErrorPaths = (_a = ajv === null || ajv === void 0 ? void 0 : ajv.errors) === null || _a === void 0 ? void 0 : _a.filter(e => e.keyword === 'required').map(e => {
5892
+ var _a;
5893
+ return (_a = e === null || e === void 0 ? void 0 : e.schema) === null || _a === void 0 ? void 0 : _a[0];
5894
+ });
5895
+ const _scopes = scopes.map(scope => toDataPath(scope)).filter(path => requiredErrorPaths && isErrorPathIncluded(requiredErrorPaths, path));
5896
+ return _scopes;
5897
+ };
5898
+ const createStepperContextInitData = props => {
5899
+ var _a;
5900
+ const {
5901
+ uischema,
5902
+ data,
5903
+ schema,
5904
+ ajv,
5905
+ t,
5906
+ visible,
5907
+ path
5908
+ } = props;
5909
+ const categorization = uischema;
5910
+ const valid = ajv.validate(schema, data || {});
5911
+ const categories = (_a = categorization.elements) === null || _a === void 0 ? void 0 : _a.map((c, id) => {
5912
+ const scopes = pickPropertyValues(c, 'scope');
5913
+ const incompletePaths = getIncompletePaths(ajv, pickPropertyValues(c, 'scope'));
5914
+ return {
5915
+ id,
5916
+ label: deriveLabelForUISchemaElement(c, t),
5917
+ scopes,
5918
+ isVisited: id === 0,
5919
+ isCompleted: (incompletePaths === null || incompletePaths === void 0 ? void 0 : incompletePaths.length) === 0,
5920
+ isValid: (incompletePaths === null || incompletePaths === void 0 ? void 0 : incompletePaths.length) === 0,
5921
+ uischema: c,
5922
+ isEnabled: isEnabled(c, data, '', ajv),
5923
+ visible
5924
+ };
5925
+ });
5926
+ const activeId = (props === null || props === void 0 ? void 0 : props.activeId) || 0;
5927
+ return {
5928
+ categories: categories,
5929
+ activeId,
5930
+ hasNextButton: true,
5931
+ hasPrevButton: activeId > 0,
5932
+ path,
5933
+ isOnReview: activeId === (categories === null || categories === void 0 ? void 0 : categories.length),
5934
+ isValid: valid === true
5935
+ };
5936
+ };
5937
+ const JsonFormsStepperContext = /*#__PURE__*/createContext(undefined);
5938
+ const JsonFormsStepperContextProvider = ({
5939
+ children,
5940
+ StepperProps
5941
+ }) => {
5942
+ const ctx = useJsonForms();
5943
+ const [stepperState, dispatch] = useReducer(stepperReducer, createStepperContextInitData(StepperProps));
5944
+ const stepperDispatch = (StepperProps === null || StepperProps === void 0 ? void 0 : StepperProps.customDispatch) || dispatch;
5945
+ const context = useMemo(() => {
5946
+ return {
5947
+ stepperDispatch,
5948
+ selectStepperState: () => {
5949
+ return stepperState;
5950
+ },
5951
+ selectIsDisabled: () => {
5952
+ var _a;
5953
+ return !((_a = stepperState.categories[stepperState.activeId]) === null || _a === void 0 ? void 0 : _a.isEnabled);
5954
+ },
5955
+ selectIsActive: id => {
5956
+ return id === stepperState.activeId;
5957
+ },
5958
+ selectPath: () => {
5959
+ return stepperState.path;
5960
+ },
5961
+ selectCategory: id => {
5962
+ return stepperState.categories[id];
5963
+ },
5964
+ goToPage: (id, updateCategoryId) => {
5965
+ var _a, _b, _c;
5966
+ if (updateCategoryId !== undefined) {
5967
+ stepperDispatch({
5968
+ type: 'update/category',
5969
+ payload: {
5970
+ errors: ((_a = ctx.core) === null || _a === void 0 ? void 0 : _a.errors) || [],
5971
+ id: updateCategoryId
5972
+ }
5973
+ });
5974
+ }
5975
+ if (stepperState.isOnReview !== true) {
5976
+ stepperDispatch({
5977
+ type: 'update/category',
5978
+ payload: {
5979
+ errors: ((_b = ctx.core) === null || _b === void 0 ? void 0 : _b.errors) || [],
5980
+ id: stepperState.activeId
5981
+ }
5982
+ });
5983
+ }
5984
+ stepperDispatch({
5985
+ type: 'validate/form',
5986
+ payload: {
5987
+ errors: (_c = ctx.core) === null || _c === void 0 ? void 0 : _c.errors
5988
+ }
5989
+ });
5990
+ stepperDispatch({
5991
+ type: 'page/to/index',
5992
+ payload: {
5993
+ id
5994
+ }
5995
+ });
5996
+ }
5997
+ };
5998
+ }, [ctx === null || ctx === void 0 ? void 0 : ctx.core, stepperDispatch, stepperState]);
5999
+ return jsx(JsonFormsStepperContext.Provider, {
6000
+ value: context,
6001
+ children: children
6002
+ });
6003
+ };
5710
6004
 
5711
6005
  const summaryLabel = 'Summary';
5712
6006
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5713
6007
  const FormStepper = props => {
5714
- var _a, _b, _c, _d;
6008
+ /**
6009
+ * The path check is to prevent the categorization in categorization case. This scenario is not supported in the current version.
6010
+ * */
6011
+ if (props.path === undefined) {
6012
+ return jsx(FormStepperView, Object.assign({}, props));
6013
+ }
6014
+ return jsx(JsonFormsStepperContextProvider, {
6015
+ StepperProps: Object.assign({}, props),
6016
+ children: jsx(FormStepperView, Object.assign({}, props))
6017
+ });
6018
+ };
6019
+ const FormStepperView = props => {
6020
+ var _a, _b, _c;
5715
6021
  const {
5716
6022
  uischema,
5717
6023
  data,
5718
6024
  schema,
5719
- ajv,
5720
6025
  path,
5721
6026
  cells,
5722
6027
  renderers,
5723
6028
  visible,
5724
- enabled,
5725
6029
  t
5726
6030
  } = props;
5727
6031
  const enumerators = useContext(JsonFormContext);
6032
+ const formStepperCtx = useContext(JsonFormsStepperContext);
6033
+ const {
6034
+ activeId,
6035
+ categories,
6036
+ hasNextButton,
6037
+ hasPrevButton,
6038
+ isOnReview,
6039
+ isValid
6040
+ } = formStepperCtx.selectStepperState();
6041
+ const {
6042
+ selectIsDisabled,
6043
+ goToPage
6044
+ } = formStepperCtx;
5728
6045
  const submitFormFunction = enumerators === null || enumerators === void 0 ? void 0 : enumerators.submitFunction.get('submit-form');
5729
6046
  const submitForm = submitFormFunction && submitFormFunction();
5730
- const categorization = uischema;
5731
- const allCategories = JSON.parse(JSON.stringify(categorization));
5732
- const componentProps = (_b = (_a = uischema.options) === null || _a === void 0 ? void 0 : _a.componentProps) !== null && _b !== void 0 ? _b : {};
5733
6047
  const optionProps = uischema.options || {};
5734
- const [step, setStep] = React.useState(0);
5735
- const [staleCategories, setStaleCategories] = React.useState(categorization.elements);
5736
- const [isFormValid, setIsFormValid] = React.useState(false);
5737
- const [showNextBtn, setShowNextBtn] = React.useState(true);
5738
- const [isOpen, setIsOpen] = React.useState(false);
5739
- const [categories, setCategories] = React.useState(categorization.elements);
5740
- const [inputStatuses, setInputStatuses] = React.useState({});
5741
- const [stepStatuses, setStepStatuses] = React.useState([]);
5742
- const disabledCategoryMap = categories.map(c => !isEnabled(c, data, '', ajv));
6048
+ const [isOpen, setIsOpen] = useState(false);
5743
6049
  const handleSubmit = () => {
5744
6050
  if (submitForm) {
5745
6051
  submitForm(data);
@@ -5750,193 +6056,99 @@ const FormStepper = props => {
5750
6056
  const onCloseModal = () => {
5751
6057
  setIsOpen(false);
5752
6058
  };
5753
- const visibleCategoryLabels = useMemo(() => {
5754
- return categories.map(c => deriveLabelForUISchemaElement(c, t));
5755
- }, [categories, t]);
5756
- useEffect(() => {}, [categories.length]);
5757
- useEffect(() => {
5758
- const cats = categorization.elements.filter(category => isVisible(category, data, '', ajv));
5759
- setCategories(cats);
5760
- }, [categorization, data, ajv]);
5761
- useEffect(() => {
5762
- const statuses = Array(categories.length);
5763
- categories.forEach((_, i) => {
5764
- statuses[i] = isEmpty$2(stepStatuses[i]) ? getCompletionStatus(inputStatuses, i + 1) : stepStatuses[i];
5765
- });
5766
- setStepStatuses(statuses);
5767
- }, [inputStatuses, categories]);
5768
- useEffect(() => {
5769
- const isValid = validateData(schema, data, ajv);
5770
- setIsFormValid(isValid);
5771
- }, [ajv, data, schema]);
5772
- useEffect(() => {
5773
- // Override the "controlled Navigation", if property is supplied
5774
- // Default: no controlled nav.
5775
- setStep((componentProps === null || componentProps === void 0 ? void 0 : componentProps.controlledNav) ? 1 : 0);
5776
- // eslint-disable-next-line react-hooks/exhaustive-deps
5777
- }, []);
5778
- useEffect(() => {
5779
- setStaleCategories(categories);
5780
- }, [categories]);
5781
- /* istanbul ignore next */
5782
- if ((categories === null || categories === void 0 ? void 0 : categories.length) < 1) {
5783
- // eslint-disable-next-line
5784
- return jsx(Fragment, {});
5785
- }
5786
- function nextPage(page, disabled) {
5787
- const pageStatus = getCompletionStatus(inputStatuses, page, true);
5788
- const statuses = [...stepStatuses];
5789
- statuses[page - 1] = pageStatus ? pageStatus : 'incomplete';
5790
- setStepStatuses(statuses);
5791
- page++;
5792
- while (page <= disabled.length && disabled[page - 1]) {
5793
- /* istanbul ignore next */
5794
- page++;
5795
- }
5796
- setPage(page);
5797
- }
5798
- function prevPage(page, disabled) {
5799
- const pageStatus = getCompletionStatus(inputStatuses, page, true);
5800
- const statuses = [...stepStatuses];
5801
- statuses[page - 1] = pageStatus ? pageStatus : 'incomplete';
5802
- setStepStatuses(statuses);
5803
- page--;
5804
- while (page >= 0 && disabled[page - 1]) {
5805
- /* istanbul ignore next */
5806
- page--;
5807
- }
5808
- setPage(page);
5809
- }
5810
- const getAllStatuses = (nextPage, totalVisibleTabs) => {
5811
- const previouslyActivePage = nextPage - 1;
5812
- const statuses = [...stepStatuses];
5813
- for (let currentPage = 1; currentPage <= previouslyActivePage; currentPage++) {
5814
- const pageStatus = getCompletionStatus(inputStatuses, currentPage, true);
5815
- statuses[currentPage - 1] = pageStatus ? pageStatus : 'incomplete';
5816
- }
5817
- return statuses;
5818
- };
5819
- /* istanbul ignore next */
5820
- function setTab(page) {
5821
- const categoryLabels = [...allCategories.elements.map(category => category.label), summaryLabel];
5822
- const visibleLabels = [...visibleCategoryLabels, summaryLabel];
5823
- const newPage = mapToVisibleStep(page, categoryLabels, visibleLabels);
5824
- if (Object.keys(inputStatuses).length) {
5825
- const statuses = getAllStatuses(page, visibleLabels.length);
5826
- setStepStatuses(statuses);
5827
- }
5828
- setPage(newPage);
5829
- }
5830
- function setPage(page) {
5831
- setStep(page);
5832
- if (page < 1 || page > categories.length + 1) return;
5833
- setShowNextBtn(categories.length + 1 !== page);
5834
- }
5835
- const updateInputStatus = inputStatus => {
5836
- inputStatuses[inputStatus.id] = inputStatus;
5837
- setInputStatuses(Object.assign({}, inputStatuses));
5838
- };
5839
- const isInputInitialized = inputId => {
5840
- return inputId in inputStatuses;
5841
- };
5842
- const isFormSubmitted = (_c = enumerators === null || enumerators === void 0 ? void 0 : enumerators.isFormSubmitted) !== null && _c !== void 0 ? _c : false;
5843
- return jsx("div", {
6059
+ return jsxs("div", {
5844
6060
  "data-testid": "form-stepper-test-wrapper",
5845
- children: jsx(Visible, {
6061
+ children: [jsx("div", {
6062
+ children: ((_a = categories[activeId]) === null || _a === void 0 ? void 0 : _a.isCompleted) && ((_b = categories[activeId]) === null || _b === void 0 ? void 0 : _b.isVisited)
6063
+ }), jsx(Visible, {
5846
6064
  visible: visible,
5847
6065
  children: jsxs("div", {
5848
6066
  id: `${path || `goa`}-form-stepper`,
5849
6067
  className: "formStepper",
5850
- children: [categories.length === staleCategories.length && jsxs(GoAFormStepper, {
5851
- testId: ((_d = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _d === void 0 ? void 0 : _d.testId) || 'form-stepper-test',
5852
- step: step,
6068
+ children: [jsxs(GoAFormStepper, {
6069
+ testId: `form-stepper-headers-${(_c = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _c === void 0 ? void 0 : _c.testId}` || 'form-stepper-test',
5853
6070
  onChange: step => {
5854
- setTab(step);
6071
+ goToPage(step - 1);
5855
6072
  },
5856
- children: [categories === null || categories === void 0 ? void 0 : categories.map((_, index) => {
6073
+ children: [categories === null || categories === void 0 ? void 0 : categories.map((c, index) => {
5857
6074
  return jsx(GoAFormStep, {
5858
- text: `${visibleCategoryLabels[index]}`,
5859
- status: stepStatuses[index]
5860
- }, `${visibleCategoryLabels[index]}-tab`);
6075
+ "data-testid": `stepper-tab-${index}`,
6076
+ text: `${c.label}`,
6077
+ status: c.isValid ? 'complete' : 'incomplete'
6078
+ }, `stepper-tab-${index}`);
5861
6079
  }), jsx(GoAFormStep, {
5862
6080
  text: "Review"
5863
- })]
5864
- }), jsxs(GoAPages, {
5865
- current: step,
6081
+ }, `stepper-tab-review`)]
6082
+ }, "stepper-form-stepper-wrapper"), jsxs(GoAPages, {
6083
+ current: activeId + 1,
5866
6084
  mb: "xl",
5867
6085
  children: [categories === null || categories === void 0 ? void 0 : categories.map((category, index) => {
5868
6086
  const props = {
5869
- category,
5870
- categoryIndex: index,
5871
- step: index + 1,
5872
- schema,
5873
- enabled,
5874
- visible,
6087
+ category: category.uischema,
6088
+ categoryIndex: category.id,
6089
+ visible: category === null || category === void 0 ? void 0 : category.visible,
6090
+ enabled: category === null || category === void 0 ? void 0 : category.isEnabled,
5875
6091
  path,
5876
- disabledCategoryMap,
6092
+ schema,
5877
6093
  renderers,
5878
- cells
6094
+ cells,
6095
+ data
5879
6096
  };
5880
6097
  return jsx("div", {
5881
6098
  "data-testid": `step_${index}-content`,
5882
6099
  style: {
5883
6100
  marginTop: '1.5rem'
5884
6101
  },
5885
- children: jsx(StepperContext.Provider, {
5886
- value: {
5887
- stepId: index + 1,
5888
- updateStatus: updateInputStatus,
5889
- isInitialized: isInputInitialized
5890
- },
5891
- children: RenderStepElements(props)
5892
- })
5893
- }, `${visibleCategoryLabels[index]}`);
6102
+ children: jsx(RenderStepElements, Object.assign({}, props))
6103
+ }, `${category.label}`);
5894
6104
  }), jsxs("div", {
5895
6105
  "data-testid": "summary_step-content",
5896
6106
  children: [jsx(FormStepperSummaryH3, {
5897
6107
  children: summaryLabel
5898
- }), jsx(FormStepperReviewer, Object.assign({
5899
- navigationFunc: setPage
5900
- }, props))]
6108
+ }), jsx(FormStepperReviewer, Object.assign({}, props, {
6109
+ navigationFunc: goToPage
6110
+ }))]
5901
6111
  })]
5902
- }), step !== 0 && jsxs(GoAGrid, {
6112
+ }), jsxs(GoAGrid, {
5903
6113
  minChildWidth: "100px",
5904
6114
  children: [jsx("div", {
5905
- children: step !== 1 ? jsx(GoAButton, {
6115
+ children: hasPrevButton ? jsx(GoAButton, {
5906
6116
  type: (optionProps === null || optionProps === void 0 ? void 0 : optionProps.previousButtonType) ? optionProps === null || optionProps === void 0 ? void 0 : optionProps.previousButtonType : 'secondary',
5907
- disabled: disabledCategoryMap[step - 1],
6117
+ disabled: selectIsDisabled(),
5908
6118
  onClick: () => {
5909
6119
  const element = document.getElementById(`${path || `goa`}-form-stepper`);
5910
6120
  if (element) {
5911
6121
  element.scrollIntoView();
5912
6122
  }
5913
- prevPage(step, disabledCategoryMap);
6123
+ goToPage(activeId - 1, activeId);
5914
6124
  },
5915
6125
  testId: "prev-button",
5916
6126
  children: (optionProps === null || optionProps === void 0 ? void 0 : optionProps.previousButtonLabel) ? optionProps === null || optionProps === void 0 ? void 0 : optionProps.previousButtonLabel : 'Previous'
5917
6127
  }) : jsx("div", {})
5918
- }), jsxs(RightAlignmentDiv, {
5919
- children: [step !== null && showNextBtn && jsx(GoAButton, {
6128
+ }), hasNextButton && jsx(RightAlignmentDiv, {
6129
+ children: jsx(GoAButton, {
5920
6130
  type: (optionProps === null || optionProps === void 0 ? void 0 : optionProps.nextButtonType) ? optionProps === null || optionProps === void 0 ? void 0 : optionProps.nextButtonType : 'primary',
5921
- disabled: disabledCategoryMap[step - 1],
6131
+ disabled: selectIsDisabled(),
5922
6132
  onClick: () => {
6133
+ goToPage(activeId + 1, activeId);
5923
6134
  const element = document.getElementById(`${path || `goa`}-form-stepper`);
5924
6135
  if (element) {
5925
6136
  element.scrollIntoView();
5926
6137
  }
5927
- nextPage(step, disabledCategoryMap);
5928
6138
  },
5929
6139
  testId: "next-button",
5930
6140
  children: (optionProps === null || optionProps === void 0 ? void 0 : optionProps.nextButtonLabel) ? optionProps === null || optionProps === void 0 ? void 0 : optionProps.nextButtonLabel : 'Next'
5931
- }), !showNextBtn && !isFormSubmitted && jsx("div", {
6141
+ })
6142
+ }), isOnReview && jsx(RightAlignmentDiv, {
6143
+ children: jsx("div", {
5932
6144
  children: jsx(GoAButton, {
5933
6145
  type: 'primary',
5934
6146
  onClick: handleSubmit,
5935
- disabled: !isFormValid,
6147
+ disabled: !isValid,
5936
6148
  testId: "stepper-submit-btn",
5937
6149
  children: "Submit"
5938
6150
  })
5939
- })]
6151
+ })
5940
6152
  })]
5941
6153
  }), jsxs(GoAModal, {
5942
6154
  testId: "submit-confirmation",
@@ -5957,7 +6169,7 @@ const FormStepper = props => {
5957
6169
  }), "(i.e. no actual form is being submitted)"]
5958
6170
  })]
5959
6171
  })
5960
- })
6172
+ })]
5961
6173
  });
5962
6174
  };
5963
6175
  const FormStepperControl = withAjvProps(withTranslateProps(withJsonFormsLayoutProps(FormStepper)));
@@ -6040,7 +6252,7 @@ const DeleteFileModal = ({
6040
6252
 
6041
6253
  let _$3 = t => t,
6042
6254
  _t$3,
6043
- _t2$2,
6255
+ _t2$3,
6044
6256
  _t3$2;
6045
6257
  const DELAY_UPLOAD_TIMEOUT_MS = 5;
6046
6258
  const DELAY_DELETE_TIMEOUT_MS = 5;
@@ -6206,7 +6418,7 @@ const AttachmentBorderDisabled = styled.div(_t$3 || (_t$3 = _$3`
6206
6418
  width: fit-content;
6207
6419
  background-color: #f1f1f1;
6208
6420
  `));
6209
- const AttachmentBorder = styled.div(_t2$2 || (_t2$2 = _$3`
6421
+ const AttachmentBorder = styled.div(_t2$3 || (_t2$3 = _$3`
6210
6422
  display: flex;
6211
6423
  flex-direction: row;
6212
6424
  border: var(--goa-border-width-s) solid #dcdcdc;
@@ -6236,21 +6448,7 @@ const FileUploaderStyle = styled.div(_t3$2 || (_t3$2 = _$3`
6236
6448
 
6237
6449
  const FileUploaderTester = rankWith(3, and(schemaTypeIs('string'), formatIs('file-urn')));
6238
6450
 
6239
- var uncurryThis$2 = functionUncurryThisClause;
6240
- var aCallable$6 = aCallable$9;
6241
- var NATIVE_BIND = functionBindNative;
6242
-
6243
- var bind$4 = uncurryThis$2(uncurryThis$2.bind);
6244
-
6245
- // optional / simple context binding
6246
- var functionBindContext = function (fn, that) {
6247
- aCallable$6(fn);
6248
- return that === undefined ? fn : NATIVE_BIND ? bind$4(fn, that) : function (/* ...args */) {
6249
- return fn.apply(that, arguments);
6250
- };
6251
- };
6252
-
6253
- var wellKnownSymbol$4 = wellKnownSymbol$j;
6451
+ var wellKnownSymbol$4 = wellKnownSymbol$k;
6254
6452
  var Iterators$1 = iterators;
6255
6453
 
6256
6454
  var ITERATOR$2 = wellKnownSymbol$4('iterator');
@@ -6261,18 +6459,18 @@ var isArrayIteratorMethod$1 = function (it) {
6261
6459
  return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
6262
6460
  };
6263
6461
 
6264
- var classof$2 = classof$9;
6462
+ var classof$1 = classof$9;
6265
6463
  var getMethod$1 = getMethod$5;
6266
6464
  var isNullOrUndefined$1 = isNullOrUndefined$6;
6267
6465
  var Iterators = iterators;
6268
- var wellKnownSymbol$3 = wellKnownSymbol$j;
6466
+ var wellKnownSymbol$3 = wellKnownSymbol$k;
6269
6467
 
6270
6468
  var ITERATOR$1 = wellKnownSymbol$3('iterator');
6271
6469
 
6272
6470
  var getIteratorMethod$2 = function (it) {
6273
6471
  if (!isNullOrUndefined$1(it)) return getMethod$1(it, ITERATOR$1)
6274
6472
  || getMethod$1(it, '@@iterator')
6275
- || Iterators[classof$2(it)];
6473
+ || Iterators[classof$1(it)];
6276
6474
  };
6277
6475
 
6278
6476
  var call$5 = functionCall;
@@ -6318,7 +6516,7 @@ var call$3 = functionCall;
6318
6516
  var anObject$2 = anObject$f;
6319
6517
  var tryToString$1 = tryToString$4;
6320
6518
  var isArrayIteratorMethod = isArrayIteratorMethod$1;
6321
- var lengthOfArrayLike$1 = lengthOfArrayLike$5;
6519
+ var lengthOfArrayLike$1 = lengthOfArrayLike$7;
6322
6520
  var isPrototypeOf$1 = objectIsPrototypeOf;
6323
6521
  var getIterator = getIterator$1;
6324
6522
  var getIteratorMethod = getIteratorMethod$2;
@@ -6409,7 +6607,7 @@ $$8({ target: 'Object', stat: true }, {
6409
6607
 
6410
6608
  let _$2 = t => t,
6411
6609
  _t$2,
6412
- _t2$1,
6610
+ _t2$2,
6413
6611
  _t3$1,
6414
6612
  _t4$1,
6415
6613
  _t5$1,
@@ -6425,7 +6623,7 @@ let _$2 = t => t,
6425
6623
  const DeleteDialogContent = styled.div(_t$2 || (_t$2 = _$2`
6426
6624
  margin-bottom: var(--goa-space-m);
6427
6625
  `));
6428
- const NonEmptyCellStyle = styled.div(_t2$1 || (_t2$1 = _$2`
6626
+ const NonEmptyCellStyle = styled.div(_t2$2 || (_t2$2 = _$2`
6429
6627
  goa-table thead th {
6430
6628
  background-color: #000:
6431
6629
  }
@@ -6873,7 +7071,7 @@ const NonEmptyCell$1 = ownProps => {
6873
7071
  const emptyCellProps = ctxToNonEmptyCellProps$1(ctx, Object.assign(Object.assign({}, ownProps), {
6874
7072
  data
6875
7073
  }));
6876
- const isValid = isEmpty$1(emptyCellProps.errors);
7074
+ const isValid = isEmpty(emptyCellProps.errors);
6877
7075
  return jsx(NonEmptyCellComponent$1, Object.assign({}, emptyCellProps, {
6878
7076
  handleChange: ownProps === null || ownProps === void 0 ? void 0 : ownProps.handleChange,
6879
7077
  isInReview: ownProps === null || ownProps === void 0 ? void 0 : ownProps.isInReview,
@@ -7337,7 +7535,7 @@ const NonEmptyCellComponent = /*#__PURE__*/React.memo(function NonEmptyCellCompo
7337
7535
  const NonEmptyCell = ownProps => {
7338
7536
  const ctx = useJsonForms();
7339
7537
  const emptyCellProps = ctxToNonEmptyCellProps(ctx, ownProps);
7340
- const isValid = isEmpty$1(emptyCellProps.errors);
7538
+ const isValid = isEmpty(emptyCellProps.errors);
7341
7539
  return jsx(NonEmptyCellComponent, Object.assign({}, emptyCellProps, {
7342
7540
  isValid: isValid
7343
7541
  }));
@@ -7575,7 +7773,7 @@ const GoAListWithDetailsTester = rankWith(3, and(uiTypeIs('ListWithDetail')));
7575
7773
 
7576
7774
  let _$1 = t => t,
7577
7775
  _t$1,
7578
- _t2,
7776
+ _t2$1,
7579
7777
  _t3,
7580
7778
  _t4,
7581
7779
  _t5,
@@ -7622,10 +7820,12 @@ const SearchBox = styled.div(_t$1 || (_t$1 = _$1`
7622
7820
  pointer-events: none; /* Prevent spinner from interfering with clicks */
7623
7821
  }
7624
7822
  `));
7625
- const AddressIndent = styled.div(_t2 || (_t2 = _$1`
7626
- margin: 1em 1.5em 0 1.5em;
7823
+ const AddressIndent = styled.div(_t2$1 || (_t2$1 = _$1`
7824
+ margin: 0.5em 0 0.5em 0;
7627
7825
  textwrap: 'wrap';
7628
7826
  wordbreak: 'break-word';
7827
+ border: 1px solid #dcdcdc;
7828
+ padding: 1.35em;
7629
7829
  `));
7630
7830
  const TextWrap = styled.p(_t3 || (_t3 = _$1`
7631
7831
  text-wrap: auto;
@@ -7790,7 +7990,7 @@ const AddressInputs = ({
7790
7990
  };
7791
7991
 
7792
7992
  var $$7 = _export;
7793
- var uncurryThis$1 = functionUncurryThisClause;
7993
+ var uncurryThis = functionUncurryThisClause;
7794
7994
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
7795
7995
  var toLength = toLength$5;
7796
7996
  var toString = toString$e;
@@ -7798,7 +7998,7 @@ var notARegExp = notARegexp;
7798
7998
  var requireObjectCoercible = requireObjectCoercible$b;
7799
7999
  var correctIsRegExpLogic = correctIsRegexpLogic;
7800
8000
 
7801
- var slice = uncurryThis$1(''.slice);
8001
+ var slice = uncurryThis(''.slice);
7802
8002
  var min = Math.min;
7803
8003
 
7804
8004
  var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
@@ -7896,7 +8096,8 @@ const formatPostalCode = value => {
7896
8096
  };
7897
8097
 
7898
8098
  let _ = t => t,
7899
- _t;
8099
+ _t,
8100
+ _t2;
7900
8101
  const HelpContentDiv = styled.div(_t || (_t = _`
7901
8102
  .parent-label {
7902
8103
  font-size: 24px;
@@ -7922,6 +8123,9 @@ const HelpContentDiv = styled.div(_t || (_t = _`
7922
8123
  margin: var(--goa-space-2xs) 0 var(--goa-space-2xs) 0;
7923
8124
  }
7924
8125
  `));
8126
+ const InvalidMarkdown = styled.div(_t2 || (_t2 = _`
8127
+ color: var(--goa-color-interactive-error);
8128
+ `));
7925
8129
 
7926
8130
  const linkLength = 40;
7927
8131
  const invalidExtensions = ['exe'];
@@ -7984,10 +8188,45 @@ const RenderLink = props => {
7984
8188
  };
7985
8189
 
7986
8190
  const HelpContentReviewComponent = () => {
7987
- return jsx(Fragment, {});
8191
+ return jsx(Fragment, {
8192
+ children: " "
8193
+ });
8194
+ };
8195
+ const checkMarkDownIsValid = markdown => {
8196
+ let isValid = true;
8197
+ let error = '';
8198
+ try {
8199
+ compileSync(markdown, {});
8200
+ } catch (err) {
8201
+ if (err instanceof Error) {
8202
+ error = err.message;
8203
+ error = error.slice(0, error.lastIndexOf(`\``) + 1);
8204
+ }
8205
+ isValid = false;
8206
+ }
8207
+ return {
8208
+ isValid,
8209
+ error
8210
+ };
8211
+ };
8212
+ const MarkdownComponent = ({
8213
+ markdown
8214
+ }) => {
8215
+ const response = checkMarkDownIsValid(markdown);
8216
+ if (response.isValid) {
8217
+ const {
8218
+ default: MDXContent
8219
+ } = evaluateSync(markdown, Object.assign(Object.assign({}, runtime), {
8220
+ Fragment: React.Fragment
8221
+ }));
8222
+ return /*#__PURE__*/React.createElement(MDXContent, {});
8223
+ }
8224
+ return jsxs(InvalidMarkdown, {
8225
+ children: ["Help content markdown is invalid: ", response.error, " "]
8226
+ });
7988
8227
  };
7989
8228
  const HelpContentComponent = _a => {
7990
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
8229
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
7991
8230
  var {
7992
8231
  isParent = true,
7993
8232
  showLabel = true
@@ -8002,17 +8241,16 @@ const HelpContentComponent = _a => {
8002
8241
  label
8003
8242
  } = props;
8004
8243
  const link = (_b = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _b === void 0 ? void 0 : _b.link;
8005
- const renderHelp = () => {
8006
- var _a, _b, _c;
8007
- return Array.isArray((_a = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _a === void 0 ? void 0 : _a.help) ? jsx("ul", {
8008
- children: (_b = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _b === void 0 ? void 0 : _b.help.map((line, index) => jsx("li", {
8009
- children: `${line}`
8010
- }, index))
8011
- }) : jsx("p", {
8012
- className: "single-line",
8013
- children: (_c = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _c === void 0 ? void 0 : _c.help
8014
- });
8015
- };
8244
+ const markdown = (_d = (_c = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _c === void 0 ? void 0 : _c.markdown) !== null && _d !== void 0 ? _d : false;
8245
+ const help = (_e = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _e === void 0 ? void 0 : _e.help;
8246
+ const renderHelp = () => Array.isArray(help) ? jsx("ul", {
8247
+ children: help.map((line, index) => jsx("li", {
8248
+ children: `${line}`
8249
+ }, index))
8250
+ }) : jsx("p", {
8251
+ className: "single-line",
8252
+ children: help
8253
+ });
8016
8254
  const renderImage = ({
8017
8255
  height,
8018
8256
  width,
@@ -8027,25 +8265,40 @@ const HelpContentComponent = _a => {
8027
8265
  "aria-label": "help-content-toggle-icon"
8028
8266
  });
8029
8267
  };
8030
- const textVariant = !((_c = uischema.options) === null || _c === void 0 ? void 0 : _c.variant) || ((_d = uischema.options) === null || _d === void 0 ? void 0 : _d.variant) !== 'details' && ((_e = uischema.options) === null || _e === void 0 ? void 0 : _e.variant) !== 'hyperlink';
8268
+ /* istanbul ignore next */
8269
+ const getMarkDownData = helpText => {
8270
+ if (helpText === undefined) return '';
8271
+ if (typeof helpText === 'string') return helpText;
8272
+ if (Array.isArray(helpText)) {
8273
+ const data = helpText.join('\n');
8274
+ return data;
8275
+ }
8276
+ return '';
8277
+ };
8278
+ const textVariant = !((_f = uischema.options) === null || _f === void 0 ? void 0 : _f.variant) || ((_g = uischema.options) === null || _g === void 0 ? void 0 : _g.variant) !== 'details' && ((_h = uischema.options) === null || _h === void 0 ? void 0 : _h.variant) !== 'hyperlink';
8279
+ if (markdown) {
8280
+ return MarkdownComponent({
8281
+ markdown: getMarkDownData((_j = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _j === void 0 ? void 0 : _j.help)
8282
+ });
8283
+ }
8031
8284
  return jsx(Visible, {
8032
8285
  visible: visible,
8033
8286
  children: jsx(HelpContentDiv, {
8034
- "aria-label": (_f = uischema.options) === null || _f === void 0 ? void 0 : _f.ariaLabel,
8287
+ "aria-label": (_k = uischema.options) === null || _k === void 0 ? void 0 : _k.ariaLabel,
8035
8288
  children: jsxs("div", {
8036
8289
  className: marginClass,
8037
- children: [label && showLabel && (!((_g = uischema.options) === null || _g === void 0 ? void 0 : _g.variant) || ((_h = uischema.options) === null || _h === void 0 ? void 0 : _h.variant) === 'hyperlink') && jsxs("div", {
8290
+ children: [label && showLabel && (!((_l = uischema.options) === null || _l === void 0 ? void 0 : _l.variant) || ((_m = uischema.options) === null || _m === void 0 ? void 0 : _m.variant) === 'hyperlink') && jsxs("div", {
8038
8291
  className: labelClass,
8039
8292
  "data-testid": label,
8040
8293
  children: [label, jsx("br", {})]
8041
- }), ((_j = uischema.options) === null || _j === void 0 ? void 0 : _j.variant) && ((_k = uischema.options) === null || _k === void 0 ? void 0 : _k.variant) === 'img' && renderImage(uischema.options), ((_l = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _l === void 0 ? void 0 : _l.variant) && ((_m = uischema.options) === null || _m === void 0 ? void 0 : _m.variant) === 'hyperlink' && link && RenderLink(uischema === null || uischema === void 0 ? void 0 : uischema.options), textVariant && renderHelp(), ((_o = uischema.options) === null || _o === void 0 ? void 0 : _o.variant) && ((_p = uischema.options) === null || _p === void 0 ? void 0 : _p.variant) === 'details' && jsxs(GoADetails, {
8294
+ }), ((_o = uischema.options) === null || _o === void 0 ? void 0 : _o.variant) && ((_p = uischema.options) === null || _p === void 0 ? void 0 : _p.variant) === 'img' && renderImage(uischema.options), ((_q = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _q === void 0 ? void 0 : _q.variant) && ((_r = uischema.options) === null || _r === void 0 ? void 0 : _r.variant) === 'hyperlink' && link && RenderLink(uischema === null || uischema === void 0 ? void 0 : uischema.options), textVariant && renderHelp(), ((_s = uischema.options) === null || _s === void 0 ? void 0 : _s.variant) && ((_t = uischema.options) === null || _t === void 0 ? void 0 : _t.variant) === 'details' && jsxs(GoADetails, {
8042
8295
  heading: label ? label : '',
8043
8296
  mt: "3xs",
8044
8297
  mb: "none",
8045
- children: [renderHelp(), (uischema === null || uischema === void 0 ? void 0 : uischema.elements) && ((_q = uischema === null || uischema === void 0 ? void 0 : uischema.elements) === null || _q === void 0 ? void 0 : _q.length) > 0 && jsx(HelpContents, {
8298
+ children: [renderHelp(), (uischema === null || uischema === void 0 ? void 0 : uischema.elements) && ((_u = uischema === null || uischema === void 0 ? void 0 : uischema.elements) === null || _u === void 0 ? void 0 : _u.length) > 0 && jsx(HelpContents, {
8046
8299
  elements: uischema === null || uischema === void 0 ? void 0 : uischema.elements
8047
8300
  })]
8048
- }), (uischema === null || uischema === void 0 ? void 0 : uischema.elements) && (uischema === null || uischema === void 0 ? void 0 : uischema.elements.length) > 0 && ((_r = uischema.options) === null || _r === void 0 ? void 0 : _r.variant) !== 'details' && jsx(HelpContents, {
8301
+ }), (uischema === null || uischema === void 0 ? void 0 : uischema.elements) && (uischema === null || uischema === void 0 ? void 0 : uischema.elements.length) > 0 && ((_v = uischema.options) === null || _v === void 0 ? void 0 : _v.variant) !== 'details' && jsx(HelpContents, {
8049
8302
  elements: uischema.elements,
8050
8303
  isParent: false
8051
8304
  })]
@@ -8396,7 +8649,7 @@ const AddressViews = ({
8396
8649
  })
8397
8650
  })]
8398
8651
  })]
8399
- }), jsx("br", {}), jsx("br", {})]
8652
+ })]
8400
8653
  });
8401
8654
  };
8402
8655
 
@@ -8414,7 +8667,7 @@ const AddressLookUpControlReview = props => {
8414
8667
  };
8415
8668
 
8416
8669
  const isPropertiesMatch = (obj, props, isExactMatch) => {
8417
- if (isObject$e(obj)) {
8670
+ if (isObject$f(obj)) {
8418
8671
  const keys = Object.keys(obj);
8419
8672
  if (isExactMatch) {
8420
8673
  return props.every(attr => keys.includes(attr)) && keys.length === props.length;
@@ -8429,9 +8682,9 @@ const createSchemaMatchTester = (props, isExactMatch = false) => {
8429
8682
  if (!isControl(uischema) || !isScoped(uischema)) {
8430
8683
  return false;
8431
8684
  }
8432
- if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$e(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8685
+ if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$f(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8433
8686
  const propertyFromScope = uischema['scope'].split('/').pop();
8434
- if (isObject$e(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
8687
+ if (isObject$f(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
8435
8688
  const objToTest = schema.properties[propertyFromScope]['properties'];
8436
8689
  if (objToTest && isPropertiesMatch(objToTest, props, isExactMatch)) {
8437
8690
  return true;
@@ -8607,7 +8860,7 @@ const FullNameControl = props => {
8607
8860
  };
8608
8861
 
8609
8862
  const isFullNameSchema = obj => {
8610
- if (isObject$e(obj)) {
8863
+ if (isObject$f(obj)) {
8611
8864
  const keys = Object.keys(obj);
8612
8865
  return ['firstName', 'middleName', 'lastName'].every(attr => keys.includes(attr)) && keys.length === 3;
8613
8866
  }
@@ -8617,9 +8870,9 @@ const isFullName = (uischema, schema, context) => {
8617
8870
  if (!isControl(uischema) || !isScoped(uischema)) {
8618
8871
  return false;
8619
8872
  }
8620
- if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$e(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8873
+ if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$f(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8621
8874
  const propertyFromScope = uischema['scope'].split('/').pop();
8622
- if (isObject$e(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
8875
+ if (isObject$f(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
8623
8876
  const objToTest = schema.properties[propertyFromScope]['properties'];
8624
8877
  if (objToTest && isFullNameSchema(objToTest)) {
8625
8878
  return true;
@@ -8836,7 +9089,7 @@ const FullNameDobReviewControl = props => {
8836
9089
  };
8837
9090
 
8838
9091
  const isFullNameDoBSchema = obj => {
8839
- if (isObject$e(obj)) {
9092
+ if (isObject$f(obj)) {
8840
9093
  const keys = Object.keys(obj);
8841
9094
  return ['firstName', 'middleName', 'lastName', 'dateOfBirth'].every(attr => keys.includes(attr)) && keys.length === 4;
8842
9095
  }
@@ -8846,9 +9099,9 @@ const isFullNameDoB = (uischema, schema, context) => {
8846
9099
  if (!isControl(uischema) || !isScoped(uischema)) {
8847
9100
  return false;
8848
9101
  }
8849
- if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$e(schema === null || schema === void 0 ? void 0 : schema.properties)) {
9102
+ if ((schema === null || schema === void 0 ? void 0 : schema.properties) && isObject$f(schema === null || schema === void 0 ? void 0 : schema.properties)) {
8850
9103
  const propertyFromScope = uischema['scope'].split('/').pop();
8851
- if (isObject$e(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
9104
+ if (isObject$f(schema.properties[propertyFromScope]) && 'properties' in schema.properties[propertyFromScope]) {
8852
9105
  const objToTest = schema.properties[propertyFromScope]['properties'];
8853
9106
  if (objToTest && isFullNameDoBSchema(objToTest)) {
8854
9107
  return true;
@@ -8941,7 +9194,7 @@ const GoAHorizontalReviewLayoutComponent = ({
8941
9194
  visible,
8942
9195
  width: ((_b = (_a = uischema === null || uischema === void 0 ? void 0 : uischema.options) === null || _a === void 0 ? void 0 : _a.review) === null || _b === void 0 ? void 0 : _b.width) || '30ch'
8943
9196
  };
8944
- return jsx(LayoutRenderer, Object.assign({}, childProps, {
9197
+ return jsx(ReviewLayoutRenderer, Object.assign({}, childProps, {
8945
9198
  renderers: renderers,
8946
9199
  cells: cells
8947
9200
  }));
@@ -9209,9 +9462,9 @@ const createDefaultAjv = (...schemas) => {
9209
9462
  };
9210
9463
 
9211
9464
  var aCallable$4 = aCallable$9;
9212
- var toObject = toObject$7;
9465
+ var toObject = toObject$8;
9213
9466
  var IndexedObject = indexedObject;
9214
- var lengthOfArrayLike = lengthOfArrayLike$5;
9467
+ var lengthOfArrayLike = lengthOfArrayLike$7;
9215
9468
 
9216
9469
  var $TypeError$4 = TypeError;
9217
9470
 
@@ -9254,20 +9507,20 @@ var arrayReduce = {
9254
9507
  right: createMethod(true)
9255
9508
  };
9256
9509
 
9257
- var fails$2 = fails$r;
9510
+ var fails$1 = fails$r;
9258
9511
 
9259
9512
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
9260
9513
  var method = [][METHOD_NAME];
9261
- return !!method && fails$2(function () {
9514
+ return !!method && fails$1(function () {
9262
9515
  // eslint-disable-next-line no-useless-call -- required for testing
9263
9516
  method.call(null, argument || function () { return 1; }, 1);
9264
9517
  });
9265
9518
  };
9266
9519
 
9267
9520
  var global$7 = global$o;
9268
- var classof$1 = classofRaw$2;
9521
+ var classof = classofRaw$2;
9269
9522
 
9270
- var engineIsNode = classof$1(global$7.process) === 'process';
9523
+ var engineIsNode = classof(global$7.process) === 'process';
9271
9524
 
9272
9525
  var $$6 = _export;
9273
9526
  var $reduce = arrayReduce.left;
@@ -9298,59 +9551,7 @@ var anInstance$1 = function (it, Prototype) {
9298
9551
  throw new $TypeError$3('Incorrect invocation');
9299
9552
  };
9300
9553
 
9301
- var uncurryThis = functionUncurryThis;
9302
- var fails$1 = fails$r;
9303
- var isCallable$4 = isCallable$q;
9304
- var classof = classof$9;
9305
- var getBuiltIn$2 = getBuiltIn$9;
9306
- var inspectSource$1 = inspectSource$3;
9307
-
9308
- var noop = function () { /* empty */ };
9309
- var construct = getBuiltIn$2('Reflect', 'construct');
9310
- var constructorRegExp = /^\s*(?:class|function)\b/;
9311
- var exec = uncurryThis(constructorRegExp.exec);
9312
- var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
9313
-
9314
- var isConstructorModern = function isConstructor(argument) {
9315
- if (!isCallable$4(argument)) return false;
9316
- try {
9317
- construct(noop, [], argument);
9318
- return true;
9319
- } catch (error) {
9320
- return false;
9321
- }
9322
- };
9323
-
9324
- var isConstructorLegacy = function isConstructor(argument) {
9325
- if (!isCallable$4(argument)) return false;
9326
- switch (classof(argument)) {
9327
- case 'AsyncFunction':
9328
- case 'GeneratorFunction':
9329
- case 'AsyncGeneratorFunction': return false;
9330
- }
9331
- try {
9332
- // we can't check .prototype since constructors produced by .bind haven't it
9333
- // `Function#toString` throws on some built-it function in some legacy engines
9334
- // (for example, `DOMQuad` and similar in FF41-)
9335
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource$1(argument));
9336
- } catch (error) {
9337
- return true;
9338
- }
9339
- };
9340
-
9341
- isConstructorLegacy.sham = true;
9342
-
9343
- // `IsConstructor` abstract operation
9344
- // https://tc39.es/ecma262/#sec-isconstructor
9345
- var isConstructor$1 = !construct || fails$1(function () {
9346
- var called;
9347
- return isConstructorModern(isConstructorModern.call)
9348
- || !isConstructorModern(Object)
9349
- || !isConstructorModern(function () { called = true; })
9350
- || called;
9351
- }) ? isConstructorLegacy : isConstructorModern;
9352
-
9353
- var isConstructor = isConstructor$1;
9554
+ var isConstructor = isConstructor$2;
9354
9555
  var tryToString = tryToString$4;
9355
9556
 
9356
9557
  var $TypeError$2 = TypeError;
@@ -9364,7 +9565,7 @@ var aConstructor$1 = function (argument) {
9364
9565
  var anObject$1 = anObject$f;
9365
9566
  var aConstructor = aConstructor$1;
9366
9567
  var isNullOrUndefined = isNullOrUndefined$6;
9367
- var wellKnownSymbol$2 = wellKnownSymbol$j;
9568
+ var wellKnownSymbol$2 = wellKnownSymbol$k;
9368
9569
 
9369
9570
  var SPECIES$1 = wellKnownSymbol$2('species');
9370
9571
 
@@ -9664,7 +9865,7 @@ var NativePromiseConstructor$3 = promiseNativeConstructor;
9664
9865
  var isCallable$2 = isCallable$q;
9665
9866
  var isForced = isForced_1;
9666
9867
  var inspectSource = inspectSource$3;
9667
- var wellKnownSymbol$1 = wellKnownSymbol$j;
9868
+ var wellKnownSymbol$1 = wellKnownSymbol$k;
9668
9869
  var IS_BROWSER = engineIsBrowser;
9669
9870
  var IS_DENO = engineIsDeno;
9670
9871
  var V8_VERSION = engineV8Version;
@@ -9737,7 +9938,7 @@ var setToStringTag = setToStringTag$4;
9737
9938
  var setSpecies = setSpecies$2;
9738
9939
  var aCallable$2 = aCallable$9;
9739
9940
  var isCallable$1 = isCallable$q;
9740
- var isObject$1 = isObject$d;
9941
+ var isObject$1 = isObject$e;
9741
9942
  var anInstance = anInstance$1;
9742
9943
  var speciesConstructor = speciesConstructor$1;
9743
9944
  var task = task$1.set;
@@ -10014,7 +10215,7 @@ $$5({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTR
10014
10215
  setToStringTag(PromiseConstructor, PROMISE, false);
10015
10216
  setSpecies(PROMISE);
10016
10217
 
10017
- var wellKnownSymbol = wellKnownSymbol$j;
10218
+ var wellKnownSymbol = wellKnownSymbol$k;
10018
10219
 
10019
10220
  var ITERATOR = wellKnownSymbol('iterator');
10020
10221
  var SAFE_CLOSING = false;
@@ -10169,7 +10370,7 @@ $$1({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR$1 }, {
10169
10370
  });
10170
10371
 
10171
10372
  var anObject = anObject$f;
10172
- var isObject = isObject$d;
10373
+ var isObject = isObject$e;
10173
10374
  var newPromiseCapability = newPromiseCapability$2;
10174
10375
 
10175
10376
  var promiseResolve$1 = function (C, x) {
@@ -10375,7 +10576,7 @@ const GoABaseReviewRenderers = [
10375
10576
  }];
10376
10577
  const GoAReviewRenderers = [...GoABaseReviewRenderers, {
10377
10578
  tester: CategorizationRendererTester,
10378
- renderer: FormStepperReviewer
10579
+ renderer: FormStepperReviewControl
10379
10580
  }, {
10380
10581
  tester: FileUploaderTester,
10381
10582
  renderer: withJsonFormsControlProps(FileUploaderReview)
@@ -10407,4 +10608,4 @@ const GoARenderers = [...GoABaseRenderers, {
10407
10608
  }];
10408
10609
  const GoACells = [...InputCells];
10409
10610
 
10410
- export { ADD_DATALIST_ACTION, ADD_NO_ANONYMOUS_ACTION, ADD_REGISTER_DATA_ACTION, ADD_REGISTER_DATA_ERROR, AddressLookUpControl, AddressLookUpControlReview, AddressLookUpTester, ArrayControl, ArrayControlBase, ArrayControlReview, BooleanComponent, BooleanControl, BooleanRadioComponent, BooleanRadioControl, CategorizationRendererTester, CheckboxGroup, ContextProviderC, ContextProviderClass, ContextProviderFactory, EnumCheckboxControl, EnumRadioControl, EnumSelect, FileUploader, FileUploaderReview, FileUploaderTester, FormStepper, FormStepperControl, FormStepperReviewer, FullNameControl, FullNameDobControl, FullNameDobReviewControl, FullNameDobTester, FullNameReviewControl, FullNameTester, GoAArrayControlRenderer, GoAArrayControlReviewRenderer, GoAArrayControlTester, GoABaseInputReviewComponent, GoABaseRenderers, GoABaseReviewRenderers, GoABooleanControl, GoABooleanControlTester, GoABooleanRadioControl, GoABooleanRadioControlTester, GoACells, GoACheckoutGroupControlTester, GoADateControl, GoADateControlTester, GoADateInput, GoADateTimeControl, GoADateTimeControlTester, GoADateTimeInput, GoAEnumCheckboxGroupControl, GoAEnumControl, GoAEnumControlTester, GoAEnumRadioGroupControl, GoAInputBaseControl, GoAInputDateControl, GoAInputDateTimeControl, GoAInputInteger, GoAInputIntegerControl, GoAInputNumberControl, GoAInputText, GoAInputTextControl, GoAInputTimeControl, GoAIntegerControl, GoAIntegerControlTester, GoAListWithDetailsControlRenderer, GoAListWithDetailsTester, GoANumberControl, GoANumberControlTester, GoANumberInput, GoARadioGroupControlTester, GoARenderers, GoAReviewRenderers, GoATextControl, GoATextControlTester, GoATimeControl, GoATimeControlTester, GoATimeInput, GoInputBaseReview, GoInputBaseReviewControl, JsonFormContext, JsonFormRegisterProvider, JsonFormsRegisterContext, ListWithDetailsControl, MultiLineText, MultiLineTextControl, MultiLineTextControlInput, MultiLineTextControlTester, RadioGroup, createDefaultAjv, enumControl, errMalformedDate, formatSin, isAddressLookup, isFullName, isFullNameDoB, registerReducer, resolveRefs, tryResolveRefs };
10611
+ export { ADD_DATALIST_ACTION, ADD_NO_ANONYMOUS_ACTION, ADD_REGISTER_DATA_ACTION, ADD_REGISTER_DATA_ERROR, AddressLookUpControl, AddressLookUpControlReview, AddressLookUpTester, ArrayControl, ArrayControlBase, ArrayControlReview, BooleanComponent, BooleanControl, BooleanRadioComponent, BooleanRadioControl, CategorizationRendererTester, CheckboxGroup, ContextProviderC, ContextProviderClass, ContextProviderFactory, EnumCheckboxControl, EnumRadioControl, EnumSelect, FileUploader, FileUploaderReview, FileUploaderTester, FormStepper, FormStepperControl, FormStepperReviewControl, FormStepperReviewer, FormStepperView, FullNameControl, FullNameDobControl, FullNameDobReviewControl, FullNameDobTester, FullNameReviewControl, FullNameTester, GoAArrayControlRenderer, GoAArrayControlReviewRenderer, GoAArrayControlTester, GoABaseInputReviewComponent, GoABaseRenderers, GoABaseReviewRenderers, GoABooleanControl, GoABooleanControlTester, GoABooleanRadioControl, GoABooleanRadioControlTester, GoACells, GoACheckoutGroupControlTester, GoADateControl, GoADateControlTester, GoADateInput, GoADateTimeControl, GoADateTimeControlTester, GoADateTimeInput, GoAEnumCheckboxGroupControl, GoAEnumControl, GoAEnumControlTester, GoAEnumRadioGroupControl, GoAInputBaseControl, GoAInputDateControl, GoAInputDateTimeControl, GoAInputInteger, GoAInputIntegerControl, GoAInputNumberControl, GoAInputText, GoAInputTextControl, GoAInputTimeControl, GoAIntegerControl, GoAIntegerControlTester, GoAListWithDetailsControlRenderer, GoAListWithDetailsTester, GoANumberControl, GoANumberControlTester, GoANumberInput, GoARadioGroupControlTester, GoARenderers, GoAReviewRenderers, GoATextControl, GoATextControlTester, GoATimeControl, GoATimeControlTester, GoATimeInput, GoInputBaseReview, GoInputBaseReviewControl, JsonFormContext, JsonFormRegisterProvider, JsonFormsRegisterContext, ListWithDetailsControl, MultiLineText, MultiLineTextControl, MultiLineTextControlInput, MultiLineTextControlTester, RadioGroup, createDefaultAjv, enumControl, errMalformedDate, formatSin, isAddressLookup, isFullName, isFullNameDoB, registerReducer, resolveRefs, tryResolveRefs };