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

InputControl: Add help prop #45931

Merged
merged 4 commits into from
Nov 29, 2022
Merged

InputControl: Add help prop #45931

merged 4 commits into from
Nov 29, 2022

Conversation

mirka
Copy link
Member

@mirka mirka commented Nov 21, 2022

Required for #45364 (comment)

What?

Adds a help prop, similar to the one for BaseControl, on the InputControl component and friends (NumberControl, UnitControl).

Why?

InputControl does not use the standard BaseControl, in order to support the labelPosition feature. Therefore, it needs its own help implementation.

How?

Reuse the StyledHelp from BaseControl and add semantics.

Testing Instructions

  1. npm run storybook:dev
  2. See the "With Help Text" story for InputControl. The help text should be in the correct place, regardless of the labelPosition prop's value.
  3. The same should work for NumberControl and UnitControl as well.

Screenshots or screencast

InputControl with help text below it

@mirka mirka added the [Package] Components /packages/components label Nov 21, 2022
@mirka mirka self-assigned this Nov 21, 2022
@codesandbox
Copy link

codesandbox bot commented Nov 21, 2022

CodeSandbox logoCodeSandbox logo  Open in CodeSandbox Web Editor | VS Code | VS Code Insiders

@github-actions
Copy link

github-actions bot commented Nov 21, 2022

Size Change: +20.5 kB (+2%)

Total Size: 1.32 MB

