Skip to content

Add deprecation warning to renderMode #4509

Open
james-a-c wants to merge 1 commit into
2026-07-rcfrom
jc/deprecate-render-mode
Open

Add deprecation warning to renderMode #4509
james-a-c wants to merge 1 commit into
2026-07-rcfrom
jc/deprecate-render-mode

Conversation

@james-a-c

@james-a-c james-a-c commented Jun 9, 2026

Copy link
Copy Markdown

Background

Closes https://github.com/shop/issues-checkout/issues/11640
vault decision

Following the introduction of split ship and pickup the purchase.checkout.pickup-location-option-item.render-after target is now shared between rendering inline and in a modal. The decision was made to not support modal within modal functionality and to not encourage third party developers to build solutions which utilize this. To be consistent across checkout this thinking should hold true for other targets that render both inline and in a modal:
purchase.checkout.shipping-option-item.render-after
purchase.checkout.shipping-option-item.details.render

renderMode should be deprecated today and the blocking of modal within modal functionality will occur in the future once the renderMode has been removed

Solution

Add a deprecation warning for renderMode on ShippingOptionItem

Checklist

  • I have 🎩'd these changes
  • I have updated relevant documentation

Copy link
Copy Markdown
Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@james-a-c james-a-c changed the title deprecate render mode field Add deprecation warning to renderMode Jun 9, 2026
@james-a-c james-a-c force-pushed the jc/deprecate-render-mode branch from 029f0e7 to 9768852 Compare June 9, 2026 13:07
@james-a-c james-a-c marked this pull request as ready for review June 9, 2026 13:08
Comment thread packages/ui-extensions/src/surfaces/checkout/api/shipping/shipping-option-item.ts Outdated
@james-a-c james-a-c force-pushed the jc/deprecate-render-mode branch from 9768852 to 23079b8 Compare June 9, 2026 13:28
@james-a-c james-a-c requested a review from mdentremont June 9, 2026 13:28

@lucasmedeirosleite lucasmedeirosleite left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

LGTM!

@jamesvidler jamesvidler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't like that we are deprecating this, and not providing any alternative for rendering a modal.

We are actively trying to encourage folks to migrate to newer API versions to adopt remote-dom (and its performance improvements), and we should not introduce additional footguns, especially if it requires them to change how their extension works.

If the plan is to have different extension targets to support this, then that should be added in the same API version so there is a clear migration path.

These changes should also be introduced to the private checkout-web package (in world) prior to the release candidate.

@james-a-c james-a-c force-pushed the jc/deprecate-render-mode branch 2 times, most recently from 16d438d to cfc6e89 Compare June 23, 2026 19:47
@james-a-c james-a-c force-pushed the jc/deprecate-render-mode branch from cfc6e89 to 045ce34 Compare June 23, 2026 19:47
@james-a-c james-a-c requested a review from jamesvidler June 23, 2026 19:54

@reykjalin reykjalin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good to me 👍

@jamesvidler jamesvidler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approving to unlock this PR. We are aligned in the intention to remove the concern of renderMode for UI extensions those targets.

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.

5 participants