@elementor/editor-controls 3.32.0-76 → 3.32.0-77

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/dist/index.d.mts CHANGED
@@ -50,6 +50,7 @@ type BaseSizeControlProps = {
50
50
  disableCustom?: boolean;
51
51
  anchorRef?: RefObject<HTMLDivElement | null>;
52
52
  min?: number;
53
+ enablePropTypeUnits?: boolean;
53
54
  };
54
55
  type LengthSizeControlProps = BaseSizeControlProps & UnitProps<LengthUnit[]> & {
55
56
  variant: 'length';
@@ -61,7 +62,7 @@ type TimeSizeControlProps = BaseSizeControlProps & UnitProps<TimeUnit[]> & {
61
62
  variant: 'time';
62
63
  };
63
64
  type SizeControlProps = LengthSizeControlProps | AngleSizeControlProps | TimeSizeControlProps;
64
- declare const SizeControl: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, }: Omit<SizeControlProps, "variant"> & {
65
+ declare const SizeControl: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, enablePropTypeUnits, }: Omit<SizeControlProps, "variant"> & {
65
66
  variant?: SizeVariant;
66
67
  }) => React$1.JSX.Element>;
67
68
 
package/dist/index.d.ts CHANGED
@@ -50,6 +50,7 @@ type BaseSizeControlProps = {
50
50
  disableCustom?: boolean;
51
51
  anchorRef?: RefObject<HTMLDivElement | null>;
52
52
  min?: number;
53
+ enablePropTypeUnits?: boolean;
53
54
  };
54
55
  type LengthSizeControlProps = BaseSizeControlProps & UnitProps<LengthUnit[]> & {
55
56
  variant: 'length';
@@ -61,7 +62,7 @@ type TimeSizeControlProps = BaseSizeControlProps & UnitProps<TimeUnit[]> & {
61
62
  variant: 'time';
62
63
  };
63
64
  type SizeControlProps = LengthSizeControlProps | AngleSizeControlProps | TimeSizeControlProps;
64
- declare const SizeControl: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, }: Omit<SizeControlProps, "variant"> & {
65
+ declare const SizeControl: ControlComponent<({ variant, defaultUnit, units, placeholder, startIcon, anchorRef, extendedOptions, disableCustom, min, enablePropTypeUnits, }: Omit<SizeControlProps, "variant"> & {
65
66
  variant?: SizeVariant;
66
67
  }) => React$1.JSX.Element>;
67
68
 
package/dist/index.js CHANGED
@@ -991,19 +991,21 @@ var SizeControl = createControl(
991
991
  anchorRef,
992
992
  extendedOptions,
993
993
  disableCustom,
994
- min = 0
994
+ min = 0,
995
+ enablePropTypeUnits = false
995
996
  }) => {
996
997
  const {
997
998
  value: sizeValue,
998
999
  setValue: setSizeValue,
999
1000
  disabled,
1000
1001
  restoreValue,
1001
- placeholder: externalPlaceholder
1002
+ placeholder: externalPlaceholder,
1003
+ propType
1002
1004
  } = useBoundProp(import_editor_props7.sizePropTypeUtil);
1003
1005
  const actualDefaultUnit = defaultUnit ?? externalPlaceholder?.unit ?? defaultSelectedUnit[variant];
1004
- const actualUnits = units2 ?? [...defaultUnits[variant]];
1005
1006
  const [internalState, setInternalState] = (0, import_react13.useState)(createStateFromSizeProp(sizeValue, actualDefaultUnit));
1006
1007
  const activeBreakpoint = (0, import_editor_responsive.useActiveBreakpoint)();
1008
+ const actualUnits = resolveUnits(propType, enablePropTypeUnits, variant, units2);
1007
1009
  const actualExtendedOptions = useSizeExtendedOptions(extendedOptions || [], disableCustom ?? false);
1008
1010
  const popupState = (0, import_ui13.usePopupState)({ variant: "popover" });
1009
1011
  const [state, setState] = useSyncExternalState({
@@ -1109,6 +1111,13 @@ var SizeControl = createControl(
1109
1111
  ));
1110
1112
  }
1111
1113
  );
1114
+ function resolveUnits(propType, enablePropTypeUnits, variant, externalUnits) {
1115
+ const fallback = [...defaultUnits[variant]];
1116
+ if (!enablePropTypeUnits) {
1117
+ return externalUnits ?? fallback;
1118
+ }
1119
+ return propType.settings?.available_units ?? fallback;
1120
+ }
1112
1121
  function formatSize(size, unit) {
1113
1122
  if (isUnitExtendedOption(unit)) {
1114
1123
  return unit === "auto" ? "" : String(size ?? "");