Filename Size Change
build/a11y/index.min.js 993 B +11 B (+1%)
build/annotations/index.min.js 2.78 kB +18 B (+1%)
build/api-fetch/index.min.js 2.27 kB +10 B (0%)
build/autop/index.min.js 2.15 kB +8 B (0%)
build/blob/index.min.js 487 B +12 B (+3%)
build/block-directory/index.min.js 7.16 kB +76 B (+1%)
build/block-directory/style-rtl.css 1.03 kB +45 B (+5%) 🔍
build/block-directory/style.css 1.04 kB +45 B (+5%) 🔍
build/block-editor/default-editor-styles-rtl.css 401 B +23 B (+6%) 🔍
build/block-editor/default-editor-styles.css 401 B +23 B (+6%) 🔍
build/block-editor/index.min.js 179 kB +3.25 kB (+2%)
build/block-editor/style-rtl.css 16.5 kB +602 B (+4%)
build/block-editor/style.css 16.5 kB +602 B (+4%)
build/block-library/blocks/archives/editor-rtl.css 107 B +46 B (+75%) 🆘
build/block-library/blocks/archives/editor.css 106 B +46 B (+77%) 🆘
build/block-library/blocks/archives/style-rtl.css 129 B +39 B (+43%) 🚨
build/block-library/blocks/archives/style.css 129 B +39 B (+43%) 🚨
build/block-library/blocks/audio/editor-rtl.css 185 B +35 B (+23%) 🚨
build/block-library/blocks/audio/editor.css 185 B +35 B (+23%) 🚨
build/block-library/blocks/audio/style-rtl.css 158 B +36 B (+30%) 🚨
build/block-library/blocks/audio/style.css 158 B +36 B (+30%) 🚨
build/block-library/blocks/audio/theme-rtl.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/audio/theme.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/avatar/editor-rtl.css 154 B +38 B (+33%) 🚨
build/block-library/blocks/avatar/editor.css 154 B +38 B (+33%) 🚨
build/block-library/blocks/avatar/style-rtl.css 126 B +42 B (+50%) 🆘
build/block-library/blocks/avatar/style.css 126 B +42 B (+50%) 🆘
build/block-library/blocks/block/editor-rtl.css 338 B +177 B (+110%) 🆘
build/block-library/blocks/block/editor.css 338 B +177 B (+110%) 🆘
build/block-library/blocks/button/editor-rtl.css 517 B +35 B (+7%) 🔍
build/block-library/blocks/button/editor.css 517 B +35 B (+7%) 🔍
build/block-library/blocks/button/style-rtl.css 566 B +34 B (+6%) 🔍
build/block-library/blocks/button/style.css 566 B +34 B (+6%) 🔍
build/block-library/blocks/buttons/editor-rtl.css 373 B +36 B (+11%) ⚠️
build/block-library/blocks/buttons/editor.css 373 B +36 B (+11%) ⚠️
build/block-library/blocks/buttons/style-rtl.css 368 B +36 B (+11%) ⚠️
build/block-library/blocks/buttons/style.css 368 B +36 B (+11%) ⚠️
build/block-library/blocks/calendar/style-rtl.css 270 B +31 B (+13%) ⚠️
build/block-library/blocks/calendar/style.css 270 B +31 B (+13%) ⚠️
build/block-library/blocks/categories/editor-rtl.css 125 B +41 B (+49%) 🚨
build/block-library/blocks/categories/editor.css 124 B +41 B (+49%) 🚨
build/block-library/blocks/categories/style-rtl.css 138 B +38 B (+38%) 🚨
build/block-library/blocks/categories/style.css 138 B +38 B (+38%) 🚨
build/block-library/blocks/code/editor-rtl.css 102 B +49 B (+92%) 🆘
build/block-library/blocks/code/editor.css 102 B +49 B (+92%) 🆘
build/block-library/blocks/code/style-rtl.css 159 B +38 B (+31%) 🚨
build/block-library/blocks/code/style.css 159 B +38 B (+31%) 🚨
build/block-library/blocks/code/theme-rtl.css 160 B +36 B (+29%) 🚨
build/block-library/blocks/code/theme.css 160 B +36 B (+29%) 🚨
build/block-library/blocks/columns/editor-rtl.css 147 B +39 B (+36%) 🚨
build/block-library/blocks/columns/editor.css 147 B +39 B (+36%) 🚨
build/block-library/blocks/columns/style-rtl.css 442 B +36 B (+9%) 🔍
build/block-library/blocks/columns/style.css 442 B +36 B (+9%) 🔍
build/block-library/blocks/comment-author-avatar/editor-rtl.css 163 B +38 B (+30%) 🚨
build/block-library/blocks/comment-author-avatar/editor.css 163 B +38 B (+30%) 🚨
build/block-library/blocks/comment-content/style-rtl.css 134 B +42 B (+46%) 🚨
build/block-library/blocks/comment-content/style.css 134 B +42 B (+46%) 🚨
build/block-library/blocks/comment-template/style-rtl.css 237 B +38 B (+19%) ⚠️
build/block-library/blocks/comment-template/style.css 236 B +38 B (+19%) ⚠️
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 159 B +36 B (+29%) 🚨
build/block-library/blocks/comments-pagination-numbers/editor.css 157 B +36 B (+30%) 🚨
build/block-library/blocks/comments-pagination/editor-rtl.css 258 B +36 B (+16%) ⚠️
build/block-library/blocks/comments-pagination/editor.css 249 B +40 B (+19%) ⚠️
build/block-library/blocks/comments-pagination/style-rtl.css 272 B +37 B (+16%) ⚠️
build/block-library/blocks/comments-pagination/style.css 268 B +37 B (+16%) ⚠️
build/block-library/blocks/comments-title/editor-rtl.css 118 B +43 B (+57%) 🆘
build/block-library/blocks/comments-title/editor.css 118 B +43 B (+57%) 🆘
build/block-library/blocks/comments/editor-rtl.css 875 B +35 B (+4%)
build/block-library/blocks/comments/editor.css 874 B +35 B (+4%)
build/block-library/blocks/comments/style-rtl.css 672 B +35 B (+5%) 🔍
build/block-library/blocks/comments/style.css 671 B +35 B (+6%) 🔍
build/block-library/blocks/cover/editor-rtl.css 646 B +34 B (+6%) 🔍
build/block-library/blocks/cover/editor.css 647 B +34 B (+6%) 🔍
build/block-library/blocks/cover/style-rtl.css 1.61 kB +44 B (+3%)
build/block-library/blocks/cover/style.css 1.6 kB +44 B (+3%)
build/block-library/blocks/embed/editor-rtl.css 327 B +34 B (+12%) ⚠️
build/block-library/blocks/embed/editor.css 327 B +34 B (+12%) ⚠️
build/block-library/blocks/embed/style-rtl.css 446 B +36 B (+9%) 🔍
build/block-library/blocks/embed/style.css 446 B +36 B (+9%) 🔍
build/block-library/blocks/embed/theme-rtl.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/embed/theme.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/file/editor-rtl.css 335 B +35 B (+12%) ⚠️
build/block-library/blocks/file/editor.css 335 B +35 B (+12%) ⚠️
build/block-library/blocks/file/style-rtl.css 288 B +35 B (+14%) ⚠️
build/block-library/blocks/file/style.css 288 B +34 B (+13%) ⚠️
build/block-library/blocks/file/view.min.js 353 B +7 B (+2%)
build/block-library/blocks/freeform/editor-rtl.css 2.47 kB +32 B (+1%)
build/block-library/blocks/freeform/editor.css 2.47 kB +29 B (+1%)
build/block-library/blocks/gallery/editor-rtl.css 987 B +39 B (+4%)
build/block-library/blocks/gallery/editor.css 993 B +43 B (+5%) 🔍
build/block-library/blocks/gallery/style-rtl.css 1.58 kB +53 B (+3%)
build/block-library/blocks/gallery/style.css 1.58 kB +52 B (+3%)
build/block-library/blocks/gallery/theme-rtl.css 157 B +49 B (+45%) 🚨
build/block-library/blocks/gallery/theme.css 157 B +49 B (+45%) 🚨
build/block-library/blocks/group/editor-rtl.css 687 B +33 B (+5%) 🔍
build/block-library/blocks/group/editor.css 687 B +33 B (+5%) 🔍
build/block-library/blocks/group/style-rtl.css 105 B +48 B (+84%) 🆘
build/block-library/blocks/group/style.css 105 B +48 B (+84%) 🆘
build/block-library/blocks/group/theme-rtl.css 125 B +47 B (+60%) 🆘
build/block-library/blocks/group/theme.css 125 B +47 B (+60%) 🆘
build/block-library/blocks/heading/style-rtl.css 128 B +52 B (+68%) 🆘
build/block-library/blocks/heading/style.css 128 B +52 B (+68%) 🆘
build/block-library/blocks/html/editor-rtl.css 365 B +38 B (+12%) ⚠️
build/block-library/blocks/html/editor.css 366 B +37 B (+11%) ⚠️
build/block-library/blocks/image/editor-rtl.css 912 B +32 B (+4%)
build/block-library/blocks/image/editor.css 912 B +32 B (+4%)
build/block-library/blocks/image/style-rtl.css 662 B +35 B (+6%) 🔍
build/block-library/blocks/image/style.css 666 B +36 B (+6%) 🔍
build/block-library/blocks/image/theme-rtl.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/image/theme.css 172 B +46 B (+37%) 🚨
build/block-library/blocks/latest-comments/style-rtl.css 333 B +35 B (+12%) ⚠️
build/block-library/blocks/latest-comments/style.css 333 B +35 B (+12%) ⚠️
build/block-library/blocks/latest-posts/editor-rtl.css 250 B +37 B (+17%) ⚠️
build/block-library/blocks/latest-posts/editor.css 249 B +37 B (+17%) ⚠️
build/block-library/blocks/latest-posts/style-rtl.css 514 B +36 B (+8%) 🔍
build/block-library/blocks/latest-posts/style.css 514 B +36 B (+8%) 🔍
build/block-library/blocks/list/style-rtl.css 135 B +47 B (+53%) 🆘
build/block-library/blocks/list/style.css 135 B +47 B (+53%) 🆘
build/block-library/blocks/media-text/editor-rtl.css 300 B +34 B (+13%) ⚠️
build/block-library/blocks/media-text/editor.css 298 B +35 B (+13%) ⚠️
build/block-library/blocks/media-text/style-rtl.css 540 B +33 B (+7%) 🔍
build/block-library/blocks/media-text/style.css 539 B +34 B (+7%) 🔍
build/block-library/blocks/more/editor-rtl.css 465 B +34 B (+8%) 🔍
build/block-library/blocks/more/editor.css 465 B +34 B (+8%) 🔍
build/block-library/blocks/navigation-link/editor-rtl.css 746 B +34 B (+5%) 🔍
build/block-library/blocks/navigation-link/editor.css 744 B +33 B (+5%) 🔍
build/block-library/blocks/navigation-link/style-rtl.css 153 B +38 B (+33%) 🚨
build/block-library/blocks/navigation-link/style.css 153 B +38 B (+33%) 🚨
build/block-library/blocks/navigation-submenu/editor-rtl.css 333 B +37 B (+13%) ⚠️
build/block-library/blocks/navigation-submenu/editor.css 333 B +38 B (+13%) ⚠️
build/block-library/blocks/navigation/editor-rtl.css 2.19 kB +34 B (+2%)
build/block-library/blocks/navigation/editor.css 2.19 kB +34 B (+2%)
build/block-library/blocks/navigation/style-rtl.css 2.26 kB +50 B (+2%)
build/block-library/blocks/navigation/style.css 2.25 kB +46 B (+2%)
build/block-library/blocks/navigation/view-modal.min.js 2.81 kB +1 B (0%)
build/block-library/blocks/navigation/view.min.js 447 B +4 B (+1%)
build/block-library/blocks/nextpage/editor-rtl.css 428 B +33 B (+8%) 🔍
build/block-library/blocks/nextpage/editor.css 428 B +33 B (+8%) 🔍
build/block-library/blocks/page-list/editor-rtl.css 397 B +34 B (+9%) 🔍
build/block-library/blocks/page-list/editor.css 398 B +35 B (+10%) ⚠️
build/block-library/blocks/page-list/style-rtl.css 212 B +37 B (+21%) 🚨
build/block-library/blocks/page-list/style.css 212 B +37 B (+21%) 🚨
build/block-library/blocks/paragraph/editor-rtl.css 214 B +40 B (+23%) 🚨
build/block-library/blocks/paragraph/editor.css 214 B +40 B (+23%) 🚨
build/block-library/blocks/paragraph/style-rtl.css 321 B +42 B (+15%) ⚠️
build/block-library/blocks/paragraph/style.css 321 B +40 B (+14%) ⚠️
build/block-library/blocks/post-author/style-rtl.css 212 B +37 B (+21%) 🚨
build/block-library/blocks/post-author/style.css 212 B +36 B (+20%) 🚨
build/block-library/blocks/post-comments-form/editor-rtl.css 137 B +41 B (+43%) 🚨
build/block-library/blocks/post-comments-form/editor.css 137 B +41 B (+43%) 🚨
build/block-library/blocks/post-comments-form/style-rtl.css 536 B +35 B (+7%) 🔍
build/block-library/blocks/post-comments-form/style.css 537 B +36 B (+7%) 🔍
build/block-library/blocks/post-date/style-rtl.css 107 B +46 B (+75%) 🆘
build/block-library/blocks/post-date/style.css 107 B +46 B (+75%) 🆘
build/block-library/blocks/post-excerpt/editor-rtl.css 119 B +46 B (+63%) 🆘
build/block-library/blocks/post-excerpt/editor.css 119 B +46 B (+63%) 🆘
build/block-library/blocks/post-excerpt/style-rtl.css 116 B +47 B (+68%) 🆘
build/block-library/blocks/post-excerpt/style.css 116 B +47 B (+68%) 🆘
build/block-library/blocks/post-featured-image/editor-rtl.css 620 B +34 B (+6%) 🔍
build/block-library/blocks/post-featured-image/editor.css 618 B +34 B (+6%) 🔍
build/block-library/blocks/post-featured-image/style-rtl.css 349 B +34 B (+11%) ⚠️
build/block-library/blocks/post-featured-image/style.css 349 B +34 B (+11%) ⚠️
build/block-library/blocks/post-navigation-link/style-rtl.css 190 B +37 B (+24%) 🚨
build/block-library/blocks/post-navigation-link/style.css 189 B +36 B (+24%) 🚨
build/block-library/blocks/post-template/editor-rtl.css 140 B +41 B (+41%) 🚨
build/block-library/blocks/post-template/editor.css 139 B +41 B (+42%) 🚨
build/block-library/blocks/post-template/style-rtl.css 317 B +35 B (+12%) ⚠️
build/block-library/blocks/post-template/style.css 317 B +35 B (+12%) ⚠️
build/block-library/blocks/post-terms/style-rtl.css 136 B +40 B (+42%) 🚨
build/block-library/blocks/post-terms/style.css 136 B +40 B (+42%) 🚨
build/block-library/blocks/post-title/style-rtl.css 138 B +38 B (+38%) 🚨
build/block-library/blocks/post-title/style.css 138 B +38 B (+38%) 🚨
build/block-library/blocks/preformatted/style-rtl.css 139 B +36 B (+35%) 🚨
build/block-library/blocks/preformatted/style.css 139 B +36 B (+35%) 🚨
build/block-library/blocks/pullquote/editor-rtl.css 170 B +35 B (+26%) 🚨
build/block-library/blocks/pullquote/editor.css 170 B +35 B (+26%) 🚨
build/block-library/blocks/pullquote/style-rtl.css 357 B +31 B (+10%) ⚠️
build/block-library/blocks/pullquote/style.css 357 B +32 B (+10%) ⚠️
build/block-library/blocks/pullquote/theme-rtl.css 201 B +34 B (+20%) 🚨
build/block-library/blocks/pullquote/theme.css 201 B +34 B (+20%) 🚨
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 158 B +36 B (+30%) 🚨
build/block-library/blocks/query-pagination-numbers/editor.css 156 B +35 B (+29%) 🚨
build/block-library/blocks/query-pagination/editor-rtl.css 258 B +37 B (+17%) ⚠️
build/block-library/blocks/query-pagination/editor.css 247 B +36 B (+17%) ⚠️
build/block-library/blocks/query-pagination/style-rtl.css 326 B +38 B (+13%) ⚠️
build/block-library/blocks/query-pagination/style.css 322 B +38 B (+13%) ⚠️
build/block-library/blocks/query-title/style-rtl.css 108 B +45 B (+71%) 🆘
build/block-library/blocks/query-title/style.css 108 B +45 B (+71%) 🆘
build/block-library/blocks/query/editor-rtl.css 475 B +35 B (+8%) 🔍
build/block-library/blocks/query/editor.css 477 B +37 B (+8%) 🔍
build/block-library/blocks/quote/style-rtl.css 253 B +40 B (+19%) ⚠️
build/block-library/blocks/quote/style.css 253 B +40 B (+19%) ⚠️
build/block-library/blocks/quote/theme-rtl.css 255 B +32 B (+14%) ⚠️
build/block-library/blocks/quote/theme.css 259 B +33 B (+15%) ⚠️
build/block-library/blocks/read-more/style-rtl.css 168 B +36 B (+27%) 🚨
build/block-library/blocks/read-more/style.css 168 B +36 B (+27%) 🚨
build/block-library/blocks/rss/editor-rtl.css 239 B +37 B (+18%) ⚠️
build/block-library/blocks/rss/editor.css 240 B +36 B (+18%) ⚠️
build/block-library/blocks/rss/style-rtl.css 323 B +34 B (+12%) ⚠️
build/block-library/blocks/rss/style.css 323 B +35 B (+12%) ⚠️
build/block-library/blocks/search/editor-rtl.css 205 B +40 B (+24%) 🚨
build/block-library/blocks/search/editor.css 205 B +40 B (+24%) 🚨
build/block-library/blocks/search/style-rtl.css 441 B +32 B (+8%) 🔍
build/block-library/blocks/search/style.css 439 B +33 B (+8%) 🔍
build/block-library/blocks/search/theme-rtl.css 149 B +35 B (+31%) 🚨
build/block-library/blocks/search/theme.css 149 B +35 B (+31%) 🚨
build/block-library/blocks/separator/editor-rtl.css 184 B +38 B (+26%) 🚨
build/block-library/blocks/separator/editor.css 184 B +38 B (+26%) 🚨
build/block-library/blocks/separator/style-rtl.css 269 B +35 B (+15%) ⚠️
build/block-library/blocks/separator/style.css 269 B +35 B (+15%) ⚠️
build/block-library/blocks/separator/theme-rtl.css 229 B +35 B (+18%) ⚠️
build/block-library/blocks/separator/theme.css 229 B +35 B (+18%) ⚠️
build/block-library/blocks/shortcode/editor-rtl.css 508 B +44 B (+9%) 🔍
build/block-library/blocks/shortcode/editor.css 508 B +44 B (+9%) 🔍
build/block-library/blocks/site-logo/editor-rtl.css 522 B +32 B (+7%) 🔍
build/block-library/blocks/site-logo/editor.css 522 B +32 B (+7%) 🔍
build/block-library/blocks/site-logo/style-rtl.css 238 B +35 B (+17%) ⚠️
build/block-library/blocks/site-logo/style.css 238 B +35 B (+17%) ⚠️
build/block-library/blocks/site-tagline/editor-rtl.css 129 B +43 B (+50%) 🆘
build/block-library/blocks/site-tagline/editor.css 129 B +43 B (+50%) 🆘
build/block-library/blocks/site-title/editor-rtl.css 155 B +39 B (+34%) 🚨
build/block-library/blocks/site-title/editor.css 155 B +39 B (+34%) 🚨
build/block-library/blocks/site-title/style-rtl.css 101 B +44 B (+77%) 🆘
build/block-library/blocks/site-title/style.css 101 B +44 B (+77%) 🆘
build/block-library/blocks/social-link/editor-rtl.css 219 B +35 B (+19%) ⚠️
build/block-library/blocks/social-link/editor.css 219 B +35 B (+19%) ⚠️
build/block-library/blocks/social-links/editor-rtl.css 709 B +35 B (+5%) 🔍
build/block-library/blocks/social-links/editor.css 708 B +35 B (+5%) 🔍
build/block-library/blocks/social-links/style-rtl.css 1.43 kB +36 B (+3%)
build/block-library/blocks/social-links/style.css 1.43 kB +36 B (+3%)
build/block-library/blocks/spacer/editor-rtl.css 372 B +50 B (+16%) ⚠️
build/block-library/blocks/spacer/editor.css 372 B +50 B (+16%) ⚠️
build/block-library/blocks/spacer/style-rtl.css 96 B +48 B (+100%) 🆘
build/block-library/blocks/spacer/style.css 96 B +48 B (+100%) 🆘
build/block-library/blocks/table/editor-rtl.css 547 B +42 B (+8%) 🔍
build/block-library/blocks/table/editor.css 547 B +42 B (+8%) 🔍
build/block-library/blocks/table/style-rtl.css 670 B +39 B (+6%) 🔍
build/block-library/blocks/table/style.css 669 B +38 B (+6%) 🔍
build/block-library/blocks/table/theme-rtl.css 220 B +48 B (+28%) 🚨
build/block-library/blocks/table/theme.css 220 B +48 B (+28%) 🚨
build/block-library/blocks/tag-cloud/style-rtl.css 287 B +36 B (+14%) ⚠️
build/block-library/blocks/tag-cloud/style.css 288 B +35 B (+14%) ⚠️
build/block-library/blocks/template-part/editor-rtl.css 436 B +201 B (+86%) 🆘
build/block-library/blocks/template-part/editor.css 436 B +201 B (+86%) 🆘
build/block-library/blocks/template-part/theme-rtl.css 139 B +38 B (+38%) 🚨
build/block-library/blocks/template-part/theme.css 139 B +38 B (+38%) 🚨
build/block-library/blocks/text-columns/editor-rtl.css 135 B +40 B (+42%) 🚨
build/block-library/blocks/text-columns/editor.css 135 B +40 B (+42%) 🚨
build/block-library/blocks/text-columns/style-rtl.css 198 B +32 B (+19%) ⚠️
build/block-library/blocks/text-columns/style.css 198 B +32 B (+19%) ⚠️
build/block-library/blocks/verse/style-rtl.css 130 B +43 B (+49%) 🚨
build/block-library/blocks/verse/style.css 130 B +43 B (+49%) 🚨
build/block-library/blocks/video/editor-rtl.css 720 B +29 B (+4%)
build/block-library/blocks/video/editor.css 723 B +29 B (+4%)
build/block-library/blocks/video/style-rtl.css 218 B +44 B (+25%) 🚨
build/block-library/blocks/video/style.css 218 B +44 B (+25%) 🚨
build/block-library/blocks/video/theme-rtl.css 171 B +45 B (+36%) 🚨
build/block-library/blocks/video/theme.css 171 B +45 B (+36%) 🚨
build/block-library/classic-rtl.css 193 B +31 B (+19%) ⚠️
build/block-library/classic.css 193 B +31 B (+19%) ⚠️
build/block-library/common-rtl.css 1.05 kB +35 B (+3%)
build/block-library/common.css 1.05 kB +34 B (+3%)
build/block-library/editor-elements-rtl.css 126 B +51 B (+68%) 🆘
build/block-library/editor-elements.css 126 B +51 B (+68%) 🆘
build/block-library/editor-rtl.css 11.7 kB +296 B (+3%)
build/block-library/editor.css 11.7 kB +298 B (+3%)
build/block-library/elements-rtl.css 105 B +51 B (+94%) 🆘
build/block-library/elements.css 105 B +51 B (+94%) 🆘
build/block-library/index.min.js 195 kB +1.27 kB (+1%)
build/block-library/reset-rtl.css 514 B +36 B (+8%) 🔍
build/block-library/reset.css 514 B +36 B (+8%) 🔍
build/block-library/style-rtl.css 12.4 kB +74 B (+1%)
build/block-library/style.css 12.4 kB +69 B (+1%)
build/block-library/theme-rtl.css 749 B +45 B (+6%) 🔍
build/block-library/theme.css 753 B +45 B (+6%) 🔍
build/block-serialization-default-parser/index.min.js 1.13 kB +8 B (+1%)
build/blocks/index.min.js 50 kB +113 B (0%)
build/components/index.min.js 203 kB +549 B (0%)
build/components/style-rtl.css 11.6 kB +74 B (+1%)
build/components/style.css 11.6 kB +73 B (+1%)
build/compose/index.min.js 12.3 kB +57 B (0%)
build/core-data/index.min.js 15.6 kB +110 B (+1%)
build/customize-widgets/index.min.js 11.3 kB +19 B (0%)
build/customize-widgets/style-rtl.css 1.41 kB +26 B (+2%)
build/customize-widgets/style.css 1.41 kB +27 B (+2%)
build/data-controls/index.min.js 663 B +10 B (+2%)
build/data/index.min.js 8.12 kB +41 B (+1%)
build/date/index.min.js 32.1 kB +6 B (0%)
build/deprecated/index.min.js 518 B +11 B (+2%)
build/dom-ready/index.min.js 336 B +12 B (+4%)
build/dom/index.min.js 4.74 kB +43 B (+1%)
build/edit-navigation/index.min.js 16.2 kB +31 B (0%)
build/edit-navigation/style-rtl.css 4.1 kB +41 B (+1%)
build/edit-navigation/style.css 4.1 kB +39 B (+1%)
build/edit-post/classic-rtl.css 569 B +23 B (+4%)
build/edit-post/classic.css 570 B +23 B (+4%)
build/edit-post/index.min.js 34.5 kB +96 B (0%)
build/edit-post/style-rtl.css 7.45 kB +60 B (+1%)
build/edit-post/style.css 7.44 kB +60 B (+1%)
build/edit-site/index.min.js 61.1 kB +136 B (0%)
build/edit-site/style-rtl.css 8.51 kB +116 B (+1%)
build/edit-site/style.css 8.5 kB +127 B (+2%)
build/edit-widgets/index.min.js 16.8 kB +55 B (0%)
build/edit-widgets/style-rtl.css 4.46 kB +45 B (+1%)
build/edit-widgets/style.css 4.46 kB +43 B (+1%)
build/editor/index.min.js 44 kB +349 B (+1%)
build/editor/style-rtl.css 3.65 kB +51 B (+1%)
build/editor/style.css 3.64 kB +54 B (+2%)
build/element/index.min.js 4.72 kB +40 B (+1%)
build/escape-html/index.min.js 548 B +11 B (+2%)
build/experiments/index.min.js 882 B +14 B (+2%)
build/format-library/index.min.js 6.96 kB +18 B (0%)
build/format-library/style-rtl.css 596 B +25 B (+4%)
build/format-library/style.css 596 B +25 B (+4%)
build/hooks/index.min.js 1.66 kB +28 B (+2%)
build/html-entities/index.min.js 454 B +6 B (+1%)
build/i18n/index.min.js 3.79 kB +17 B (0%)
build/is-shallow-equal/index.min.js 535 B +8 B (+2%)
build/keyboard-shortcuts/index.min.js 1.79 kB +11 B (+1%)
build/keycodes/index.min.js 1.86 kB +30 B (+2%)
build/list-reusable-blocks/index.min.js 2.13 kB -2 B (0%)
build/list-reusable-blocks/style-rtl.css 858 B +23 B (+3%)
build/list-reusable-blocks/style.css 857 B +22 B (+3%)
build/media-utils/index.min.js 2.94 kB +16 B (+1%)
build/notices/index.min.js 977 B +14 B (+1%)
build/nux/index.min.js 2.07 kB +14 B (+1%)
build/nux/style-rtl.css 772 B +40 B (+5%) 🔍
build/nux/style.css 768 B +40 B (+5%) 🔍
build/plugins/index.min.js 1.95 kB +9 B (0%)
build/preferences-persistence/index.min.js 2.23 kB +9 B (0%)
build/preferences/index.min.js 1.35 kB +16 B (+1%)
build/primitives/index.min.js 960 B +16 B (+2%)
build/priority-queue/index.min.js 1.59 kB +8 B (+1%)
build/react-i18n/index.min.js 702 B +6 B (+1%)
build/react-refresh-entry/index.min.js 8.44 kB +5 B (0%)
build/react-refresh-runtime/index.min.js 7.31 kB -2 B (0%)
build/redux-routine/index.min.js 2.75 kB +10 B (0%)
build/reusable-blocks/index.min.js 2.22 kB +10 B (0%)
build/reusable-blocks/style-rtl.css 281 B +25 B (+10%) ⚠️
build/reusable-blocks/style.css 281 B +25 B (+10%) ⚠️
build/rich-text/index.min.js 10.7 kB +28 B (0%)
build/server-side-render/index.min.js 1.77 kB +4 B (0%)
build/shortcode/index.min.js 1.52 kB -2 B (0%)
build/style-engine/index.min.js 1.51 kB +28 B (+2%)
build/token-list/index.min.js 650 B +6 B (+1%)
build/url/index.min.js 3.7 kB +86 B (+2%)
build/viewport/index.min.js 1.09 kB +9 B (+1%)
build/warning/index.min.js 280 B +12 B (+4%)
build/widgets/index.min.js 7.23 kB +14 B (0%)
build/widgets/style-rtl.css 1.21 kB +28 B (+2%)
build/widgets/style.css 1.21 kB +27 B (+2%)
build/wordcount/index.min.js 1.06 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size
build/block-serialization-spec-parser/index.min.js 2.83 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 38.5 kB
build/vendors/react.min.js 4.34 kB

