99 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on these versioning and changelog guidelines.
3.16.0 - 2019-05-22
Enhancements
- Added support for dual values to
RangeSlidercomponent (#1436) - Updated type restrictions for
AnnotatedSectionto allow itstitleprop to acceptReact.ReactNodeinstead ofstring(#1431)
Bug fixes
- Fixed an issue where the JavaScript breakpoints incorrectly set the navigation bar collapsed breakpoint (#1475)
- Added a border to
Toastmessages to make them more visible in Windows high contrast mode (#1469) - Added
box-shadowto theBannerto make it more visible in Windows high contrast mode (#1481) - Added
box-shadowto theCardto make it more visible in Windows high contrast mode (#1524) - Fixed UI regressions in
Navigationcomponent hover and active states (#1551)
Development workflow
- Updated Storybook to
v5.1.0-alpha.39, improving component searchability in the sidebar [#1488]
Dependency upgrades
- Removed runtime dependency on
@shopify/imagesas we never needed it at runtime (#1474) - Removed
@shopify/react-utilitiesand replaced some of the functionality with@shopify/css-utilitiesor by moving the utilities into Polaris itself (#1473)
3.15.0 - 2019-05-14
This release fixes an issue introduced in v3.14.0 that caused the esnext build not to succeed resulting in build errors for consumers (#1466)
Enhancements
- Enhanced
NavigationItem's color accessibility foractive,focus,hoverandSelectedstates (1304) - Added
alignprop toTextField(#1428) - Added
clearButtonprop toTextField(#1226)
Bug fixes
- Fixed
Checkboxfrom improperly toggling when disabled (#1467) - Fixed
Popoverfade-in flutter on iOS by switching Transition component for CSSTransition (#1400) - Improved the visibility of focus styles for the
Linkcomponent. (#1425)
Documentation
- Updated accessibility testing documentation (#1449)
- Added guidelines for tertiary actions in modals to
Modalcomponent documentation (#1336)
Development workflow
- Updated the a11y shitlist and re-enabled the pa11y job in CI. The job always passes for now, as a way for us to judge whether it is stable and can be made a required check. (#1456)
Code quality
- Simplified logic in Checkbox component (#1453)
3.14.0 - 2019-05-08
New components
- Added the
Sheetcomponent (#1250)
Enhancements
- Added translations for all supported locales (#1358)
- Improved the performance of
ResourceList(#1313) - Added
withinContentContainercontext toNavigation(#1393) - Added support for
Tooltipcontent to wrap nonbreaking strings #1395
Bug fixes
- Removed
windowcall onserverexecuted code #1427 - Fixed
onClickfrom firing three times when using the enter key on aResourceListitem (#1188) - Resolved console
[Intervention]errors for touch interactions onColorPicker(#1414) - Fixed page scrolling while interacting with the color slider (#1414)
- Applied
font-familytobuttonelements which were being overridden by User Agent Stylesheet (#1397) - Fixed
Checkboxbeing toggled when disabled (#1369) - Fixed
DropZone.FileUploadfrom incorrectly displaying action hint and title when the default is used and removed (#1233) - Fixed
ResourceList.Iteminteraction states from being incorrectly applied (#1312 - Fixed selected state for date picker in Windows high contrast mode (#1342)
- Fixed accessibility of skeleton components for Windows high contrast mode (#1341)
- Fixed
Loadingvisibility in Windows high contrast mode (#1389) - Fixed the position calculation of the
PositionedOverlaycomponent after scroll (#1382) - Fixed styling issue for
Paginationwhen used withTooltip(#1277) - Fixed certain children of a
TextContainerhaving no top margin (#1357) - Added border to
Tooltipin Windows high contrast mode (#1405) - Fixed
Navigation.Sectionrollup collapsing whenNavigation.ItemsubNavigationItemsexpand (#1417)
Documentation
- Updated
Linkaccessibility documentation for theexternalprop to reflect new behavior (#1347) - Added accessibility documentation for
VisuallyHidden(#1348) - Added accessibility documentation for
TextStyle(#1350) - Added accessibility guidance for
HeadingandSubheading(#1351) - Added accessibility documentation for
ListandStack(#1353) - Added accessibility guidance for
DisplayText(#1354) - Added guidance for updating component documentation and tophatting style guide changes (#1362)
- Added accessibility documentation and guidance for
ActionListandOptionList(#1365) - Added accessibility documentation for
CardandCalloutCard(#1366) - Added accessibility documentation for
Badge(#1364) - Added accessibility documentation for
Icon(#1404) - Added accessibility documentation for
Popover(#1408) - Fixed content example for
ContextualSaveBarguidelines (#1423)
Dependency upgrades
- Updated most
devDependencies(#1327) - Bumped
@shopify/react-utilitesto remove a transitive dependency oncore-js(#1343) - Updated App Bridge to version 1.3.0 (#1349)
- Updated
typescriptto 3.2.4 (#1388) - Updated
sewing-kitto 0.83.1 and babel-preset-shopify to ^18.1.0 (#1344)
Code quality
- Updated
Dropzone.FileUploadto no longer usecomponentWillReceivePropsandcomponentWillMount(#1233) - Removed a
window.openimplementation error inResourceList.Item(#1294)
3.13.0 - 2019-04-22
Deprecations
- Deprecated Navigation
Item’siconBodyprop. Pass a string into theiconprop instead. (#1299)
Enhancements
- Added an
onChangehandler toCheckableButton(#1326) Labellednow wraps its content, no longer causing alabel + actionto get unreasonably squished (#1309)- Updated
polaris-tokensfrom2.3.0to2.5.0and converted all use ofdurationvalues (#1268) - More consistent use of
text-breakwordmixin (#1306) - Added an icon and screen reader hint when
Linkopens a new tab (#1247) - Updated open styleguide pr to create multiple pull requests to update
polaris-reactacross multiple repos (#1069) - Updated the pull request creation to retry when it fails (#1069)
- Exported overlay and layer data attributes for use in consumer components (#1266)
- Added new
frame-with-nav-max-widthvariable and matchingframe-with-nav-when-not-max-widthmixin (#1311) - Updated
Resizerto schedulehandleHeightCheckto run in next animation frame (#1301)
Bug fixes
- Fixed
ResourceListactions from show at incorrect breakpoints or while in select mode (#1333) - Fixed Search overlay stretching below the viewport (#1260)
- Added
onChangeandvalueto selectAppProviderexamples to remove console errors (#1320) - Fixed promoted bulk actions in
ResourceListnot properly disabling (#1317) (thanks @jineshshah36 for the issue report) - Fixed
ResourceListheader from displaying whenEmptySearchResultexists (#1286) - Stopped passing the
polariscontext into the div rendered byScrollable(#1271) - Fixed clickable area on sortable column headers on
DataTable(#1273)
Development workflow
Upgraded Storybook to v5 (#1140)
Dependency upgrades
Code quality
- Migrated the refs in
DropZoneto use the new createRef API (#1063) - Updated
ResourceListto no longer usecomponentWillReceiveProps(#1235) - Updated
Tabsto no longer usecomponentWillReceiveProps(#1221) - Removed an unneeded media query from Modal's
Headercomponent (#1272) - Replaced all instances where we pass a string representing a bundled icon into
Button. Prefer passing in the React Component from@shopify/polaris-icons(#1297)
3.12.0 - 2019-03-29
Enhancements
- Added a public
focusmethod onBanner(#1219) - Added an
onScrollToBottomprop toPopover.Pane(#1248) - Added a
placeholderprop toFilterControl(#1257) - Added support for setting string values on the
TextFieldautoCompleteprop (#1259)
Bug fixes
- Fixed disabled states while loading for
ResourceList(#1237) - Fixed
Checkboxfrom losing focus and not receiving some modified events(#1112) - Added translation for the cancel button on the
ResourceListBulkActions(#1243) - Fixed the
AutocompleteonLoadMoreResultsprop not being called on scrolling to the end of the option list (#1249)
Documentation
- Removed
button group joined to the bottom of a componentexample (#1267)
3.11.0 - 2019-03-21
Enhancements
- Updated
Navigationbadge prop to accept a react node (#1142) - Changed max width on
Searchto 694px so that it is perfectly centered in the top bar (#1107) - Added
actionprop toToast(#919) - Remove all usage of
@shopify/javascript-utilities/decorators, namelyautobind,debounce, andmemoize(#1148) - Added
Empty StatefooterContent prop (#1200) - Added viewport condition to
TopBarto enlarge thecontextControlwrapper on wider screens (#1231)
Bug fixes
- Fixed selectMode on
ResourceListnot toggling when items are selected programmatically (#1224) - Fixed unnecessary height on
TextFielddue to unhandled carriage returns (#901) - Ensured server side rendering matches client side rendering for embedded app components (#976)
- Fixed rendering of the spinner on
TextFieldwhen setting to readOnly (#1118) - Fixed webpack example that does not compile (#1189)
Documentation
- Added accessibility documentation for
Checkbox,RadioButton, andChoiceList(#1145)
Dependency upgrades
- Regenerated the yarn.lock file in the browserify example to resolve security vulnerabilities (#1202)
- Updated browserify example dependencies and dev dependencies (#1191)
- Updated webpack example dependencies and dev dependencies (#1189)
Code quality
- Replaced all occurrences of
_.mergewith a custommergefunction (#1018) - Replaced all occurrences of
_.pickwith a custom pick function (#1020) - Deleted the icons index file that would re-export icons, and replaced it with direct imports (#1195)
- Replaces all instances where we pass a string representing a bundled icon into
Icon. Prefer passing in the React Component from@shopify/polaris-icons(#1196)
3.10.0 - 2019-03-07
Enhancements
- Added Polaris version information tracking in App Bridge actions (#1087)
- Re-added the navigation’s border-right (#1096)
- Added
onScrolledToBottomprop toModal(#1117) - Updated
Navigation.Itemto useIconwheniconBodyprop is passed in. Renders these icons in animgtag now. (#1094) - Added focus state outlines to be visible when using Windows High Contrast Mode for
Button(#1101)
Bug fixes
- Reverted a change that constrained
DropZoneheight based on inherited wrapper height #1129 - Fixed missing rounded corners on
Tagbutton states (#1078) - Removed reference to
window.Polaris, which in some cases could be undefined (#1104) - Added padding and margin to
subduedsections for proper spacing between the header and footer (#1082) - Removed left margin from vertical
Stackto prevent overflow (#1024) - Fixed the size differences between
SkeletonThumbnailandThumbnail(#1141) (thanks @mbaumbach for the issue report) - Refactored
ComboBoxtests that were not running (#1137)
Documentation
- Updated related component documentation for
Page,PageActions, andPagination(#1103) - Improved
Modaldocumentation for properties only available in a stand-alone app context (#1065) - Added accessibility documentation about
Banner(#1071) - Added accessibility documentation for
InlineError(#1073) - Added accessibility documentation for
Loading(#1075) - Fixed documentation about the
ariaPressedprop forButton(#1097) - Fixed examples using the
selectedprop forAutocomplete(#1053)
Development workflow
- Added viewport meta tag to Storybook frame (#1026)
Code quality
- Removed lodash decorators and replace all occurrences of
_.throttlewithdebounce(#1009) - Removed all occurrences of
_.replace(#1012) - Added lodash to
create-react-appexample (#1010) - Updated
create-react-appexample dependencies (#1010) - Replaced all occurrences of
_.capitalizewith a customcapitalizefunction (#1015) - Replaced all occurrences of
_.isObjectwith a customisObjectfunction (#1011) - Replaced all occurrences of
_.getwith a customgetfunction (#1013) - Moved icons specific to
Banner,DropZone, andResourceListto @shopify/polaris-icons (#1042) - Updated spinner component to use the
Imagecomponent instead of an SVG tag to render (#1042)
Deprecations
- Deprecated passing a React Element into the
Iconcomponent in favor of passing a React Component (#1042) - Deprecated the untrusted prop in the
Iconcomponent (#1042)
3.9.0 - 2019-02-21
Enhancements
- Used
base-tightspacingvalue instead ofrem(12px)(#1044)
Bug fixes
- Fixed the
focusedprop onTextFieldso it sets the focus state (#990) - Resolved an unsupported
React.Fragmentsyntax (#1080) - Constrained
DropZoneheight based on inherited wrapper height #908 - Reverted a change that adjusted padding in the
Cardcomponent introduced in (#962)
3.8.0 - 2019-02-20
New components
SkeletonThumbnailfor representing thumbnails in loading state
Enhancements
- Updates
TopBar.UserMenuinteraction states styling (#1006) - Added
downloadprop toButtonandUnstyledLinkcomponents that enables setting the download attribute (#1027) - Added support for internationalization of month and week names to
DatePicker(#1005) - Added
untrustedprop toIconto render SVG strings in an img tag (#926) - Added a
data-hreftoResourceList.Items that have aurlprop (#1054)
Bug fixes
- Fixed
type="number"TextFieldto prevent conditions where press-and-hold could increment or decrement infinitely (#1029) - Fixed the top border of
DataTableoverlapping its container’s border (#975) - Fixed the
DataTablesort direction not reversing on second sort of the initially sorted column (#918) (thanks @tabrez96 for the issue report) - Changed the offset from 5px to 4px in
Tooltipbetween activator and message to be consistent withPopover(#1019) - Fixed
Cardheader not showing whentitleempty or not set (#1031) - Fixed an issue on Chrome when you use a
TextFieldinsideCollapsiblewhich is inside a scrollable element, the text disappeared if you focused a fully hiddenTextField(#1047)
Documentation
- Added accessibility documentation for the button and link components (#924)
- Added accessibility recommendations for the text field and autocomplete components (#968)
Development workflow
- Added a test that builds Polaris for web and polaris-styleguide. This test takes ~20 minutes to run so it’s only configured to run for master (931)
- Enabled
no-vague-titles eslintrule (#1051)
3.7.1 - 2019-02-12
Bug fixes
- Moved character counter to bottom of multiline text input (#992)
- Aligned
TopBarsearch input and results with page content (#1008)
Documentation
- Added all props example of
ResourceListin the style guide (#978)
3.7.0 - 2019-02-11
Enhancements
- Removed
TopBarlogo background (#957) - Updated
TopBarsearch results width to adapt to search input and added a minimum width (#969) - Updated
Card.Sectionto acceptReact.ReactNodeastitle(#781) - Added
contextControlprop toTopBarandNavigation(#966)
Bug fixes
- Fixed
Collapsibleto useoverflow: visible;once fully open (#951) - Fixed the
DataTablesort direction not reversing on second sort of the initially sorted column (#918) (thanks @tabrez96 for the issue report) - Fixed
TextFieldwhen passingnulltovalue(#964) (thanks @mbaumbach for the original issue) - Changed the default value for
showHiddenprop onResourcePickerfor backward compatibility with legacy EASDK (#981) - Adjusted top and bottom padding to the header, footer and sections in
Cardto add space between action buttons in the header and footer and the card sections. (#962)
Documentation
- Added accessibility documentation for the account connection and setting toggle components (#970)
- Added accessibility documentation for the avatar component (#973)
- Updated docs about App Bridge usage in AppProvider (#945)
- Added all props example to
DataTablein the style guide (#1003)
Development workflow
- Fixed links to Polaris component pages in story descriptions (#933)
Dependency upgrades
- Upgraded to
@shopify/polaris-iconsv2.0.0 (#982)
Code quality
- Updated
import styles from './foo.scss';from non-standardimport * as styles from './foo.scss';when importing scss files (#929) - Removed internal ellipsis icon as it is deprecated, and horizontalDots should be used instead (#974)
3.6.0 - 2019-01-30
Enhancements
- Updated
TextFieldto accept ashowCharacterCountprop enabling the display of character count (#709)
Bug fixes
- Fixed vertical misalignment in
Banner.Header(#870) - Removed a duplicate
activatorWrapperinPopoverwhen destructuring props (#916) - Fixed
BannersecondaryAction content wrapping in Firefox (#719) - Added
onKeyPress,onKeyDown, andonKeyUptoButton(#860) - Added
monochromeprop toButtonandLinkcomponent (#821) - Updated
Framelayout and madeTopBar.UserMenuvisible on mobile (#852) - Added a
forceRenderprop toPageto not delegate to the app bridge TitleBar action (#695) - Changed
Tabsexample to contain children so thePanelrenders for accessibility (#893) - Fixed timezone not being accounted for in
ResourceListdate filter control (#710) - Removed unnecessary tooltip text in the
TopBarcomponent (#859)
Documentation
- Added
Stack.Itemproperties and description to style guide’s (#772) - Added accessibility documentation to the resource list and data table components (#927)
- Added accessibility recommendations for the caption component (#928)
Development workflow
- Improved build speed by adjusting our rollup workflow (#912) and not optimizing svgs in the node_modules folder (#920)
- Fixed an issue where deployments would use an old version of Yarn, and open a pull request to polaris-styleguide with thousands of deleted integrity hashes in
yarn.lock(#856)
Dependency upgrades
- Updated App Bridge to version 1.0.3 (#844)
Deprecations
- Deprecated
Navigation.UserMenuin favor ofTopBar.UserMenu(#849) - Deprecated
Navigation’suserMenuprop (#930)
3.5.0 - 2019-01-16
Enhancements
- Update build toolchain to use Babel v7, PostCSS v7 and Rollup v1. Updated our build targets match our supported browsers, leading to a reduction in bundle size (#837)
Bug fixes
- Ensured disabled
Buttoncomponents with aurlprop output valid HTML (#773) - Fixed
DropZonewhich was unable to add a duplicate file back to back or add a file again once removed #782. Thank you @jzsplk for the contribution #425 and @vladucu for the clear example. - Added a fallback to the
safeAreaForsass mixin to handle browsers that don’t supportenvandconstant(#881)
Documentation
- Added deprecation guidelines (#853)
Development workflow
- Replaced our home-grown playground with Storybook (still accessed through
yarn dev) (#768) - Removed our usage of babel-node for build scripts - use plain node instead (#836)
- Ensured CSS builds are reproducible (#869)
3.4.0 - 2019-01-08
Enhancements
- Moved icons to a separate npm package (#686)
- Added
oneHalfandoneThirdprops toLayoutcomponent (#724) - Added
helpTextprop toActionListitems (#777) - Updated
Pageheader layout so actions take up less room on small screens (#707) - Added
alternateToolprop toResourceListcomponent (#812) - Updated color of warning status
ExceptionListitems from dark orange to dark yellow for better differentiation from critical status items (#813)
Bug fixes
- Fixed
TextFieldnot showing the correct color while it has focus and an error (#806) - Fixed
ResourceListnot renderingBulkActionson initial load when items were selected (#746) - Fixed the new variant of the
Badgecomponent so that it is simpler and easier to read (#751) - Reverted a change that set the
autocompleteproperty onTextFieldtonopewhen it wasfalse(#761) - Added dismiss button for
CalloutCard(#353) - Removed an extra tab stop from
ResourceList.Itemand make it unactionable while loading (#745) - Fixed
Checkboxfrom losing focus when quickly toggled (#717) - Fixed the console error in the
PositionedOverlaytest environment (#758) - Fixed
ResourceListnot rendering a header after initial load (thanks to @andrewpye for the original issue) - Fixed
TextFieldnot passingstepto the input (#829) - Renamed
OptionandGrouptypes inSelectto work around typedoc oddness (#830)
Documentation
- Modified image paths to fit the style guide’s new Markdown parsing rules (#753)
Development workflow
- Added a slight delay to the Percy screenshot script to give time for components to render fully (#704)
- Refactored to remove cyclical type imports (#759, #754, and #767)
Dependency upgrades
- Upgraded
@shopify/polaris-tokensto v2.1.1 (#813)
3.3.0 - 2018-12-12
Enhancements
- Added support for
ResourceList.Itemopening a URL in new tab if command or control keys are pressed during click (#690) - Added
primaryActionprop toSkeletonPage(#488) - Added support for press-and-hold to increment and decrement value in a
type="number"TextField(#573) (thanks to @andrewpye for the original issue) - Forced
Avatarto fall back toinitialswhen the image fails to load (#712)
Bug fixes
- Fixed
Popovernot opening in a smallScrollablecontainer (#658) - Fixed
Pageheader component to only render actions wrapper when actions are present (#732) - Fixed
ContextualSaveBarPropstype not being exported (#734) - Fixed
Avatarproportions when image is not square (#740)
Development workflow
- Upgraded to TypeScript 3.1.6 (#700)
- Moved some inconsistent prop types around for compatibility with the styleguide's Props Explorer (#727)
3.2.1 - 2018-12-04
Bug fixes
- Fixed
ToastPropstype not being exported (#722) - Fixed Shopify App Bridge import issues in
AppProviderandenzymetest utilities (#720)
3.2.0 - 2018-12-04
Enhancements
- Updated
TextFieldto no longer usecomponentWillReceiveProps(#628) - Updated
EventListenerto no longer usecomponentWillUpdate(#628) - Allowed
Iconto accept a React Node as a source (#635) (thanks to @mbriggs for the original issue) - Added
alignContentFlushprop to ContextualSaveBar (#654)
Bug fixes
- Fixed
Paginationfrom callingonNextandonPreviouswhilehasNextandhasPreviousare false for key press events (#643) - Removed min-width from
FormLayoutItemsand applying it only toItemsused inside aFormLayout.Group(#650) - Removed added space in
ChoiceListwhen choice has children on selection but is not selected (#665) - Fixed
errorOverlayTextonDropzone(#671) - Updated the
InlineErrortext color, the error border-color on form fields and the errorIconcolor to be the same red. (#676) - Fixed
AppProviderserver side rendering support (#696) (thanks @sbstnmsch for the original issue) - Fixed
TextFieldautocomplete disabling by setting autocomplete="nope" whenautoCompleteprop isfalse(#708)
Documentation
- Updated documentation links to match the new style guide link structure (#478)
Development workflow
yarn run tophathas been removed and its functionality has been moved into theyarn run devserver. Example editing now supports hot-reloading so you don’t need restart the server anymore.
Dependency upgrades
- Bumped
@shopify/polaris-tokensto v2.0.0. This is a breaking change for consumers of color design tokens in languages such as JavaScript and Sass (full release notes)
3.1.1 - 2018-11-19
Bug fixes
- Fixed selector import in
DataTableandCell(#638)
3.1.0 - 2018-11-16
Enhancements
- Improved
Avatarso it falls back toinitialswhen the image fails to load (#557) - Added
onScrolledToBottomprop toScrollable(#568)
Bug fixes
- Fixed
Action's selector inPage'sHeadercomponent (#523) - Fixed
Cardspacing in small devices (#608) - Fixed
ResourceListBulkActionsthat were remaining in fixed position outside theboundingElement(#627) - Improved readability of
Badgewithsizesmall andstatusnew for navigation (#633)
3.0.1 - 2018-11-14
Bug fixes
- Fixed
Datepickerranges whenstartandenddates are similar but have different references (#601) - Fixed
DataTablecolumn visibility calculation in production environments by using adata-polaris-header-cellattribute instead of class-based targeting (#615) - Fixed
Navigation.Itemnot callingonClickon small screens whenonNavigationDismissis undefined (#603) - Fixed
Autocompleteempty state example Markdown not parsing correctly (#592) - Fixed
TopBar’sUserMenualignment to be right-aligned whenTopBarisn’t passed asearchFieldprop (#597) - Removed erroneous SCSS file import that rendered Polaris unable to be used in typescript projects without scss support (#609)
- Fixed
Popoverinconsistent border-radius values (#605) TextStylestrong variant now uses a span tag instead of b (#606)- Fixed non-blocking context errors when using
ToastorLoadingin an embedded app (#613)
3.0.0 - 2018-11-09
Breaking changes
- Added padding top and bottom on
Card.Sectionwhen set to full width - Fixed
Portalrendering by usingcomponentDidMountlifecycle hook as opposed tocomponentWillMount - Fixed an issue where clicking a
Linkwithout aurlin a form would implicitly submit the form.Linkcan no longer submit forms. Use<Button submit>instead. - Renamed the
Keysenum to align with Shopify naming standards. It is now singular and the properties are in PascalCase. Replaceimport {Keys} from '@shopify/polaris'withimport {Key} from '@shopify/polaris'and change the casing of the properties, e.g. replaceKeys.DOWN_ARROWwithKey.DownArrow. - Added !important to
display: nonein@print-hiddenmixin
Embedded apps
- Use the Shopify App Bridge in favor of the EASDK. The EASDK has been removed.
- Added Shopify App Bridge support to new components
ToastandLoading - Added
targetprop to all actions which get passed to the Shopify App Bridge - Added new
sizeandmessageprops toModalwhich aligns with the Shopify App Bridge API - Added new
resourceType,initialQuery, andshowVariantsprops toResourcePickerwhich aligns with the Shopify App Bridge API - Moved embedded
ResourcePicker,Modal, andPageto the main bundle and removed the embedded bundle. Imports from'@shopify/polaris/embedded'will no longer work, use'@shopify/polaris'instead. - Made the
shopOriginprop onAppProvideroptional. It’s now provided by default. If you do provide ashopOriginit now needs to be given without the'https://'per the Shopify App Bridge API. - Updated
onSelectionprop onResourcePicker. The shape of theselectPayloaddata has changed and the productidis now agid. For example,/9019381572is nowgid://shopify/Product/9019381572. We offer @shopify/admin-graphql-api-utilities to help compose and parsegidfrom Shopify admin. - Updated default values for
ResourcePickerprops to align with the Shopify App Bridge. Set the propsshowHidden,allowMultiple={false}, andshowVariants={false}to get the previous default behavior. - Updated
targetprop type related to embedded apps, use'APP','ADMIN_PATH', or'REMOTE' - Removed
iconprop fromPage. Upload your app’s icon in the Shopify Partners dashboard “App setup” section instead. - Removed
titleprop fromResourcePickeras setting a title is no longer supported by the Shopify App Bridge - Removed
productsprop fromResourcePicker, useresourceType="Product"instead - Removed
collectionsprop fromResourcePicker, useresourceType="Collection"instead - Removed
widthandheightprops fromModal, usesizeinstead - Removed
debugprop fromAppProvider, use Redux DevTools instead. Redux DevTools also has browser extensions. - Removed the
Alertcomponent, useModalwithmessageprop instead - Replaced
easdkon React context withappBridge. Access it viathis.context.polaris.appBridge. - Removed
this.context.easdk.startLoading()andthis.context.easdk.stopLoading(), use theLoadingcomponent instead - Removed
this.context.easdk.showFlashNotice(), use theToastcomponent instead - Removed
this.context.easdk.pushState(), use the Shopify App BridgeHistoryaction instead. TheHistoryaction requires passing theappBridgeinstance which is accessible viathis.context.polaris.appBridge. - Removed
this.context.easdk.redirect(), use the Shopify App BridgeRedirectaction instead. TheRedirectaction requires passing theappBridgeinstance which is accessible viathis.context.polaris.appBridge.
License
- Updated the license from MIT to a custom license based on MIT. The new license restricts Polaris usage to applications that integrate or interoperate with Shopify software or services, with additional restrictions for external, stand-alone applications.
New components
We’ve released a suite of new components that, when combined, form the application frame of a stand-alone (or non-embedded) Polaris app.
Frame
The frame component, while not visible in the user interface itself, provides the structure for any non-embedded application. It wraps the main elements and houses the following components:
- primary navigation
- top bar
- toast
- loading
- contextual save bar
Navigation
The navigation component is used to display the primary navigation in the sidebar of the frame of any non-embedded application. Navigation includes a list of links that merchants use to move between sections of the application.
TopBar
The top bar component is always visible at the top of a non-embedded application. Its logo and color can be customized using the app provider component to reflect an application’s brand. Merchants can use it to search an application, access menus, and navigate by clicking on the logo.
Toast
The toast component is a non-disruptive message that appears at the bottom of the interface to provide quick, at-a-glance feedback on the outcome of an action.
Loading
The loading component is used to indicate to merchants that a page is loading or an upload is processing.
ContextualSaveBar
The contextual save bar tells merchants their options once they have made changes to a form on the page. This component is also shown while creating a new object like a product or customer. Merchants can use this component to save or discard their work.
Autocomplete
The autocomplete component is an input field that provides selectable suggestions as a merchant types into it. It allows merchants to quickly search through and select from large collections of options.
Enhancements
- Changed
Formto default themethodtopostin order to prevent accidental leaking of form details - Added support for boolean type on Choice error prop
- Changed the esnext folder to contain individual, minimally transpiled JavaScript component files, as well as raw style and image assets
- Added
onPortalCreatedprop toPortal - Improved consistency of
Badgestyling - Explicitly specifying
list-styleonList
Bug fixes
- Fixed console error and used new ref syntax in
DataTable(thanks to @duythien0912 for the original issue) - Fixed the ability to upload multiple files even when
allowedMultipleprop is false - Fixed
Datatableso it resizes with new content (thanks @andrewpye for the original issue) - Fixed
RangeSliderlinear-gradient so it doesn’t break the css build (thanks @Ankitjasoliya and @nerfologist for the original issue) - Fixed issue in
Page, where styling wasn’t being applied correctly to Page Actions - Removed unnecessary bindings on the
Modal’sonCloseprop - Rearranged
primaryFooterActionandsecondaryFooterActioninCard(thanks @sivakumar-kailasam for the original issue)
Documentation
- Updated banner guidelines to make it clearer when success banners should be used vs success toasts.
- Added examples for iOS and Android section header
- Added examples for iOS and Android thumbnail
- Added examples for iOS and Android empty state
- Added examples for iOS and Android text field
- Added examples for iOS and Android select
- Added examples for iOS and Android keyboard accessories
- Added examples for iOS and Android collapsible
- Added examples for iOS and Android list
- Clarified placement and usage of
Banner - Added an explanation to
Modalabout why it can’t be closed by clicking outside the modal and should only be closed by clickingXorCancel
Development workflow
- Moved sub-sub-components within
ResourceListinto components folders - Removed empty state from
ResourceListif there are no items andloadingis true - Move to use sewing-kit for test running, updating to Jest 23 in the process. This gives us working sourcemaps for code coverage
- Improved accessibility testing checklist
- Updated development node environment to 10.13.0
- Added shopify/jest plugin to eslint config
Open development
- Added contribution guidelines
- Added tophatting documentation
- Updated the project README
- Moved active development to the public repository
2.12.1 - 2018-10-11
Bug fixes
- Fixes type imports in the build
2.12.0 - 2018-10-11
Enhancements
- Removed tip from
Popover - Increased speed of
Popovertransition from 500ms to 100ms - Improved text contrast in
Badge. - Added named
mediumsize to Button that renders the same as omiting the size attribute
Bug fixes
- Fixed typo in
Collapsibleexample - Fixed padding and margins on
SkeletonPageto matchPage - Fixed spacing between
Pagetitle and metadata
Documentation
- Made
ActionList,OptionListandPopoverexamples active by default so previews are visible without interacting - Improved the manual accessibility checklist
Development workflow
- Batched Percy snapshots per component
2.11.0 - 2018-10-03
Enhancements
Tab.Itemwith aurlprop now renders anUnstyledLinkinstead of aButtonwhen displayed inPopoverand you can now keyboard navigate the disclosure inTabs- Refs can be placed on
DropZone.FileUpload - Use the new context API in
ResourceList - Use the new context API in
DropZone - Update example description in
ExceptionListdocumentation - Move Modal CloseButton into its own subcomponent, instead of being part of the Header subcomponent. This is an internal implementation detail if you are using the React component. If you are using (s)css and are defining class names manually you will need to update references to
Polaris-Modal-Header__CloseButtonandPolaris-Modal-Header--withoutTitletoPolaris-Modal-CloseButtonandPolaris-Modal-CloseButton--withoutTitlerespectively.
Development workflow
- Added
d.tsfiles to test coverage ignore Pageis no longer self-closing in the playground
Bug fixes
- Fixed
Buttonalignment issue caused by unnecessary icon markup rendering ([#2339](Fixing button alignment #2339)) (thanks to (@mbaumbach) for the (original issue)) - Fixed console error and used new ref syntax in
DataTable(thanks to @duythien0912 for the original issue) - Fixed margin of
InlineErrortext to align with theChoiceListlabels - Replaced hardcoded
remvalues with globally scalable ones onDataTable’s collapsed shadow, andTextStylecode blocks - Fixed spacing of numbered
Listfor double digits (#121) - Fixed
ProgressBarnot showing up in Windows high contrast mode (#1708) - Top aligned all cells in
DataTable - Fixed stacking order of loading overlay in
ResourceList - Fixed form inputs in
Popoverthat were disappearing instead of top aligning thanks to @mbaumbach for the original issue - Removed a redundant class on
OptionListlist items
Documentation
- Made
Modalexamples show the modal dialog by default - Changed fitted
Tabsto have equal width when enough space is present (#2314)
New components
withContext
Use withContext to pass consumer context to a component.
withRef
Use withRef with compose to forwardRefs to a component.
2.10.0 - 2018-09-18
Enhancements
- Updated
Buttonto accept aReact.ReactNodefor itsiconprop
Documentation
- Refined accessibility checklist
Bug Fixes
- Added truncation to
Tag
2.9.0 - 2018-09-10
Enhancements
- Updated date filter labels in resource list
- Changed
placeholderprop inSelectto be the default selection - Added a
loadingprop toResourceListthat places a spinner overtop items and disables bulk actions
Documentation
- Clarified when and how to use icons in the banner component
- Updated footer help component guidelines to include content instructions for app developers
Bug fixes
- 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
EmptyStatehorizontally scrolling when fully condensed - Fixed the bottom margin of elements inside
Pagebeing ignored in some browsers - Added required
urlprop tobreadcrumbsinPagecomponent examples - Fixed
ActionListwrapping text within aPopover - Fixed
Bannerspacing when inside of a section - Fixed
Stackso it doesn’t add extra spacing between items in Safari
2.8.0 - 2018-08-30
Bug fixes
- Reverted a change that caused the built embedded.js bundle to be way larger than it should be due to broad imports
Enhancements
- Added support for boolean type on Choice error prop
Documentation
- 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
2.7.2 - 2018-08-27
Bug fixes
- Reverted a change that caused items in a
Popovercomponent not to be clickable
2.7.1 - 2018-08-27
Documentation
- Fixed paths to images in the “Attention badge” example
Bug fixes
- Fixed the
Pagecomponent’sprimaryActionto supportLoadableActions andDisableableActions
2.7.0 - 2018-08-27
Enhancements
- Adjusted spacing for
ChoiceChildreninChoiceListfor readability - Made
Card.Headera separate publicly accessible component - Added support for complex operators in
ResourceListcomponent - Updated the
Pagecomponent’sprimaryActionto supportButtonprops. - Added validation for non-numeric input in a type="number"
TextField - Added circle information icon
Documentation
- Updated
Bannerguidelines to make it clearer when success banners should be used vs success toasts
2.6.1 - 2018-08-21
Development workflow
- Moved
pa11yandobject-hashfrom dependencies to devDependencies
Bug fixes
- Fixed inconsistent
DropZoneerror styling
2.6.0 - 2018-08-21
Development workflow
- Added a
test:coveragescript to gather and display test coverage results - Added Codecov test coverage checks to pull requests
- Added automated a11y testing to CI
Enhancements
- Added support for
titleMetadatainPagecomponent - Added support for
FilterType.DateSelectorinResourceListcomponent - Added
codeas an acceptedvariationof theTextStylecomponent to provide support for accessible markup and styling of inline code snippets and code-like text - Added new
border-widthSCSS function - Added support for
fullWidthandconnectedTopprops onButtonGroup - Added
labelprop toDropZonefor better accessibility - Added support for
RadioButtonto accept a block as alabel - Added a
singleColumnprop to theSkeletonPagecomponent - Updated the transition on large
Modalto match the default transition - Added
nextKeys,previousKeys,nextTooltip, andpreviousTooltipprops to thePaginationcomponent to support keypress handling andTooltipin pagination buttons. - Added examples to the
Layoutcomponent documentation for two and three column grid layouts - Added an export for the
Progresstype to support downstream typechecking of theBadgecomponentprogressprop - Added an
iFrameNameprop to theModalcomponent to support named iframe children - Added a
ScrollTosubcomponent to theScrollablecomponent to support scrolling to a child node programmatically - Added support for the
Buttoncomponent to accept an array of strings as children - Changed the primary focus target of an activated
Popoverfrom the first focusable child to thePopoveritself - Added an improved error message when the child of an embedded
Alertcomponent 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
TextFieldandOptionListcomponents - Added support for
OptionListwithAvatar,Icon, andThumbnailwhenoptionsdescriptors have amediaproperty - Added support for destructive
ActionListitems - Added support for
OptionListoptionsdescriptors to accept a block for thelabelproperty - Added
$page-max-widthvariable to capture page calculatedmax-widthvalue andpage-when-not-max-widthmixin to trigger when page is resized horizontally - Added support for select error messages to be optional
- Updated the
Breadcrumbscomponent to support theCallbackActiontype as a prop (thanks @dylan for the current issue and everyone who identified this.) - Added support for
TextFielderror messages to be optional - Added a
disabledprop to theChoicecomponent.CheckboxandRadioButtonlabels are now styled to reflect their disabled state - Added support for Windows High Contrast mode in the
Select,CheckboxandRadioButtoncomponents
Bug fixes
- Fixed
TextFieldresizer rendering whenmultilinewas false - Fixed
Modalheader condensing - Fixed
Tooltipso active prop activates on initial render - Fixed
Popoverborder 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
DataTablecolumn count and content skipping in assistive technologies - Fixed unintended form submittal by action list items enclosed in a
form(thanks @andrewpye for the original issue) - Fixed text alignment of multiline
OptionListoption text - Fixed an issue where the
Stackcomponent would render incorrectly nested items - Fixed spacing above annotated sections on smaller screens
- Fixed an issue that caused problems for some build tools
- Fixed the word-break of long text in
LabelandBanneron small screens
Documentation
- Added examples for iOS and Android
RadioButton - Added examples for iOS and Android
Banner - Added
Toastcomponent - 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
Steppercomponent
New components
InlineError
Use inline errors to describe custom form inputs or form groups when invalid.
2.5.0 - 2018-07-20
Enhancements
- Updated sub component structure
- Added
weekStartsOnprop toDatePicker
Bug fixes
- Remove
stickyManagerfromAppProviderPropsinterface - Fixed a bug where
Layout.AnnotatedSectionwould output a wrapper div for adescriptioneven when its contents were empty - Remove extra padding from annotated section
Documentation
- Added iOS and Android examples to the
Cardcomponent - Added iOS and Android examples to the
ChoiceListcomponent
Development workflow
- Renamed
yarn start:vrttoyarn tophatand updated the folder name to match - Improved
yarn tophat’s design, and added a/all-componentsroute
Enhancements
- Added
weekStartsOnprop toDatePicker
2.4.0 - 2018-07-12
Enhancements
- Changed
Formto submit a form by default when the enter key is pressed, and added the propimplicitSubmitto disable this default
Bug fixes
- Fixed
TextFieldpadding when aprefixorsuffixis included
2.3.1 - 2018-07-05
Enhancements
- Removed the min-width of 320px from
ResourceList
Bug fixes
- Resolve issue with
RangeSlidercomponent not accepting0as amaxvalue - Slightly reduced spacing for
prefixandsuffixon theRangeSlidercomponent - Fixed spacing for
prefixandsuffixon theTextFieldcomponent - Fixed height of cells in
DataTablethat are rendered after initial page load (for example: in aTabor aPopover) (thanks @flewid for the original issue) - Fixed
DatePickermonth styling for previous years
2.3.0 - 2018-07-03
New components
Option list
Use OptionList to present a group of selectable items outside of the context of a Form.
Documentation
- Fixed
Formexamples
Enhancements
- Added
prefixandsuffixprops toRangeSliderfor better layout control - Added testing documentation and examples in
AppProvider - Performance: optimized avatar SVG files
- Updated
yarn run optimizeto add new line at the end of SVG files - Added a more compact variant of
Select, with the form label appearing inside the control)
Bug fixes
- Adjusted padding on
TextFieldto 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
ResourceListheader with sorting options (thanks @janklimo for the original issue) - Fixed an issue where
RadioButtonwas 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)
Dependency updates
- Updated
@shopify/polaris-tokens, the single source of truth for colors
2.2.0 - 2018-06-12
New components
Range slider
Use RangeSlider to select a number value between a min and max range.
Enhancements
- Added a fixed prop to
Popoverallowing for a fixed position - Added badge prop to the
ItemDescriptortype and action group - Added
text-breakwordmixin for easier word breaking when dealing with long unspaced strings
Bug fixes
- Fixed unexpected form submission when switching tabs in a
Tabscomponent wrapped in aForm - Added missing
'Shopify.API.setWindowLocation'message handler to the EASDK
2.1.2 - 2018-06-06
Enhancements
- Added support for
Cardto accept a block for a title - Added an intermediate prop typing for
Linkto allow redefinition of prop definitions
Bug fixes
- Fixed an issue where
ResourceListfilters lost padding (thanks @BarryCarlyon for the original issue) - Fixed unexpected focus jumps when
DatePickerprops are updated - Fixed the spacing and text wrapping of
ExceptionListtitle and description
2.1.1 - 2018-05-30
Bug fixes
- Fixed
DropZoneto prevent it from kicking into small size too soon
Documentation
- Various content and markdown fixes
2.1.0 - 2018-05-03
New components
Exception list
Use Exception lists to draw the merchant’s attention to important information that adds extra context to a task.
Enhancements
- Added an
ellipsisprop toActionList.Itemallowing for an ellipsis suffix after the content - Added a
preferredAlignmentprop toPopoverallowing it to be aligned to the left, center, or right of its activator - Updated styling for
Bannerthat appear in aCardor aModal - Added new size to
DropZonecomponent - Exposed Group interface from the
Selectcomponent - Renamed
plain-listmixin tounstyled-list - Removed padding from
DropZoneand applied it toFileUploadinstead
Bug fixes
- Fixed unexpected window scroll on rendering
DataTable(thanks @mfurniss for the original issue) - Fixed focused inner interaction state on
ResourceList.Itemfor reverse tabbing - Fixed border radius on
Cardto match the padding onPage - Added
targetto thebreadcrumbprop onPage(thanks @sdn90 for the original issue) - Fixed visual representation of disabled bulk action buttons in
ResourceList - Fixed margins of a
fullWidthPopoverthat appears above its activator - Fixed rendering of
Popoverwhen activator rerenders (thanks @nerfologist for the original issue) - Fixed
z-indexcalculation forPositionOverlayandDialog - Fixed an issue where selecting a date in
DatePickerwould submit its enclosing form - Fixed
ResourceListreverse tabbing focus interaction on action buttons - Fixed padding in the case where a
ResourceListhad no filters
2.0.0 - 2018-05-07
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
Breaking changes
React 16+
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 instructions
Upgrade your app to the latest version of React.
App provider
The AppProvider component is now required in your app for Polaris components to function properly.
Upgrade instructions
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.
Upgrade instructions
Pass a unique value as an id to all Collapsible components. For example, <Collapsible id="my-unique-id">.
EmbeddedApp component has been removed
The EmbeddedApp component has been removed. The AppProvider component now accepts the configuration needed to initialize an embedded app.
Upgrade instructions
Use the AppProvider component with the apiKey and shopOrigin props.
Resource list
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 details 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.
Tabs no longer accept title prop
To be more consistent with our other component APIs, the Tabs component now uses content instead of title.
Upgrade instructions
Change all instances of title to be content instead.
TextField onChange is required
Because we require you to manage state for your inputs, we decided to make onChange required for TextField to avoid confusion.
Upgrade instructions
Add an onChange callback to each use of TextField that is not disabled or readonly.
Removed default white color from Icon CSS
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.
Upgrade instructions
Use color prop on all instances of Icon component.
Anchor tags are no longer styled by Polaris components
To avoid conflicts with other styling or frameworks, we’re removing the styling we globally applied to all a elements.
Upgrade instructions
Use the Link component instead.
Changed Alert onCancel prop to onClose
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.
Upgrade instructions
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)
New components
Data table
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.
Drop zone
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.
Modal
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 stand-alone or embedded apps, and will handle the correct behavior for you.
App provider
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.
Enhancements
- Added
errorprop toChoiceList TextField,Select, andCheckboxnow accept the typesstringorReactElementfor theerrorprop- Added optional
idprops to more components, and restructured the prop definitions to allow projects to makeidprops mandatory - Added
fullWidthprop toCard.Section - Added
fullHeightprop toPopoverto override max-height - Added
allowRangeas a property forDatePicker - Added the
externaloption to thesecondaryAction.actionprop on theBannercomponent. Thank you to (Andrew Cargill) for the issue (#236)
Bug fixes
- Enforced subdued description
TextStyleinAnnotatedSection - Fixed overflow of
TextFieldthat caused the border to be cut off - Allowed specific props in the
TextFieldcomponent to pass through properties to the input child - Fixed
ActionListcomponent to provide section dividers when atitlewas not provided - Fixed an issue in the
Selectcomponent where placeholder didn’t properly appear on Firefox and appeared disabled on all browsers
1.14.2 - 2018-05-02
This will be the last v1.x release outside of critical security fixes.
Bug fixes
- Add margin-left spacing to disclosure icon within
Buttoncomponent - Remove margins on segmented
ButtonGroup - Fixed text alignment of
Linkso that it inherits from its parent node
1.14.1 - 2018-04-10
Bug fixes
- Fixing an error with the release process
1.14.0 - 2018-04-10
Enhancements
- Changed
terminDescriptionListcomponent to acceptReact.ReactNodeto allow for more than juststringtype
1.13.1 - 2018-03-29
- Added missing
publishConfig.accesssetting inpackage.json, in accordance with the new Shipit requirements for public npm packages
1.13.0 - 2018-03-29
Enhancements
- Added an
idprop to Collapsible to be referenced by thearia-controlsattribute of the component triggering the collapse
Bug fixes
- Fixed external prop not working within
ActionListcomponent - Fixed a syntax error in one of the
Cardcomponent examples (thanks @meecrobe for the original issue)
1.12.4 - 2018-03-19
- Enhanced
Avatarto work better when provided non-square images - Move documentation file so it’s picked up by the style guide
1.12.3 - 2018-03-16
Bug fixes
- Fixed disclosure centering on the
Tabscomponent - Fixed an issue where a style void would appear between breakpoints at high text zoom levels
Documentation
- Removed purpose section from component READMEs
- Added
EmbeddedPageunder the Embedded section - Added “Using embedded components” section
- Added screenshots to the embedded components
- Clarified usage of
Cardheader andFooterActions
1.12.2 - 2018-03-08
Documentation
- Moving property descriptions out of READMEs and into source files
1.12.1 - 2018-03-06
Bug fixes
- Fixed server-side environments
Documentation
- Updated component examples that use state to use an es6 class
1.12.0 - 2018-02-28
Bug fixes
- Fixed
TextFieldoverflow issues when insideScrollable - Fixed
Selectfocus state bug occuring in Firefox - Fixed vertical alignment of text within full width variant of the button component
Enhancements
- Changed
Checkboxlabel to allow string or React.ReactNode - Update
TextFieldtype with currency - Added
ariaControls,ariaExpandedprop 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
Bannercomponent - Added
titleHiddenprop toPage
Documentation
- Clarified intended usage for
EmptyState
Chores
- Added version number to source
1.11.0 - 2018-02-13
- Changed Action to Disableable Action in Card
Enhancements
- Added
renderChildrenprop toChoiceListcomponent
Bug fixes
- Fixed an issue with
FooterHelplinks not expanding to full-width on mobile devices (#759) - Added breadcrumbs to
SkeletonPage - Added max-width and auto margin to
EmptyState - Fixed outline
Buttondisabled state styles - Fixed
Tagso theonRemovefunction 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 (thanks @cgidzinski for the original issue) - Added top alignment to FormLayout.Group
Documentation
- Fixed capitalization of prop names in
Paginationcomponent’s documentation (thanks @donnguyen for the original issue) - Exposed Option from the
Selectcomponent
1.10.2 - 2018-01-22
Bug fixes
- Fixed the public repository’s build (which was missing the new CircleCI configuration files)
1.10.1 - 2018-01-19
Bug fixes
- Fixed CSS-only
Checkbox(thanks @daddy88 for the original issue)
1.10.0 - 2018-01-17
-
Restored the correct
latestversion 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
onClicktoUnstyledLink -
Added tests to
Link -
Added tests for
ColorPickercolor utilities
1.9.1 - 2017-12-21
Documentation
- Ammending changelog
1.9.0 - 2017-12-21
Enhancements
- Added
onActionAnyItemprop to action list and used to closePageactionGroupson click or keypress of any item - Added
contentprop toTabsand deprecated use oftitle - Added
TextContainercomponent - Added
idForItemprop to resource list - Added
fullWidthprop to layout section - Added
indeterminateas option for checkboxcheckedprop value - Added
singleColumnprop to page - Added
focusedprop toTextField
Bug fixes
- Fixed positioned overlay not responding to
Scrollablecontainer events - Fixed first focusable item focus in
Popover - Fixed typos in the select component documentation (thanks @mattchidley for the original issue)
1.8.3 - 2017-10-26
Bug fixes
- Moved react-transition-group from a dev dependency to a dependency
1.8.2 - 2017-10-24
Bug fixes
- Fixed
Stacknot returning children
1.8.1 - 2017-10-24
Bug fixes
- Added missing yarn config file which was causing the build to fail
1.8.0 - 2017-10-23
Documentation
- Updated README to consistently use contractions (thanks @stefanmiodrag for the original pull request)
- Improved example description for
Layoutcomponent - Updated
Spinnerdocumentation - Improved component purpose documentation across components
- Improved documentation for
TextStylecomponent
Enhancements
- Added support for React 16
- Added an option to show or hide unpublished products from the
ResourcePicker - Changed
Popovercomponent to usereact-transition-groupinstead of our deprecated custom version in@shopify/react-utilities - Added new
ProgressBarcomponent - Changed today’s date to be tabbable and clearly indicated in
DatePicker - Added support for disabled choices in
ChoiceListcomponent - Added support for disabled secondary
Pageactions - Changed
TextFieldandSelectto now focus on clicking only within the area from the input to the end of its label text
Bug fixes
- Fixed
Layoutcomponent example description - Fixed
SkeletonPageheader appearing in embedded apps (thanks @rkbhochalya for the original issue)) - Fixed border-radius on
ActionListcomponent in Chrome
1.7.0 - 2017-10-06
Enhancements
- Added
SkeletonPage,SkeletonBodyTextandSkeletonDisplayTextcomponents - Added
Spinnercomponent - Added hint prop to
Scrollableand use inPopover - Updated
Buttoncomponent to use newSpinnercomponent - Added external link support for
PagesecondaryActions - Enabled the
primaryActionofPageActionsto be loading Stacknow supports non-wrapping layouts on small screens- Updated
TextFieldmin and max documentation - Breadcrumbs now accept a callback through onAction (thanks @arypbatista for the original issue)
Bug fixes
- Fixed issue with embedded app breadcrumb linking to Shopify settings page (thanks @cargix1 for the original issue)
- Fixed
Avatarto display image and initials simultaneously - Fixed various links to embedded components
- Fixed left and right ends of
TextFieldnot responding to clicks RadioButton&Checkboxnow focus on clicking only within the area from the input to the end of its label text- Fixed plain and
fullWidthButtonalignment - Add a minor delay to
Tooltipdisplay
1.6.0 - 2017-09-25
Enhancements
- Documented disabled prop for
CheckboxandRadioButton(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
Selectoption (thanks @sp4cecat for the original issue) - Documented
TextStylecomponent - Improved
Avatartypography spacing - Added subtract icon
- Improved acessibility for
Pagination
Bug fixes
- Fixed failed dependency installation for unauthenticated GitHub users (thanks @mikeyhew for the original issue)
- Fixed
Pageheader spacing - Fixed
TextFieldfocus ring transition - Fixed
Popovernot resizing on content updates
1.5.2 - 2017-09-18
Bug fixes
- Fixes alignment of
PageActionlinks
1.5.1 - 2017-08-30
Bug fixes
- Fixed disabled
Buttonwhen using local class names - Fixed
Scrollableresize listener not autobinding
1.5.0 - 2017-08-30
Enhancements
- Updated
Scrollablecomponent to remember scroll position on re-render - Added checkmark icon to the
Iconcomponent - Added an example for a disabled
TextField
Bug fixes
- Fixed typo in
Iconcode example
1.4.1 - 2017-08-24
Various documentation fixes.
1.4.0 - 2017-08-22
Enhancements
- Updated import, export, and view icons
- Improved documentation of various components
- Improved how
ActionListhandles images and groups - Exposed PopoverCloseSource from
Popovercomponent
Bug fixes
- Fixed
PageActionsspacing in IE11 - Fixed ID inconsistency on
TextField - Fixed spacing on
Pagecomponent with no header (thanks @bakura10 for the original issue) - Fixed disabled state on primary and destructive
Button
Chores
- Upgraded javascript-utilities to the latest version
1.3.1 - 2017-08-10
Bug fixes
- Fixed classnames in built *.scss files
- Fixed broken link in description list README
1.3.0 - 2017-08-09
Enhancements
- Added an
esnextbuild (allows production builds to perform class/method tree shaking) - Changed KeyboardKey component to use
kbdtag - Added publishing
docsfolder to npm package - Added
fullWidthoption toPopovercomponent
Bug fixes
- 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
Checkboxcomponent - Fixed
Popoverreopening when clicking around during transition - Fixed
Popoverresizing on content updates - Fixed vertical alignment of
Buttoncontent
Sketch UIKit
- Added Sketch color palette file
1.2.1 (July 27, 2017)
Chores
- Fixed a repo issue that caused the public repo release not to happen
1.2.0 (July 27, 2017)
Enhancements
- Added helpText to
ChoiceListchoices (thanks @cgenevier for the original issue) - Added save icon
- Added
accessibilityLabeltoTabs - Updated icons for
Banner - Improved
Pagecomponent 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
Buttonstyles - Updated font-weight for text emphasis (thanks @bakura10 for the original issue)
Bug fixes
- Removed the focus state for
Banneron click - Fixed disabled
Paginationbutton 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
Selectplaceholder value warnings (thanks @cgenevier for the original issue) - Fixed disabled text on iOS
- Fixed type for
onChangeevent (thanks @bakura10 for the original issue)
Sketch UIKit
- Added color palette page to “Getting started”
Buttontypography updated. More changes to come soon.- Changed typeface from
San Francisco UItoSan 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.
Documentation
- Fixed disabled
Buttondocumentation (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
Dependency updates
- Updated React TypeScript definitions
Chores
- Updated EASDK metadata structure for generic interfaces
- Removed postinstall hook
1.1.1 - 2017-06-19
Chores
- Fixed a repo issue that caused the public repo release not to happen
1.1.0 - 2017-06-19
Enhancements
- Added automatic inference of the
targetproperty of EASDK buttons inPageprimaryActionandsecondaryActionbased on their URL (thanks @jimmyn for the original issue) - Added automatic inference of the
targetproperty of EASDK breadcrumbs inPagebreadcrumbsprop based on the URL Selectoption descriptors now accept adisabledattribute to disable the generatedoption(thanks @sogko for the original issue)easdk.showFlashNoticenow 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.flashErrorCheckbox,RadioButton,ChoiceList,Select, andTextFieldnow pass the ID of the changed input as the second argument to theironChangecallback (thanks @milep for the original issue)Popovernow respects thez-indexof the activator if it exists- When putting content as children of
Tabs, the default panel that is generated now respects thepanelIDof the selected tab, and uses a sensible default based on the tab’sidif nopanelIDexists - When selecting a tab in
Tabs, the matching panel is now focused by default easdkmethods are bound to the object so they can be freely passed as callbacks
Changes
Avatarnow renders as aspaninstead of adiv
Bug fixes
- Fixed contents in
Layout.AnnotatedSectionbreaking out of their container (thanks @cargix1 for the original issue) - Fixed spacing above a
primaryActioninCalloutCardwhen there is nosecondaryAction - Aria attributes are now on the actionable elements of
Tabsinstead of in the list items - Exposed
PanelasTabs.Panelinstead ofTabs.panel - Fixed the alignment of
prefixandsuffixcontent ofTextField(thanks @bdillon3 for the original issue) - Fixed the disabled text color in
TextField CheckboxandRadioButtonno longer generate invalid HTML in their labels (thanks @ernestogutierrez for the original issue)Tabsno longer steal focus from contained elements (thanks @alexdover for the original issue)
Design updates
- Reduced horizontal padding on
Breadcrumbs - Updated icon and internal padding of
FooterHelp - Updated the
EmptyStatelayout and typographic styles
Documentation
- Fixed the code examples on the
EmbeddedAppdocumentation - Added a simple
EmbeddedAppexample - Renamed the “Tables and lists” category to “Lists”
- A variety of other documentation updates (thanks @sebnun, @asacarter, and @resistorsoftware for raising issues)
Dependency updates
- Updated all dependencies
Chores
- 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
1.0.3 - 2017-05-11
Big fixes
- 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 onStacknot working correctly, and added the missingextraLargeenum value forspacing - Fixed
Banner’sonDismisscallback not being called when the dismiss button was clicked (76ce13f) (thanks @tlwirtz for the original issue)
Design updates
- Updated
Badgetext colors - Updated line height for the small
DisplayTextvariation - Updated the default icon for error
Banner(thanks @heyneff for the original issue)
Sketch UIKit
- 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
Documentation
- Synchronized component documentation with the style guide (1e89559)
Chores
- 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
@importstatements at the top of source Sass files - Updated TSLint and related linting dependencies
1.0.2 - 2017-04-25
Bug fixes
- 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
embeddedtypes 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.Itemwould not span the full width of the item (0c11498) (thanks @sdn90 for the original issue)
Dependency updates
- Started using the
prop-typespackage instead of gettingPropTypesfromreact, as the latter is deprecated as of React 15.5.0
Documentation
- Corrected the name of
documentation/Embeddded apps.mdtodocumentation/Embedded apps.md(thanks @chrispappas for the original issue) - Fixed the
ColorPickerdocumentation to show valid values forsaturation,brightness, andalpha(thanks @allanarmstrong for the original issue)
Chores
- Added a description to
package.json - Added license to
package.jsonand 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)
1.0.1 - 2017-04-20
Chores
- Switch repo to public access
1.0.0 - 2017-04-20
- Initial release