This version introduces some major modernization changes around CSS and drops browser support for XXXX ( to be defined before V23 is published).
The good news is we don't expect many visible changes in modern browsers and you should be able to do some automated visual regression testing to help with the migration.
Introducing theme variables! CSS variables beginning with --theme- will adjust based on media queries. Check them out in assets/sass/protocol/root
- (breaking) Remove support for vendor prefixing (#957)
- Modernization:
- Default to CSS vars for font family, size, and line-height (#982)
- Removed
@supportsdeclarations if they only had font declarations @include text-body-*and@include text-heading-*mixins use CSS vars now- Edited
@mixin font-size()to stop outputting a pixel fallback
- Reorganization:
- (breaking) Renamed
-title-to-heading-in mixins and CSS vars- and
mzp-u-heading-*utility classes - component HTML/CSS classes will follow in a separate PR
- and
- Added font-family declaration to
@include text-body-*mixins - Added
--theme-prefix to variables expected to morph - Added
--token-prefix to unchanging variables- Re-named font-size tokens to use a scale instead of tshirt sizes for names
- Added
--theme-button-line-heightvar
- (breaking) Renamed
- Bug fixes:
- Moved
@include text-*to end of declarations
- Moved
- Modernization:
- Default to CSS vars for all color values
- Unwrapped
@supportsdeclarations if they only contained color declarations
- Reorganization:
- Added
--theme-prefix to color variables expected to morph between light/dark modes - (breaking) Renamed
-title-to-heading-in CSS mixins (to match typography naming) - Added new form color variables (
--theme-form-*,--theme-field-*) - Added status color variables (
--theme-color-success-*,--theme-color-error-*,--theme-color-warning-*,--theme-color-info-*)
- Added
- Removed Sass color variables from
_themes-sass.scss(use CSS variables instead)
- (breaking) Removed the deprecated Feature Card component. Use the Split component instead.
- (breaking) Removed
mzp-l-split-pop-top,mzp-l-split-pop-bottom, andmzp-l-split-poplayout classes from Split component - (breaking) Removed
mzp-l-split-media-overflowandmzp-l-split-media-constrain-heightlayout classes from Split component
- (breaking) Updated spacing around Section Heading component. Review your usage to ensure the new spacing works with your layout.
- Added
mzp-t-section-heading-nospacetheme class to remove padding from Section Heading.
- (breaking) Renamed
mzp-c-card-extra-smalltomzp-c-card-small - (breaking) Removed
mzp-c-card-mediumclass (medium is now the default) - Card size modifiers now only affect typography, not card width - use layouts instead
- Card sizes are now:
- Small:
mzp-c-card-small(smaller text) - Medium: The default, no modifier class
- Large:
mzp-c-card-large(larger text)
- Small:
See the Migration Guide for automated scripts (VS Code find/replace and terminal commands) to help with these changes.
- CSS variables are in
assets/sass/protocol/rootyou will need to include this in your site bundle. - This version removes mixins which added vendor-prefixes.
- If you need that level of vendor prefix support consider adding a tool such as autoprefixer to your code base.
- Affected mixins are:
animationappearancebackground-sizebox-decoration-breakbox-sizingflexbox,flex,flex-direction,flex-wrap,align-items,justify-contentgrid*-gapinline-blockmulti-column*transform,transform-origin,transform-styletransition,transition-property,transition-duration,transition-delay
- Rename typography mixins
text-title-(2xs|3xs|xs|sm|md|lg|xl|2xl)→text-heading-$1 - Rename utility classes
mzp-u-title-(2xs|3xs|xs|sm|md|lg|xl|2xl)→mzp-u-heading-$1 - Replace any remaining
text-display-*usage with the equivalenttext-heading-*mixin:text-display-xx([sl])→text-heading-2x$1text-display-(xs|sm|md|lg|xl)→text-heading-$1
- Rename CSS variables to use pattern
--theme-<component>-<property>-<scale>:--body-font-family→--theme-body-font-family--title-font-family→--theme-heading-font-family--body-line-height→--theme-body-line-height--title-(2xs|3xs|xs|sm|md|lg|xl|2xl)-size→--theme-heading-font-size-$1--body-(xs|sm|md|lg|xl)-size→--theme-body-font-size-$1--title-(2xs|3xs|xs|sm|md|lg|xl|2xl)-line-height→--theme-heading-line-height-$1
- Removed Sass variables (use CSS variables instead):
$title-(2xs|3xs|xs|sm|md|lg|xl|2xl)-size→var(--theme-heading-font-size-$1)$title-(2xs|3xs|xs|sm|md|lg|xl|2xl)-line-height→var(--theme-heading-line-height-$1)$body-line-height→var(--theme-body-line-height)$body-(xs|sm|md|lg|xl)-size→var(--theme-body-font-size-$1)$body-font-family→var(--theme-body-font-family)$title-font-family→var(--theme-heading-font-family)$button-font-family→var(--theme-button-font-family)$text-body-line-height→var(--theme-body-line-height)$text-title-line-height→var(--theme-heading-line-height)$text-display-line-height→var(--theme-body-line-height)
text-body-*mixins now declarefont-family.- You can remove any
font-familydeclarations from places which use these mixins (unless you don't want the default font).
- You can remove any
- Removed mixins and functions:
- Remove
type-scale() - Remove
text-body-ctamixin (usetext-body-mdinstead)
- Remove
- You can unwrap color declarations from
@supports (--css: variables)blocks, as CSS custom properties are now required. - Rename CSS color variables to use
--theme-prefix:--(background-color|body-text-color|link-color|heading-text-color)(-*)→--theme-$1$2
- Removed Sass color variables (use CSS variables instead):
$(background-color|body-text-color|link-color)(-*)→var(--theme-$1$2)$title-text-color(-inverse)?→var(--theme-heading-text-color$1)(note: renamed toheading)
- Removed form Sass variables (use CSS variables instead):
forms.$form-red→var(--theme-form-red)forms.$form-text→var(--theme-form-text-color)forms.$form-inactive→var(--theme-form-text-color-inactive)forms.$(field-border-color|field-border|field-focus-ring)(-*)→var(--theme-$1$2)forms.$button-border-color-focus→var(--theme-button-border-color-focus)
- Card component class renames:
mzp-c-card-extra-small→mzp-c-card-smallmzp-c-card-medium→ remove (medium is now the default, no class needed)
- assets: (breaking) Updated @mozilla-protocol/assets to 7.0.2
- tokens: (breaking) Updated @mozilla-protocol/tokens to 7.0.0
- css: Updated button styles to match Mozilla brand refresh (#1046)
- component: Added sizing and icon support to CTA link component (#1083)
- component: Added
mzp-u-rich-textutility class to add back list and table styles (#1079) - docs: Added a new utility class section to docs.
- component: Updated breadcrumb styles (#1036)
- css: Updated line height variables for Mozilla theme to reflect guidance published in the brand portal.
- css: Removed
:hover:visitedstyles & decreased base link specificity (#1071)
- css: Breadcrumbs are wider than other site content (#933)
- js:
MzpNavigationdoesn't check forMzpSupportsavailability correctly (#1085)
- Rich text utility
- If you have previously created a class to add back list and table styling to rich text fields you may be able to swap it out for the new component.
- This component currently styles h2-h4, ul, ol, dl, table, and pre. If you need more elements please create an issue.
- Breadcrumb updates do not require any changes unless you have local customizations.
- Icon updates
- Icons used internally with Protocol components have been updated but any icons used in consumer projects will have to consider the following:
- New and updated icons have intrinsic width of 16x16 instead of 24x24. If you were relying on SVG width and height attributes for sizing, you may need to update by CSS sizing.
- Updated icons are still square but do not have padding around the icon. This is particularly noticeable with menu and arrows. If you were relying on the icon for spacing, you may need to update to re-add that spacing through CSS.
- Icons formerly known as "arrow" are now known as "caret" and there are new icon designs for "arrow" name. You will need to update naming to keep the "caret" design.
- Find and replace
$url-image-arrow-down-with$url-image-caret-down-
- Mozilla brand color updates
- consumer projects will have to update any use of deprecated Mozilla brand colors to the new palettes
- Remove
:hover:visitedstyles & decrease base link specificity (#1071)- This will decrease the specificity of Protocol's link and button components, hopefully making local overrides easier, no need to change anything you already have in place.
- Removal of
:linkpseudo classes in some places will mean that<a>elements which do not have ahrefvalue could now have link styles when previously they would not have. But, like, maybe don't do that? - Removed
:visitedstyles for.mzp-c-buttonthey should match unvisited styles, if you have:visitedstyles defined check they are still legible without the expected inherited styles. - Removed the text colour change from
:focusstyles. Rely on the focus ring for a focus indicator instead.
- assets: Update @mozilla-protocol/assets to 6.1.1
- css: Footer changes: spacing, colour, font size. (#1063)
- css: Button link focus styling doesn't override inherited visited link styling (#842)
- Un-customized implementations of the footer will not break. If you have made customizations review it at all breakpoints.
- assets: (breaking) Update @mozilla-protocol/assets to 6.0.1
- css: Update navigation and footer with Mozilla logo lockup.
- css: Notification bar padding of links only working for complete sentences (#1000)
- css: Missing explicit
mzp-c-notification-bar-ctadistinction (#1041) - css: Fix logo size in navigation in Firefox variant on large screen
- The new Mozilla wordmark files are the same height but longer. If you are explicitly declaring a width for them, you should update it (Tip: check your CSS background images too.)
- The flat logo files are no longer square, so check their dimensions too (social files remain square)
- fonts: (breaking) Adds rebrand fonts, Mozilla Headline and Mozilla Text. Removes outdated Mozilla Brand font, Zilla Slab. New fonts will only support
woff2format to simplify maintenance. - fonts: Upgrade Inter font to version 4.1, drop WOFF 1.0 format (#1026)
- css: Add
text-wrap: balanceto all headings (#910) - css: Apply hover cursor from Details component to Details element (#948)
- assets: Update @mozilla-protocol/assets to 5.4.0
-
fonts: Any use of
font-mozillamixin should be replaced withfont-mozilla-headline. NOTE: we recommendfont-mozilla-headlineonly for text over 24px (below should befont-mozilla-text) -
Headings are now balanced, which can impact other wrapping rules. Make sure any changes to
h1–h6rendering end up styled as expected, especially if you apply anywhite-space,word-breakorhyphenscustomizations. -
See notes for Protocol Assets 5.4.0
- js: Migrate tests from Karma to Jasmine browser runner (#899)
- css: Form select elements don't match styling when disabled (#885)
- css: Modal close button pointer overridden by defaults (#955)
- component: Add Firefox Klar wordmark for the Wordmark component (#932)
- js: Migrate ESLint to use flat config file (#906)
- component: Remove the format option from Newsletter component (#926)
- component: Allow an optional icon in buttons (#893)
- component: Remove deprecated Picto Card component.
- component: Remove deprecated Hero component. (#912)
- component: Refactor and rename the Callout component (previously Call-out) (#787)
- component: Remove Compact Call-out as a separate component. It's now just a variant of the updated Callout.
- js: Update newsletter component to include JS to post directly to Basket (#839).
- css: Add CSS utility class for centered text and document existing title utility classes (#897).
- css: Fix incorrect value for
text-body-lgin Firefox theme. - js: Fix typo at
lang-switcher.jscomment - css: Center-align button text (#826)
- Rename instances of
mzp-c-call-outtomzp-c-callout(note the removed dash). - Replace instances of Compact Call-out with the compact variant of Callout (
class="mzp-c-callout mzp-l-compact"). - Update references to the
call-outSCSS file tocalloutin any@importor@userules. ** e.g.@use 'components/call-out';should change to@use 'components/callout'; - The rebuilt Callout doesn't feature integrated brand logos. Use Logo and Wordmark components instead.
- The rebuilt Compact Callout lacks an integrated logo, so it no longer positions the logo at one end of the component. A Logo or Wordmark component should appear in the body instead.
- Convert any instances of the Hero component to either Split or Callout.
- Convert any instances of the Picto Card component to Picto.
- css: Replace
get-theme,type-scalefunctions and theme and type-scale maps with CSS Custom Properties. Sass variables added for legacy support - css: Migrates the sass
@importwith@useand@forward(#755).
- This version updates how we internally import SCSS files, from the
@importsyntax to@useand@forward - When importing
libat the head of your project you will use thewithkeyword instead of stating variables explicitly, like this:
@use '/assets/sass/protocol/includes/lib' with ($font-path: '/protocol/fonts');- To use the global namespace for protocol variables you will need to use the
askeyword and assign to*:
@use '../includes/lib' as *;- if you don't use
asyou would access variables and mixins from the file using the filename as a namespace:
@use '../includes/lib';
.mzp-c-item {
@include lib.text-title-md;
color: lib.$color-ink-80;
margin: lib.$spacing-lg 0;
}-
For more information on the
@useand@forwardyou can visit the offical SCSS documentation or the usage page on the Protocol documentation website -
This version also moves from using the
get-themefunction to using css custom properties. A future version of protocol will depreciate both theget-themeandtype-scalefunctions. -
To migrate from
get-themeortype-scaleto CSS custom properties, follow this pattern: -
From this:
.mzp-t-dark {
background-color: get-theme('background-color-inverse');
color: get-theme('body-text-color-inverse');
line-height: type-scale('body-line-height');
}- to this:
- (Note: if you need to support legacy browsers, place the CSS custom properties in a
@supportsflag and use sass variables as a fall back. Legacy browsers will always be served the default theme.)
.mzp-t-dark {
background-color: $background-color-inverse;
color: $body-text-color-inverse;
line-height: $body-line-height;
@supports (--css: variables) {
background-color: var(--background-color-inverse);
color: var(--body-text-color-inverse);
line-height: var(--token-body-line-height);
}
}- For more information on CSS custom properties you can visit MDN's documentation or the framework page Protocol's documentation website.
- js: MzpDetails component should be explicitly initialized (Fixes #879)
- js: Moves the aria-expanded attribute to the mzp-c-navigation-menu-button (#860).
- css: Remove default mobile padding on nospace split component (#875).
- css: Removed min-width on the .mzp-c-split-container class on the split component (#843).
- js: Protocol JS components are now written using modern JS and published as ES5/UMD format (#255).
- js: Removed pre-minified JS files from the published package (#255).
- css: Removed pre-minified CSS files from the published package (#255).
- js: Fix syntax error in legacy IE when compiling JS (#861)
- component: Add centering classes for Logo and Wordmark. (#718)
- docs: Migrate Protocol documentation site to Fractal.
- node: Create a Webpack config for compiling docs using Fractal.
- css: Updated stylelint rules to match Bedrock's linting pattern. (#814)
- js Updated
addListenermethod, which is now deprecated, to be replaced byaddEventListener.addListenerwill be used as a fallback for older browsers. - css Updated focus states for buttons. (#864)
- docs: Added 404 page
- js: Ensure focus is moved to modal after animation completes (#829)
- node: Make sure to build NPM package using production mode.
- html: Added accessible attributes to menu bar (#815).
- css: Add style rule for the hidden attribute in global reset (#783).
- html: Use unambiguous date format in sidebar.
- docs: Remove aria-disabled from disabled form inputs.
- css: Update font color for Notification Bar variants to black and error-variant background color to a lighter red for better visual accessibility (#848).
- css: Fix repeating background on disabled search field (#767)
- js: Fix keyboard focus capture on modal open animation (#749).
- node: Create a standalone Webpack config for compiling the Protocol NPM package (#746).
- js: Update protocol to extend standard ESLint configs (#753).
- js: Move Karma test command to NPM script (#748).
- js: use more robust polyfill for
e.matches(#736)
- linting: Updated ESLint and Stylelint, moved to NPM scripts (#745).
- node: Bumped Node.js to v16 (#745).
- css: Add tertiary theme colors.
- css: (breaking) Rename "alt" theme colors to "secondary."
- component: New breadcrumb component.
- css: Fix image overlapping content in a reversed Split with media overflow.
- Update any uses of the theme variable
background-color-alt(in theget-theme()function) tobackground-color-secondary. - Update any uses of the theme variable
background-color-alt-inverse(in theget-theme()function) tobackground-color-secondary-inverse. - Update any uses of the theme variable
body-text-color-alt(in theget-theme()function) tobody-text-color-secondary. - Update any uses of the theme variable
body-text-color-alt-inverse(in theget-theme()function) tobody-text-color-secondary-inverse. - Update any uses of the
mzp-t-background-altclass tomzp-t-background-secondary.
- component: Add Firefox Relay logos and wordmarks
- assets: Update @mozilla-protocol/assets to 5.1.0
- assets: (breaking) Update @mozilla-protocol/assets to 5.0.0
- assets: Refactored logo and wordmark mixins to use SVG assets instead of PNG
- component: New responsive video container.
- js: when navigation has
mzp-is-stickyclass, respect user preference for reduced motion (#733) - css: Replace deprecated
/division operator withmath.div()(#722) - css: Set Split media width to 100% to accommodate responsive video (#711)
- This version updates the included assets, removing the PNG versions of logos and wordmarks. If you're relying on those assets via Protocol, you'll need to update or find alternative sources. See notes for Protocol Assets 5.0.0
-
css: Add overriding rules to the card component to enable dark mode with
.mzp-t-darkclass. (#714) -
css: Add content width classes to Split component.
-
css: Add default bottom margins to Logo and Wordmark components (#712)
-
css: Add
.mzp-u-title-3xsutility class. -
css: Add warning when compiling deprecated components (#709)
-
Migrate CI to GitHub actions
- css: Enhancements/fixes to Split component (#702)
- css: Let Picto retain its bottom margin in multi-column layouts in small viewports (#699)
- css: Override styling native summary element when it’s polyfilled in IE11 (#658)
- js: Set global
Mzpnamespace to default towindowas root (#687). - docs: Update docs to clarify SCSS variable use (#697)
- assets: Fix Mozilla logo in footer component.
- css: Add
.mzp-t-split-nospaceclass to Split component, to remove vertical spacing. - css: Add
.mzp-t-content-nospaceclass to content container, to remove vertical spacing. - css: Renamed
_sections.scssto_containers.scssfor clarity.
- css: Remove bottom margin from the last child of a content container.
- css: Remove bottom margin from Feature Card when it's the last child of a content container.
- css: Remove bottom margin from Newsletter Form when it's the last child of a content container.
- css: Make Picto fill the column width when in multi-column layouts.
- css: Remove bottom margins from lists used as multi-column containers.
- css: Add vertical grid-gaps to multi-column layouts, for when content wraps to multiple rows.
- css: Use theme variables for form colors.
- assets: Fix Mozilla logo in navbar component.
- css: Fix import order for themes and functions (#653)
- css: Reduce base heading sizes
- component: Add Split component (#326)
- component: New picto component, deprecating the previous picto card (#382)
- template: New multi-column layout container with up to four even columns (#233)
- css: Add a theme class for alt background colors
- css: Add logo and wordmark components (#665)
- css: Add support for mozilla, pocket, and vpn logos to hero and callout components (#663)
- assets: (breaking) Update @mozilla-protocol/assets to 4.0.0
- css: Add Section Heading component (#664)
- css: Add horizontal spacing variables (#345)
- css: Add vertical spacing variables (#536)
- a11y: Fix link button focus color. (#655)
- Default sizes for heading elements (h1–h6) are smaller. Most components declare sizes explicitly but if you're relying on generic sizes for HTML headings you may need to adjust.
- The new spacing variables increase top and bottom padding for
.mzp-l-contentat some breakpoints. If you have custom components which match the padding around Protocol components you may wish to update those components to use the new variables. - See notes for Protocol Assets 4.0.0
- css: Update inverted link colors in both Firefox and Mozilla themes.
- css: Add a new mixin for explicitly white links, when regular inverse link colors are undesirable (#648)
- css: (breaking) Implement brand themes. (#447)
- css: Update type scale(s) (#410)
- component: Add error message component (#430)
- js: Check for sidemenu before initializing (#643)
- xxl and xxs font size mixins are renamed to 2xl and 2xs respectively. Replace all instances.
text-title-xxlchanges totext-title-2xltext-title-xxschanges totext-title-2xs
- xxl and xxs title utility classes are renamed to 2xl and 2xs respectively. Replace all instances in HTML (also consider replacing utility classes in HTML with the equivalent mixins in Sass/SCSS).
mzp-u-title-xxlchanges tomzp-u-title-2xlmzp-u-title-xxschanges tomzp-u-title-2xs
protocol-extra.scssis renamed toprotocol-components.scssbase/utilities/_typography.scssis renamed tobase/utilities/_titles.scss- The variables
$font-metropolis,$font-zilla-slab, and$font-interare deprecated in favor of design tokens$font-stack-firefox,$font-stack-mozilla, and$font-stack-baserespectively.$font-metropilischanges to$font-stack-firefox$font-zilla-slabchanges to$font-stack-mozilla$font-interchanges to$font-stack-base
mzp-c-form-headingandmzp-c-form-subheadinghave been changed tomzp-c-form-titleandmzp-c-form-subtitle.- Headings/titles now have an explicitly declared text color (not inherited).
- css: Revise sticky promo component to be hidden by default (#638)
- css: Add sticky promo component (#603)
- css: Remove max-width from cards in card-layout (#620)
- css: Navigation is max-content width on large screens (#615)
- css: Set text-align on image replacement mixin (#618)
- css: Reduce content container min-width to avoid crawlbars (#611)
- css: Decrease min-width of form fields (Fix #607)
- css: (breaking) Document content container and add width theme classes (#505)
- css: Add button container and alignment options (#580)
- css: Update form spacing and add form layout components (#508)
- css: Add form dark theme (#508)
- css: Add styled checkboxes and radio buttons (#439)
- tokens: update @mozilla-protocol/tokens to 5.0.5
- css: Tweak form error styles (#508)
- css: (breaking) Add styled text inputs (#430)
- css: Button style updates. (#429)
- css: Add styled select drop downs (#435)
- node: Update gulp-sass to v4.1.0 (#598)
- css: Fix relative imports in protocol-extra.scss (#597)
- css: Fix bug with new select box and footer language select (#584)
- css: Switch to negative text indent for image replacement (#519)
- css: Embiggen the modal close button (#557)
- css: Center the notification bar in larger viewports
- css: Button line-height bug fix
- css: Code cleanup in reset.scss & forms.scss
- Find and replace
mzp-t-narrowwithmzp-t-content-mdon content containers (mzp-l-content). - Content width tokens have changed slightly, which could impact page layout. See https://github.com/mozilla/protocol-tokens/pull/81/files
- Styled form inputs now include bottom spacing. If you have added this spacing to your forms in another way (for example, wrapping them in paragraph tags) you could end up with double spacing.
- Find and replace
mzp-t-smalltomzp-t-mdon buttons. - The value of
$layout-2xlhas increased. - The new select box styles include the down arrow as a background image. If you have declared a
backgroundorbackground-imagefor selects locally, you should remove it. - Add
mzp-t-darkto<form class="mzp-c-language-switcher">(or to any other parent element) to get a brighter focus ring on the language select box.
- css: Update form label styles (#430)
- js: Implement sticky scrolling behavior for navigation component as an opt-in feature (#560).
- utility: Add title size utility classes. Rename
text-display-totext-title-, keeptext-display-as an alias (#297). - component: Updates to emphasis box, with additional documentation and usage guidelines.
- css: Notification bar updates; use border-box, fix image replacement bug, add focus styles, tweak spacing (#549).
- Add a class of
mzp-is-stickytomzp-c-navigationto opt-in to sticky navigation. - Find and replace
text-display-totext-title-.
- css: Add link color styles to notification bar (#541)
- css: Fix notification bar line height breaking container. (#525)
- tokens: (breaking) update @mozilla-protocol/tokens to 5.0.3
- assets: update @mozilla-protocol/assets to 3.0.1
- js: Support a CTA link in NotificationBar (#460)
- css: Changes '.mzp-c-button-download-container' display property to 'inline-block' from 'block' (#486)
- Use tokens for border radius (rounded corners):
$border-radius-xs,$border-radius-sm,$border-radius-md,$border-radius-lg - Use tokens for box shadows:
$box-shadow-sm,$box-shadow-md,$box-shadow-lg $color-off-blackis now$color-ink-80- The gray palette is greatly expanded. Old gray colors map closely to the new "marketing gray" palette. For example,
$color-gray-30is now$color-marketing-gray-30 $screen-lgbreakpoint is now 1024px. This shouldn't impact layout because this token should only be used in media queries (use the$content-*tokens for layout)- Mozilla brand colors are namespaced as
$color-moz-*. Avoid mixing Mozilla colors with Firefox colors.
- css: Fix zap import (#520)
- css: Prism styles consume Protocol Tokens (#452)
- css: Add Firefox variant of navigation (#483)
- css: Menu List Firefox theme CTA uses firefox-font #503
- css: Enlarge Footer UI icons (#495)
- css: Add Zap component (#511)
- css: (breaking) Rename
mzp-c-box-emphasistomzp-c-emphasis-box(#489) - assets: Update @mozilla-protocol/assets to 3.0.1 (#509)
- css: CTA links now use text underlines instead of borders (#490)
- js: Use window.Mzp in Modal and Notification components (#488)
- assets: (breaking) Update @mozilla-protocol/assets to 3.0.0 (#479)
- Browser logo is for Firefox 70+
- Browser logos have new names and directories
- e.g.
logos/firefox/firefox.png→logos/firefox/browser/logo-lg.png - Logos are also slightly larger, check height & width are declared
- e.g.
- UI icons have moved up a directory
/icons/ui/→/icons/ - Remove
-blackfrom file names for black icons - Focus theme has been removed
- docs: Added component issue templates (#379)
- css: Bold menu titles (#481)
- css: Add Menu List component (#474)
- css: Added Emphasis box (#385)
- css: Fx theme CTAs should use the Metropolis Font (#468)
- css: Separate newsletter form and newsletter layout styling (#444)
- css: Add inline list component (#465)
- css: Adds a narrow content channel (#469)
- css: Add Notification bar component (#383)
- css: Details button gets cursor:pointer when hovered (#367)
- css: (breaking) Add Metropolis as Firefox brand font (#386)
- css: Article max-width restricted to size of parent container (#422)
- css: Increase contrast on sidebar mobile menu (#407)
- css: Remove double underline from CTA links in dark theme (#374)
- js: Newsletter.js only runs when there is a newsletter (#400)
- css: Text display mixin consistency (#389)
- css: Add citation to blockquote and decrease font size (#366)
- css: Update product button theme color (#380)
- css: (breaking) Implement Updated Font Stacks (#342)
- css: Error in at2x mixin #368
- css: Update at2x to allow background-size: contain (#336)
- css: (breaking) Remove curve under hero component (#311)
- css: (breaking) Move Zilla Slab from default theme to custom theme (#342)
- css: Call Out component is missing display: flex vendor prefixes (#218)
- css: Decrease size of article h3 and h4s #293
- css: (breaking) Update protocol/tokens v3.0.0
- css: blockquote needs mzp-t-firefox theme #303
- css: Summary button text over laps icon #331
- css: Make summary and details widget styles into mixins #332
- css: Visited link color in t-dark themes too dark #335
- css: Add optional label to navigation mobile menu button (#313)
- docs: Add example menu to menu molecule page (#322)
- css: Define basic styles for dl lists (#295)
- css: Add basic styles for hr elements (#296)
- js: Update ESLint to consume @mozilla-protocol/eslint-config (##85)
- css: (breaking) Rename download button theme to product button theme (#273)
- css: Navigation items that are links without menus get hover styles (#304)
- css: Let menu item titles not be links (#307)
- gulp: Update to Gulp 4.0 (#285)
- css: Convert CTA links to blue (#280)
- js: Enable second navigation menu on pages (#300)
- css: Use
mzpnamespace for menu and navigation state classes (#324) - js: (breaking) Make the Menu molecule more resilient to JS errors (#320)
- css: Social icon backgrounds no longer repeat (#317)
- css: Fix billboard overflowing text in IE 10 (#276)
- js: Add details component and demo (#129)
- css: Add footer component and demo (#184)
- js: Add missing del dependency in build (#271).
- css: Update tokens (mozilla/protocol-tokens#27)
- css: Update Language Selector to include optional link to language selection page (#259)
- css: Fix Side Menu RTL styles (#204).
- css: Fix card molecule icon alignment for RTL (#203)
- css: Remove autoprefixer to ensure consistency using pre-compiled CSS (#119).
- css: Fix download button positioning in call out component (#268)
- css: Primary buttons should use a solid background color on hover (#264)
- css: Add button variants (#224)
- css: Revise button states (#224)
- js: Update JS namespace from Mozilla to Mzp (#253)
- js: Rename '.mzp-c-language-switcher-select' class (#242)
- docs: Document deployment process (#171)
- js: Fixed menu component focusout bug (#247)
- css: Add blockquote component (#234)
- docs: Add page that lists all tokens and their values (#177)
- js: Workaround for IE9 navigation bug in bedrock's classList polyfill (#182)
- css: Navigation & Menu style fixes (#182)
- css: Fix card layout issues at medium viewport sizes (#227)
- css: Add font-smoothing properties for macOS devices
- css: Include Navigation in core bundle and not extras (#182)
- css: Add Navigation organism and Menu molecule (#182)
- npm: Ensure
npm testalways updates dependencies before runninggulp build(#191)
- css: Billboard alignment broken in Safari (#207)
- docs: Add inline CTA to card (#197)
- docs: Add bidi control to component previews (#150)
- css: Avoid referencing URLs in feature queries
- css: Add feature card component (#159)
- css: Add a page hero component (#157, #158)
- css: Billboard text overflows container with long strings (#180)
- scss: Include @mozilla-protocol/tokens source files in build (#172)
- css: Add page footer organism and language switcher component (#149)
- css: Add Picto Card component (#154, #155)
- css: Add Call Out component (#153)
- css: Update button styles (#167)
- css: Add custom .mzp-t-firefox global theme class (#169)
- docs: Update colors page to consume token data (#161)
- scss: Consume @mozilla-protocol/tokens package (#109)
- docs: Update card layout demo title to "6 Card Layout" (#164)
- html: Remove image link from the billboard molecule (#143)
- css: Improve web font loading using font-display descriptor (#147)
- css: Media content should occupy 100% modal width (#132)
- css: Remove redundant .mzp-c-card-small-cta styles (#136)
- css: Adjust default margins for billboard components (#138)
- css: Compile protocol-extra.css bundle (#120)
- css: Add modal organism (#118)
- css: Add newsletter form and basic button (#112)
- docs: Update home page (#113)
- css: Add mozilla-protocol/assets package (#111)
- css: Add billboard component (#105)
- css: Add basic form elements (#104)
- css: Add card molecule (#103)
- css: Revise type scale, rename sizes (#102)
- css: Add article and sidebar menu organisms and main/sidebar template (#86)
- css: Clean up stubs, placeholders and Pebbles legacy bits (#81)
- css: Add general link styles (#47)
- css: Import the Color design tokens npm package (#48)
- css: Add design tokens scss files to the protocol package (#48)
- gulp: Stop concatenating Protocol JS modules (#115)
- gulp: Remove dependency on gulp-util and cloudfour/gulp-tasks (#100)
- css: Use relative paths in pre-compiled CSS (#66)
- css: Images and fonts are 404 when imported via NPM (#49, #50)
- scss: Allow for custom media paths in SCSS (#53)
- gulp: Refactored gulp to process assets for publishing to NPM.
- gulp: Both JS and CSS is now linted as part of the build process.
- gulp: Refactored gulp to include new processes and separate in to folders.
- scss: Added CSS mapping for inspecting SCSS files.
- css: Concatenated, minified, and formatted CSS for eventual exporting.
- js: Concatenated, minified, and formatted CSS for eventual exporting.