compressed-size-action

@ciampo
Copy link
Contributor

ciampo commented Nov 21, 2022

Instead of making InputControl similar to BaseControl by reusing some parts and duplicating other props, I was wondering if we should instead look into reusing BaseControl fully — with the greater vision being that all *Control components have BaseControl as their "root control" component, so that we can achieve greater code and design consistency across all control components?

@mirka
Copy link
Member Author

mirka commented Nov 21, 2022

Instead of making InputControl similar to BaseControl by reusing some parts and duplicating other props, I was wondering if we should instead look into reusing BaseControl fully

My bad, I was overestimating the effort required to make this happen, at least in the context of this PR. It is still a bit high-effort to consolidate the labelPosition feature into BaseControl, but simply using BaseControl as a wrapper around InputControl to utilize the help feature is pretty simple. In fact, SelectControl is already implemented this way.

I changed this PR to use BaseControl 👍

Copy link
Contributor

@ciampo ciampo left a comment

Choose a reason for hiding this comment

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

Nicely done! Tested in Storybook (both InputControl / NumberControl / UnitControl), works as expected 🚀

It would be even better if InputControl could leverage BaseControl fully, including label and hideLabelFromVision.

Maybe a good follow-up would be to bring the labelPosition feature to BaseControl, and then refactor InputControl removing its custom implementation of label and using instead BaseControl ?

