All notable changes to this project will be documented in this file.
The format is based on these versioning and changelog guidelines.
- Updated
Button
to accept aReact.ReactNode
for itsicon
prop
- Refined accessibility checklist
- Added truncation to
Tag
- Updated date filter labels in resource list
- Changed
placeholder
prop inSelect
to be the default selection - Added a
loading
prop toResourceList
that places a spinner overtop items and disables bulk actions
- Clarified when and how to use icons in the banner component
- Updated footer help component guidelines to include content instructions for app developers
- Fixed resource list component to correctly handle inclusive filter keys
- Fixed date field in DateSelector to not render an error when date is added by the date picker and field is blurred
- Fixed pagination from firing keypress events while focus is inside inputs or contenteditables
- Fixed
EmptyState
horizontally scrolling when fully condensed - Fixed the bottom margin of elements inside
Page
being ignored in some browsers - Added required
url
prop tobreadcrumbs
inPage
component examples - Fixed
ActionList
wrapping text within aPopover
- Fixed
Banner
spacing when inside of a section - Fixed
Stack
so it doesn't add extra spacing between items in Safari
- Reverted a change that caused the built embedded.js bundle to be way larger than it should be due to broad imports
- Added support for boolean type on Choice error prop
- Updated banner guidelines to make it clearer when success banners should be used vs success toasts.
- Updated display text documentation to have a separate example for medium and large display
- Reverted a change that caused items in a
Popover
component not to be clickable
- Fixed paths to images in the “Attention badge” example
- Fixed the
Page
component'sprimaryAction
to supportLoadableAction
s andDisableableAction
s
- Adjusted spacing for
ChoiceChildren
inChoiceList
for readability - Made
Card.Header
a seperate publically accessible component - Added support for complex operators in
ResourceList
component - Updated the
Page
component'sprimaryAction
to supportButton
props. - Added validation for non-numeric input in a type="number"
TextField
- Added circle information icon
- Updated
Banner
guidelines to make it clearer when success banners should be used vs success toasts
- Moved
pa11y
andobject-hash
from dependencies to devDependencies
- Fixed inconsistent
DropZone
error styling
- Added a
test:coverage
script to gather and display test coverage results - Added Codecov test coverage checks to pull requests
- Added automated a11y testing to CI
- Added support for
titleMetadata
inPage
component - Added support for
FilterType.DateSelector
inResourceList
component - Added
code
as an acceptedvariation
of theTextStyle
component to provide support for accessible markup and styling of inline code snippets and code-like text - Added new
border-width
SCSS function - Added support for
fullWidth
andconnectedTop
props onButtonGroup
- Added
label
prop toDropZone
for better accessibility - Added support for
RadioButton
to accept a block as alabel
- Added a
singleColumn
prop to theSkeletonPage
component - Updated the transition on large
Modal
to match the default transition - Added
nextKeys
,previousKeys
,nextTooltip
, andpreviousTooltip
props to thePagination
component to support keypress handling andTooltip
in pagination buttons. - Added examples to the
Layout
component documentation for two and three column grid layouts - Added an export for the
Progress
type to support downstream typechecking of theBadge
componentprogress
prop - Added an
iFrameName
prop to theModal
component to support named iframe children - Added a
ScrollTo
subcomponent to theScrollable
component to support scrolling to a child node programmatically - Added support for the
Button
component to accept an array of strings as children - Changed the primary focus target of an activated
Popover
from the first focusable child to thePopover
itself - Added an improved error message when the child of an embedded
Alert
component is not a string (thanks @superwhykz for the original issue) - Added a minimum width to tab items to improve touch target sizing and account for smaller tab titles
- Added support for additional accessibility attributes to the
TextField
andOptionList
components - Added support for
OptionList
withAvatar
,Icon
, andThumbnail
whenoptions
descriptors have amedia
property - Added support for destructive
ActionList
items - Added support for
OptionList
options
descriptors to accept a block for thelabel
property - Added
$page-max-width
variable to capture page calculatedmax-width
value andpage-when-not-max-width
mixin to trigger when page is resized horizontally - Added support for select error messages to be optional
- Updated the
Breadcrumbs
component to support theCallbackAction
type as a prop (thanks @dylan for the current issue and everyone who identified this.) - Added support for
TextField
error messages to be optional - Added a
disabled
prop to theChoice
component.Checkbox
andRadioButton
labels are now styled to reflect their disabled state - Added support for Windows High Contrast mode in the
Select
,Checkbox
andRadioButton
components
- Fixed
TextField
resizer rendering whenmultiline
was false - Fixed
Modal
header condensing - Fixed
Tooltip
so active prop activates on initial render - Fixed
Popover
border radius and left and right alignment - Fixed visibility of the hidden implicit submit button in
Form
(thanks @cgenevier for the original issue) - Fixed alignment of wrapped empty state actions
- Swapped the import and export icons
- Fixed incorrect
DataTable
column count and content skipping in assistive technologies - Fixed unintended form submittal by action list items enclosed in a
form
) - Fixed text alignment of multiline
OptionList
option text #1905 - Fixed an issue where the
Stack
component would render incorrectly nested items #1924 - Fixed spacing above annotated sections on smaller screens #1972
- Fixed an issue that caused problems for some build tools #1978
- Fixed the word-break of long text in
Label
andBanner
on small screens
- Added examples for iOS and Android
RadioButton
- Added examples for iOS and Android
Banner
- Added
Toast
component - Added examples for iOS and Android
Button
- Added examples for iOS and Android
ButtonGroup
- Added examples for iOS and Android
Badge
- Added examples for iOS and Android
Avatar
- Added
Stepper
component
Use inline errors to describe custom form inputs or form groups when invalid.
- Updated sub component structure
- Added
weekStartsOn
prop toDatePicker
- Remove
stickyManager
fromAppProviderProps
interface - Fixed a bug where
Layout.AnnotatedSection
would output a wrapper div for adescription
even when its contents were empty - Remove extra padding from annotated section
- Added iOS and Android examples to the
Card
component - Added iOS and Android examples to the
ChoiceList
component
- Renamed
yarn start:vrt
toyarn tophat
and updated the folder name to match - Improved
yarn tophat
’s design, and added a/all-components
route
- Added
weekStartsOn
prop toDatePicker
- Changed
Form
to submit a form by default when the enter key is pressed, and added the propimplicitSubmit
to disable this default
- Fixed
TextField
padding when aprefix
orsuffix
is included
- Removed the min-width of 320px from
ResourceList
- Resolve issue with
RangeSlider
component not accepting0
as amax
value - Slightly reduced spacing for
prefix
andsuffix
on theRangeSlider
component - Fixed spacing for
prefix
andsuffix
on theTextField
component - Fixed height of cells in
DataTable
that are rendered after initial page load (for example: in aTab
or aPopover
) (thanks @flewid for the original issue) - Fixed
DatePicker
month styling for previous years
Use OptionList
to present a group of selectable items outside of the context of a Form
.
- Fixed
Form
examples
- Added
prefix
andsuffix
props toRangeSlider
for better layout control - Added testing documentation and examples in
AppProvider
- Performance: optimized avatar SVG files
- Updated
yarn run optimize
to add new line at the end of SVG files - Added a more compact variant of
Select
, with the form label appearing inside the control)
- Adjusted padding on
TextField
to work with Chrome’s autofill - Fixed a regression where the version of Polaris wasn’t globally available anymore
- Updated the interaction state visuals for
ActionList
- Fixed z-index on
ResourceList
header with sorting options (thanks @janklimo for the original issue) - Fixed an issue where
RadioButton
was not focusable in Safari - Fixed spacing for annotated section descriptions
- Fixed a bug in EASDK action transforms that prevented external urls in embedded apps from opening (thanks @dansundy for the original issue)
- Updated
@shopify/polaris-tokens
, the single source of truth for colors
Use RangeSlider
to select a number value between a min and max range.
- Added a fixed prop to
Popover
allowing for a fixed position - Added badge prop to the
ItemDescriptor
type and action group - Added
text-breakword
mixin for easier word breaking when dealing with long unspaced strings
- Fixed unexpected form submission when switching tabs in a
Tabs
component wrapped in aForm
- Added missing
'Shopify.API.setWindowLocation'
message handler to the EASDK
- Added support for
Card
to accept a block for a title - Added an intermediate prop typing for
Link
to allow redefinition of prop definitions
- Fixed an issue where
ResourceList
filters lost padding (thanks @BarryCarlyon for the original issue) - Fixed unexpected focus jumps when
DatePicker
props are updated - Fixed the spacing and text wrapping of
ExceptionList
title and description
- Fixed
DropZone
to prevent it from kicking into small size too soon
- Various content and markdown fixes
Use Exception lists to draw the merchant’s attention to important information that adds extra context to a task.
- Added an
ellipsis
prop toActionList.Item
allowing for an ellipsis suffix after the content - Added a
preferredAlignment
prop toPopover
allowing it to be aligned to the left, center, or right of its activator - Updated styling for
Banner
that appear in aCard
or aModal
- Added new size to
DropZone
component - Exposed Group interface from the
Select
component - Renamed
plain-list
mixin tounstyled-list
- Removed padding from
DropZone
and applied it toFileUpload
instead
- Fixed unexpected window scroll on rendering
DataTable
(thanks @mfurniss for the original issue) - Fixed focused inner interaction state on
ResourceList.Item
for reverse tabbing - Fixed border radius on
Card
to match the padding onPage
- Added
target
to thebreadcrumb
prop onPage
(thanks @sdn90 for the original issue) - Fixed visual representation of disabled bulk action buttons in
ResourceList
- Fixed margins of a
fullWidth
Popover
that appears above its activator - Fixed rendering of
Popover
when activator rerenders (thanks @nerfologist for the original issue) - Fixed
z-index
calculation forPositionOverlay
andDialog
- Fixed an issue where selecting a date in
DatePicker
would submit its enclosing form - Fixed
ResourceList
reverse tabbing focus interaction on action buttons - Fixed padding in the case where a
ResourceList
had no filters
Summary: this is the first major version of Polaris React since launch. Included in this release are:
- Several new components, including
DataTable
,DropZone
,AppProvider
, andModal
- Improvements to existing components, such as
ResourceList
,ChoiceList
, andCard
- A few breaking API changes
We’re removing support for React 15 in order to make full use of some of the new features in React 16, such as fragments, error boundaries, and improved server-side rendering.
Upgrade your app to the latest version of React.
The AppProvider
component is now required in your app for Polaris components to function properly.
Wrap your app in the AppProvider
component.
Collapsible component requires an id
prop
For accessibility reasons, the id
prop is now required on the Collapsible
component.
Pass a unique value as an id
to all Collapsible
components. For example, <Collapsible id="my-unique-id">
.
The EmbeddedApp
component has been removed. The AppProvider
component now accepts the configuration needed to initialize an embedded app.
Use the AppProvider
component with the apiKey
and shopOrigin
props.
Shopify is organized around objects that represent a merchant’s business, such as customers, products, and orders. Each individual order, for example, is given a dedicated page that can be linked to. In Shopify, we call these types of objects resources.
The resource list component functions as:
- A content format, presenting a set of individual resources in a compact form
- A system for taking action on one or more individual resources
- A way to navigate to the show page of an individual resource
Our current resource list component gave you some nice defaults out of the box, but didn’t take you much further than that. We recognized that each of these lists is unique and contains different information that is important to the merchant.
Our new resource list allow you to build custom items in the list, with their own layout, content, and styling. This gives you a powerful way to build these sorts of lists going forward.
We’ve also included in depth documentation and a tutorial on how to build your own custom resource list items.
To be more consistent with our other component APIs, the Tabs
component now uses content
instead of title
.
Change all instances of title
to be content
instead.
Because we require you to manage state for your inputs, we decided to make onChange
required for TextField
to avoid confusion.
Add an onChange
callback to each use of TextField
that is not disabled or readonly.
The CSS for Icon
will no longer apply a color to icons by default. You must use the color
prop on the Icon
component to specify the color.
Use color
prop on all instances of Icon
component.
To avoid conflicts with other styling or frameworks, we’re removing the styling we globally applied to all a
elements.
Use the Link
component instead.
This change only impacts users of the Sass version of Polaris, more specifically the color()
function. The color($hue, $value: base, $for-background: null)
function in Sass now accepts strings for $hue
and $value
as advertised in the color function documentation.
If you’re using VS Code, here are the exact search / replace instructions to follow (toggle “Use Regular Expression”):
- replace
\bcolor\(([a-z-]+)\)
withcolor('$1')
- replace
\bcolor\(([a-z-]+), ([a-z-]+)\)
withcolor('$1', '$2')
- replace
\bcolor\(([a-z-]+), ([a-z-]+), (.*)\)
withcolor('$1', '$2', $3)
Since launching Polaris components, we’ve had many people ask why we didn’t include tables. While we have been moving away from using tables for comparisons that aren’t tabular data (resource lists, for example), we recognize that there are still cases to use them.
The data table component is our answer to those cases. While data visualizations represents part of a data set, data tables are used to organize and display all the information from a data set, allowing merchants view details from the entire set. This helps merchants compare and analyze all the data in a unified way.
Currently we have several different interfaces for uploading files across Shopify, which leads to a lack of consistency and some missing features and capabilities. To solve this problem, we’re releasing a new drop zone component.
This new component allows merchants to upload files by dragging and dropping them into an area on a page. The component handles file type validation, dropping onto the window, and more, meaning more ease of use for merchants.
In the original Polaris React, the modal component was only available to embedded apps. No longer. Our new modal component is universal in that it can be used in either standalone or embedded apps, and will handle the correct behavior for you.
The app provider is a required component that enables sharing global app config with the components in Polaris. This is used for the internationalization of strings in Polaris components, as well as set other configuration such as a custom link component that all the Polaris components will use. This unlocks new ways for us to share configuration at an app level and have the components react to that configuration.
- Added
error
prop toChoiceList
TextField
,Select
, andCheckbox
now accept the typesstring
orReactElement
for theerror
prop- Added optional
id
props to more components, and restructured the prop definitions to allow projects to makeid
props mandatory - Added
fullWidth
prop toCard.Section
- Added
fullHeight
prop toPopover
to override max-height - Added
allowRange
as a property forDatePicker
- Added the
external
option to thesecondaryAction.action
prop on theBanner
component. Thank you to (Andrew Cargill) for the issue (#236)
- Enforced subdued description
TextStyle
inAnnotatedSection
- Fixed overflow of
TextField
that caused the border to be cut off - Allowed specific props in the
TextField
component to pass through properties to the input child - Fixed
ActionList
component to provide section dividers when atitle
was not provided - Fixed an issue in the
Select
component where placeholder didn’t properly appear on Firefox and appeared disabled on all browsers
This will be the last v1.x release outside of critical security fixes.
- Add margin-left spacing to disclosure icon within
Button
component - Remove margins on segmented
ButtonGroup
- Fixed text alignment of
Link
so that it inherits from its parent node
- Fixing an error with the release process
- Changed
term
inDescriptionList
component to acceptReact.ReactNode
to allow for more than juststring
type
- Added missing
publishConfig.access
setting inpackage.json
, in accordance with the new Shipit requirements for public npm packages
- Added an
id
prop to Collapsible to be referenced by thearia-controls
attribute of the component triggering the collapse
- Fixed external prop not working within
ActionList
component - Fixed a syntax error in one of the
Card
component examples (thanks @meecrobe for the original issue)
- Enhanced
Avatar
to work better when provided non-square images - Move documentation file so it’s picked up by the styleguide
- Fixed disclosure centering on the
Tabs
component - Fixed an issue where a style void would appear between breakpoints at high text zoom levels
- Removed purpose section from component READMEs
- Added
EmbeddedPage
under the Embedded section - Added “Using embedded components” section
- Added screenshots to the embedded components
- Clarified usage of
Card
header andFooterActions
- Moving property descriptions out of READMEs and into source files
- Fixed server-side environments
- Updated component examples that use state to use an es6 class
- Fixed
TextField
overflow issues when insideScrollable
- Fixed
Select
focus state bug occuring in Firefox - Fixed vertical alignment of text within full width variant of the button component
- Changed
Checkbox
label to allow string or React.ReactNode - Update
TextField
type with currency - Added
ariaControls
,ariaExpanded
prop toButton
- Updated the base red color to improve contrast
- Added a notification icon to the bundled icons available to use in the icon component’s source prop
- Exposed Status from the
Banner
component - Added
titleHidden
prop toPage
- Clarified intended usage for
EmptyState
- Added version number to source
- Changed Action to Disableable Action in Card
- Added
renderChildren
prop toChoiceList
component
- Fixed an issue with
FooterHelp
links not expanding to full-width on mobile devices - Added breadcrumbs to
SkeletonPage
- Added max-width and auto margin to
EmptyState
- Fixed outline
Button
disabled state styles - Fixed
Tag
so theonRemove
function is not improperly called (thanks @chaddjohnson for the original issue) - Fixed border on inputs disabled state
- Fixed an issue in
TextInput
, when you increment or decrement with a float value, and the digits after the decimal point where wrong - Added top alignment to FormLayout.Group #876
- Fixed capitalization of prop names in
Pagination
component’s documentation (thanks @donnguyen for the original issue) - Exposed Option from the
Select
component
- Fixed the public repository’s build (which was missing the new CircleCI configuration files)
- Fixed CSS-only
Checkbox
(thanks @daddy88 for the original issue)
-
Restored the correct
latest
version to the CDN -
Fixed rgbToHsb function when red is the largest number and added tests (thanks @emcmanus for the original issue)
-
Fixed an issue where a hard-coded path would cause the build to fail on Windows (thanks @Invader444 for the original issue and pull request)
-
Added
onClick
toUnstyledLink
-
Added tests to
Link
-
Added tests for
ColorPicker
color utilities
- Ammending changelog
- Added
onActionAnyItem
prop to action list and used to closePage
actionGroups
on click or keypress of any item - Added
content
prop toTabs
and deprecated use oftitle
- Added
TextContainer
component - Added
idForItem
prop to resource list - Added
fullWidth
prop to layout section - Added
indeterminate
as option for checkboxchecked
prop value - Added
singleColumn
prop to page - Added
focused
prop toTextField
813
- Fixed positioned overlay not responding to
Scrollable
container events - Fixed first focusable item focus in
Popover
- Fixed typos in the select component documentation (thanks @mattchidley for the original issue)
- Moved react-transition-group from a dev dependency to a dependency
- Fixed
Stack
not returning children
- Added missing yarn config file which was causing the build to fail
- Updated README to consistently use contractions (thanks @stefanmiodrag for the original pull request)
- Improved example description for
Layout
component - Updated
Spinner
documentation - Improved component purpose documentation across components
- Improved documentation for
TextStyle
component
- Added support for React 16
- Added an option to show or hide unpublished products from the
ResourcePicker
- Changed
Popover
component to usereact-transition-group
instead of our deprecated custom version in@shopify/react-utilities
- Added new
ProgressBar
component - Changed today’s date to be tabbable and clearly indicated in
DatePicker
- Added support for disabled choices in
ChoiceList
component - Added support for disabled secondary
Page
actions - Changed
TextField
andSelect
to now focus on clicking only within the area from the input to the end of its label text
- Fixed
Layout
component example description - Fixed
SkeletonPage
header appearing in embedded apps (thanks @rkbhochalya for the original issue)) - Fixed border-radius on
ActionList
component in Chrome
- Added
SkeletonPage
,SkeletonBodyText
andSkeletonDisplayText
components - Added
Spinner
component - Added hint prop to
Scrollable
and use inPopover
- Updated
Button
component to use newSpinner
component - Added external link support for
Page
secondaryActions
- Enabled the
primaryAction
ofPageActions
to be loading Stack
now supports non-wrapping layouts on small screens- Updated
TextField
min and max documentation - Breadcrumbs now accept a callback through onAction (thanks @arypbatista for the original issue)
- Fixed issue with embedded app breadcrumb linking to Shopify settings page (thanks @cargix1 for the original issue)
- Fixed
Avatar
to display image and initials simultaneously - Fixed various links to embedded components
- Fixed left and right ends of
TextField
not responding to clicks RadioButton
&Checkbox
now focus on clicking only within the area from the input to the end of its label text- Fixed plain and
fullWidth
Button
alignment - Add a minor delay to
Tooltip
display
- Documented disabled prop for
Checkbox
andRadioButton
(thanks @LeoAref for the original issue) - Documented progress prop for
Badge
(thanks @sp4cecat for the original issue) - Added loading prop to
Button
(thanks @bakura10 for the original issue) - Documented complex
Select
option (thanks @sp4cecat for the original issue) - Documented
TextStyle
component - Improved
Avatar
typography spacing - Added subtract icon
- Improved acessibility for
Pagination
- Fixed failed dependency installation for unauthenticated GitHub users (thanks @mikeyhew for the original issue)
- Fixed
Page
header spacing - Fixed
TextField
focus ring transition - Fixed
Popover
not resizing on content updates
- Fixes alignment of
PageAction
links
- Fixed disabled
Button
when using local class names - Fixed
Scrollable
resize listener not autobinding
- Updated
Scrollable
component to remember scroll position on re-render - Added checkmark icon to the
Icon
component - Added an example for a disabled
TextField
- Fixed typo in
Icon
code example
Various documentation fixes.
- Updated import, export, and view icons
- Improved documentation of various components
- Improved how
ActionList
handles images and groups - Exposed PopoverCloseSource from
Popover
component
- Fixed
PageActions
spacing in IE11 - Fixed ID inconsistency on
TextField
- Fixed spacing on
Page
component with no header (thanks @bakura10 for the original issue) - Fixed disabled state on primary and destructive
Button
- Upgraded javascript-utilities to the latest version
- Fixed classnames in built *.scss files
- Fixed broken link in description list README
- Added an
esnext
build (allows production builds to perform class/method tree shaking) - Changed KeyboardKey component to use
kbd
tag - Added publishing
docs
folder to npm package - Added
fullWidth
option toPopover
component
- Updated Static HTML page examples to correct markup (thanks @bartcoppens for the original issue)
- Hide increment and decrement buttons on number input when disabled (thanks @kguller for the original issue)
- Fixed link to product content documentation
- Fixed documented type for error prop on
Checkbox
component - Fixed
Popover
reopening when clicking around during transition - Fixed
Popover
resizing on content updates - Fixed vertical alignment of
Button
content
- Added Sketch color palette file
- Fixed a repo issue that caused the public repo release not to happen
- Added helpText to
ChoiceList
choices (thanks @cgenevier for the original issue) - Added save icon
- Added
accessibilityLabel
toTabs
- Updated icons for
Banner
- Improved
Page
component by fixing up spacing, addin a prop to show a separator below the page title, and changing the secondary actions to roll up into a dropdown menu on small screens - Improved default stacking behavior for Tooltip and
Popover
(thanks @Taphood for the original issue) - Added extraTight spacing option to Stack
- Use default subheading type styles for
ActionList
- Improved large
Button
styles - Updated font-weight for text emphasis (thanks @bakura10 for the original issue)
- Removed the focus state for
Banner
on click - Fixed disabled
Pagination
button looking active - Fixed alignment on
Button
- Fixed min-width on
TextField
(thanks @asacarter for the original issue) - Removed the border-top on
EmptyState
) (thanks @alexdover for the original issue - Fixed
Select
placeholder value warnings (thanks @cgenevier for the original issue) - Fixed disabled text on iOS
- Fixed type for
onChange
event
- Added color palette page to “Getting started”
Button
typography updated. More changes to come soon.- Changed typeface from
San Francisco UI
toSan Francisco Pro
. You will need to download the updated typeface here. https://developer.apple.com/fonts/ - Updated to Sketch version 45.2
- Updated layer styles and fonts styles to take advantage of Sketch’s new organizational features.
- Fixed disabled
Button
documentation (thanks @michaelsunglee for the original issue) - Fixed project URL in CircleCI badge
- Fixed Stack documentation (thanks @nerfologist for the original issue)
- Added embedded Alert documentation and updated other embedded documentation
- Updated React TypeScript definitions
- Updated EASDK metadata structure for generic interfaces
- Removed postinstall hook
- Fixed a repo issue that caused the public repo release not to happen
- Added automatic inference of the
target
property of EASDK buttons inPage
primaryAction
andsecondaryAction
based on their URL (thanks @jimmyn for the original issue) - Added automatic inference of the
target
property of EASDK breadcrumbs inPage
breadcrumbs
prop based on the URL Select
option descriptors now accept adisabled
attribute to disable the generatedoption
(thanks @sogko for the original issue)easdk.showFlashNotice
now accepts an optional options object as its second parameter. Passing{error: true}
will cause the flash to appear as an error, matching the behaviour ofShopifyApp.flashError
Checkbox
,RadioButton
,ChoiceList
,Select
, andTextField
now pass the ID of the changed input as the second argument to theironChange
callback (thanks @milep for the original issue)Popover
now respects thez-index
of the activator if it exists- When putting content as children of
Tabs
, the default panel that is generated now respects thepanelID
of the selected tab, and uses a sensible default based on the tab’sid
if nopanelID
exists - When selecting a tab in
Tabs
, the matching panel is now focused by default easdk
methods are bound to the object so they can be freely passed as callbacks
Avatar
now renders as aspan
instead of adiv
- Fixed contents in
Layout.AnnotatedSection
breaking out of their container (thanks @cargix1 for the original issue) - Fixed spacing above a
primaryAction
inCalloutCard
when there is nosecondaryAction
- Aria attributes are now on the actionable elements of
Tabs
instead of in the list items - Exposed
Panel
asTabs.Panel
instead ofTabs.panel
- Fixed the alignment of
prefix
andsuffix
content ofTextField
(thanks @bdillon3 for the original issue) - Fixed the disabled text color in
TextField
Checkbox
andRadioButton
no longer generate invalid HTML in their labels (thanks @ernestogutierrez for the original issue)Tabs
no longer steal focus from contained elements (thanks @alexdover for the original issue)
- Reduced horizontal padding on
Breadcrumbs
- Updated icon and internal padding of
FooterHelp
- Updated the
EmptyState
layout and typographic styles
- Fixed the code examples on the
EmbeddedApp
documentation - Added a simple
EmbeddedApp
example - Renamed the “Tables and lists” category to “Lists”
- A variety of other documentation updates (thanks @sebnun, @asacarter, and @resistorsoftware for raising issues)
- Updated all dependencies
- Added a script to automatically match the published version number to the one referenced in the README
- Added the correct viewport tag to the Playground
- Hid deprecation errors during tests
- Fixed an issue where the embedded components would not reload the page within the Shopify admin (thanks @buggy for the original issue)
- Fixed the
spacing="none"
variation onStack
not working correctly, and added the missingextraLarge
enum value forspacing
- Fixed
Banner
’sonDismiss
callback not being called when the dismiss button was clicked (thanks @tlwirtz for the original issue)
- Updated
Badge
text colors - Updated line height for the small
DisplayText
variation - Updated the default icon for error
Banner
(thanks @heyneff for the original issue)
- Added app examples (thanks @lukepxu for the original issue)
- Removed references to the Graphik typeface (thanks @adamnel for the original issue)
- Left-aligned button text for better resizing
- Added Messenger link to navigation to better communicate that the channel nav collapses after 3 items
- Fixed alignment of table headers
- Minor updates to Dataviz and Reports examples
- Added indicators to Home notifications
- Synchronized component documentation with the style guide
- Fixed an issue that prevented the public CHANGELOG from being generated correctly
- Added a hot-reloading Playground to easily try out different components
- Removed the references to Babel presets from
package.json
(thanks @macs91 for digging into this with us) - Removed the
@import
statements at the top of source Sass files - Updated TSLint and related linting dependencies
- Fixed an issue where subcomponents with variations would use a single
-
instead of--
(thanks @johnsonab for the original issue) - Fixed a missing typing dependency and a missing
embedded
types entry point that were causing issues using this package with TypeScript (thanks @buggy for the original issues) - Fixed an issue where the anchor tag for
ResourceList.Item
would not span the full width of the item (thanks @sdn90 for the original issue)
- Started using the
prop-types
package instead of gettingPropTypes
fromreact
, as the latter is deprecated as of React 15.5.0
- Corrected the name of
documentation/Embeddded apps.md
todocumentation/Embedded apps.md
(thanks @chrispappas for the original issue) - Fixed the
ColorPicker
documentation to show valid values forsaturation
,brightness
, andalpha
(thanks @allanarmstrong for the original issue)
- Added a description to
package.json
- Added license to
package.json
and to the root of the repo (thanks @d2s for the original issue) - Fixed an issue where the Webpack example would complain about a missing dependency (thanks @rafaedez for the original issue)
- Switch repo to public access
- Initial release