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

Exploration - Semantic template part contextual block patterns in inserter sidebar. #29595

Conversation

Addison-Stavlo
Copy link
Contributor

@Addison-Stavlo Addison-Stavlo commented Mar 5, 2021

Description

This PR explores showing semantic template part specific block patterns in the sidebar patterns inserter when when a template part or its children are selected.

try-template-part-inserter

To have contextual patterns to test with, we registered copies of the tt1-blocks theme's header and footer in lib/block-patterns.

Immediate Concerns

moved to comment #29595 (comment)

How has this been tested?

Screenshots

Types of changes

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • I've tested my changes with keyboard and screen readers.
  • 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.

@Addison-Stavlo
Copy link
Contributor Author

Immediate Concerns

The interaction sort of raises more questions about design and whether or not these belong in the standard sidebar inserter. For insertion of these patterns to behave well, it seems like we would need to alter the behavior of inserting in this context. However, having insertion work one way in one context while having it behave entirely differently in another context would be an inconsistent user experience and potentially create confusion during interaction.

Since these patterns are 'full' template part patterns, the current inserter behavior of appending beneath the currently selected block is problematic for a variety of reasons:

  • Template parts are complex and generally are immediately divided into columns and groups. If a user has a block selected and chooses to insert a template part pattern, it will most likely insert into an internal container it is not intended for. It will look bad and not meet user expectations. The only 'good' place to insert one of these patterns would be at the top level of the template part, meaning they would need to have selected the top level 'group' or 'columns' block inside the template part for it to insert in a reasonable location.
  • When selecting the template part block itself, standard inserting behavior will add the pattern beneath the template part block - not inside the template part!

Problematic Solutions

One might first think that a potential solution to this would be to change the inserting behavior specifically for these contextual patterns. For example, when the template part or any of its children are selected inserting a pattern would add it to the top level of the template part regardless of where the selection is (or similarly could 'replace' its contents instead of appending). While this would technically work for these patterns, its a huge difference in behavior from how the current patterns work.

Adding onto this we would still want to show other pattern categories while in the template part context. There will be other patterns that may be found useful as sub sections inside template parts, these may include text patterns, button patterns, navigation or social link patterns, etc. These patterns would still need to have the 'normal' inserting behavior in terms of appending at the location based on the current selection. At that point we would have different categories with different inserting behaviors available in the same menu at the same time which seems like it would most definitely lead to quite a bit of confusion.

@Addison-Stavlo Addison-Stavlo changed the title Try/contextual template part patterns inserter sidebar Exploration - Semantic template part contextual block patterns in inserter sidebar. Mar 5, 2021
@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Size Change: +2.05 kB (0%)

Total Size: 1.4 MB

