-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toolbar: move all subcomponents under the same folder #46951
Changes from all commits
d7985a4
2e0e5d6
b63fa2a
7531757
7f1630b
286712f
8b4600f
bacdf2a
e717938
0ed5c68
2fb1ef2
ac4b773
1a112db
4531710
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,6 @@ | ||
/** | ||
* External dependencies | ||
*/ | ||
import classnames from 'classnames'; | ||
|
||
/** | ||
* WordPress dependencies | ||
*/ | ||
import { forwardRef } from '@wordpress/element'; | ||
import deprecated from '@wordpress/deprecated'; | ||
|
||
/** | ||
* Internal dependencies | ||
*/ | ||
import ToolbarGroup from '../toolbar-group'; | ||
import ToolbarContainer from './toolbar-container'; | ||
|
||
/** | ||
* Renders a toolbar. | ||
* | ||
* To add controls, simply pass `ToolbarButton` components as children. | ||
* | ||
* @param {Object} props Component props. | ||
* @param {string} [props.className] Class to set on the container div. | ||
* @param {string} [props.label] ARIA label for toolbar container. | ||
* @param {Object} ref React Element ref. | ||
*/ | ||
function Toolbar( { className, label, ...props }, ref ) { | ||
if ( ! label ) { | ||
deprecated( 'Using Toolbar without label prop', { | ||
since: '5.6', | ||
alternative: 'ToolbarGroup component', | ||
link: 'https://developer.wordpress.org/block-editor/components/toolbar/', | ||
} ); | ||
return <ToolbarGroup { ...props } className={ className } />; | ||
} | ||
// `ToolbarGroup` already uses components-toolbar for compatibility reasons. | ||
const finalClassName = classnames( | ||
'components-accessible-toolbar', | ||
className | ||
); | ||
return ( | ||
<ToolbarContainer | ||
className={ finalClassName } | ||
label={ label } | ||
ref={ ref } | ||
{ ...props } | ||
/> | ||
); | ||
} | ||
|
||
export default forwardRef( Toolbar ); | ||
export { default as Toolbar } from './toolbar'; | ||
export { default as ToolbarButton } from './toolbar-button'; | ||
export { default as ToolbarContext } from './toolbar-context'; | ||
export { default as ToolbarDropdownMenu } from './toolbar-dropdown-menu'; | ||
export { default as ToolbarGroup } from './toolbar-group'; | ||
export { default as ToolbarItem } from './toolbar-item'; | ||
Comment on lines
+1
to
+6
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For ease of review: the contents of this file have simply been moved to A new Reviewing this PR commit-by-commit may be simpler. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/** | ||
* External dependencies | ||
*/ | ||
import classnames from 'classnames'; | ||
|
||
/** | ||
* WordPress dependencies | ||
*/ | ||
import { forwardRef } from '@wordpress/element'; | ||
import deprecated from '@wordpress/deprecated'; | ||
|
||
/** | ||
* Internal dependencies | ||
*/ | ||
import ToolbarGroup from '../toolbar-group'; | ||
import ToolbarContainer from './toolbar-container'; | ||
|
||
/** | ||
* Renders a toolbar. | ||
* | ||
* To add controls, simply pass `ToolbarButton` components as children. | ||
* | ||
* @param {Object} props Component props. | ||
* @param {string} [props.className] Class to set on the container div. | ||
* @param {string} [props.label] ARIA label for toolbar container. | ||
* @param {Object} ref React Element ref. | ||
*/ | ||
function Toolbar( { className, label, ...props }, ref ) { | ||
if ( ! label ) { | ||
deprecated( 'Using Toolbar without label prop', { | ||
since: '5.6', | ||
alternative: 'ToolbarGroup component', | ||
link: 'https://developer.wordpress.org/block-editor/components/toolbar/', | ||
} ); | ||
return <ToolbarGroup { ...props } className={ className } />; | ||
} | ||
// `ToolbarGroup` already uses components-toolbar for compatibility reasons. | ||
const finalClassName = classnames( | ||
'components-accessible-toolbar', | ||
className | ||
); | ||
return ( | ||
<ToolbarContainer | ||
className={ finalClassName } | ||
label={ label } | ||
ref={ ref } | ||
{ ...props } | ||
/> | ||
); | ||
} | ||
|
||
export default forwardRef( Toolbar ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@geriux quick ping to make sure that the native side still builds and works like before
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll take a look 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All working well 👍