September 21st, 2020
Summary
This release has breaking changes as the colors and icons in the system have been refreshed. This release also includes a new button variant of quaternary
and new light
link variant. Also included in this release is the addition of inputs/properties on various components to add functionality and some bug fixes.
New Versions
- @sparkdesignsystem/spark 14.0.0
- @sparkdesignsystem/spark-angular 11.0.0
- @sparkdesignsystem/spark-react 3.0.0
Documentation Updates
- Component previews on the docs site are now lazy loaded, improving page performance.
HTML Package Updates
- Updates all the colors in the system. Removed old ones and added new ones. See the Upgrade Guide for more info.
- Button styles have all been updated and a new "quaternary" button variant has been added.
- Added new "light" link variant.
- Footer is now black background with white text.
- Masthead link styles have been updated.
- The spinner in the Wait Modal is now the new primary color.
- Pagination link styles have been updated.
- The Stepper is now shown with a dark purple background instead of the blue that was previously used.
- Added new Sass vars for the menu seen in the Masthead.
- Added new
.sprk-c-Spinner--primary
and.sprk-c-Spinner--secondary
spinner variants. - Added new stories to storybook to show the new button spinner variants.
- The text highlight selection color has changed from a tint of green to the lightest new purple that we offer.
- Icon sizes have changed. Please see the upgrade guide for more info on icons.
- Alerts have been updated to use the new colors.
- Links have gone from black to purple.
- Inputs now use purple for the various states instead of green.
- Tabs now use purple instead of red.
- The old colors have been removed from the Spark CSS utilities and new classes were added for the new colors.
Angular Package Updates
The Angular package will receive all the updates from the HTML package and this new version v11 has a dependency on Spark v14.
- Updated icons throughout the components. This involved changing the icon names and adding additional CSS classes.
- Add Angular CLI Schematics support to spark-angular
Button
- Added new
quaternary
variant option
Box
- Now supports the
idString
Input.
Centered Column
- Now supports
analyticString
input property to allow implementers to capture analytics data.
Dictionary
dictionaryType
has been deprecated and replaced withvariant
.data
has been deprecated and replaced withkeyValuePairs
.- new Input:
additionalKeysClasses
- allows adding custom classes to all keys elements. - new Input:
additionalValuesClasses
- allows adding custom classes to all values elements.
Divider
- The
<sprk-divider>
component is being deprecated and should be replaced with thesprkDivider
directive.
Heading
- Now supports the
idString
Input.
Icon
- Changed
iconType
input toiconName
for API consistency.iconType
is still available so this is not a breaking change, but will be completely replaced withiconName
next release. - Added
viewBox
as an optional input for the SVG. Defaults to "0 0 64 64" - Added
ariaLabelledBy
input for accessibility.
Text
- Now supports the
idString
Input.
Tooltip
triggerIconType
has been deprecated and replaced withtriggerIconName
.
Promo
- Added the option to choose the button variant via a new input of
buttonVariant
- Added new input for border styles,
hasBorder="true"
React Package Updates
The React package will receive all the updates from the HTML package and this new version v3 has a dependency on Spark v14.
Centered Column
- Now supports
analyticString
input property to allow implementers to capture analytics data.
Dictionary
- New property:
additionalKeysClasses
- allows adding custom classes to all keys elements. - New property:
additionalValuesClasses
- allows adding custom classes to all values elements.
Icon
- Updated component to ES6 Standards
- Removed unnecessary props and default props
Stack
<SprkStack>
now supports theanalyticsString
property.
Tooltip
triggerIconType
has been deprecated and replaced withtriggerIconName
.- new property:
openedEvent
- A function to be called when the tooltip is toggled open. - new property:
closedEvent
- A function to be called when the tooltip is toggled closed.
Award
- Added propTypes.elementType to allow React Router Links to be used.
Button
- The
role
attribute has been updated to use theTagName
prop instead of theelement
prop, which was causing incorrect HTML to be rendered. - Added propTypes.elementType to allow React Router Links to be used.
Card
- Can now supply a
buttonVariant
to Cards ofquaternary
Upgrade Guide
This new release has a lot of new additions that require changes in your app.
Please take a look at the following TODOs for every package.
📌 Remember to run your custom components through the "All Packages" upgrade guide, and your specific upgrade package implementation to ensure usage guidelines.
All Packages Upgrade Guide
- Icon SVGs have been updated.
- ➡️ TODO: Update icon source. Internal teams can access CDN links via
shorty/sparkassetcdn
- ➡️ TODO: Update icon source. Internal teams can access CDN links via
- All icons with name suffix
two-color
is removed- ➡️ TODO: Search for
two-color
and remove them from icon name. (facebook-two-color
->facebook
)
- ➡️ TODO: Search for
- Icon sizes converted
- Large went from 32px -> 24px
- XL went from 64px to 32px.
- Removed sizes xs and xxs, and xxl
- ➡️ TODO: Convert medium icon size to large (more info in package specific upgrade guide)
- No more small icon names with size modifiers. For example,
bell-filled-small
will only bebell-filled
. Size changes can still be applied via Icon size css classes. )- ➡️ TODO: Search for icons in your respective package and remove any
-small
suffixes in icon names. Size them with css as necessary.
- ➡️ TODO: Search for icons in your respective package and remove any
- Many Icons need an additional class
- ➡️ TODO: Any Icon that that has
sprk-c-Icon--stroke-current-color
needssprk-c-Icon--filled-current-color
added to it. (See package-specific upgrade guide for more info)
- ➡️ TODO: Any Icon that that has
font-weight
utility is unnecessary in links- ➡️ TODO: search for
sprk-b-Link
and removesprk-u-FontWeight--normal
from its classes.
- ➡️ TODO: search for
- Removed
$sprk-gray-dark
color variable- ➡️ TODO: Find any instance of
$sprk-gray-dark
and replace with with a$sprk-black-tint-20
(Ask designer to confirm)
- ➡️ TODO: Find any instance of
- Removed black tints that end with
5
- ➡️ TODO: Replace
$sprk-black-tint
-25
,-55
, and-75
. (Ask design for what color to use, most likely will be replace with-30
,-60
,-80
respectively.)
- ➡️ TODO: Replace
- Removed red tints
- ➡️ TODO: Replace
$sprk-red-tint
-25
,-50
, and-75
. (Ask design for what color to use.)
- ➡️ TODO: Replace
- Removed blue tints
- ➡️ TODO: Replace
$sprk-blue-tint
-25
,-50
, and-75
. (Ask design for what color to use.)
- ➡️ TODO: Replace
- Removed green tints
- ➡️ TODO: Replace
$sprk-green-tint
-25
,-50
, and-75
. (Ask design for what color to use.)
- ➡️ TODO: Replace
- Removed green dark
- ➡️ TODO: Replace
$sprk-green-dark
. (Ask design for what color to use.)
- ➡️ TODO: Replace
- Removed yellow tints
- ➡️ TODO: Replace
$sprk-yellow-tint
-25
,-50
, and-75
. (Ask design for what color to use.)
- ➡️ TODO: Replace
- Remove Sass Variables that are no longer in use
-
$sprk-select-arrow-stroke-width
-
$sprk-icon-using-custom-stroke
-
$sprk-icon-using-custom-stroke
-
$sprk-icon-custom-stroke-width-s
-
$sprk-icon-custom-stroke-width-m
-
$sprk-icon-custom-stroke-width-l
-
$sprk-icon-custom-stroke-width-xl
-
$sprk-icon-xxl
-
$sprk-btn-tertiary-underline-width
-
$sprk-btn-tertiary-underline-padding-top
-
$sprk-btn-tertiary-underline-color
-
$sprk-btn-tertiary-hover-underline-color
-
$sprk-link-disabled-font-weight
-
$sprk-masthead-link-hover-color
-
$sprk-big-nav-link-color
-
$sprk-big-nav-active-color
-
$sprk-tab-navigation-btn-border-top
-
$sprk-tab-navigation-btn-hover-border-top
-
$sprk-tab-navigation-btn-active-border-top
-
➡️ TODO: If using these variables, you can remove it from your project, it's no longer relevant
-
React Upgrade Guide
-
SprkDropdown
- Needs additional icon classes
- ➡️ TODO: Add prop of
additionalIconClasses="sprk-c-Icon--l"
-
SprkFooter
-
SprkMasthead
- ➡️ TODO: Change all props of
<SprkLink>
fromvariant="plain"
to `"variant="simple" - ➡️ TODO: Change all prop of Sign In
<SprkButton>
fromvariant="secondary"
tovariant="quaternary"
.
- ➡️ TODO: Change all props of
-
SprkModal
Angular Upgrade Guide
-
Remove all modifying suffixes from icon names like
-small
.- ➡️ TODO: Search project for
iconType
. Remove any icon names with suffixes from list below-small
-large
-two-color
- Example:
exclamation-filled-small
->exclamation-filled
- Components Affected
- ➡️ TODO: Search project for
-
Divider
- is now a directive
- ➡️ TODO: Replace all instances of the
<sprk-divider>
component with thesprkDivider
directive.
-
Date Picker
- Icon
stroke
has been changed intofilled
, and given a current color Icon style - ➡️ TODO: Search project for Date Pickers. Find
additionalClasses="sprk-c-Icon--stroke-current-color sprk-b-DatePicker__icon"
and update it toadditionalClasses="sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color"
- Icon
-
Huge Select
- Icon
stroke
has been changed intofilled
, and given a current color Icon style - ➡️ TODO: Search project for Huge Selects. Find
additionalClasses="sprk-c-Icon--stroke-current-color sprk-b-SelectContainer__icon"
and update it toadditionalClasses="sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color sprk-b-SelectContainer__icon"
- Icon
-
Search
- Icon
stroke
has been changed intofilled
, and given a current color Icon style - ➡️ TODO: Search project for Search. Find
additionalClasses="sprk-b-InlineSearch__icon sprk-c-Icon--stroke-current-color"
and update it toadditionalClasses="sprk-b-InlineSearch__icon sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color"
- Icon
-
Select
- Icon
stroke
has been changed intofilled
, and given a current color Icon style - ➡️ TODO: Search project for Select. Find
additionalClasses="sprk-c-Icon--stroke-current-color sprk-b-SelectContainer__icon"
and update it toadditionalClasses="sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color sprk-b-SelectContainer__icon"
- Icon
-
Dropdown
-
Footer
- Icon sizes have changed, and Icon modifier uses stroke instead of filled current color
- ➡️ TODO: Search project for Footer instances. Search for
[socialLinks]
to find its configuration. UpdateiconCSS: 'sprk-c-Icon--l sprk-c-Icon--stroke-current-color'
toiconCSS: 'sprk-c-Icon--xl sprk-c-Icon--filled-current-color'
-
Masthead
- Variant changes from plain to simple, convert secondary buttons to quaternary and icon updates
- ➡️ TODO: Search project for Masthead instances. Change all
variant="plain"
sprkLinks in Masthead to variant="simple"
- ➡️ TODO: Find secondary buttons and change the modifier from secondary to quaternary.
class="sprk-c-Button sprk-c-Button--secondary sprk-c-Button--compact"
toclass="sprk-c-Button sprk-c-Button--quaternary sprk-c-Button--compact"
- ➡️ TODO: Search for
additionalIconClasses="sprk-c-Icon--l sprk-c-Icon--stroke-current-color sprk-Stack__item"
inside of Masthead and update it toadditionalIconClasses="sprk-c-Icon--filled-current-color sprk-Stack__item"
- ➡️ TODO: Update
user-account
icon name touser
. Search fortriggerIconType="user-account"
and change it totriggerIconType="user"
. Change additionalIconClasses fromsprk-c-Icon--l
tosprk-c-Icon--xl
-
Promo
- ➡️ TODO: Search for Promo instances by searching project for
<sprk-promo
. Confirm that it hashasBorder="true"
as an input.
- ➡️ TODO: Search for Promo instances by searching project for
HTML Upgrade Guide
-
Remove
sprk-c-Icon--m
from error icon -
Add filled current color modifier to all icons that have
sprk-c-Icon--stroke-current-color
class- ➡️ TODO: Search project for
sprk-c-Icon--stroke-current-color
and addsprk-c-Icon--filled-current-color
class to that element - Components Affected:
- Alert
- Date Picker
- Search
- Footer
- ➡️ TODO: Search project for
-
Remove all modifying suffixes from icon names like
-small
.- ➡️ TODO: Search project for
-small
. Additionally, remove any icon names with suffixes from list below-small
-large
-two-color
- ➡️ TODO: Search project for
-
Date Picker
- Icon changes
- ➡️ TODO: Search for
class="sprk-c-Icon sprk-c-Icon--stroke-current-color"
and update it toclass="sprk-c-Icon sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color"
-
Huge Select
-
Password, SSN
- Needs additional classes
- ➡️ TODO: Search for Password input instances by searching
sprk-b-SelectionContainer
. Add asprk-b-Checkbox
class to that div. - ➡️ TODO: Search for the
input
withtype="checkbox"
and add the classsprk-b-Checkbox__input
to it. - ➡️ TODO: Search for its
label
with classessprk-b-Label sprk-b-Label--inline
and addsprk-b-Checkbox__label
class to it. This applies to labels withsprk-b-Label--disabled
-
Search
- Remove icon sizing, add filled current color modifier
- ➡️ TODO: Search for all instances of Search inputs. Search for
svg
with attributeclass="sprk-c-Icon sprk-c-Icon--m sprk-c-Icon--stroke-current-color"
and update it toclass="sprk-c-Icon sprk-c-Icon--filled-current-color sprk-c-Icon--stroke-current-color"
-
Select
-
Accordion
- Icon size changes
- ➡️ TODO: Search for
sprk-c-Accordion__icon
in project, updatesprk-c-Icon--l
tosprk-c-Icon--xl
-
Alert
- Added filled icon modifier
- ➡️ TODO: Find all instances of Alert by searching
sprk-c-Alert__icon
and update all of its classes tosprk-c-Alert__icon sprk-c-Icon sprk-c-Icon--xl sprk-c-Icon--filled sprk-c-Icon--filled-current-color
- ➡️ TODO: Search for
#bell
and rename that svg reference to#bell-filled
in every Alert
-
Award
- Icon size changes
- ➡️ TODO: Search for instances of Award components in project (typically in Footer), update
sprk-c-Icon--l
tosprk-c-Icon--xl
-
Dropdown
- Footer
- Now has dark background, changed styles, removed classes like
sprk-u-FontWeight--normal
- ➡️ TODO: Find outer div of Footer by searching project for
sprk-u-BackgroundColor--gray
. Replace all of its classes withsprk-o-Box sprk-o-Box--large sprk-c-Footer
- ➡️ TODO: Find the
h3
tag with asprk-b-TypeBodyOne
class and addsprk-c-Footer__text
class to it - ➡️ TODO: Find the
p
tags in footer (usually hassprk-b-TypeBodyFour
class), and addsprk-c-Footer__text
class. - ➡️ TODO: Find footer links by searching for
a
tags with classessprk-b-Link sprk-b-Link--simple sprk-u-FontWeight--normal
. Replace it withsprk-c-Footer__link sprk-b-Link sprk-b-Link--light
- Now has dark background, changed styles, removed classes like
-
Masthead
- Icon, links
- ➡️ TODO: Search for
sprk-c-Menu__icon
and change icon modifier formsprk-c-Icon--l
tosprk-c-Icon--xl
- ➡️ TODO: Change all links that contain
sprk-b-Link--plain
tosprk-b-Link--simple
- ➡️ TODO:
sprk-c-Button--secondary
tosprk-c-Button--quaternary
- ➡️ TODO: Update
svg
Icon to have classessprk-c-Icon--xl sprk-c-Icon--filled-current-color
(inside of span with classsprk-c-MastheadAccordion__heading
) - ➡️ TODO: Search for
sprk-c-Menu__icon
and change its Icon modifier fromsprk-c-Icon--l
tosprk-c-Icon--xl
-
Modal
- Remove icon classes
- ➡️ TODO: Find the button with class
sprk-c-Modal__icon
Change the icon modifiers ofsvg
element inside of it bye removing the classessprk-c-Icon--stroke-current-color
and thesprk-c-Icon
remains. - ➡️ TODO: Find all wait modals by searching
sprk-c-Modal--wait
. Find the div withsprk-c-Spinner
inside of it and replace all classes with:sprk-o-Stack__item sprk-c-Spinner sprk-c-Spinner--circle sprk-c-Spinner--large sprk-c-Spinner--primary"
-
Stepper
- Change background from blue to purple-dark
- ➡️ TODO: Search for
sprk-u-BackgroundColor--blue
and update it tosprk-u-BackgroundColor--purple-dark
- ➡️ TODO: Find
sprk-c-Carousel
and add modifier classessprk-c-Carousel--has-dark-bg
- ➡️ TODO: Find
sprk-c-Carousel__prev
andsprk-c-Carousel__next
and change Icon classes fromsprk-c-Icon sprk-c-Icon--stroke-current-color sprk-c-Icon--l
tosprk-c-Icon sprk-c-Icon--filled-current-color sprk-c-Icon--xl
-
Toggle
- Change icon sizes
- ➡️ TODO: Change Icon size modifier from
sprk-c-Icon--l
tosprk-c-Icon--xl