From 806a6158a0d7cf5645be5e5bd0b907735ef506cc Mon Sep 17 00:00:00 2001 From: Jon Q Date: Wed, 8 Apr 2020 22:35:44 -0400 Subject: [PATCH] Refine UI for BoxControl --- packages/components/src/box-control/index.js | 16 ++++++++--- .../src/box-control/input-controls.js | 26 +++++++----------- .../box-control/styles/box-control-styles.js | 27 ++++++++++++++----- .../components/src/box-control/visualizer.js | 2 +- .../components/src/input-control/index.js | 7 ++++- .../styles/input-control-styles.js | 13 +++++++-- .../components/src/utils/colors-values.js | 1 + 7 files changed, 62 insertions(+), 30 deletions(-) diff --git a/packages/components/src/box-control/index.js b/packages/components/src/box-control/index.js index e0d485459902bd..4709dbfd1294bf 100644 --- a/packages/components/src/box-control/index.js +++ b/packages/components/src/box-control/index.js @@ -5,14 +5,15 @@ import { noop } from 'lodash'; /** * WordPress dependencies */ +import { useInstanceId } from '@wordpress/compose'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; /** * Internal dependencies */ import Visualizer from './visualizer'; -import { FlexItem } from '../flex'; import InputControls from './input-controls'; +import Text from '../text'; import { DEFAULT_VALUES, parseValues } from './utils'; import { Root, Header, LayoutContainer } from './styles/box-control-styles'; @@ -20,7 +21,14 @@ const defaultInputProps = { min: 0, }; +function useUniqueId( idProp ) { + const instanceId = useInstanceId( BoxControl ); + const id = `inspector-box-control-${ instanceId }`; + + return idProp || id; +} export default function BoxControl( { + idProp, inputProps = defaultInputProps, onChange = noop, label = __( 'Box Control' ), @@ -29,6 +37,8 @@ export default function BoxControl( { units = false, } ) { const [ values, setValues ] = useState( parseValues( valuesProp ) ); + const id = useUniqueId( idProp ); + const headingId = `${ id }-heading`; const updateValues = ( nextValues ) => { const mergedValues = { ...values, ...nextValues }; @@ -37,9 +47,9 @@ export default function BoxControl( { }; return ( - +
- { label } + { label }
- - - +