+
+ { __( 'Shadow' ) }
+
+
+ onShadowChange( 'color', value )
+ }
+ />
+
+
+ onShadowChange( 'inset', value === 'inset' )
+ }
+ hideLabelFromVision
+ __next40pxDefaultSize
+ >
+
+
+
+
+ onShadowChange( 'x', value ) }
+ />
+ onShadowChange( 'y', value ) }
+ />
+
+ onShadowChange( 'blur', value )
+ }
+ />
+
+ onShadowChange( 'spread', value )
+ }
+ />
+
+
+
+ );
+}
+
+function ShadowInputControl( { label, value, onChange, hasNegativeRange } ) {
+ const [ isCustomInput, setIsCustomInput ] = useState( false );
+ const [ parsedQuantity, parsedUnit ] =
+ parseQuantityAndUnitFromRawValue( value );
+
+ const sliderOnChange = ( next ) => {
+ onChange(
+ next !== undefined ? [ next, parsedUnit || 'px' ].join( '' ) : '0px'
+ );
+ };
+ const onValueChange = ( next ) => {
+ const isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );
+ const nextValue = isNumeric ? next : '0px';
+ onChange( nextValue );
+ };
+
+ return (
+