Filename Size Change
build/api-fetch/index.js 3.4 kB +1 B (0%)
build/autop/index.js 2.82 kB +1 B (0%)
build/block-directory/index.js 8.63 kB +3 B (0%)
build/block-editor/index.js 125 kB +381 B (0%)
build/block-editor/style-rtl.css 12.1 kB -2 B (0%)
build/block-editor/style.css 12.1 kB -1 B (0%)
build/block-library/blocks/audio/style-rtl.css 112 B +9 B (+9%) 🔍
build/block-library/blocks/audio/style.css 112 B +9 B (+9%) 🔍
build/block-library/blocks/embed/style-rtl.css 401 B +5 B (+1%)
build/block-library/blocks/embed/style.css 400 B +5 B (+1%)
build/block-library/blocks/gallery/style-rtl.css 1.08 kB +10 B (+1%)
build/block-library/blocks/gallery/style.css 1.07 kB +10 B (+1%)
build/block-library/blocks/image/style-rtl.css 476 B -1 B (0%)
build/block-library/blocks/paragraph/editor-rtl.css 157 B +48 B (+44%) 🚨
build/block-library/blocks/paragraph/editor.css 157 B +48 B (+44%) 🚨
build/block-library/blocks/pullquote/style-rtl.css 318 B +2 B (+1%)
build/block-library/blocks/pullquote/style.css 318 B +2 B (+1%)
build/block-library/blocks/table/style-rtl.css 402 B +12 B (+3%)
build/block-library/blocks/table/style.css 402 B +12 B (+3%)
build/block-library/blocks/video/style-rtl.css 187 B -6 B (-3%)
build/block-library/blocks/video/style.css 187 B -6 B (-3%)
build/block-library/editor-rtl.css 9.57 kB +26 B (0%)
build/block-library/editor.css 9.56 kB +26 B (0%)
build/block-library/index.js 148 kB -18 B (0%)
build/block-library/style-rtl.css 8.86 kB +4 B (0%)
build/block-library/style.css 8.87 kB +5 B (0%)
build/block-serialization-default-parser/index.js 1.87 kB +1 B (0%)
build/blocks/index.js 48.3 kB +1 B (0%)
build/components/index.js 283 kB +159 B (0%)
build/components/style-rtl.css 15.6 kB +68 B (0%)
build/components/style.css 15.6 kB +70 B (0%)
build/compose/index.js 11.1 kB -3 B (0%)
build/core-data/index.js 16.7 kB +3 B (0%)
build/customize-widgets/index.js 3.95 kB -1 B (0%)
build/date/index.js 31.8 kB +1 B (0%)
build/edit-navigation/index.js 11.8 kB +821 B (+7%) 🔍
build/edit-navigation/style-rtl.css 1.28 kB +22 B (+2%)
build/edit-navigation/style.css 1.28 kB +23 B (+2%)
build/edit-post/index.js 306 kB -1 B (0%)
build/edit-site/index.js 27.3 kB +264 B (+1%)
build/edit-widgets/index.js 20.1 kB +1 B (0%)
build/editor/index.js 42.1 kB +25 B (0%)
build/element/index.js 4.61 kB +2 B (0%)
build/format-library/index.js 6.75 kB +1 B (0%)
build/html-entities/index.js 622 B -1 B (0%)
build/i18n/index.js 4.01 kB -1 B (0%)
build/media-utils/index.js 5.34 kB +2 B (0%)
build/notices/index.js 1.85 kB +1 B (0%)
build/nux/index.js 3.4 kB -3 B (0%)
build/react-i18n/index.js 1.46 kB +4 B (0%)
build/redux-routine/index.js 2.83 kB +1 B (0%)
build/reusable-blocks/index.js 3.78 kB +2 B (0%)
build/rich-text/index.js 13.4 kB +2 B (0%)
build/token-list/index.js 1.27 kB -1 B (0%)
build/url/index.js 3.02 kB +2 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/annotations/index.js 3.78 kB 0 B
build/blob/index.js 664 B 0 B
build/block-directory/style-rtl.css 1 kB 0 B
build/block-directory/style.css 1.01 kB 0 B
build/block-library/blocks/archives/editor-rtl.css 61 B 0 B
build/block-library/blocks/archives/editor.css 60 B 0 B
build/block-library/blocks/audio/editor-rtl.css 58 B 0 B
build/block-library/blocks/audio/editor.css 58 B 0 B
build/block-library/blocks/block/editor-rtl.css 161 B 0 B
build/block-library/blocks/block/editor.css 161 B 0 B
build/block-library/blocks/button/editor-rtl.css 475 B 0 B
build/block-library/blocks/button/editor.css 474 B 0 B
build/block-library/blocks/button/style-rtl.css 479 B 0 B
build/block-library/blocks/button/style.css 479 B 0 B
build/block-library/blocks/buttons/editor-rtl.css 315 B 0 B
build/block-library/blocks/buttons/editor.css 315 B 0 B
build/block-library/blocks/buttons/style-rtl.css 364 B 0 B
build/block-library/blocks/buttons/style.css 363 B 0 B
build/block-library/blocks/calendar/style-rtl.css 208 B 0 B
build/block-library/blocks/calendar/style.css 208 B 0 B
build/block-library/blocks/categories/editor-rtl.css 84 B 0 B
build/block-library/blocks/categories/editor.css 83 B 0 B
build/block-library/blocks/categories/style-rtl.css 79 B 0 B
build/block-library/blocks/categories/style.css 79 B 0 B
build/block-library/blocks/code/style-rtl.css 90 B 0 B
build/block-library/blocks/code/style.css 90 B 0 B
build/block-library/blocks/columns/editor-rtl.css 190 B 0 B
build/block-library/blocks/columns/editor.css 190 B 0 B
build/block-library/blocks/columns/style-rtl.css 421 B 0 B
build/block-library/blocks/columns/style.css 421 B 0 B
build/block-library/blocks/cover/editor-rtl.css 390 B 0 B
build/block-library/blocks/cover/editor.css 389 B 0 B
build/block-library/blocks/cover/style-rtl.css 1.25 kB 0 B
build/block-library/blocks/cover/style.css 1.25 kB 0 B
build/block-library/blocks/embed/editor-rtl.css 486 B 0 B
build/block-library/blocks/embed/editor.css 486 B 0 B
build/block-library/blocks/file/editor-rtl.css 199 B 0 B
build/block-library/blocks/file/editor.css 198 B 0 B
build/block-library/blocks/file/style-rtl.css 248 B 0 B
build/block-library/blocks/file/style.css 248 B 0 B
build/block-library/blocks/freeform/editor-rtl.css 2.45 kB 0 B
build/block-library/blocks/freeform/editor.css 2.45 kB 0 B
build/block-library/blocks/gallery/editor-rtl.css 689 B 0 B
build/block-library/blocks/gallery/editor.css 690 B 0 B
build/block-library/blocks/group/editor-rtl.css 318 B 0 B
build/block-library/blocks/group/editor.css 317 B 0 B
build/block-library/blocks/group/style-rtl.css 57 B 0 B
build/block-library/blocks/group/style.css 57 B 0 B
build/block-library/blocks/heading/editor-rtl.css 129 B 0 B
build/block-library/blocks/heading/editor.css 129 B 0 B
build/block-library/blocks/heading/style-rtl.css 76 B 0 B
build/block-library/blocks/heading/style.css 76 B 0 B
build/block-library/blocks/html/editor-rtl.css 281 B 0 B
build/block-library/blocks/html/editor.css 281 B 0 B
build/block-library/blocks/image/editor-rtl.css 717 B 0 B
build/block-library/blocks/image/editor.css 716 B 0 B
build/block-library/blocks/image/style.css 478 B 0 B
build/block-library/blocks/latest-comments/editor-rtl.css 159 B 0 B
build/block-library/blocks/latest-comments/editor.css 158 B 0 B
build/block-library/blocks/latest-comments/style-rtl.css 269 B 0 B
build/block-library/blocks/latest-comments/style.css 269 B 0 B
build/block-library/blocks/latest-posts/editor-rtl.css 137 B 0 B
build/block-library/blocks/latest-posts/editor.css 137 B 0 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B 0 B
build/block-library/blocks/latest-posts/style.css 522 B 0 B
build/block-library/blocks/list/editor-rtl.css 65 B 0 B
build/block-library/blocks/list/editor.css 65 B 0 B
build/block-library/blocks/list/style-rtl.css 63 B 0 B
build/block-library/blocks/list/style.css 63 B 0 B
build/block-library/blocks/media-text/editor-rtl.css 191 B 0 B
build/block-library/blocks/media-text/editor.css 191 B 0 B
build/block-library/blocks/media-text/style-rtl.css 535 B 0 B
build/block-library/blocks/media-text/style.css 532 B 0 B
build/block-library/blocks/more/editor-rtl.css 434 B 0 B
build/block-library/blocks/more/editor.css 434 B 0 B
build/block-library/blocks/navigation-link/editor-rtl.css 681 B 0 B
build/block-library/blocks/navigation-link/editor.css 683 B 0 B
build/block-library/blocks/navigation-link/style-rtl.css 694 B 0 B
build/block-library/blocks/navigation-link/style.css 692 B 0 B
build/block-library/blocks/navigation/editor-rtl.css 1.34 kB 0 B
build/block-library/blocks/navigation/editor.css 1.34 kB 0 B
build/block-library/blocks/navigation/style-rtl.css 213 B 0 B
build/block-library/blocks/navigation/style.css 214 B 0 B
build/block-library/blocks/nextpage/editor-rtl.css 395 B 0 B
build/block-library/blocks/nextpage/editor.css 395 B 0 B
build/block-library/blocks/page-list/editor-rtl.css 215 B 0 B
build/block-library/blocks/page-list/editor.css 215 B 0 B
build/block-library/blocks/page-list/style-rtl.css 527 B 0 B
build/block-library/blocks/page-list/style.css 526 B 0 B
build/block-library/blocks/paragraph/style-rtl.css 288 B 0 B
build/block-library/blocks/paragraph/style.css 289 B 0 B
build/block-library/blocks/post-author/editor-rtl.css 209 B 0 B
build/block-library/blocks/post-author/editor.css 209 B 0 B
build/block-library/blocks/post-author/style-rtl.css 183 B 0 B
build/block-library/blocks/post-author/style.css 184 B 0 B
build/block-library/blocks/post-comments-form/style-rtl.css 250 B 0 B
build/block-library/blocks/post-comments-form/style.css 250 B 0 B
build/block-library/blocks/post-content/editor-rtl.css 139 B 0 B
build/block-library/blocks/post-content/editor.css 139 B 0 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B 0 B
build/block-library/blocks/post-excerpt/editor.css 73 B 0 B
build/block-library/blocks/post-featured-image/editor-rtl.css 338 B 0 B
build/block-library/blocks/post-featured-image/editor.css 338 B 0 B
build/block-library/blocks/post-featured-image/style-rtl.css 100 B 0 B
build/block-library/blocks/post-featured-image/style.css 100 B 0 B
build/block-library/blocks/preformatted/style-rtl.css 63 B 0 B
build/block-library/blocks/preformatted/style.css 63 B 0 B
build/block-library/blocks/pullquote/editor-rtl.css 183 B 0 B
build/block-library/blocks/pullquote/editor.css 183 B 0 B
build/block-library/blocks/query-loop/editor-rtl.css 90 B 0 B
build/block-library/blocks/query-loop/editor.css 89 B 0 B
build/block-library/blocks/query-loop/style-rtl.css 315 B 0 B
build/block-library/blocks/query-loop/style.css 317 B 0 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B 0 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B 0 B
build/block-library/blocks/query-pagination/editor-rtl.css 270 B 0 B
build/block-library/blocks/query-pagination/editor.css 262 B 0 B
build/block-library/blocks/query-pagination/style-rtl.css 168 B 0 B
build/block-library/blocks/query-pagination/style.css 168 B 0 B
build/block-library/blocks/query/editor-rtl.css 814 B 0 B
build/block-library/blocks/query/editor.css 812 B 0 B
build/block-library/blocks/quote/editor-rtl.css 61 B 0 B
build/block-library/blocks/quote/editor.css 61 B 0 B
build/block-library/blocks/quote/style-rtl.css 169 B 0 B
build/block-library/blocks/quote/style.css 169 B 0 B
build/block-library/blocks/rss/editor-rtl.css 201 B 0 B
build/block-library/blocks/rss/editor.css 202 B 0 B
build/block-library/blocks/rss/style-rtl.css 290 B 0 B
build/block-library/blocks/rss/style.css 290 B 0 B
build/block-library/blocks/search/editor-rtl.css 165 B 0 B
build/block-library/blocks/search/editor.css 165 B 0 B
build/block-library/blocks/search/style-rtl.css 342 B 0 B
build/block-library/blocks/search/style.css 344 B 0 B
build/block-library/blocks/separator/editor-rtl.css 99 B 0 B
build/block-library/blocks/separator/editor.css 99 B 0 B
build/block-library/blocks/separator/style-rtl.css 236 B 0 B
build/block-library/blocks/separator/style.css 236 B 0 B
build/block-library/blocks/shortcode/editor-rtl.css 504 B 0 B
build/block-library/blocks/shortcode/editor.css 504 B 0 B
build/block-library/blocks/site-logo/editor-rtl.css 201 B 0 B
build/block-library/blocks/site-logo/editor.css 201 B 0 B
build/block-library/blocks/site-logo/style-rtl.css 115 B 0 B
build/block-library/blocks/site-logo/style.css 115 B 0 B
build/block-library/blocks/social-link/editor-rtl.css 164 B 0 B
build/block-library/blocks/social-link/editor.css 165 B 0 B
build/block-library/blocks/social-links/editor-rtl.css 696 B 0 B
build/block-library/blocks/social-links/editor.css 696 B 0 B
build/block-library/blocks/social-links/style-rtl.css 1.32 kB 0 B
build/block-library/blocks/social-links/style.css 1.32 kB 0 B
build/block-library/blocks/spacer/editor-rtl.css 317 B 0 B
build/block-library/blocks/spacer/editor.css 317 B 0 B
build/block-library/blocks/spacer/style-rtl.css 48 B 0 B
build/block-library/blocks/spacer/style.css 48 B 0 B
build/block-library/blocks/subhead/editor-rtl.css 99 B 0 B
build/block-library/blocks/subhead/editor.css 99 B 0 B
build/block-library/blocks/subhead/style-rtl.css 80 B 0 B
build/block-library/blocks/subhead/style.css 80 B 0 B
build/block-library/blocks/table/editor-rtl.css 478 B 0 B
build/block-library/blocks/table/editor.css 478 B 0 B
build/block-library/blocks/tag-cloud/editor-rtl.css 118 B 0 B
build/block-library/blocks/tag-cloud/editor.css 118 B 0 B
build/block-library/blocks/tag-cloud/style-rtl.css 94 B 0 B
build/block-library/blocks/tag-cloud/style.css 94 B 0 B
build/block-library/blocks/template-part/editor-rtl.css 557 B 0 B
build/block-library/blocks/template-part/editor.css 556 B 0 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B 0 B
build/block-library/blocks/text-columns/editor.css 95 B 0 B
build/block-library/blocks/text-columns/style-rtl.css 166 B 0 B
build/block-library/blocks/text-columns/style.css 166 B 0 B
build/block-library/blocks/verse/editor-rtl.css 62 B 0 B
build/block-library/blocks/verse/editor.css 62 B 0 B
build/block-library/blocks/verse/style-rtl.css 87 B 0 B
build/block-library/blocks/verse/style.css 87 B 0 B
build/block-library/blocks/video/editor-rtl.css 504 B 0 B
build/block-library/blocks/video/editor.css 503 B 0 B
build/block-library/common-rtl.css 1.1 kB 0 B
build/block-library/common.css 1.1 kB 0 B
build/block-library/theme-rtl.css 736 B 0 B
build/block-library/theme.css 736 B 0 B
build/block-serialization-spec-parser/index.js 3.06 kB 0 B
build/customize-widgets/style-rtl.css 168 B 0 B
build/customize-widgets/style.css 168 B 0 B
build/data-controls/index.js 828 B 0 B
build/data/index.js 8.88 kB 0 B
build/deprecated/index.js 769 B 0 B
build/dom-ready/index.js 577 B 0 B
build/dom/index.js 4.94 kB 0 B
build/edit-post/style-rtl.css 6.81 kB 0 B
build/edit-post/style.css 6.8 kB 0 B
build/edit-site/style-rtl.css 4.47 kB 0 B
build/edit-site/style.css 4.46 kB 0 B
build/edit-widgets/style-rtl.css 3.2 kB 0 B
build/edit-widgets/style.css 3.2 kB 0 B
build/editor/editor-styles-rtl.css 543 B 0 B
build/editor/editor-styles.css 545 B 0 B
build/editor/style-rtl.css 3.9 kB 0 B
build/editor/style.css 3.9 kB 0 B
build/escape-html/index.js 735 B 0 B
build/format-library/style-rtl.css 637 B 0 B
build/format-library/style.css 639 B 0 B
build/hooks/index.js 2.28 kB 0 B
build/is-shallow-equal/index.js 699 B 0 B
build/keyboard-shortcuts/index.js 2.53 kB 0 B
build/keycodes/index.js 1.95 kB 0 B
build/list-reusable-blocks/index.js 3.15 kB 0 B
build/list-reusable-blocks/style-rtl.css 629 B 0 B
build/list-reusable-blocks/style.css 628 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.9 kB 0 B
build/primitives/index.js 1.42 kB 0 B
build/priority-queue/index.js 791 B 0 B
build/reusable-blocks/style-rtl.css 225 B 0 B
build/reusable-blocks/style.css 225 B 0 B
build/server-side-render/index.js 2.82 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/warning/index.js 1.14 kB 0 B
build/wordcount/index.js 1.22 kB 0 B