/**
* An additional description for the control.
*/
help?: string;
Copy link
Contributor

Choose a reason for hiding this comment

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

BaseControl's help prop is a ReactNode — is there any specific reason why we're using string instead of Pick< BaseControlProps, 'help' > ?

Copy link
Member Author

Choose a reason for hiding this comment

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

This was because the help implementation in BaseControl was not marked up semantically, as @tellthemachines noted. ARIA descriptions actually require plain text. I was kind of considering removing ReactNode support in BaseControl itself in the process of fixing the markup issue.

However, taking a better look at the codebase, there are already a good number of help usage that include links in the text. So I'm going to suggest that we mark it up as aria-describedby when plain text, and fall back to aria-details when not. e4806bb

I believe it's still preferable to use aria-describedby because aria-details support is pretty bad.

Copy link
Contributor

Choose a reason for hiding this comment

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

Agreed, thank you for the context! Should we mention that a plain string of text is preferable in the help prop description in BaseControl ?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ok, I'll add that in the follow-up when I add the semantics to BaseControl 👍

Copy link
Contributor

@tellthemachines tellthemachines left a comment

Choose a reason for hiding this comment

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

Thanks for fixing this! I tested it with VoiceOver and the description is being read out correctly when the input is focused, thanks to the use of aria-describedby

While working on #45364, I noticed that when adding help to the ToggleGroupControl, there is no semantic link between the text and the control. Could we fix that (as a separate task, of course!) so that ToggleGroupControl also uses aria-describedby for its help text?

@mirka
Copy link
Member Author

mirka commented Nov 28, 2022

Maybe a good follow-up would be to bring the labelPosition feature to BaseControl, and then refactor InputControl removing its custom implementation of label and using instead BaseControl ?

That would be nice, but realistically my current assessment is that it's hard to justify the effort, given our current priorities 🙁 It's not a quick low-risk refactor given the surface area, and the benefits are not very substantial at the moment. Maybe when the labelPosition features are wanted more widely, or when the dual maintenance starts to be more burdensome?

@mirka
Copy link
Member Author

mirka commented Nov 28, 2022

While working on #45364, I noticed that when adding help to the ToggleGroupControl, there is no semantic link between the text and the control. Could we fix that (as a separate task, of course!) so that ToggleGroupControl also uses aria-describedby for its help text?

Yes, this is next on my list 👍 I'll backport the aria-describedby/aria-details fallback approach if we agree that's acceptable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Components /packages/components [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants