Add JSDoc for component properties (2026-04)#4409
Conversation
🚨🚨🚨 Docs migration in progress 🚨🚨🚨We are actively migrating UI extension reference docs to MDX in the
During this migration, please be aware of the following:
Doc comments in Examples that previously lived in this repo are being moved to the What should I do?
Thanks for your patience while we complete the migration! 🙏 |
|
This PR targets a stable release branch ( When you open the forward-port PR, include a line like this in its body so the Accepted formats (comma-separated for multiple):
If a forward-port isn't needed (e.g., the change is stable-only), you can remove the |
|
We detected some changes in |
Summary
Adds JSDoc to checkout component property descriptions whose documentation was moved out of
## Limitationssections in shopify-dev. Pairs with the .mdx cleanup in shopify/world#669910 and the multi-agent plan in shopify/world#660052.References shopify/issues-learn#1612.
Properties touched (Agent D scope, D.* checkout components)
All edits to
packages/ui-extensions/src/surfaces/checkout/components/components-shared.d.ts.ClickableChipProps$1.hidden— sync-with-app-state guidance for theremovablevariant.InteractionProps.commandFor— precedence note when bothcommandForandhrefare set (used by the link component).BadgeProps$1.icon— icon position is fixed relative to text content.CheckboxProps$1.required—requiredadds semantic meaning, doesn't auto-validate.ChoiceListProps$1.variant— selected content slot supported in the default (stacked) variant only.MultipleInputProps.values— form data captures selected value strings only.ConsentCheckboxProps$1.policy— onlysms-marketingis supported.PhoneFieldProps$1.type— styling hint, doesn't validate phone format (used by consent-phone-field).ConsentPhoneFieldProps$1.policy— onlysms-marketingis supported.DatePickerProps$1.allow— comma-separated list inYYYY-MM-DD(used by date-field viaPick<>).DatePickerProps$1.disallow— comma-separated list inYYYY-MM-DD(used by date-field viaPick<>).DatePickerProps$1.value— ISO 8601 format (also covers D.11 date-fieldvalueviaPick<>).EmailFieldProps$1interface description — doesn't perform automatic format validation.Notes / deviations from the plan
commandFor: Per the plan, edited at the base interface (InteractionProps). The note is conditional onhrefbeing set, so it's accurate for both link (which hashref) and button (vacuously true).value: Both date-field and date-picker share thevalueprop viaPick<DatePickerProps$1, "value" | ...>. The D.12 text (which covers ranges) supersedes the D.11 text (single dates only) since it's broader and accurate for both. Added once onDatePickerProps$1.value.EmailFieldProps$1had no leading description. Added a JSDoc block above the interface declaration.Test plan
2025-10,2026-01,2026-07-rcwith byte-identical JSDocGenerated with Claude Code