diff --git a/packages/components/src/box-control/index.tsx b/packages/components/src/box-control/index.tsx index d4d4b03f89303..e38d5ac51ae5a 100644 --- a/packages/components/src/box-control/index.tsx +++ b/packages/components/src/box-control/index.tsx @@ -4,6 +4,7 @@ import { useInstanceId } from '@wordpress/compose'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; +import warning from '@wordpress/warning'; /** * Internal dependencies @@ -166,6 +167,14 @@ function BoxControl( { } ); const sidesToRender = getAllowedSides( sides ); + if ( ( presets && ! presetKey ) || ( ! presets && presetKey ) ) { + warning( + presets + ? '`presetKey` is required when `presets` is defined.' + : '`presets` is required when `presetKey` is defined.' + ); + } + return ( & * 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 }` */ - presetKey?: string; + presetKey?: BoxControlProps[ 'presets' ] extends undefined + ? never + : string; }; export type BoxControlInputControlProps = UnitControlPassthroughProps & {