diff --git a/packages/block-editor/src/components/responsive-block-control/label.js b/packages/block-editor/src/components/responsive-block-control/label.js index 829af3aadec42..4637e8a12d2c7 100644 --- a/packages/block-editor/src/components/responsive-block-control/label.js +++ b/packages/block-editor/src/components/responsive-block-control/label.js @@ -1,11 +1,12 @@ /** * WordPress dependencies */ -import { withInstanceId } from '@wordpress/compose'; +import { useInstanceId } from '@wordpress/compose'; import { _x, sprintf } from '@wordpress/i18n'; import { Fragment } from '@wordpress/element'; -const ResponsiveBlockControlLabel = ( { instanceId, property, viewport, desc } ) => { +export default function ResponsiveBlockControlLabel( { property, viewport, desc } ) { + const instanceId = useInstanceId( ResponsiveBlockControlLabel ); const accessibleLabel = desc || sprintf( _x( 'Controls the %1$s property for %2$s viewports.', 'Text labelling a interface as controlling a given layout property (eg: margin) for a given screen size.' ), property, viewport.label ); return ( @@ -15,7 +16,4 @@ const ResponsiveBlockControlLabel = ( { instanceId, property, viewport, desc } ) { accessibleLabel } ); -}; - -export default withInstanceId( ResponsiveBlockControlLabel ); - +} diff --git a/packages/block-editor/src/components/url-input/index.native.js b/packages/block-editor/src/components/url-input/index.native.js index a76252cadff39..f08fff246b6f1 100644 --- a/packages/block-editor/src/components/url-input/index.native.js +++ b/packages/block-editor/src/components/url-input/index.native.js @@ -7,29 +7,27 @@ import { TextInput } from 'react-native'; * WordPress dependencies */ import { __ } from '@wordpress/i18n'; -import { Component } from '@wordpress/element'; -import { withInstanceId } from '@wordpress/compose'; -class URLInput extends Component { - render() { - const { value = '', autoFocus = true, ...extraProps } = this.props; - /* eslint-disable jsx-a11y/no-autofocus */ - return ( - - ); - /* eslint-enable jsx-a11y/no-autofocus */ - } +export default function URLInput( { + value = '', + autoFocus = true, + onChange, + ...extraProps +} ) { + /* eslint-disable jsx-a11y/no-autofocus */ + return ( + + ); + /* eslint-enable jsx-a11y/no-autofocus */ } - -export default withInstanceId( URLInput ); diff --git a/packages/block-library/src/shortcode/edit.js b/packages/block-library/src/shortcode/edit.js index 5a9dbf7f5c795..6de2e296f614e 100644 --- a/packages/block-library/src/shortcode/edit.js +++ b/packages/block-library/src/shortcode/edit.js @@ -4,9 +4,10 @@ import { __ } from '@wordpress/i18n'; import { Dashicon } from '@wordpress/components'; import { PlainText } from '@wordpress/block-editor'; -import { withInstanceId } from '@wordpress/compose'; +import { useInstanceId } from '@wordpress/compose'; -const ShortcodeEdit = ( { attributes, setAttributes, instanceId } ) => { +export default function ShortcodeEdit( { attributes, setAttributes } ) { + const instanceId = useInstanceId( ShortcodeEdit ); const inputId = `blocks-shortcode-input-${ instanceId }`; return ( @@ -24,6 +25,4 @@ const ShortcodeEdit = ( { attributes, setAttributes, instanceId } ) => { /> ); -}; - -export default withInstanceId( ShortcodeEdit ); +} diff --git a/packages/components/src/checkbox-control/index.js b/packages/components/src/checkbox-control/index.js index 77f75a3306498..1b7d75761b7b2 100644 --- a/packages/components/src/checkbox-control/index.js +++ b/packages/components/src/checkbox-control/index.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { withInstanceId } from '@wordpress/compose'; +import { useInstanceId } from '@wordpress/compose'; /** * Internal dependencies @@ -9,7 +9,8 @@ import { withInstanceId } from '@wordpress/compose'; import BaseControl from '../base-control'; import Dashicon from '../dashicon'; -function CheckboxControl( { label, className, heading, checked, help, instanceId, onChange, ...props } ) { +export default function CheckboxControl( { label, className, heading, checked, help, onChange, ...props } ) { + const instanceId = useInstanceId( CheckboxControl ); const id = `inspector-checkbox-control-${ instanceId }`; const onChangeValue = ( event ) => onChange( event.target.checked ); @@ -34,5 +35,3 @@ function CheckboxControl( { label, className, heading, checked, help, instanceId ); } - -export default withInstanceId( CheckboxControl ); diff --git a/packages/components/src/custom-gradient-picker/control-points.js b/packages/components/src/custom-gradient-picker/control-points.js index 79c7e0017e3de..5d6baafe9f46f 100644 --- a/packages/components/src/custom-gradient-picker/control-points.js +++ b/packages/components/src/custom-gradient-picker/control-points.js @@ -9,7 +9,7 @@ import classnames from 'classnames'; */ import { Component, useEffect, useRef } from '@wordpress/element'; import { __, sprintf } from '@wordpress/i18n'; -import { withInstanceId } from '@wordpress/compose'; +import { useInstanceId } from '@wordpress/compose'; /** * Internal dependencies @@ -68,57 +68,55 @@ class ControlPointKeyboardMove extends Component { } } -const ControlPointButton = withInstanceId( - function( { - instanceId, - isOpen, - position, - color, - onChange, - gradientIndex, - gradientAST, - ...additionalProps - } ) { - const descriptionId = `components-custom-gradient-picker__control-point-button-description-${ instanceId }`; - return ( - -