Skip to content

Conversation

@localjo
Copy link
Contributor

@localjo localjo commented Dec 8, 2025

One-line summary

Reorganization of #718 into feature-based commits for easier review.

Significant changes and points to review

We may want to split this branch into separate branches with individual PRs for each feature.

@localjo localjo force-pushed the ll-2026-reorganized branch from e4d4f5b to 15e9f25 Compare December 8, 2025 13:48
@kkellydesign kkellydesign changed the base branch from main to WT-401-article-page December 10, 2025 03:50
@kkellydesign kkellydesign changed the base branch from WT-401-article-page to main December 10, 2025 03:52
@maribedran maribedran force-pushed the ll-2026-reorganized branch 2 times, most recently from 6da7128 to d786b3d Compare December 12, 2025 14:44
@maribedran maribedran changed the title 2026 front end reorganized 2026 - 0 - front end reorganized Dec 12, 2025
@kkellydesign kkellydesign marked this pull request as ready for review December 18, 2025 21:33
@kkellydesign kkellydesign changed the base branch from main to code-reviewed December 18, 2025 21:36
Copy link
Collaborator

@kkellydesign kkellydesign left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, nearly all of these components have additional visual refinements in later PRs, so this isn't a good one to look at for proper QA on the server. However, this is good to see the patterns for how we're building:

  • The new CSS: We're prepending the new design files with flare26. This makes sense for now because this is not-yet-default code. Once we have full coverage on the site with these styles, we'll be able to rip out the previous flare- code and rename these files so they're not dated.

  • WNPs still use the current "flare" code, with a minor exception – there's a body class that changes the font family variables. This allows us to use the same set of files for the current freeform pages, WNPs, and Article pages that match the current design.

  • CMS patterns: You can see the handful of initial 2026 patterns in the springfield/cms/ folder, as well as associated migrations.

I'll post screenshots to these PRs as I go with my QA findings, and there will likely be an additional PR with some CSS refinements at the end of this process.

* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Update WNP default type styles in Pattern Library, remove max-width on body

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
Copilot AI review requested due to automatic review settings December 22, 2025 13:11
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reorganizes front-end CSS architecture by introducing a new "Flare 2026" design system alongside the existing Flare design system. The changes establish a comprehensive CSS layer structure with design tokens, typography, components, and utilities that will support the 2026 visual refresh.

Key changes include:

  • Introduction of Flare26 CSS architecture with proper layer ordering (base, theme, defaults, template, page, components, utilities, overrides)
  • Addition of comprehensive icon system with 300+ icon definitions
  • Updates to existing Flare CSS to reference the new shared icon system
  • New component stylesheets for buttons, cards, carousels, and page sections

Reviewed changes

Copilot reviewed 25 out of 378 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
media/css/cms/flare26.css Main entry point defining CSS layer structure and import order for the new design system
media/css/cms/flare26-tokens.css Design token definitions including colors, spacing, typography, and breakpoints
media/css/cms/flare26-theme.css Contextual theme variables with dark mode and responsive breakpoint support
media/css/cms/flare26-base.css Base reset styles and font-face declarations for Mozilla Headline and Text fonts
media/css/cms/flare26-defaults.css Default element styles using theme tokens
media/css/cms/flare26-template.css Layout styles for header, footer, navigation, and page structure
media/css/cms/flare26-icon.css Icon system with 300+ icon class definitions
media/css/cms/flare26-button.css Button component styles with variants and states
media/css/cms/flare26-card.css Card component with grid layouts and hover effects
media/css/cms/flare26-typography.css Typography utilities and rich text styles
media/css/cms/flare26-utilities.css Utility classes for alignment, visibility, and light/dark display
media/css/cms/flare26-carousel.css Carousel component with controls and responsive behavior
media/css/cms/flare26-section.css Section layout container styles
media/css/cms/flare26-showcase.css Showcase component for featured content
media/css/cms/flare26-intro.css Intro/hero section styles with decorative elements
media/css/cms/flare26-homepage.css Homepage-specific layout overrides
media/css/cms/flare26-overrides.css Placeholder for final override layer
media/css/cms/pattern-library.css Pattern library utility styles for component documentation
media/css/cms/wagtail-admin.css Admin interface imports for icon system
media/css/cms/flare.css Updated to use shared flare26-icon.css
media/css/cms/flare-icon.css Removed (replaced by flare26-icon.css)
media/css/cms/flare-tokens.css Border radius token renamed for consistency
media/css/cms/flare-typography.css Updated border radius references
media/css/cms/flare-intro.css Updated to use design token variable
media/css/cms/flare-defaults.css Removed max-width constraint and updated border radius
Comments suppressed due to low confidence (1)

