@react-typed-forms/schemas 14.4.1 → 15.0.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/lib/index.js CHANGED
@@ -4,25 +4,6 @@ import clsx from 'clsx';
4
4
  import jsonata from 'jsonata';
5
5
  import { v4 } from 'uuid';
6
6
 
7
- function _extends() {
8
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
9
- for (var e = 1; e < arguments.length; e++) {
10
- var t = arguments[e];
11
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
12
- }
13
- return n;
14
- }, _extends.apply(null, arguments);
15
- }
16
- function _objectWithoutPropertiesLoose(r, e) {
17
- if (null == r) return {};
18
- var t = {};
19
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
20
- if (e.includes(n)) continue;
21
- t[n] = r[n];
22
- }
23
- return t;
24
- }
25
-
26
7
  /**
27
8
  * Enum representing the various field types.
28
9
  */
@@ -401,61 +382,78 @@ function isCheckEntryClasses(options) {
401
382
  return false;
402
383
  }
403
384
  }
404
- function defaultGetChildNodes(parent, children) {
405
- var _children$map;
406
- return (_children$map = children == null ? void 0 : children.map((x, i) => nodeForControl(x, parent.tree, i, parent))) != null ? _children$map : [];
385
+ class FormNodeImpl {
386
+ constructor(id, definition, tree, parent) {
387
+ this.id = void 0;
388
+ this.definition = void 0;
389
+ this.tree = void 0;
390
+ this.parent = void 0;
391
+ this.children = [];
392
+ this.id = id;
393
+ this.definition = definition;
394
+ this.tree = tree;
395
+ this.parent = parent;
396
+ }
397
+ getChildNodes() {
398
+ return this.children;
399
+ }
407
400
  }
408
- function wrapFormNode(node, getChildren) {
409
- return _extends({}, node, {
410
- getChildNodes: getChildren != null ? getChildren : dfr => node.getChildNodes(dfr)
411
- });
401
+ class FormTree {
402
+ createTempNode(id, definition, children, parent) {
403
+ const tempNode = {
404
+ id,
405
+ definition,
406
+ tree: this,
407
+ parent,
408
+ getChildNodes: () => children != null ? children : this.createChildNodes(tempNode, definition.children)
409
+ };
410
+ return tempNode;
411
+ }
412
+ createChildNodes(parent, definitions) {
413
+ var _definitions$map;
414
+ return (_definitions$map = definitions == null ? void 0 : definitions.map((x, i) => this.createTempNode(parent.id + "_" + i, x, undefined, parent))) != null ? _definitions$map : [];
415
+ }
412
416
  }
413
- function nodeForControl(definition, tree, indexOrId, parent) {
414
- return {
415
- id: parent ? parent.id + "/" + indexOrId : "",
416
- definition,
417
- tree,
418
- parent,
419
- getChildNodes(dontFollowRef) {
420
- let children = this.definition.children;
421
- if (!dontFollowRef && this.definition.childRefId) {
422
- return this.tree.getChildrenForId(this.definition.childRefId, this);
423
- }
424
- return defaultGetChildNodes(this, children);
425
- }
426
- };
417
+ class FormTreeImpl extends FormTree {
418
+ constructor(forms) {
419
+ super();
420
+ this.forms = void 0;
421
+ this.controlMap = {};
422
+ this.rootNode = void 0;
423
+ this.idCount = 1;
424
+ this.forms = forms;
425
+ this.rootNode = new FormNodeImpl("", {
426
+ type: "Group"
427
+ }, this);
428
+ }
429
+ getByRefId(id) {
430
+ return this.controlMap[id];
431
+ }
432
+ register(node) {
433
+ this.controlMap[node.id] = node;
434
+ node.getChildNodes().forEach(x => this.register(x));
435
+ }
436
+ addChild(parent, control) {
437
+ var _control$children;
438
+ const node = new FormNodeImpl(control.id ? control.id : "c" + this.idCount++, control, this, parent);
439
+ (_control$children = control.children) == null || _control$children.forEach(x => this.addChild(node, x));
440
+ parent.getChildNodes().push(node);
441
+ this.register(node);
442
+ return node;
443
+ }
444
+ getForm(formId) {
445
+ return this.forms.getForm(formId);
446
+ }
427
447
  }
428
448
  function legacyFormNode(definition) {
429
- return createFormLookup({
430
- $legacy: [definition]
431
- }).getForm("$legacy").rootNode.getChildNodes()[0];
432
- }
433
- function getControlIds(definition) {
434
- var _definition$children$, _definition$children;
435
- const childEntries = (_definition$children$ = (_definition$children = definition.children) == null ? void 0 : _definition$children.flatMap(getControlIds)) != null ? _definition$children$ : [];
436
- return !definition.id ? childEntries : [[definition.id, definition], ...childEntries];
437
- }
438
- function createFormTreeWithRoot(createRootNode, getChildrenForId, getForm = {
439
- getForm: () => undefined
440
- }) {
441
- const tree = _extends({}, getForm, {
442
- getChildrenForId,
443
- rootNode: undefined
444
- });
445
- tree.rootNode = createRootNode(tree);
446
- return tree;
449
+ return createFormTree([definition]).rootNode.getChildNodes()[0];
447
450
  }
448
451
  function createFormTree(controls, getForm = {
449
452
  getForm: () => undefined
450
453
  }) {
451
- const controlMap = Object.fromEntries(controls.flatMap(getControlIds));
452
- return createFormTreeWithRoot(tree => nodeForControl({
453
- children: controls,
454
- type: ControlDefinitionType.Group
455
- }, tree), (id, parent) => {
456
- var _controlMap$id$childr, _controlMap$id;
457
- return (_controlMap$id$childr = (_controlMap$id = controlMap[id]) == null || (_controlMap$id = _controlMap$id.children) == null ? void 0 : _controlMap$id.map((x, i) => nodeForControl(x, parent.tree, i, parent))) != null ? _controlMap$id$childr : [];
458
- }, getForm);
454
+ const tree = new FormTreeImpl(getForm);
455
+ controls.forEach(x => tree.addChild(tree.rootNode, x));
456
+ return tree;
459
457
  }
460
458
  function createFormLookup(formMap) {
461
459
  const lookup = {
@@ -542,6 +540,25 @@ function visitFormDataInContext(parentContext, node, cb) {
542
540
  return visitFormData(node, dataNode != null ? dataNode : parentContext, cb, !dataNode);
543
541
  }
544
542
 
543
+ function _extends() {
544
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
545
+ for (var e = 1; e < arguments.length; e++) {
546
+ var t = arguments[e];
547
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
548
+ }
549
+ return n;
550
+ }, _extends.apply(null, arguments);
551
+ }
552
+ function _objectWithoutPropertiesLoose(r, e) {
553
+ if (null == r) return {};
554
+ var t = {};
555
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
556
+ if (e.includes(n)) continue;
557
+ t[n] = r[n];
558
+ }
559
+ return t;
560
+ }
561
+
545
562
  function buildSchema(def) {
546
563
  return Object.entries(def).map(x => x[1](x[0]));
547
564
  }
@@ -862,59 +879,101 @@ function findNonDataGroups(controls) {
862
879
  * Adds missing controls to the provided control definitions based on the schema fields.
863
880
  * @param fields - The schema fields to use for adding missing controls.
864
881
  * @param controls - The control definitions to add missing controls to.
882
+ * @param warning - An optional function to call with warning messages.
865
883
  * @returns The control definitions with missing controls added.
866
884
  */
867
- function addMissingControls(fields, controls) {
868
- return addMissingControlsForSchema(rootSchemaNode(fields), controls);
885
+ function addMissingControls(fields, controls, warning) {
886
+ return addMissingControlsForSchema(rootSchemaNode(fields), controls, warning);
887
+ }
888
+ function registerSchemaEntries(formNode, parentSchema) {
889
+ const formToSchema = {};
890
+ const schemaToForm = {};
891
+ function register(node, parentSchema) {
892
+ const c = node.definition;
893
+ const controlPath = fieldPathForDefinition(c);
894
+ let dataSchema = controlPath ? schemaForFieldPath(controlPath, parentSchema) : undefined;
895
+ if (isGroupControl(c) && dataSchema == null) dataSchema = parentSchema;
896
+ if (dataSchema) {
897
+ var _schemaToForm$dataSch;
898
+ formToSchema[node.id] = dataSchema;
899
+ const formNodes = (_schemaToForm$dataSch = schemaToForm[dataSchema.id]) != null ? _schemaToForm$dataSch : [];
900
+ formNodes.push(node);
901
+ schemaToForm[dataSchema.id] = formNodes;
902
+ }
903
+ node.getChildNodes().forEach(x => {
904
+ var _dataSchema;
905
+ return register(x, (_dataSchema = dataSchema) != null ? _dataSchema : parentSchema);
906
+ });
907
+ }
908
+ register(formNode, parentSchema);
909
+ return {
910
+ formToSchema,
911
+ schemaToForm,
912
+ register
913
+ };
869
914
  }
870
915
  /**
871
916
  * Adds missing controls to the provided control definitions based on the schema fields.
872
917
  * @param schema - The root schema node to use for adding missing controls.
873
918
  * @param controls - The control definitions to add missing controls to.
919
+ * @param warning - An optional function to call with warning messages.
874
920
  * @returns The control definitions with missing controls added.
875
921
  */
876
- function addMissingControlsForSchema(schema, controls) {
877
- const controlMap = {};
878
- const schemaControlMap = {};
879
- const rootControls = controls.map(c => toControlAndSchema(c, schema));
880
- const rootSchema = {
881
- schema,
882
- children: rootControls
883
- };
884
- addSchemaMapEntry("", rootSchema);
885
- rootControls.forEach(addReferences);
886
- const fields = schema.getChildNodes();
887
- fields.forEach(addMissing);
888
- return rootControls.map(toDefinition);
922
+ function addMissingControlsForSchema(schema, controls, warning) {
923
+ var _toDefinition$childre;
924
+ const tree = createFormTree(controls);
925
+ addMissingControlsToForm(schema, tree, warning);
926
+ return (_toDefinition$childre = toDefinition(tree.rootNode).children) != null ? _toDefinition$childre : [];
889
927
  function toDefinition(c) {
890
- const children = c.children.length ? c.children.map(toDefinition) : null;
891
- return _extends({}, c.control, {
928
+ const children = c.getChildNodes().length ? c.getChildNodes().map(toDefinition) : null;
929
+ return _extends({}, c.definition, {
892
930
  children
893
931
  });
894
932
  }
933
+ }
934
+ /**
935
+ * Adds missing controls to the provided form tree based on the schema fields.
936
+ * @param schema - The root schema node to use for adding missing controls.
937
+ * @param tree - The form tree to add missing controls to.
938
+ * @param warning - An optional function to call with warning messages.
939
+ */
940
+ function addMissingControlsToForm(schema, tree, warning) {
941
+ const {
942
+ formToSchema,
943
+ schemaToForm,
944
+ register
945
+ } = registerSchemaEntries(tree.rootNode, schema);
946
+ schema.getChildNodes().forEach(addMissing);
947
+ return;
895
948
  function addMissing(schemaNode) {
896
949
  if (fieldHasTag(schemaNode.field, SchemaTags.NoControl)) return;
897
- const existingControls = schemaControlMap[schemaNode.id];
950
+ let skipChildren = false;
951
+ const existingControls = schemaToForm[schemaNode.id];
898
952
  if (!existingControls) {
899
953
  const eligibleParents = getEligibleParents(schemaNode);
900
954
  const desiredGroup = getTagParam(schemaNode.field, SchemaTags.ControlGroup);
901
- let parentGroup = desiredGroup ? controlMap[desiredGroup] : undefined;
902
- if (!parentGroup && desiredGroup) console.warn("No group '" + desiredGroup + "' for " + schemaNode.id);
903
- if (parentGroup && eligibleParents.indexOf(parentGroup.schema.id) < 0) {
904
- console.warn(`Target group '${desiredGroup}' is not an eligible parent for '${schemaNode.id}'`);
955
+ let parentGroup = desiredGroup ? tree.getByRefId(desiredGroup) : undefined;
956
+ if (!parentGroup && desiredGroup) warning == null || warning("No group '" + desiredGroup + "' for " + schemaNode.id);
957
+ if (parentGroup && eligibleParents.indexOf(formToSchema[parentGroup.id].id) < 0) {
958
+ warning == null || warning(`Target group '${desiredGroup}' is not an eligible parent for '${schemaNode.id}'`);
905
959
  parentGroup = undefined;
906
960
  }
907
961
  if (!parentGroup && eligibleParents.length) {
908
- var _schemaControlMap$eli;
909
- parentGroup = (_schemaControlMap$eli = schemaControlMap[eligibleParents[0]]) == null ? void 0 : _schemaControlMap$eli[0];
962
+ var _schemaToForm$eligibl;
963
+ parentGroup = (_schemaToForm$eligibl = schemaToForm[eligibleParents[0]]) == null ? void 0 : _schemaToForm$eligibl[0];
910
964
  }
911
965
  if (parentGroup) {
912
966
  const newControl = defaultControlForField(schemaNode.field, true);
913
- newControl.field = relativePath(parentGroup.schema, schemaNode);
914
- parentGroup.children.push(toControlAndSchema(newControl, parentGroup.schema, parentGroup));
915
- } else console.warn("Could not find a parent group for: " + schemaNode.id);
967
+ skipChildren = !!newControl.childRefId;
968
+ const parentSchemaNode = formToSchema[parentGroup.id];
969
+ newControl.field = relativePath(parentSchemaNode, schemaNode);
970
+ const newNode = tree.addChild(parentGroup, newControl);
971
+ register(newNode, parentSchemaNode);
972
+ } else warning == null || warning("Could not find a parent group for: " + schemaNode.id);
973
+ } else {
974
+ skipChildren = existingControls.some(x => x.definition.childRefId);
916
975
  }
917
- schemaNode.getChildNodes(true).forEach(addMissing);
976
+ if (!skipChildren) schemaNode.getChildNodes(true).forEach(addMissing);
918
977
  }
919
978
  function getEligibleParents(schemaNode) {
920
979
  const eligibleParents = [];
@@ -933,42 +992,6 @@ function addMissingControlsForSchema(schema, controls) {
933
992
  }
934
993
  }
935
994
  }
936
- function addReferences(c) {
937
- c.children.forEach(addReferences);
938
- if (c.control.childRefId) {
939
- const ref = controlMap[c.control.childRefId];
940
- if (ref) {
941
- ref.children.forEach(x => toControlAndSchema(x.control, c.schema, c, true));
942
- return;
943
- }
944
- console.warn("Missing reference", c.control.childRefId);
945
- }
946
- }
947
- function addSchemaMapEntry(schemaId, entry) {
948
- if (!schemaControlMap[schemaId]) schemaControlMap[schemaId] = [];
949
- schemaControlMap[schemaId].push(entry);
950
- }
951
- function toControlAndSchema(c, parentSchema, parentNode, dontRegister) {
952
- var _c$children$map, _c$children;
953
- const controlPath = fieldPathForDefinition(c);
954
- let dataSchema = controlPath ? schemaForFieldPath(controlPath, parentSchema) : undefined;
955
- if (isGroupControl(c) && dataSchema == null) dataSchema = parentSchema;
956
- const entry = {
957
- schema: dataSchema,
958
- control: c,
959
- children: [],
960
- parent: parentNode
961
- };
962
- entry.children = (_c$children$map = (_c$children = c.children) == null ? void 0 : _c$children.map(x => {
963
- var _dataSchema;
964
- return toControlAndSchema(x, (_dataSchema = dataSchema) != null ? _dataSchema : parentSchema, entry, dontRegister);
965
- })) != null ? _c$children$map : [];
966
- if (!dontRegister && c.id) controlMap[c.id] = entry;
967
- if (dataSchema) {
968
- addSchemaMapEntry(dataSchema.id, entry);
969
- }
970
- return entry;
971
- }
972
995
  }
973
996
  /**
974
997
  * Custom hook to use an updated reference.
@@ -1053,8 +1076,8 @@ function cleanDataForSchema(v, fields, removeIfDefault) {
1053
1076
  * @returns An array of referenced classes.
1054
1077
  */
1055
1078
  function getAllReferencedClasses(c, collectExtra) {
1056
- var _c$children2, _collectExtra;
1057
- const childClasses = (_c$children2 = c.children) == null ? void 0 : _c$children2.flatMap(x => getAllReferencedClasses(x, collectExtra));
1079
+ var _c$children, _collectExtra;
1080
+ const childClasses = (_c$children = c.children) == null ? void 0 : _c$children.flatMap(x => getAllReferencedClasses(x, collectExtra));
1058
1081
  const go = getGroupClassOverrides(c);
1059
1082
  const {
1060
1083
  entryWrapperClass,
@@ -1631,6 +1654,9 @@ function toDepString(x) {
1631
1654
  return x.toString();
1632
1655
  }
1633
1656
 
1657
+ function optionalHook(expr, useHook, coerce) {
1658
+ return expr && expr.type ? useHook(expr, coerce) : undefined;
1659
+ }
1634
1660
  function useEvalVisibilityHook(useEvalExpressionHook, definition, overrideDataNode) {
1635
1661
  const dynamicVisibility = useEvalDynamicBoolHook(definition, DynamicPropertyType.Visible, useEvalExpressionHook);
1636
1662
  return makeDynamicPropertyHook(dynamicVisibility, (ctx, {
@@ -2172,10 +2198,11 @@ function useControlRendererComponent(controlOrFormNode, renderer, options = {},
2172
2198
  dataNode,
2173
2199
  formNode
2174
2200
  });
2201
+ if (formNode == null) debugger;
2175
2202
  const Component = useCallback(() => {
2176
2203
  const stopTracking = useComponentTracking();
2177
2204
  try {
2178
- var _options$formData, _dataNode, _definition$adornment2, _definition$adornment3, _options$adjustLayout;
2205
+ var _options$formData, _dataNode, _definition$adornment2, _definition$adornment3, _formNode$tree$getByR, _options$adjustLayout;
2179
2206
  const {
2180
2207
  definition: c,
2181
2208
  options,
@@ -2261,8 +2288,9 @@ function useControlRendererComponent(controlOrFormNode, renderer, options = {},
2261
2288
  useExpr,
2262
2289
  formOptions: myOptions
2263
2290
  }))) != null ? _definition$adornment2 : [];
2291
+ const otherChildNodes = definition.childRefId && ((_formNode$tree$getByR = formNode.tree.getByRefId(definition.childRefId)) == null ? void 0 : _formNode$tree$getByR.getChildNodes());
2264
2292
  const labelAndChildren = renderControlLayout({
2265
- formNode,
2293
+ formNode: otherChildNodes ? formNode.tree.createTempNode(formNode.id, definition, otherChildNodes) : formNode,
2266
2294
  definition: c,
2267
2295
  renderer,
2268
2296
  renderChild: (k, child, options) => {
@@ -2885,5 +2913,5 @@ function isArrayRegistration(x) {
2885
2913
  return x.type === "array";
2886
2914
  }
2887
2915
 
2888
- export { AdornmentPlacement, AppendAdornmentPriority, ControlAdornmentType, ControlDefinitionType, ControlRenderer, DataRenderType, DateComparison, DefaultSchemaInterface, DisplayDataType, DynamicPropertyType, ExpressionType, FieldType, GroupRenderType, LabelType, NewControlRenderer, SchemaTags, SyncTextType, ValidationMessageType, ValidatorType, WrapAdornmentPriority, accordionOptions, actionControl, actionHandlers, addFieldOption, addMissingControls, addMissingControlsForSchema, adornmentOptions, appendMarkup, appendMarkupAt, applyArrayLengthRestrictions, applyDefaultForField, applyDefaultValues, applyExtensionToSchema, applyExtensionsToSchema, applyLengthRestrictions, applyValues, autocompleteOptions, boolField, buildSchema, checkListOptions, cleanDataForSchema, coerceToString, collectDifferences, compoundControl, compoundField, controlTitle, createAction, createActionRenderer, createAdornmentRenderer, createArrayActions, createArrayRenderer, createDataRenderer, createDisplayRenderer, createFormLookup, createFormRenderer, createFormTree, createFormTreeWithRoot, createGroupRenderer, createLabelRenderer, createLayoutRenderer, createSchemaLookup, createVisibilityRenderer, dataControl, dateField, dateTimeField, dateValidatorOptions, defaultCompoundField, defaultControlForField, defaultDataProps, defaultEvalHooks, defaultGetChildNodes, defaultScalarField, defaultSchemaInterface, defaultUseEvalExpressionHook, defaultValueForField, defaultValueForFields, displayOnlyOptions, doubleField, dynamicDefaultValue, dynamicDisabled, dynamicReadonly, dynamicVisibility, elementValueForField, emptyGroupDefinition, fieldDisplayName, fieldEqExpr, fieldExpr, fieldHasTag, fieldOptionAdornment, fieldPathForDefinition, findChildDefinition, findCompoundField, findControlsForCompound, findField, findFieldPath, findNonDataGroups, findScalarField, getAllReferencedClasses, getAllValues, getDiffObject, getDisplayOnlyOptions, getExternalEditData, getGroupClassOverrides, getGroupRendererOptions, getIsEditing, getJsonPath, getLastDefinedValue, getLengthRestrictions, getNullToggler, getOverrideClass, getRootDataNode, getSchemaFieldList, getSchemaNodePath, getSchemaPath, getTagParam, groupedControl, hasOptions, hideDisplayOnly, htmlDisplayControl, intField, isAccordionAdornment, isActionControl, isArrayRenderer, isAutoCompleteClasses, isAutocompleteRenderer, isCheckEntryClasses, isCompoundField, isCompoundNode, isControlDisabled, isControlDisplayOnly, isControlReadonly, isDataControl, isDataGroupRenderer, isDateTimeRenderer, isDisplayControl, isDisplayOnlyRenderer, isFlexRenderer, isGridRenderer, isGroupControl, isIconAdornment, isOptionalAdornment, isScalarField, isSelectChildRenderer, isSetFieldAdornment, isTabsRenderer, isTextfieldRenderer, jsonPathString, jsonataExpr, jsonataOptions, jsonataValidatorOptions, layoutKeyForPlacement, legacyFormNode, lengthValidatorOptions, lookupDataNode, makeCompoundField, makeEvalExpressionHook, makeHook, makeHookDepString, makeParamTag, makeScalarField, makeSchemaDataNode, matchesType, mergeField, mergeFields, mergeObjects, nodeForControl, radioButtonOptions, relativePath, renderControlLayout, renderLayoutParts, renderOptionsFor, rendererClass, resolveSchemas, rootSchemaNode, schemaDataForFieldPath, schemaDataForFieldRef, schemaForFieldPath, schemaForFieldRef, stringField, stringOptionsField, textDisplayControl, textfieldOptions, timeField, toDepString, traverseData, traverseParents, traverseSchemaPath, useControlDefinitionForSchema, useControlRenderer, useControlRendererComponent, useDateValidator, useDynamicHooks, useEvalActionHook, useEvalAllowedOptionsHook, useEvalDefaultValueHook, useEvalDisabledHook, useEvalDisplayHook, useEvalDynamicBoolHook, useEvalDynamicHook, useEvalLabelText, useEvalReadonlyHook, useEvalStyleHook, useEvalVisibilityHook, useJsonataExpression, useJsonataValidator, useLengthValidator, useMakeValidationHook, useUpdatedRef, useUuidExpression, validationVisitor, validatorOptions, visitControlData, visitControlDataArray, visitControlDefinition, visitFormData, visitFormDataInContext, withScalarOptions, wrapFormNode, wrapLayout, wrapMarkup, wrapMarkupAt };
2916
+ export { AdornmentPlacement, AppendAdornmentPriority, ControlAdornmentType, ControlDefinitionType, ControlRenderer, DataRenderType, DateComparison, DefaultSchemaInterface, DisplayDataType, DynamicPropertyType, ExpressionType, FieldType, FormTree, GroupRenderType, LabelType, NewControlRenderer, SchemaTags, SyncTextType, ValidationMessageType, ValidatorType, WrapAdornmentPriority, accordionOptions, actionControl, actionHandlers, addFieldOption, addMissingControls, addMissingControlsForSchema, addMissingControlsToForm, adornmentOptions, appendMarkup, appendMarkupAt, applyArrayLengthRestrictions, applyDefaultForField, applyDefaultValues, applyExtensionToSchema, applyExtensionsToSchema, applyLengthRestrictions, applyValues, autocompleteOptions, boolField, buildSchema, checkListOptions, cleanDataForSchema, coerceToString, collectDifferences, compoundControl, compoundField, controlTitle, createAction, createActionRenderer, createAdornmentRenderer, createArrayActions, createArrayRenderer, createDataRenderer, createDisplayRenderer, createFormLookup, createFormRenderer, createFormTree, createGroupRenderer, createLabelRenderer, createLayoutRenderer, createSchemaLookup, createVisibilityRenderer, dataControl, dateField, dateTimeField, dateValidatorOptions, defaultCompoundField, defaultControlForField, defaultDataProps, defaultEvalHooks, defaultScalarField, defaultSchemaInterface, defaultUseEvalExpressionHook, defaultValueForField, defaultValueForFields, displayOnlyOptions, doubleField, dynamicDefaultValue, dynamicDisabled, dynamicReadonly, dynamicVisibility, elementValueForField, emptyGroupDefinition, fieldDisplayName, fieldEqExpr, fieldExpr, fieldHasTag, fieldOptionAdornment, fieldPathForDefinition, findChildDefinition, findCompoundField, findControlsForCompound, findField, findFieldPath, findNonDataGroups, findScalarField, getAllReferencedClasses, getAllValues, getDiffObject, getDisplayOnlyOptions, getExternalEditData, getGroupClassOverrides, getGroupRendererOptions, getIsEditing, getJsonPath, getLastDefinedValue, getLengthRestrictions, getNullToggler, getOverrideClass, getRootDataNode, getSchemaFieldList, getSchemaNodePath, getSchemaPath, getTagParam, groupedControl, hasOptions, hideDisplayOnly, htmlDisplayControl, intField, isAccordionAdornment, isActionControl, isArrayRenderer, isAutoCompleteClasses, isAutocompleteRenderer, isCheckEntryClasses, isCompoundField, isCompoundNode, isControlDisabled, isControlDisplayOnly, isControlReadonly, isDataControl, isDataGroupRenderer, isDateTimeRenderer, isDisplayControl, isDisplayOnlyRenderer, isFlexRenderer, isGridRenderer, isGroupControl, isIconAdornment, isOptionalAdornment, isScalarField, isSelectChildRenderer, isSetFieldAdornment, isTabsRenderer, isTextfieldRenderer, jsonPathString, jsonataExpr, jsonataOptions, jsonataValidatorOptions, layoutKeyForPlacement, legacyFormNode, lengthValidatorOptions, lookupDataNode, makeCompoundField, makeEvalExpressionHook, makeHook, makeHookDepString, makeParamTag, makeScalarField, makeSchemaDataNode, matchesType, mergeField, mergeFields, mergeObjects, optionalHook, radioButtonOptions, relativePath, renderControlLayout, renderLayoutParts, renderOptionsFor, rendererClass, resolveSchemas, rootSchemaNode, schemaDataForFieldPath, schemaDataForFieldRef, schemaForFieldPath, schemaForFieldRef, stringField, stringOptionsField, textDisplayControl, textfieldOptions, timeField, toDepString, traverseData, traverseParents, traverseSchemaPath, useControlDefinitionForSchema, useControlRenderer, useControlRendererComponent, useDateValidator, useDynamicHooks, useEvalActionHook, useEvalAllowedOptionsHook, useEvalDefaultValueHook, useEvalDisabledHook, useEvalDisplayHook, useEvalDynamicBoolHook, useEvalDynamicHook, useEvalLabelText, useEvalReadonlyHook, useEvalStyleHook, useEvalVisibilityHook, useJsonataExpression, useJsonataValidator, useLengthValidator, useMakeValidationHook, useUpdatedRef, useUuidExpression, validationVisitor, validatorOptions, visitControlData, visitControlDataArray, visitControlDefinition, visitFormData, visitFormDataInContext, withScalarOptions, wrapLayout, wrapMarkup, wrapMarkupAt };
2889
2917
  //# sourceMappingURL=index.js.map