If you are not already on @rei/cedar
>= 2.x.x, you will first need to upgrade your project to the single-package version of Cedar.
@rei/cedar
^4.0.0@rei/febs
^6.0.0@rei/cedar
^4.0.0@rei/febs
^6.0.0@rei
namespace. See the @rei/component template (opens new window) for an example of a build system, as well as climber-details-page (opens new window) and climbers-site (opens new window) for a full example of a micro-site integrationcurbside-pickup
SVG icon to @rei/cedar-icons^1.4.0
and icon component to @rei/cedar
CdrTabs
headers would become un-scrollable if their content overflowed their container when using the centered
modifierCdrTabs
active tab underline element would overlap improperly with tab contentCdrSelect
would emit an event twiceevent.preventDefault()
didn't work with the navigate
event from CdrPagination
. The above CdrSelect
fix was also appliedstyle
path in Cedar to point to the correct fileCdrText
modifiers for heading-serif-strong
The Cedar Icon Library has been updated with new icons. For the complete and searchable list of Cedar icons, visit the Cedar Icon Library (opens new window). Corresponding icon components have been added.
Resolves display issue with rating icons overlapping, modal close button spacing, and removes italics from caption's citation.
Previously, Cedar offered a single cedar.css
file that included all of the styling for the Cedar reset, components, and utilities. This made it very easy to set up a Cedar project, but the CSS assets could not be optimized. Now, there are separate CSS files for each element of Cedar.
These CSS files are intended to be compiled by postcss and postcss-import, which will de-dupe any Cedar assets that are required multiple times. If you are using febs^6, then this will already be set up for you. Note that postcss-import should only be run during the final micro-site build, and not as a part of any component package build.
As part of the 3.x.x Cedar release, the Icon SVG assets were moved into their own repository @rei/cedar-icons (opens new window), and CdrIconSprite and inline single icon components in @rei/cedar have been deprecated. This was intended to allow teams to build their own SVG sprites containing only the icons used in their application. However, due to issues with Vue and SVG syntax, this approach did not work well for teams that wanted inline icons in their markup.
To resolve this issue, the inline single icon components (opens new window) were left as is as part of @rei/cedar. These components have been updated to use the same SVG assets exported by @rei/cedar-icons (opens new window).
CdrRadio and CdrCheckbox now have a size
prop with small, medium (default), and large variants. As part of this feature, the modifier compact
has been deprecated and will be removed in the future in favor of using the new size prop.
CdrTabs now accepts centered
as a modifier
for a center-aligned tab header.
count
property differently depending on whether it was passed as a string or a number. Now CdrRating will show the review text any time it receives a value for count
, and will not show any review text if it does not receive a value. No need to make any changes to the application code to support this change.-1
href="#hash-link"
) for navigation to improve SEOPreviously we recommended listing @rei/cedar
as a peerDependency
and devDependency
in the package.json
of any shared components or pages, and treating it as a dependency
in micro-sites. This was necessary to ensure that only 1 version of Cedar was loaded on a page at a time so that the single cedar.css
file would work. Now that we have a decomposed CSS output, consumers should update their Cedar CSS imports accordingly and edit their package.json
file to instead list @rei/cedar
as a dependency.
If you are updating a shared component:
@import url();
to load the CSS for each Cedar component and utility type being used in this component. See the Getting Started as a Developer Guide (opens new window) guide for more information on loading Cedar CSS assetscdr-fonts
or reset
files in your component CSS, as those files will already be imported by the micro-site that consumes this package@import url();
statements left un-transformed. This will allow any micro-site that consumes this package to de-dupe and compile those assetslocal-development.js
) to import the Cedar reset and your main CSS file instead of importing cedar.css
import '@rei/cedar/dist/cdr-fonts.css';
import '@rei/cedar/dist/style/reset.css';
import './dist/index.css';
If you are updating a micro-site:
cedar.css
, you will now import the Cedar reset along with the built CSS for all of your shared packages/* import the cedar fonts */
@import url('@rei/cedar/dist/cdr-fonts.css');
/* import the cedar reset */
@import url('@rei/cedar/dist/style/reset.css');
/* import compiled component CSS */
@import url('@rei/your-shared-component-package.css');
/* import any utilities or components used directly in the micro-site */
@import url('@rei/cedar/dist/style/container.css');
@import url('@rei/cedar/dist/style/cdr-text.css');
@import url();
statements, as those will all have been replaced with the actual contents of those CSS filesIn order to support the new decomposed CSS output, we have re-named some of the existing Cedar CSS assets in order to better identify what they are and how they should be used. If you are importing one of these files into your project, you will need to update the path to the new location. Note that the -compiled
CSS files should generally not be used for public-facing production micro-sites, as these files will not be de-duped by postcss-import.
Previous path | New path |
---|---|
@rei/cedar/dist/cedar.css | @rei/cedar/dist/cedar-compiled.css |
@rei/cedar/dist/utilities.css | @rei/cedar/dist/utilities-compiled.css |
@rei/cedar/dist/reset.css | @rei/cedar/dist/style/reset.css |
The CdrIconSprite has been removed from Cedar. We recommend that consumers instead use the inline Cedar Icon components, as they are easier to maintain and the performance benefit of using a sprite is usually minimal.
Teams that do want to make use of an icon sprite for performance reasons, can use the Cedar sprite creator (opens new window) to generate an optimized sprite and load it in their HTML.
CdrPagination functionality has been simplified and only emits a single navigate
event. Responsive navigation behavior for Select no longer has to be manually attached. Vue-router example with router-link using scoped slots has been added. Previous and next links are always present (in a "disabled" state when appropriate). Minor style updates for hover and currently selected page.
API for scoped slots now uses an attrs
object for easier binding.
The root class cdr-text
now has all attributes mapped to inherit
. This change was necessary and
allows for descendant selectors to inherit the font settings of the parent.
You will now need to pass the cdr-text component the modifier you would like to use.
body-300
utility-300
Previously cdr-text
defaulted to the paragraph styles.
cdr-container
and cdr-container-fluid
will still provide the root font definition.
Note that this has been altered from the paragraph style to the cdr-text--utility-300
.
Deprecated mixin name | Equivalent mixin name |
---|---|
redwood-display-70 | cdr-text-utility-700 |
redwood-display-60 | cdr-text-utility-600 |
redwood-display-50 | cdr-text-utility-500 |
redwood-display-40 | cdr-text-utility-400 |
redwood-display-30 | cdr-text-utility-300 |
redwood-display-20 | cdr-text-utility-200 |
redwood-display-10 | cdr-text-utility-100 |
Deprecated mixin name | Equivalent mixin name |
---|---|
redwood-body-40 | cdr-text-body-500 |
redwood-body-30 | cdr-text-body-400 |
redwood-body-20 | cdr-text-body-300 |
redwood-body-10 | cdr-text-body-300 |
Deprecated mixin name | Equivalent mixin name |
---|---|
maple-utility-70 | cdr-text-utility-700 |
maple-utility-60 | cdr-text-utility-600 |
maple-utility-50 | cdr-text-utility-500 |
maple-utility-40 | cdr-text-utility-400 |
maple-utility-30 | cdr-text-utility-300 |
maple-utility-20 | cdr-text-utility-200 |
maple-utility-10 | cdr-text-utility-100 |
Deprecated mixin name | Equivalent mixin name |
---|---|
spruce-display-100 | cdr-text-heading-serif-strong-1200 |
spruce-display-90 | cdr-text-heading-serif-strong-1200 |
spruce-display-80 | cdr-text-heading-serif-strong-1200 |
spruce-display-70 | cdr-text-heading-serif-strong-1100 |
spruce-display-60 | cdr-text-heading-serif-strong-800 |
spruce-display-50 | cdr-text-heading-serif-strong-700 |
spruce-display-40 | cdr-text-heading-serif-strong-600 |
spruce-display-30 | cdr-text-heading-sans-500 |
spruce-display-20 | cdr-text-heading-sans-400 |
spruce-display-10 | cdr-text-heading-sans-300 |
spruce-display-00 | cdr-text-heading-sans-300 |
spruce-body-30 | cdr-text-body-300 |
spruce-body-20 | cdr-text-body-300 |
Deprecated mixin name | Equivalent mixin name |
---|---|
cdr-text-heading-300 | cdr-text-heading-sans-300 |
cdr-text-heading-400 | cdr-text-heading-sans-400 |
cdr-text-heading-500 | cdr-text-heading-sans-500 |
cdr-text-heading-600 | cdr-text-heading-serif-600 |
cdr-text-heading-700 | cdr-text-heading-serif-700 |
cdr-text-heading-800 | cdr-text-heading-serif-700 |
cdr-text-subheading-300 | cdr-text-subheading-sans-300 |
cdr-text-subheading-400 | cdr-text-subheading-sans-400 |
cdr-text-subheading-500 | cdr-text-subheading-sans-500 |
cdr-text-subheading-600 | cdr-text-subheading-sans-600 |
cdr-text-display-600 | cdr-text-heading-serif-strong-600 |
cdr-text-display-700 | cdr-text-heading-serif-strong-700 |
cdr-text-display-800 | cdr-text-heading-serif-strong-800 |
cdr-text-display-900 | cdr-text-heading-serif-strong-900 |
cdr-text-display-1000 | cdr-text-heading-serif-strong-1000 |
cdr-text-display-1100 | cdr-text-heading-serif-strong-1100 |
cdr-text-display-1200 | cdr-text-heading-serif-strong-1200 |
Deprecated modifier name | Equivalent modifier name |
---|---|
heading-300 | heading-sans-300 |
heading-400 | heading-sans-400 |
heading-500 | heading-sans-500 |
heading-600 | heading-serif-600 |
heading-700 | heading-serif-700 |
heading-800 | heading-serif-700 |
subheading-300 | subheading-sans-300 |
subheading-400 | subheading-sans-400 |
subheading-500 | subheading-sans-500 |
subheading-600 | subheading-sans-600 |
display-600 | heading-serif-strong-600 |
display-700 | heading-serif-strong-700 |
display-800 | heading-serif-strong-800 |
display-900 | heading-serif-strong-900 |
display-1000 | heading-serif-strong-1000 |
display-1100 | heading-serif-strong-1100 |
display-1200 | heading-serif-strong-1200 |
Deprecated class name | Equivalent class name |
---|---|
cdr-text-body | cdr-text-body-300 |
We have updated the recommended mappings for some features that were deprecated in the Fall 2019 release (opens new window).
Deprecated token/mixin | Equivalent token/mixin |
---|---|
cdr-text-header-1 | cdr-text-heading-serif-1100 |
cdr-text-header-2 | cdr-text-heading-serif-900 |
cdr-text-header-3 | cdr-text-heading-serif-700 |
cdr-text-header-4 | cdr-text-heading-serif-600 |
cdr-text-header-5 | cdr-text-heading-sans-500 |
cdr-text-header-6 | cdr-text-heading-sans-400 |
cdr-text-header-7 | cdr-text-heading-sans-300 |
Deprecated modifier name | Equivalent modifier names and breakpoints |
---|---|
display | heading-serif-strong-700 heading-serif-strong-900@md heading-serif-strong-1100@lg |
display-static | heading-serif-strong-900 |
heading-large | heading-serif-600 heading-serif-700@md heading-serif-900@lg |
heading-large-static | heading-serif-700 |
heading-medium | heading-serif-600 heading-serif-700@md heading-serif-700@lg |
heading-medium-static | heading-serif-600 |
heading-small | heading-sans-400 heading-sans-500@md heading-sans-500@lg |
heading-small-static | heading-sans-400 |
subheading | subheading-sans-300 |
In accordance with our deprecation policy, features that were deprecated in the Summer 2019 release (opens new window) have been removed from Cedar.
cdr-stack
, cdr-inset
, cdr-inline
) should be replaced with the new cdr-space
utilities (opens new window). For more information on updating, see the Summer 2019 release notes (opens new window).