@react-typed-forms/schemas-html 2.4.0 → 3.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
@@ -1,6 +1,6 @@
1
1
  import React, { createElement, useState, useMemo, Fragment, useEffect, useRef } from 'react';
2
2
  import clsx from 'clsx';
3
- import { DisplayDataType, rendererClass, coerceToString, getOverrideClass, FieldType, createDataRenderer, fieldOptionAdornment, DataRenderType, createLayoutRenderer, renderLayoutParts, createGroupRenderer, GroupRenderType, isTabsRenderer, isSelectChildRenderer, isGridRenderer, isFlexRenderer, createVisibilityRenderer, getJsonPath, useJsonataExpression, getRootDataNode, getLastDefinedValue, getNullToggler, mergeObjects, isArrayRenderer, isCompoundField, nodeForControl, ControlDefinitionType, makeHookDepString, createArrayActions, getLengthRestrictions, lookupDataNode, applyArrayLengthRestrictions, buildSchema, stringField, schemaDataForFieldRef, schemaForFieldRef, rootSchemaNode, addMissingControlsForSchema, useControlRendererComponent, groupedControl, makeSchemaDataNode, createAdornmentRenderer, getIsEditing, appendMarkupAt, AdornmentPlacement, wrapMarkup, getAllValues, ControlAdornmentType, getExternalEditData, visitFormDataInContext, validationVisitor, createActionRenderer, isDataGroupRenderer, isDisplayOnlyRenderer, hasOptions, isTextfieldRenderer, isOptionalAdornment, isSetFieldAdornment, useDynamicHooks, wrapLayout, isIconAdornment, isAccordionAdornment, LabelType } from '@react-typed-forms/schemas';
3
+ import { DisplayDataType, rendererClass, coerceToString, getOverrideClass, FieldType, createDataRenderer, fieldOptionAdornment, DataRenderType, createLayoutRenderer, renderLayoutParts, createGroupRenderer, GroupRenderType, isTabsRenderer, isSelectChildRenderer, isGridRenderer, isFlexRenderer, createVisibilityRenderer, getJsonPath, useJsonataExpression, getRootDataNode, getLastDefinedValue, getNullToggler, mergeObjects, isArrayRenderer, isCompoundField, ControlDefinitionType, makeHookDepString, createArrayActions, getLengthRestrictions, lookupDataNode, applyArrayLengthRestrictions, buildSchema, stringField, schemaDataForFieldRef, schemaForFieldRef, rootSchemaNode, addMissingControlsForSchema, useControlRendererComponent, groupedControl, makeSchemaDataNode, createAdornmentRenderer, getIsEditing, appendMarkupAt, AdornmentPlacement, wrapMarkup, getAllValues, ControlAdornmentType, getExternalEditData, visitFormDataInContext, validationVisitor, createActionRenderer, isDataGroupRenderer, isDisplayOnlyRenderer, hasOptions, isTextfieldRenderer, isOptionalAdornment, isSetFieldAdornment, useDynamicHooks, wrapLayout, isIconAdornment, isAccordionAdornment, LabelType } from '@react-typed-forms/schemas';
4
4
  import { useComponentTracking, formControlProps, useControl, useControlEffect, RenderArrayElements, useComputed, useTrackedComponent, RenderElements, controlValues, removeElement, setFields, newControl, Fcheckbox as Fcheckbox$1 } from '@react-typed-forms/core';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import { useAutocomplete } from '@mui/base';
@@ -790,9 +790,8 @@ function DataArrayRenderer({
790
790
  } = mergeObjects(isArrayRenderer(renderOptions) ? renderOptions : {}, defaultActions);
791
791
  const childOptions = isArrayRenderer(renderOptions) ? renderOptions.childOptions : undefined;
792
792
  const renderAsElement = !isCompoundField(field);
793
- const childDefinition = nodeForControl(!renderAsElement ? {
793
+ const childDefinition = formNode.tree.createTempNode(formNode.id + "child", !renderAsElement ? {
794
794
  type: ControlDefinitionType.Group,
795
- children: definition.children,
796
795
  groupOptions: {
797
796
  type: GroupRenderType.Standard,
798
797
  hideTitle: true
@@ -800,12 +799,11 @@ function DataArrayRenderer({
800
799
  } : {
801
800
  type: ControlDefinitionType.Data,
802
801
  field: definition.field,
803
- children: definition.children,
804
802
  renderOptions: childOptions != null ? childOptions : {
805
803
  type: DataRenderType.Standard
806
804
  },
807
805
  hideTitle: true
808
- }, formNode.tree);
806
+ }, formNode.getChildNodes());
809
807
  const visibilities = ((_definition$children = definition.children) != null ? _definition$children : []).map(x => [useChildVisibility(x, undefined, true), x]);
810
808
  const deps = makeHookDepString(visibilities, x => x[0].deps);
811
809
  const Entry = useTrackedComponent(RenderEntry, [deps]);
@@ -1330,14 +1328,13 @@ function ArrayElementRenderer({
1330
1328
  });
1331
1329
  if (designMode || extData.value !== undefined) {
1332
1330
  const parentDataNode = makeSchemaDataNode(dataProps.dataNode.schema, extData.fields.data);
1333
- const elementGroup = nodeForControl({
1331
+ const elementGroup = formNode.tree.createTempNode(formNode.id + "group", {
1334
1332
  type: ControlDefinitionType.Group,
1335
- children: formNode.definition.children,
1336
1333
  groupOptions: {
1337
1334
  type: GroupRenderType.Standard,
1338
1335
  hideTitle: true
1339
1336
  }
1340
- }, formNode.tree);
1337
+ }, formNode.getChildNodes());
1341
1338
  const editContent = createElement("div", {
1342
1339
  className: rendererClass(dataProps.className, options.className)
1343
1340
  }, renderChild("", elementGroup, {