compressed-size-action

@jameskoster
Copy link
Contributor

Thanks for putting this together! I totally agree that inserting the "full" pattern in to a nested layout block like a column makes for a poor experience.

That said, I think it could be worth trying the following:

When a Header pattern is inserted in to the Header template part, replace the current contents entirely but offer an "undo" affordance on the Snackbar confirmation.

I acknowledge that this would be different to the standard pattern insertion experience. But I think that might be ok. The existing experience has been designed entirely around the composition of content rather than templates. I think the expectations shift with the context.

What do y'all think?

@Addison-Stavlo
Copy link
Contributor Author

When a Header pattern is inserted in to the Header template part, replace the current contents entirely but offer an "undo" affordance on the Snackbar confirmation.

We can try that. My first thought is that the snackbar notifications disappear rather quickly though I think? I also wonder if we do a more persistent notification at the top (that actually requires user interaction to dismiss), if that would be better or too intrusive. Worth trying them out though.

@ntsekouras
Copy link
Contributor

When a Header pattern is inserted in to the Header template part, replace the current contents entirely but offer an "undo" affordance on the Snackbar confirmation.

IMO offering block patterns transforms (#27575) might be the best way to handle this. As Addison mentions we should be careful with making the Inserter behavior consistent.

@Addison-Stavlo
Copy link
Contributor Author

IMO offering block patterns transforms (#27575) might be the best way to handle this. As Addison mentions we should be careful with making the Inserter behavior consistent.

Yeah thats a very fair point. Im wondering if we should just show template part patterns in the inserter under appropriate categories at all times regardless of selection, and have them behave as normal patterns there? Then the separate UI for patterns transforms could be where the real $$ is at for this contextual flow. 🤔

That said, Im not opposed to trying out Jay's idea with the replacement/notifications in this PR just to see what it would feel like.

@jameskoster
Copy link
Contributor

If we decide to rule out the replace idea altogether (I still think it's worth a try if it's not too much work) then I'm not sure that there's much value in surfacing patterns in this context. The appending behaviour is just too weird.

I agree that the transform affordance would be adequate.

@Addison-Stavlo
Copy link
Contributor Author

(I still think it's worth a try if it's not too much work)

At least not too much work for a prototype/hacky solution. Would definitely need some refinement on the code side though if thats the direction we want to end up going. So this PR will now replace ALL the contents of the template part if both:

  • We have selected a template part or its child
  • The selected pattern is specified for a template part contextually.

replace-when-template-part

Im not sure about the 'undo' button in the snackbar currently, but the standard 'undo' in the top bar works as expected.

If we decide to rule out the replace idea altogether then I'm not sure that there's much value in surfacing patterns in this context. The appending behaviour is just too weird.

If we do end up going that route, would we still surface the template part patterns in the normal context under their respective patterns categories (and just let them behave that standard way)? The idea being able to allow the flow of inserting that pattern at the template level, selecting the blocks, and triggering "create template part" from the ellipses menu?

@jameskoster
Copy link
Contributor

I spoke about this with some other designers today and consensus was that although the "replace" behaviour felt more natural, we should probably avoid it for now.

There was agreement that the transform tool would be adequate (as mentioned in this discussion) and that the replacement behaviour would not work well for something like a Query block. In that case there's an argument to be made that you might want pattern insertion to behave as it does currently (IE if I'm editing a post inside a query) or as a replacement (IE I want to change the layout of posts in the query).

@Addison-Stavlo
Copy link
Contributor Author

I spoke about this with some other designers today and consensus was that although the "replace" behaviour felt more natural, we should probably avoid it for now.
There was agreement that the transform tool would be adequate

That sounds pretty reasonable to me. I think any 'replacement' type flow seems like it would fit better in a specific patterns transform tool. Il close this out but we can always come back to exploring further in the future if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants