Releases: Shopify/polaris-react
Releases · Shopify/polaris-react
v5.4.0
v5.3.1
v5.2.1
v5.2.0
Enhancements
- Added optional
videoProgress
andshowVideoProgress
props toVideoThumbnail
for video progress indicator (#3057) - Enabled much easier tree-shaking in consuming apps by having a multi-file build instead of a single-file build (#3137)
- Labelled component now breaks on long lines of text, regardless of presence of naturally breaking characters (hyphens, whitespace, etc.) (#3156)
- Added optional
isFiltered
prop toResourceList
to conditionally render more informative select all button label (#3153) - Exported
PositionedOverlay
component for use in consuming applications (#3161) - Updated package.json to use
esnext
as a custom mainField instead ofsewing-kit:esnext
to match updated sewing-kit behavior (#3169) - Updated type restrictions for
Tabs
to allow itscontent
prop to acceptReact.ReactNode
instead ofstring
(#3171)
Development workflow
- Fixed
build-consumer
script to handle excludes in package.json'sfiles
array (#3136)
Code quality
- Removed the
new-top-bar-height
sass function and replaced its usage with the--p-top-bar-height
custom property (#3158)
v5.1.0
Enhancements
- Added a
dismissOnMouseOut
prop toTooltip
to dismiss Tooltip once pointer is no longer over children (#3086)
Bug fixes
- Fixed case where
DatePicker
did not translate the weekday name in an aria label (#3113) - Updated browserslist config to be an explicit list instead of extending an existing config, so that consuming apps don't need to depend upon
@shopify/browserslist-config
(#3132)
Documentation
- Updated Polaris to the latest version in the CDN Styles example (#3068)
- Updated
TextField
example to use a number instead of a boolean (#3114)
Code quality
v5.0.0
Polaris React v5.0.0 is a major release that introduces breaking changes, primarily due to removing integrated App Bridge support as consumers using App Bridge should use the @shopify/app-bridge-react package. We have created the Shopify/shopify-app-bridge repository for issues related to the new app bridge packages.
For instructions on updating from v4 to v5, read the migration guide.
Breaking changes
- Upgraded
react
andreact-dom
peer-dependencies to 16.9.0 to enable the use ofReact.Profiler
(#2462) - Removed
NavigationMessageProps
as theMessage
component no longer exists (#2502) - Removed
ResourceList.FilterControl
component. TheFilterControl
component is available under a private name for legacy Shopify applications, but it should not be relied upon and might be deleted at any point (#2047 #3116) - Removed
AppBridge
,ResourcePicker
andLoading
,Modal
,Page
,Toast
App Bridge render delegation (#2046) - Dropped support for iOS 9 (#2195)
- Moved several of our build artifacts into a
dist
folder (#2938):styles.css
has moved todist/styles.css
styles.min.css
has been removed - importdist/styles.css
instead. Styles are compacted by default so the performance hit is negligible.styles.scss
has been removed - importdist/styles.css
anddist/styles/_public-api.scss
instead
- Updated "esnext" build output to ship plain css files instead of scss source files. Apps built using
@shopify/sewing-kit
will need to update to at least version0.132.2
. (#2938) - Moved styles from
global.scss
toAppProvider
. This change only affects applications using theesnext
build (applications importing@shopify/polaris/styles.css
aren’t affected), who no longer need to import the@shopify/polaris/esnext/global.scss
file. (#2392) - Reversed the precedence of the language dictionaries passed into the
AppProvider
’si18n
prop. When passing an array of dictionaries the first dictionary should be your prefered language, followed by any fallback languages. (#2572) - Removed
centeredLayout
prop inEmptyState
. All layouts within the new design language context will be center aligned (#3111) - Updated types of
DatePicker
component -month
,year
weekStartsOn
are now typed as plainnumber
- functionality remains identical as the former types effectively ended up being aliases ofnumber
anyway (#3121) - Removed
Year
type export (used by the DatePicker's props). Replace its usage withnumber
. (#3121) - Removed the
Month
enum export (used by the DatePicker's props). Replace its usage with a number from 0 to 11, representing the number of the month in question -Month.January
becomes0
,Month.December
becomes11
etc. (#3121) - Removed the
TypeOf
enum, andGeneralObject
,DeepPartial
,EffectCallback
,DependencyList
andComparator
type exports - these were for internal use, and were never documented for external use. (#3123)
Enhancements
- Added an activator prop to
Modal
so that focus can be returned to it when theModal
is closed (#2206)
Bug fixes
- Fixed case where
DatePicker
did not translate the month name in an aria label (#3121)
Dependency upgrades
- Updated browserlist to use
@shopify/browserslist-config
(#3101)
Code quality
- Converted
Modal
to a functional component (#2376) - Migrated to use
react-transition-group
instead of the material-ui fork. (#3094) - Removed
withAppProvider
higher-order component. (#3098) - Removed several dependencies on the deprecated
@shopify/javascript-utilities
library (#3102) - Removed dependency on
@shopify/useful-types
- Removed dependency on
@shopify/javascript-utilities
(#3108)
v4.27.0
Enhancements
- Removed padding from the details container in
EmptyState
to account for new illustration size (#3069) - Added
blueDark
to the list of possiblecolor
values for anIcon
with a backdrop (#3076) - Improved responsive layout for secondary actions in
Banner
(#3093)
Bug fixes
- Added
flex: 1 1 auto
toBanner
.ContentWrapper
CSS selector (#3062) - Fixed mis-alignment on
Page
action rollup (#3064) - Ensured Sass mixins can compile in Dart Sass (#3064)
- Added a border to
TextField
when focus is lost after autofill is implemented(#3075) - Fixed alignment of
ResourceItem
when there is no media (#3080) - Fixed stacking order of
CloseButton
onModal
without a title (#3077)
Documentation
- Updated AppProvider test component information (thanks to @jprosevear for the pull request)
Development workflow
- Updated sewing-kit to v0.132.2 and storybook to v5.3.19 (#3072)
Code quality
v4.26.1
v4.26.0
Enhancements
- Added spacing to
EmptyState
when within content to account for new illustration styles (#3047) - Changed Resource List to a generic functional component (thanks to @athornburg)
- Made the
renderItem
function infer the type of the items prop (thanks to @athornburg) - Added a
fullWidth
prop toEmptyState
to support full width layout within a content context (#2992) - Added an
emptyState
prop toResourceList
to support in context empty states in list views (#2569) - Set
active
prop ofPopover
to true on keyDown inComboBox
to fixAutocomplete
suggestions not showing when searching and selecting via keyboard (#3028)
Setactive
prop ofPopover
to true on keyDown inComboBox
to fixAutocomplete
suggestions not showing when searching and selecting via keyboard (#3028) - Increased the max-width of the
EmptyState
content to 400px (#3040)
Development workflow
- Updated how global animations are referenced, in order to publish a single entrypoint for the public Sass API (
styles/_public-api.scss
), instead of two (styles/_public-api.scss
for “vanilla” SCSS andstyles/esnext/_public-api.scss
for CSS Modules) (#3032)
Code quality
- Deleted an unused prop and its types in
Navigation
(#3043)
v4.25.2
Enhancements
- Added spacing to
EmptyState
when within content to account for new illustration styles (#3047) - Changed Resource List to a generic functional component (thanks to @athornburg)
- Made the
renderItem
function infer the type of the items prop (thanks to @athornburg) - Added a
fullWidth
prop toEmptyState
to support full width layout within a content context (#2992) - Added an
emptyState
prop toResourceList
to support in context empty states in list views (#2569) - Set
active
prop ofPopover
to true on keyDown inComboBox
to fixAutocomplete
suggestions not showing when searching and selecting via keyboard (#3028)
Setactive
prop ofPopover
to true on keyDown inComboBox
to fixAutocomplete
suggestions not showing when searching and selecting via keyboard (#3028) - Increased the max-width of the
EmptyState
content to 400px (#3040)
Development workflow
- Updated how global animations are referenced, in order to publish a single entrypoint for the public Sass API (
styles/_public-api.scss
), instead of two (styles/_public-api.scss
for “vanilla” SCSS andstyles/esnext/_public-api.scss
for CSS Modules) (#3032)
Code quality
- Deleted an unused prop and its types in
Navigation
(#3043)