Skip to content
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

Update dropdown-menu and button to allow text buttons #26425

Merged
merged 2 commits into from
Oct 30, 2020

Conversation

mkaz
Copy link
Member

@mkaz mkaz commented Oct 23, 2020

Description

In support of Social links size option (#25921) this PR adds the ability to show a dropdown-menu button with icon and/or text. Previously, you would need to create a custom control using the lower-level Dropdown component, for example the Replace image toolbar.

How has this been tested?

  1. Confirm once applied nothing changes in existing DropdownMenus

  2. Alter a DropdownMenu component being used to include the additional text prop

For example, update packages/block-editor/src/components/rich-text/format-toolbar/index.js and add a text prop, for example:

<DropdownMenu
	icon={ chevronDown }
	text={ __( 'More' ) }
...

You can test text-only buttons by setting icon={ null }

Screenshots

dropdown-menu-more

Types of changes

  • Adds text prop to DropdownMenu and Button components
  • Adds rendering of text fragment if specified in Button component

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@mkaz mkaz added [Feature] UI Components Impacts or related to the UI component system [Package] Components /packages/components labels Oct 23, 2020
@github-actions
Copy link

github-actions bot commented Oct 23, 2020

Size Change: +32 B (0%)

Total Size: 1.21 MB

Filename Size Change
build/components/index.js 172 kB +32 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.78 kB 0 B
build/api-fetch/index.js 3.45 kB 0 B
build/autop/index.js 2.84 kB 0 B
build/blob/index.js 665 B 0 B
build/block-directory/index.js 8.72 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/index.js 130 kB 0 B
build/block-editor/style-rtl.css 11.1 kB 0 B
build/block-editor/style.css 11.1 kB 0 B
build/block-library/editor-rtl.css 8.98 kB 0 B
build/block-library/editor.css 8.98 kB 0 B
build/block-library/index.js 146 kB 0 B
build/block-library/style-rtl.css 7.83 kB 0 B
build/block-library/style.css 7.84 kB 0 B
build/block-library/theme-rtl.css 837 B 0 B
build/block-library/theme.css 838 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 48.1 kB 0 B
build/components/style-rtl.css 15.2 kB 0 B
build/components/style.css 15.2 kB 0 B
build/compose/index.js 9.81 kB 0 B
build/core-data/index.js 12.3 kB 0 B
build/data-controls/index.js 772 B 0 B
build/data/index.js 8.77 kB 0 B
build/date/index.js 31.8 kB 0 B
build/deprecated/index.js 768 B 0 B
build/dom-ready/index.js 571 B 0 B
build/dom/index.js 4.46 kB 0 B
build/edit-navigation/index.js 11.2 kB 0 B
build/edit-navigation/style-rtl.css 881 B 0 B
build/edit-navigation/style.css 885 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.38 kB 0 B
build/edit-post/style.css 6.37 kB 0 B
build/edit-site/index.js 22.1 kB 0 B
build/edit-site/style-rtl.css 3.86 kB 0 B
build/edit-site/style.css 3.85 kB 0 B
build/edit-widgets/index.js 26.4 kB 0 B
build/edit-widgets/style-rtl.css 3.1 kB 0 B
build/edit-widgets/style.css 3.1 kB 0 B
build/editor/editor-styles-rtl.css 480 B 0 B
build/editor/editor-styles.css 482 B 0 B
build/editor/index.js 43.1 kB 0 B
build/editor/style-rtl.css 3.85 kB 0 B
build/editor/style.css 3.85 kB 0 B
build/element/index.js 4.65 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 7.7 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 2.13 kB 0 B
build/html-entities/index.js 623 B 0 B
build/i18n/index.js 3.57 kB 0 B
build/is-shallow-equal/index.js 712 B 0 B
build/keyboard-shortcuts/index.js 2.52 kB 0 B
build/keycodes/index.js 1.94 kB 0 B
build/list-reusable-blocks/index.js 3.11 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.34 kB 0 B
build/notices/index.js 1.79 kB 0 B
build/nux/index.js 3.42 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.56 kB 0 B
build/primitives/index.js 1.43 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/reusable-blocks/index.js 3.06 kB 0 B
build/rich-text/index.js 13.2 kB 0 B
build/server-side-render/index.js 2.77 kB 0 B
build/shortcode/index.js 1.69 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.84 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@mkaz mkaz force-pushed the add/dropdown-menu-text branch 2 times, most recently from b3da2c9 to aafd939 Compare October 28, 2020 16:12
@mkaz mkaz requested a review from jasmussen October 29, 2020 14:12
mkaz added 2 commits October 29, 2020 14:13
Adds a new text property for button and dropdownmenu, if specified it
will show the text in the button field. You could specify icon={ null }
to have a text-only button.

Used to support social links size menu in #25921
- Show text if specified regardless of icon, allows for icon & text

- Switch text rendering, don't need a span tag, just use a fragment
@mkaz mkaz force-pushed the add/dropdown-menu-text branch from aafd939 to 9cb4ebf Compare October 29, 2020 21:14
Copy link
Contributor

@jasmussen jasmussen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checks are passing 🤯 could it be !?

In any case, this is testing well for me:

Screenshot 2020-10-30 at 08 21 09

That is ... we are not going to be adding that "More" label to the dropdown as shown in the screenshot here, that's just for testing.

Question: is there a better term than "text" for this property? Nothing comes to mind since label is already used, and serves as a tooltip/additional info.

Otherwise, seems good to me and just needs a code sanity check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] UI Components Impacts or related to the UI component system [Package] Components /packages/components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants