@react-typed-forms/schemas-html 5.0.0 → 5.0.1

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,4 +1,4 @@
1
- import { useState, useMemo, useEffect, Fragment as Fragment$1, useId, createElement, useRef, isValidElement } from 'react';
1
+ import { useMemo, useEffect, Fragment as Fragment$1, useId, createElement, useRef, isValidElement } from 'react';
2
2
  import clsx, { clsx as clsx$1 } from 'clsx';
3
3
  import { DisplayDataType, rendererClass, coerceToString, getOverrideClass, FieldType, createDataRenderer, fieldOptionAdornment, DataRenderType, setIncluded, useElementSelectedRenderer, createLayoutRenderer, renderLayoutParts, createGroupRenderer, GroupRenderType, DefaultFormNodeUi, fontAwesomeIcon, deepMerge, createAction, IconPlacement, ActionStyle, schemaDataForFieldRef, isTabsRenderer, isGridRenderer, isWizardRenderer, isDialogRenderer, isAccordionRenderer, isSelectChildRenderer, isFlexRenderer, isInlineRenderer, useExpression, createVisibilityRenderer, getJsonPath, ExpressionType, getLastDefinedValue, getNullToggler, mergeObjects, isArrayRenderer, createArrayActions, getLengthRestrictions, applyArrayLengthRestrictions, buildSchema, stringField, boolField, schemaForFieldRef, defaultControlForField, createSchemaTree, createFormTree, RenderForm, createSchemaDataNode, createAdornmentRenderer, getIsEditing, appendMarkupAt, AdornmentPlacement, wrapMarkup, getAllValues, ControlAdornmentType, getExternalEditData, makeSchemaDataNode, createActionRenderer, getLoadingControl, getHasMoreControl, NoOpControlActionContext, isDataGroupRenderer, isDisplayOnlyRenderer, hasOptions, isTextfieldRenderer, isOptionalAdornment, isSetFieldAdornment, wrapLayout, isIconAdornment, isAccordionAdornment, LabelType, IconLibrary } from '@react-typed-forms/schemas';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -212,7 +212,7 @@ function SelectDataRenderer(_ref) {
212
212
  value,
213
213
  disabled
214
214
  } = state;
215
- const [showEmpty] = useState(!required || value == null);
215
+ const showEmpty = useMemo(() => !required || value == null, [required, value]);
216
216
  const optionStringMap = useMemo(() => Object.fromEntries(options.map(x => [convert(x.value), x.value])), [options]);
217
217
  const optionGroups = useMemo(() => new Set(options.filter(x => x.group).map(x => x.group)), [options]);
218
218
  return /*#__PURE__*/jsxs("select", _extends({}, props, {
@@ -2082,7 +2082,7 @@ function HtmlCheckButtons(props) {
2082
2082
  disabled: disabled,
2083
2083
  checked: checked,
2084
2084
  onChange: x => {
2085
- !readonly && setChecked(control, o, x.target.checked);
2085
+ !(readonly || disabled) && setChecked(control, o, x.target.checked);
2086
2086
  }
2087
2087
  }), /*#__PURE__*/jsx("label", {
2088
2088
  className: classes.labelClass,