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

Upgrade Reakit to version 1.3.4 #28013

Merged
merged 3 commits into from
Jan 7, 2021
Merged

Upgrade Reakit to version 1.3.4 #28013

merged 3 commits into from
Jan 7, 2021

Conversation

diegohaz
Copy link
Member

@diegohaz diegohaz commented Jan 6, 2021

This PR upgrades Reakit to version 1.3.4.

The most relevant feature is that composite items are now automatically sorted when their position change in the DOM, so we don't need to call unstable_sort() manually anymore.

Changelog since v1.1.0

1.3.4 (2021-01-06)

Bug Fixes

1.3.3 (2021-01-03)

Bug Fixes

  • Fix CompositeItem with tabindex=0 on the first render (#817) (3d81514)

1.3.2 (2020-12-11)

Bug Fixes

1.3.1 (2020-11-26)

Bug Fixes

  • Add missing quote in querySelector in Dialog (#793) (d9a49ef)
  • Native radio input firing onChange callback twice on click (#791) (6a436bb), closes #790

1.3.0 (2020-11-12)

Features

  • Add Role component (#728) (5fa51a7)
  • Add shift option to useCompositeState (#727) (7861395)
  • Add experimental Combobox component (#688) (ad7063b)
  • Add experimental includesBaseElement option to useCompositeState (#726) (cf3ba56)
  • Show warning if disclosure stopAnimation is not called in time (#701) (0dd2683), closes #698
  • Trigger onChange when setting CompositeItemWidget value (0b5b3cb)

1.2.6 (2020-11-12)

Bug Fixes

  • Fix Composite unstable_virtual option on mobile devices (#783) (ecdc4ef)
  • Stop warning when using invalid composite roles on Composite (#784) (9bcbfe6)

1.2.5 (2020-09-22)

Bug Fixes

  • Fix Composite infinite loop on Firefox (#748) (4a1c644), closes #747
  • Fix disabled prop being passed to elements that don't support it (#725) (d982a61), closes #722
  • Fix disabled events when using the as prop (#736) (c594166)

1.2.4 (2020-09-03)

Bug Fixes

  • Fix internal dependency versions (3d4cb42)

1.2.3 (2020-08-24)

Bug Fixes

1.2.2 (2020-08-17)

Bug Fixes

  • Assert focus method exists on the dialog disclosure element (#710) (85dd073)
  • Fix blur event on Composite for React 17 (#711) (0ad76e6)
  • Fix disclosure detection when unstable_virtual is true on React 17 (#715) (81ec3a3)
  • Fix intermediate focus/blur event order in Composite (#713) (891976b)

1.2.1 (2020-08-13)

Bug Fixes

1.2.0 (2020-08-06)

Features

  • Add experimental Grid component (#685) (51e17fb)
  • Add stable composite.sort method (#690) (1f66168)
  • Add stable id.setBaseId method (#691) (5c52c71)
  • Automatically sort composite items based on DOM position (#696) (bdaab5d)
  • Focus Menu instead of MenuItem on mouse click on MenuButton (#694) (d57b97f)

1.1.2 (2020-07-18)

Bug Fixes

  • Fix composite.unstable_sort on Firefox (f973f77)
  • Fix Dialog focus loss (#682) (8ae0da7), closes #677
  • Fix MenuButton not receiving focus after Menu closes (#692) (e649f20)

1.1.1 (2020-06-21)

Bug Fixes

@github-actions
Copy link

github-actions bot commented Jan 6, 2021

Size Change: +4.07 kB (0%)

Total Size: 1.3 MB

Filename Size Change
build/annotations/index.js 3.8 kB -3 B (0%)
build/api-fetch/index.js 3.42 kB +1 B (0%)
build/autop/index.js 2.83 kB +1 B (0%)
build/blob/index.js 664 B -1 B (0%)
build/block-directory/index.js 8.72 kB +7 B (0%)
build/block-editor/index.js 130 kB +1.47 kB (+1%)
build/block-library/index.js 151 kB +1.33 kB (+1%)
build/blocks/index.js 48 kB -28 B (0%)
build/components/index.js 172 kB +1.5 kB (+1%)
build/compose/index.js 11.2 kB +6 B (0%)
build/core-data/index.js 15.2 kB -6 B (0%)
build/data-controls/index.js 830 B +1 B (0%)
build/data/index.js 8.98 kB -5 B (0%)
build/dom/index.js 4.95 kB -1 B (0%)
build/edit-navigation/index.js 11.1 kB +5 B (0%)
build/edit-post/index.js 306 kB -1 B (0%)
build/edit-site/index.js 24.5 kB -9 B (0%)
build/edit-widgets/index.js 26.2 kB -192 B (-1%)
build/editor/index.js 42.8 kB -10 B (0%)
build/element/index.js 4.62 kB -5 B (0%)
build/hooks/index.js 2.27 kB -1 B (0%)
build/html-entities/index.js 623 B +1 B (0%)
build/i18n/index.js 3.57 kB -1 B (0%)
build/keyboard-shortcuts/index.js 2.54 kB +2 B (0%)
build/keycodes/index.js 1.94 kB +2 B (0%)
build/list-reusable-blocks/index.js 3.11 kB +1 B (0%)
build/media-utils/index.js 5.31 kB +4 B (0%)
build/notices/index.js 1.86 kB -2 B (0%)
build/nux/index.js 3.43 kB +7 B (0%)
build/primitives/index.js 1.43 kB +1 B (0%)
build/priority-queue/index.js 790 B +1 B (0%)
build/redux-routine/index.js 2.84 kB +3 B (0%)
build/reusable-blocks/index.js 2.92 kB -2 B (0%)
build/rich-text/index.js 13.4 kB +2 B (0%)
build/server-side-render/index.js 2.77 kB +1 B (0%)
build/shortcode/index.js 1.7 kB -2 B (0%)
build/url/index.js 3.02 kB -1 B (0%)
build/viewport/index.js 1.86 kB +2 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/block-directory/style-rtl.css 1.01 kB 0 B
build/block-directory/style.css 1.01 kB 0 B
build/block-editor/style-rtl.css 11.4 kB 0 B
build/block-editor/style.css 11.3 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 196 B 0 B
build/block-library/blocks/archives/editor.css 196 B 0 B
build/block-library/blocks/audio/editor-rtl.css 194 B 0 B
build/block-library/blocks/audio/editor.css 194 B 0 B
build/block-library/blocks/audio/style-rtl.css 225 B 0 B
build/block-library/blocks/audio/style.css 225 B 0 B
build/block-library/blocks/block/editor-rtl.css 283 B 0 B
build/block-library/blocks/block/editor.css 283 B 0 B
build/block-library/blocks/button/editor-rtl.css 576 B 0 B
build/block-library/blocks/button/editor.css 577 B 0 B
build/block-library/blocks/button/style-rtl.css 552 B 0 B
build/block-library/blocks/button/style.css 552 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 345 B 0 B
build/block-library/blocks/buttons/editor.css 346 B 0 B
build/block-library/blocks/buttons/style-rtl.css 419 B 0 B
build/block-library/blocks/buttons/style.css 419 B 0 B
build/block-library/blocks/calendar/style-rtl.css 319 B 0 B
build/block-library/blocks/calendar/style.css 319 B 0 B
build/block-library/blocks/categories/editor-rtl.css 210 B 0 B
build/block-library/blocks/categories/editor.css 209 B 0 B
build/block-library/blocks/categories/style-rtl.css 208 B 0 B
build/block-library/blocks/categories/style.css 208 B 0 B
build/block-library/blocks/code/style-rtl.css 216 B 0 B
build/block-library/blocks/code/style.css 216 B 0 B
build/block-library/blocks/columns/editor-rtl.css 300 B 0 B
build/block-library/blocks/columns/editor.css 299 B 0 B
build/block-library/blocks/columns/style-rtl.css 529 B 0 B
build/block-library/blocks/columns/style.css 528 B 0 B
build/block-library/blocks/cover/editor-rtl.css 508 B 0 B
build/block-library/blocks/cover/editor.css 506 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.33 kB 0 B
build/block-library/blocks/cover/style.css 1.32 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 594 B 0 B
build/block-library/blocks/embed/editor.css 595 B 0 B
build/block-library/blocks/embed/style-rtl.css 489 B 0 B
build/block-library/blocks/embed/style.css 489 B 0 B
build/block-library/blocks/file/editor-rtl.css 314 B 0 B
build/block-library/blocks/file/editor.css 313 B 0 B
build/block-library/blocks/file/style-rtl.css 352 B 0 B
build/block-library/blocks/file/style.css 352 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.55 kB 0 B
build/block-library/blocks/freeform/editor.css 2.55 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 749 B 0 B
build/block-library/blocks/gallery/editor.css 750 B 0 B
build/block-library/blocks/gallery/style-rtl.css 1.17 kB 0 B
build/block-library/blocks/gallery/style.css 1.17 kB 0 B
build/block-library/blocks/group/editor-rtl.css 433 B 0 B
build/block-library/blocks/group/editor.css 432 B 0 B
build/block-library/blocks/group/style-rtl.css 190 B 0 B
build/block-library/blocks/group/style.css 190 B 0 B
build/block-library/blocks/heading/editor-rtl.css 248 B 0 B
build/block-library/blocks/heading/editor.css 248 B 0 B
build/block-library/blocks/heading/style-rtl.css 212 B 0 B
build/block-library/blocks/heading/style.css 212 B 0 B
build/block-library/blocks/html/editor-rtl.css 384 B 0 B
build/block-library/blocks/html/editor.css 385 B 0 B
build/block-library/blocks/image/editor-rtl.css 801 B 0 B
build/block-library/blocks/image/editor.css 800 B 0 B
build/block-library/blocks/image/style-rtl.css 569 B 0 B
build/block-library/blocks/image/style.css 570 B 0 B
build/block-library/blocks/latest-comments/editor-rtl.css 277 B 0 B
build/block-library/blocks/latest-comments/editor.css 275 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 382 B 0 B
build/block-library/blocks/latest-comments/style.css 382 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 254 B 0 B
build/block-library/blocks/latest-posts/editor.css 254 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 634 B 0 B
build/block-library/blocks/latest-posts/style.css 634 B 0 B
build/block-library/blocks/list/editor-rtl.css 203 B 0 B
build/block-library/blocks/list/editor.css 203 B 0 B
build/block-library/blocks/list/style-rtl.css 201 B 0 B
build/block-library/blocks/list/style.css 201 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 311 B 0 B
build/block-library/blocks/media-text/editor.css 311 B 0 B
build/block-library/blocks/media-text/style-rtl.css 642 B 0 B
build/block-library/blocks/media-text/style.css 640 B 0 B
build/block-library/blocks/more/editor-rtl.css 545 B 0 B
build/block-library/blocks/more/editor.css 545 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 503 B 0 B
build/block-library/blocks/navigation-link/editor.css 504 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 805 B 0 B
build/block-library/blocks/navigation-link/style.css 803 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.38 kB 0 B
build/block-library/blocks/navigation/editor.css 1.38 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 274 B 0 B
build/block-library/blocks/navigation/style.css 274 B 0 B
build/block-library/blocks/nextpage/editor-rtl.css 507 B 0 B
build/block-library/blocks/nextpage/editor.css 507 B 0 B
build/block-library/blocks/paragraph/editor-rtl.css 236 B 0 B
build/block-library/blocks/paragraph/editor.css 236 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 351 B 0 B
build/block-library/blocks/paragraph/style.css 352 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 329 B 0 B
build/block-library/blocks/post-author/editor.css 329 B 0 B
build/block-library/blocks/post-author/style-rtl.css 303 B 0 B
build/block-library/blocks/post-author/style.css 303 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 358 B 0 B
build/block-library/blocks/post-comments-form/style.css 358 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 262 B 0 B
build/block-library/blocks/post-content/editor.css 262 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 206 B 0 B
build/block-library/blocks/post-excerpt/editor.css 206 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 453 B 0 B
build/block-library/blocks/post-featured-image/editor.css 453 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 223 B 0 B
build/block-library/blocks/post-featured-image/style.css 223 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 193 B 0 B
build/block-library/blocks/preformatted/style.css 193 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 304 B 0 B
build/block-library/blocks/pullquote/editor.css 304 B 0 B
build/block-library/blocks/pullquote/style-rtl.css 428 B 0 B
build/block-library/blocks/pullquote/style.css 428 B 0 B
build/block-library/blocks/query-loop/editor-rtl.css 217 B 0 B
build/block-library/blocks/query-loop/editor.css 216 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 427 B 0 B
build/block-library/blocks/query-loop/style.css 429 B 0 B
build/block-library/blocks/query/editor-rtl.css 279 B 0 B
build/block-library/blocks/query/editor.css 279 B 0 B
build/block-library/blocks/quote/editor-rtl.css 195 B 0 B
build/block-library/blocks/quote/editor.css 195 B 0 B
build/block-library/blocks/quote/style-rtl.css 284 B 0 B
build/block-library/blocks/quote/style.css 285 B 0 B
build/block-library/blocks/rss/editor-rtl.css 307 B 0 B
build/block-library/blocks/rss/editor.css 309 B 0 B
build/block-library/blocks/rss/style-rtl.css 394 B 0 B
build/block-library/blocks/rss/style.css 393 B 0 B
build/block-library/blocks/search/editor-rtl.css 285 B 0 B
build/block-library/blocks/search/editor.css 285 B 0 B
build/block-library/blocks/search/style-rtl.css 454 B 0 B
build/block-library/blocks/search/style.css 456 B 0 B
build/block-library/blocks/separator/editor-rtl.css 229 B 0 B
build/block-library/blocks/separator/editor.css 229 B 0 B
build/block-library/blocks/separator/style-rtl.css 352 B 0 B
build/block-library/blocks/separator/style.css 352 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 603 B 0 B
build/block-library/blocks/shortcode/editor.css 603 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 321 B 0 B
build/block-library/blocks/site-logo/editor.css 321 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 238 B 0 B
build/block-library/blocks/site-logo/style.css 238 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 283 B 0 B
build/block-library/blocks/social-link/editor.css 283 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 811 B 0 B
build/block-library/blocks/social-links/editor.css 810 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.44 kB 0 B
build/block-library/blocks/social-links/style.css 1.44 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 390 B 0 B
build/block-library/blocks/spacer/editor.css 390 B 0 B
build/block-library/blocks/spacer/style-rtl.css 184 B 0 B
build/block-library/blocks/spacer/style.css 184 B 0 B
build/block-library/blocks/subhead/editor-rtl.css 223 B 0 B
build/block-library/blocks/subhead/editor.css 223 B 0 B
build/block-library/blocks/subhead/style-rtl.css 210 B 0 B
build/block-library/blocks/subhead/style.css 210 B 0 B
build/block-library/blocks/table/editor-rtl.css 593 B 0 B
build/block-library/blocks/table/editor.css 593 B 0 B
build/block-library/blocks/table/style-rtl.css 501 B 0 B
build/block-library/blocks/table/style.css 501 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 237 B 0 B
build/block-library/blocks/tag-cloud/editor.css 235 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 221 B 0 B
build/block-library/blocks/tag-cloud/style.css 221 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 714 B 0 B
build/block-library/blocks/template-part/editor.css 714 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 220 B 0 B
build/block-library/blocks/text-columns/editor.css 220 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 283 B 0 B
build/block-library/blocks/text-columns/style.css 283 B 0 B
build/block-library/blocks/verse/editor-rtl.css 194 B 0 B
build/block-library/blocks/verse/editor.css 194 B 0 B
build/block-library/blocks/verse/style-rtl.css 214 B 0 B
build/block-library/blocks/verse/style.css 214 B 0 B
build/block-library/blocks/video/editor-rtl.css 617 B 0 B
build/block-library/blocks/video/editor.css 617 B 0 B
build/block-library/blocks/video/style-rtl.css 303 B 0 B
build/block-library/blocks/video/style.css 304 B 0 B
build/block-library/common-rtl.css 1.01 kB 0 B
build/block-library/common.css 1.01 kB 0 B
build/block-library/editor-rtl.css 8.93 kB 0 B
build/block-library/editor.css 8.93 kB 0 B
build/block-library/style-rtl.css 8.53 kB 0 B
build/block-library/style.css 8.53 kB 0 B
build/block-library/theme-rtl.css 860 B 0 B
build/block-library/theme.css 860 B 0 B
build/block-serialization-default-parser/index.js 1.88 kB 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 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/edit-navigation/style-rtl.css 938 B 0 B
build/edit-navigation/style.css 944 B 0 B
build/edit-post/style-rtl.css 6.64 kB 0 B
build/edit-post/style.css 6.63 kB 0 B
build/edit-site/style-rtl.css 4.04 kB 0 B
build/edit-site/style.css 4.04 kB 0 B
build/edit-widgets/style-rtl.css 3.22 kB 0 B
build/edit-widgets/style.css 3.22 kB 0 B
build/editor/editor-styles-rtl.css 476 B 0 B
build/editor/editor-styles.css 478 B 0 B
build/editor/style-rtl.css 3.89 kB 0 B
build/editor/style.css 3.89 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/index.js 6.75 kB 0 B
build/format-library/style-rtl.css 620 B 0 B
build/format-library/style.css 621 B 0 B
build/is-shallow-equal/index.js 698 B 0 B
build/list-reusable-blocks/style-rtl.css 601 B 0 B
build/list-reusable-blocks/style.css 601 B 0 B
build/nux/style-rtl.css 731 B 0 B
build/nux/style.css 727 B 0 B
build/plugins/index.js 2.54 kB 0 B
build/token-list/index.js 1.27 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@diegohaz diegohaz changed the title Upgrade Reakit to version 1.3.3 Upgrade Reakit to version 1.3.4 Jan 6, 2021
@diegohaz diegohaz marked this pull request as ready for review January 6, 2021 14:58
@diegohaz diegohaz self-assigned this Jan 6, 2021
@diegohaz diegohaz added the [Type] Code Quality Issues or PRs that relate to code quality label Jan 6, 2021
Copy link
Member

@kevin940726 kevin940726 left a comment

Choose a reason for hiding this comment

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

🎉

@gziolo
Copy link
Member

gziolo commented Jan 7, 2021

Thanks @diegohaz 👍🏻

I raised that in the past, it looks like we should look into how we could stop duplicating bundled code from Reakit:
Screen Shot 2021-01-07 at 07 56 59

We could add shared APIs to @wordpress/a11y, but there is one line that I personally find as tricky:

domReady( setup );

Any thoughts?

@gziolo gziolo merged commit c460a3e into master Jan 7, 2021
@gziolo gziolo deleted the feat/upgrade-reakit branch January 7, 2021 07:02
@github-actions github-actions bot added this to the Gutenberg 9.8 milestone Jan 7, 2021
@diegohaz
Copy link
Member Author

diegohaz commented Jan 7, 2021

I raised that in the past, it looks like we should look into how we could stop duplicating bundled code from Reakit:

@gziolo I don't really know how to interpret that table. I expect that when we use both @wordpress/block-library and @wordpress/components we would get the same Reakit source. But maybe it's a problem when we use the browser distributions? How would adding Reakit only to @wordpress/a11y solve this problem?

@gziolo
Copy link
Member

gziolo commented Jan 7, 2021

The issue exists inside the WordPress core/Gutenberg plugin. It won't be an issue for JS apps that use one entry point and code splitting. We have a long list of entry points. They are externalized between each of them and referenced through wp.* globals in the build code. It means that when you import Reakit for a given entry point it is properly tree-shaken but if several entry points use Reakit, all of them can bundle the same code. Given that there is already @wordpress/a11y package, we could make it a proxy to Reakit and resolve this issue by forbidding direct imports from Reakit.

@diegohaz
Copy link
Member Author

diegohaz commented Jan 7, 2021

That makes sense! Why do you think that line (domReady( setup );) would be problematic?

@gziolo
Copy link
Member

gziolo commented Jan 7, 2021

Why do you think that line (domReady( setup );) would be problematic?

It might be my personal resistance to side effects in packages. Maybe we could lazy execute it when speak is called for the first time 🤔

@gziolo
Copy link
Member

gziolo commented Jan 7, 2021

@youknowriad, is #28013 (comment) something we should plan for WordPress 5.7 or you think we can delay further?

@youknowriad
Copy link
Contributor

Do you think the solution here could be to use components from "Components" that rely on reakit instead of using reakit directly in the other packages?

@gziolo
Copy link
Member

gziolo commented Jan 7, 2021

Yes, that would work as well since @wordpress/components is the most nested component here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Code Quality Issues or PRs that relate to code quality
Projects
None yet
4 participants