From 46bef32efec857e429d8574b97723eb09e273967 Mon Sep 17 00:00:00 2001 From: Grzegorz Ziolkowski Date: Fri, 26 Jul 2019 16:19:43 +0200 Subject: [PATCH] Add CHANGELOG entries and deprecations messages for update props --- .../components/rich-text/format-toolbar/index.js | 6 +++++- packages/components/CHANGELOG.md | 10 +++++++++- packages/components/src/dropdown-menu/index.js | 16 ++++++++++++++++ .../more-menu/test/__snapshots__/index.js.snap | 1 + 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/packages/block-editor/src/components/rich-text/format-toolbar/index.js b/packages/block-editor/src/components/rich-text/format-toolbar/index.js index e596de9d6ea28..5e6fb5cf9846d 100644 --- a/packages/block-editor/src/components/rich-text/format-toolbar/index.js +++ b/packages/block-editor/src/components/rich-text/format-toolbar/index.js @@ -11,6 +11,10 @@ import { orderBy } from 'lodash'; import { __ } from '@wordpress/i18n'; import { Toolbar, Slot, DropdownMenu } from '@wordpress/components'; +const POPOVER_PROPS = { + position: 'bottom left', +}; + const FormatToolbar = () => { return (
@@ -22,9 +26,9 @@ const FormatToolbar = () => { { ( fills ) => fills.length !== 0 && props ), 'title' ) } + popoverProps={ POPOVER_PROPS } /> } diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index afe7a14e81421..77e05d4bbe59d 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -2,8 +2,16 @@ ### New Features -- Added a new `popoverProps` prop to the `Dropdown` component which allows users of the `Dropdown` component to pass props directly to the `PopOver` component. +- Added a new `popoverProps` prop to the `Dropdown` component which allows users of the `Dropdown` component to pass props directly to the `Popover` component. - Added and documented `hideLabelFromVision` prop to `BaseControl` used by `SelectControl`, `TextControl`, and `TextareaControl`. +- Added a new `popoverProps` prop to the `DropdownMenu` component which allows to pass props directly to the nested `Popover` component. +- Added a new `toggleProps` prop to the `DropdownMenu` component which allows to pass props directly to the nested `IconButton` component. +- Added a new `menuProps` prop to the `DropdownMenu` component which allows to pass props directly to the nested `NavigableMenu` component. + +### Deprecations + +- `menuLabel` prop in `DropdownComponent` has been deprecated. Consider using `menuProps` object and its `aria-label` property instead. +- `position` prop in `DropdownComponent` has been deprecated. Consider using `popoverProps` object and its `position` property instead. ### Bug Fixes diff --git a/packages/components/src/dropdown-menu/index.js b/packages/components/src/dropdown-menu/index.js index 0882ced941681..0c013d8f3619e 100644 --- a/packages/components/src/dropdown-menu/index.js +++ b/packages/components/src/dropdown-menu/index.js @@ -8,6 +8,7 @@ import { flatMap, isEmpty, isFunction } from 'lodash'; * WordPress dependencies */ import { DOWN } from '@wordpress/keycodes'; +import deprecated from '@wordpress/deprecated'; /** * Internal dependencies @@ -43,6 +44,20 @@ function DropdownMenu( { menuLabel, position, } ) { + if ( menuLabel ) { + deprecated( '`menuLabel` prop in `DropdownComponent`', { + alternative: '`menuProps` object and its `aria-label` property', + plugin: 'Gutenberg', + } ); + } + + if ( position ) { + deprecated( '`position` prop in `DropdownComponent`', { + alternative: '`popoverProps` object and its `position` property', + plugin: 'Gutenberg', + } ); + } + if ( isEmpty( controls ) && ! isFunction( children ) ) { return null; } @@ -76,6 +91,7 @@ function DropdownMenu( { className: classnames( 'components-dropdown-menu__toggle', { 'is-opened': isOpen, } ), + tooltip: label, } ); return ( diff --git a/packages/edit-post/src/components/header/more-menu/test/__snapshots__/index.js.snap b/packages/edit-post/src/components/header/more-menu/test/__snapshots__/index.js.snap index efa463fc942f9..3f01ba28572d4 100644 --- a/packages/edit-post/src/components/header/more-menu/test/__snapshots__/index.js.snap +++ b/packages/edit-post/src/components/header/more-menu/test/__snapshots__/index.js.snap @@ -41,6 +41,7 @@ exports[`MoreMenu should match snapshot 1`] = ` labelPosition="bottom" onClick={[Function]} onKeyDown={[Function]} + tooltip="More tools & options" >