Skip to content

Releases: Shopify/polaris-react

v5.4.0

24 Sep 20:29
Compare
Choose a tag to compare

Enhancements

  • Hide ActionMenu, Actions, RollupActions menu popover overlays when printing (#3277)
  • Updated DatePicker component to use semantic HTML table structure (#3303)

v5.3.1

24 Sep 20:30
Compare
Choose a tag to compare

5.3.1 - 2020-09-16

Bug fixes

  • Add position relative back to FrameContent #3259

v5.2.1

18 Aug 23:57
Compare
Choose a tag to compare

Enhancements

  • Added position: relative to content container within Frame (#3178)

v5.2.0

17 Aug 19:49
Compare
Choose a tag to compare

Enhancements

  • Added optional videoProgress and showVideoProgress props to VideoThumbnail 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 to ResourceList 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 of sewing-kit:esnext to match updated sewing-kit behavior (#3169)
  • Updated type restrictions for Tabs to allow its content prop to accept React.ReactNode instead of string (#3171)

Development workflow

  • Fixed build-consumer script to handle excludes in package.json's files 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

23 Jul 21:06
Compare
Choose a tag to compare

Enhancements

  • Added a dismissOnMouseOut prop to Tooltip 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

  • Updated linting to prefer the fragment shorthand <> instead of <React.Fragment> (#3133)
  • Updated how we access React exports such as React.Component and React.PureComponent to help treeshakability (#3133)

v5.0.0

21 Jul 20:35
Compare
Choose a tag to compare

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 and react-dom peer-dependencies to 16.9.0 to enable the use of React.Profiler (#2462)
  • Removed NavigationMessageProps as the Message component no longer exists (#2502)
  • Removed ResourceList.FilterControl component. The FilterControl 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 and Loading, 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 to dist/styles.css
    • styles.min.css has been removed - import dist/styles.css instead. Styles are compacted by default so the performance hit is negligible.
    • styles.scss has been removed - import dist/styles.cssand dist/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 version 0.132.2. (#2938)
  • Moved styles from global.scss to AppProvider. This change only affects applications using the esnext 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’s i18n prop. When passing an array of dictionaries the first dictionary should be your prefered language, followed by any fallback languages. (#2572)
  • Removed centeredLayout prop in EmptyState. 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 plain number - functionality remains identical as the former types effectively ended up being aliases of number anyway (#3121)
  • Removed Year type export (used by the DatePicker's props). Replace its usage with number. (#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 becomes 0, Month.December becomes 11 etc. (#3121)
  • Removed the TypeOf enum, and GeneralObject, DeepPartial, EffectCallback, DependencyList and Comparator 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 the Modal 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

15 Jul 00:14
Compare
Choose a tag to compare

Enhancements

  • Removed padding from the details container in EmptyState to account for new illustration size (#3069)
  • Added blueDark to the list of possible color values for an Icon with a backdrop (#3076)
  • Improved responsive layout for secondary actions in Banner (#3093)

Bug fixes

  • Added flex: 1 1 auto to Banner .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 on Modal without a title (#3077)

Documentation

Development workflow

  • Updated sewing-kit to v0.132.2 and storybook to v5.3.19 (#3072)

Code quality

  • Migrated tests using document.activeElement to use react-testing (#3070)
  • Reduced file size of the empty search SVG by 50% (from 12k to 6k gzipped) (#3105)

v4.26.1

16 Jun 18:42
Compare
Choose a tag to compare

Code quality

  • Default to any for ItemType in resource list (#3059)

v4.26.0

16 Jun 14:28
Compare
Choose a tag to compare

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 to EmptyState to support full width layout within a content context (#2992)
  • Added an emptyState prop to ResourceList to support in context empty states in list views (#2569)
  • Set active prop of Popover to true on keyDown in ComboBox to fix Autocomplete suggestions not showing when searching and selecting via keyboard (#3028)
    Set active prop of Popover to true on keyDown in ComboBox to fix Autocomplete 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 and styles/esnext/_public-api.scss for CSS Modules) (#3032)

Code quality

  • Deleted an unused prop and its types in Navigation (#3043)

v4.25.2

16 Jun 14:03
Compare
Choose a tag to compare

⚠️ This release was released as a patch version in error. Please use 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 to EmptyState to support full width layout within a content context (#2992)
  • Added an emptyState prop to ResourceList to support in context empty states in list views (#2569)
  • Set active prop of Popover to true on keyDown in ComboBox to fix Autocomplete suggestions not showing when searching and selecting via keyboard (#3028)
    Set active prop of Popover to true on keyDown in ComboBox to fix Autocomplete 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 and styles/esnext/_public-api.scss for CSS Modules) (#3032)

Code quality

  • Deleted an unused prop and its types in Navigation (#3043)