Primer React v35 RC - Technical Preview #1918
Locked
rezrah
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The Primer team are excited to share some major updates that will arrive in
v35
of@primer/react
.This technical preview will cover:
v35
v35
yourself todayv35
will shipOverview
Primer React is now used in many high-profile projects, both internally at GitHub and in the wider public. Our approach to managing releases will evolve to match the expectations of our community. This technical preview will provide early access to the next
major
release of@primer/react
and provide insight into how you can prepare for an eventual upgrade.The Primer team will look to publish release candidates and technical previews ahead of
major
updates to the library going forward. The intention here is to batchmajor
changes into fewer releases, thereby offering more longer-term stability to activemajor
versions and ensure that the community have adequate time to prepare for future breaking changes.🔧 Try it today
You can try
v35
RC today on thenext-major
release channel.This release candidate is available for preview and feedback purposes only. We don’t recommend using this in production.
OR
Try
@primer/react@v35
on StackBlitz ⚡📆 Release schedule
Minor and Patch updates to
v34
will continue to roll out independently tov35
✨ New in
v35
CheckboxGroup
RadioGroup
v35
will contain a handful of breaking changes.Graduations
PageLayout
Deprecations
All components marked for deprecation will:
Read more on our deprecations process here.
Summary of changes
Are you using any of the components below? Skip to the relevant section below to learn about what's changing.
ActionList
ActionMenu
BorderBox
Button
Dropdown
DropdownMenu
FormGroup
,InputField
andChoiceInputField
Grid
Position
SelectMenu
🔗 ActionList
The new
ActionList
will ship with a composable API and improved accessibility, including better support for assistive technologies and keyboard users.Upgrade to the new
ActionList
by referring to the examples in our documentation.or
Continue using the deprecated
ActionList
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 ActionMenu
The new
ActionMenu
will ship with a composable API, visual updates and accessibility fixes built on top of ActionList and Button, which will also be included inv35
.Upgrade to the new
ActionMenu
by referring to the examples in our documentation.or
Continue using the deprecated
ActionMenu
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 Button
Button
will be replaced with a newer, more accessible equivalent that includes an improved API for better ergonomics.New features include improvements to
size
handling and built-in support for leading and trailing visuals.Upgrade to the new
Button
by referring to the examples in our documentation.or
Continue using the deprecated
Button
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 DropdownMenu
DropdownMenu
andDropdownMenu2
are being deprecated in favour ofActionMenu
.Upgrade to the new
ActionMenu
by referring to the examples in our documentation.or
Continue using the deprecated
DropdownMenu
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 PageLayout
PageLayout is now being graduated from the
drafts
bundle to themain
bundle.Use
PageLayout
by referring to the examples in our documentation.🔗 Label
The Label component has been updated to align with Primer ViewComponents' Label component. Now the React component is consistent with ViewComponents.
Major changes in the new Label component:
medium
size - onlysmall
andlarge
outline
prop has been removedsx
propIf you were using the
Label
component to render issue/PR labels, use the IssueLabelToken component instead.Arbitrary label
Issue label
Upgrade to the new
Label
by referring to the Label and IssueTokenLabel examples in our documentation.or
Continue using the deprecated
Label
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 FormGroup, InputField and ChoiceInputField
The
FormControl
component will be used to deprecate theFormGroup
,InputField
, andChoiceInputField
components. It has the ability to render contextual content with your inputs: labels, validation statuses, captions. It also handles the ARIA attributes that make the form controls accessible to assistive technology.Upgrade to the new
FormControl
component by referring to the examples in our documentation.or
Continue using the deprecated
FormGroup
,ChoiceInputField
orInputField
:🔗 SelectMenu
SelectMenu will move from the
main
bundle into thedeprecated
bundle.We recommend using
ActionMenu
as a longer-term replacement.Upgrade from
SelectMenu
toActionMenu
by referring to the example above or our documentation.or
Continue using the deprecated
SelectMenu
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 Dropdown
Dropdown will move from the
main
bundle into thedeprecated
bundle.We recommend using
ActionMenu
as a longer-term replacement.Upgrade from
Dropdown
toActionMenu
by referring to the example above or our documentation.or
Continue using the deprecated
Dropdown
:Alternatively, try our
codemod
to change yourimport
statements automatically ⚡🔗 BorderBox
BorderBox will move from the
main
bundle into thedeprecated
bundle.We recommend using
Box
as a longer-term alternative.🔗 Flex
Flex will move from the
main
bundle into thedeprecated
bundle.We recommend using
Box
as a longer-term alternative.🔗 Grid
Grid will move from the
main
bundle into thedeprecated
bundle.We recommend using
PageLayout
as a longer-term alternative.🔗 Position
Position will move from the
main
bundle into thedeprecated
bundle.We recommend using
Box
as a longer-term alternative.Reporting issues
Found a bug or problem while trying
v35
? Please raise an issue here.Thanks for reading this technical preview. We look forward to shipping this release soon 🚀
Beta Was this translation helpful? Give feedback.
All reactions