media/css/cms/flare26-template.css:1

  • Reference to undefined token --token-color-black-4-16. The tokens file defines --token-color-black-16 but not --token-color-black-4-16. This should be --token-color-black-16.
/*

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

maribedran and others added 3 commits December 22, 2025 10:12
* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Update WNP default type styles in Pattern Library, remove max-width on body

* update vertical alignment on FF heading logo

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Update WNP default type styles in Pattern Library, remove max-width on body

* update vertical alignment on FF heading logo

* minor card gallery CSS revisions

* prepping cards for themes and dark mode, but also disabling current dark mode work

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Create Pre Footer CTA component

* Create Pre Footer CTA snippet on CMS

* Update WNP default type styles in Pattern Library, remove max-width on body

* update vertical alignment on FF heading logo

* minor card gallery CSS revisions

* prepping cards for themes and dark mode, but also disabling current dark mode work

* kit resolution fix, relative positioning adjustments

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
maribedran and others added 5 commits January 7, 2026 21:24
* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Create Pre Footer CTA component

* Create Pre Footer CTA snippet on CMS

* Create 2026 Kit Banner block

* Add Kit Banner block to Home page

* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Create Pre Footer CTA component

* Create Pre Footer CTA snippet on CMS

* Create 2026 Kit Banner block

* Add Kit Banner block to Home page

* carousel progress indicator CSS

* Add embla-carousel dependency

* Implement carousel animation using embla

* Add Flare 2026 navigation styles

* Add Fluent context to pattern librabry

* Update WNP default type styles in Pattern Library, remove max-width on body

* update vertical alignment on FF heading logo

* minor card gallery CSS revisions

* prepping cards for themes and dark mode, but also disabling current dark mode work

* kit resolution fix, relative positioning adjustments

* image size revision, ghost button support

* fixing padding issue, so the active image takes up the whole width

* scope theme variables to header, so they don't bleed into other compoenents

* hide "unsupported" message on header download button

* 2026 - 7 - Make dynamic card grid more balanced (#858)

* Add balance to sticker card layout

* card grid refactor to align with figma mobile/template layouts

* Fix home banner style regression

The ghost button class was incorrectly applied to this button, which became apparent when ghost button styles were added to this branch

* Add superheading text to homepage cards

* Adjust card sizing/spacing/order

* Whitespace fix

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
Co-authored-by: Mariana Bedran Lesche <maribedran@gmail.com>

* fixing homepage spacing issues

* Fix issue on header button clicks on mobile

* Add svg for hamburger menu button

* Implement nav mobile buttons like figma

* Change copy on header download button for flare26

* fixing card grid regression

* legacy nav and footer styles

* Update navigation ftl strings

* media query fixes

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
Co-authored-by: Jo Sprague <github@iamlocaljo.com>
Co-authored-by: Luciano Ratamero <luciano@ratamero.com>
* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Create Pre Footer CTA component

* Create Pre Footer CTA snippet on CMS

* Create 2026 Kit Banner block

* Add Kit Banner block to Home page

* Upgrade Pattern Library

* Don't use flare 2026 template where styles aren't available

* Create pattern library pages for existing 2026 designs

* Implement Firefox logo rich text feature

* Add inline Firefox Logo typography examples to pattern library

* Add 2026 inline Firefox Logo to pattern library

* Add new icons and use a single icon set for flare designs

* Rename icon CSS file to flare26-icon

* Create Card Gallery component and CMS block

* Create Pre Footer CTA component

* Create Pre Footer CTA snippet on CMS

* Create 2026 Kit Banner block

* Add Kit Banner block to Home page

* carousel progress indicator CSS

* Add embla-carousel dependency

* Implement carousel animation using embla

* Add Flare 2026 navigation styles

* Add Fluent context to pattern librabry

* Update WNP default type styles in Pattern Library, remove max-width on body

* update vertical alignment on FF heading logo

* minor card gallery CSS revisions

* prepping cards for themes and dark mode, but also disabling current dark mode work

* kit resolution fix, relative positioning adjustments

* image size revision, ghost button support

* fixing padding issue, so the active image takes up the whole width

* scope theme variables to header, so they don't bleed into other compoenents

* hide "unsupported" message on header download button

* 2026 - 7 - Make dynamic card grid more balanced (#858)

* Add balance to sticker card layout

* card grid refactor to align with figma mobile/template layouts

* Fix home banner style regression

The ghost button class was incorrectly applied to this button, which became apparent when ghost button styles were added to this branch

* Add superheading text to homepage cards

* Adjust card sizing/spacing/order

* Whitespace fix

---------

Co-authored-by: Kasey Kelly <kasey@servee.com>
Co-authored-by: Mariana Bedran Lesche <maribedran@gmail.com>

* fixing homepage spacing issues

* Fix issue on header button clicks on mobile

* Add svg for hamburger menu button

* Implement nav mobile buttons like figma

* Change copy on header download button for flare26

* fixing card grid regression

* legacy nav and footer styles

* Update content of the flare26 footer

* Add new css for the flare26 footer

* Add footer's  lang switcher

* Refactor flare26 footer into smaller includes

* Use flow-relative css instead of top/right/bottom/left

* Add venv to ignores eslint files

* Use flow-relative css on lang switcher css too

* Update navigation ftl strings

* Add missing ftl string to footer

* Remove unused footer styles

* Fix language switcher min width

* Fix keyboard interaction when shift+tab is pressed for leaving a menu

* Fix keyboard + mouse interaction on nav, when hovering after using keyboard

* Implement nav light/dark modes with class overrides

* legacy rework

* some unnecessary calcs removed

* theme refactor

---------

Co-authored-by: Mariana Bedran Lesche <maribedran@gmail.com>
Co-authored-by: Kasey Kelly <kasey@servee.com>
Co-authored-by: Jo Sprague <github@iamlocaljo.com>
kkellydesign and others added 10 commits January 16, 2026 22:53
commit 07d690c
Merge: 6510733 5227085
Author: Kasey Kelly <kasey@servee.com>
Date:   Fri Jan 16 22:33:32 2026 -0500

    image updates

commit 6510733
Author: Kasey Kelly <kasey@servee.com>
Date:   Fri Jan 16 22:28:13 2026 -0500

    styles for superheading added

commit a7bf9ad
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 19:47:40 2026 -0500

    update tests to support image variants where ImageVariantsBlock is used

commit 0db519e
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 16:18:06 2026 -0500

    use ImageVariantsBlock in StickerCardBlock

commit a407d57
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 15:52:03 2026 -0500

    use ImageVariantsBlock in IllustrationCardBlock

commit 9c96f04
Merge: ce3f5a9 3d923d5
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 10:32:08 2026 -0500

    Merge branch 'main' into WT-577-image-variants

commit ce3f5a9
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 10:31:46 2026 -0500

    add a superheading to sticker cards

commit f4f851b
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Fri Jan 16 10:17:58 2026 -0500

    add a superheading to each card gallery card

commit 9e9dab5
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Thu Jan 15 18:07:59 2026 -0500

    make sure CSS media queries are more specific than fallbacks

commit 5ba368b
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Thu Jan 15 17:58:42 2026 -0500

    use ImageVariantsBlock in HomeCarouselBlock

commit c46185f
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Thu Jan 15 14:56:49 2026 -0500

    use ImageVariantsBlock in ShowcaseBlock

commit 9b85827
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Thu Jan 15 14:28:50 2026 -0500

    use ImageVariantsBlock in card gallery cards

commit cb8016f
Author: Dmitriy Chukhin <6025153+dchukhin@users.noreply.github.com>
Date:   Thu Jan 15 14:27:47 2026 -0500

    add an ImageVariantsBlock to support variants of the same image for different scenarios
@kkellydesign kkellydesign changed the base branch from code-reviewed to main January 19, 2026 20:41
@kkellydesign kkellydesign merged commit ccc2f23 into main Jan 19, 2026
5 checks passed
@kkellydesign kkellydesign deleted the ll-2026-reorganized branch January 19, 2026 20:43
@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.94%. Comparing base (042c3cb) to head (f4e70ba).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #841      +/-   ##
==========================================
- Coverage   81.73%   80.94%   -0.80%     
==========================================
  Files         113      113              
  Lines        6022     6281     +259     
==========================================
+ Hits         4922     5084     +162     
- Misses       1100     1197      +97     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Collaborator

@janbrasna janbrasna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to only be impacting things outside of current production layout, but I've noticed this got removed also from current prod site:

@@ -39,7 +39,6 @@ <h3 class="m24-c-menu-subtitle">{{ ftl('navigation-top-features') }}</h3>
<p class="m24-c-menu-category-link">
<a href="{{ url('firefox.features.index') }}" data-link-text="View all Firefox Features" data-link-position="topnav - all features">
{{ ftl('navigation-features-all') }}
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="currentColor" d="m7.24 1.36 5.89 5.89H0v1.5h13.13l-5.89 5.89L8.3 15.7 16 8 8.3.3z"/></svg>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This removes the "see more" arrow from the current production menu. Was that intentional?

before after
Screenshot 2026-01-19 at 22 29 55 Screenshot 2026-01-19 at 22 29 24

(original can be checked e.g. at https://www-demo5.springfield.moz.works/ that's few days behind main atm…)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But given I only see the svg element removed, but not its corresponding styling, I'm not convinced it's intentional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants