See the WordPress Storybook for more detailed, interactive documentation.
A control that lets users set values for top, right, bottom, and left. Can be
used as an input control for values like padding
or margin
.
import { useState } from 'react';
import { BoxControl } from '@wordpress/components';
function Example() {
const [ values, setValues ] = useState( {
top: '50px',
left: '10%',
right: '10%',
bottom: '50px',
} );
return (
<BoxControl
__next40pxDefaultSize
values={ values }
onChange={ setValues }
/>
);
};
Props
__next40pxDefaultSize
- Type:
boolean
- Required: No
- Default:
false
Start opting into the larger default height that will become the default size in a future version.
allowReset
- Type:
boolean
- Required: No
- Default:
true
If this property is true, a button to reset the box control is rendered.
id
- Type:
string
- Required: No
The id to use as a base for the unique HTML id attribute of the control.
inputProps
- Type:
UnitControlPassthroughProps
- Required: No
- Default:
{
min: 0,
}
Props for the internal UnitControl
components.
label
- Type:
string
- Required: No
- Default:
__( 'Box Control' )
Heading label for the control.
onChange
- Type:
(next: BoxControlValue) => void
- Required: No
- Default:
() => {}
A callback function when an input value changes.
presets
- Type:
Preset[]
- Required: No
Available presets to pick from.
presetKey
- Type:
string
- Required: No
The key of the preset to apply.
If you provide a list of presets, you must provide a preset key to use.
The format of preset selected values is going to be var:preset|${ presetKey }|${ presetSlug }
resetValues
- Type:
BoxControlValue
- Required: No
- Default:
{
top: undefined,
right: undefined,
bottom: undefined,
left: undefined,
}
The top
, right
, bottom
, and left
box dimension values to use when the control is reset.
sides
- Type:
readonly (keyof BoxControlValue | "horizontal" | "vertical")[]
- Required: No
Collection of sides to allow control of. If omitted or empty, all sides will be available.
Allowed values are “top”, “right”, “bottom”, “left”, “vertical”, and “horizontal”.
splitOnAxis
- Type:
boolean
- Required: No
- Default:
false
If this property is true, when the box control is unlinked, vertical and horizontal controls
can be used instead of updating individual sides.
units
- Type:
WPUnitControlUnit[]
- Required: No
- Default:
CSS_UNITS
Available units to select from.
values
- Type:
BoxControlValue
- Required: No
The current values of the control, expressed as an object of top
, right
, bottom
, and left
values.