Open
Conversation
cartja
reviewed
Apr 17, 2026
cartja
reviewed
Apr 17, 2026
cartja
reviewed
Apr 17, 2026
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Remove SCSS — migrate to plain CSS
Summary
sassandsass-loaderfrom the build chain; CSS is now processed bypostcss-loader(already in the pipeline) withpostcss-custom-mediafor breakpoint variables.postcss-importresolves@importbeforepostcss-custom-mediaruns so that@custom-mediadefinitions invariables.cssare visible to all files;css-loaderimport resolution is disabled to avoid double-processing. Both PostCSS plugins can be removed once@custom-mediaships natively in browsers..scsspartials to.cssand drop the_prefix convention$variables→ CSS custom properties (var(--*)) on:root@usepartials →@import(resolved at build time bypostcss-import)@media (max-width: $bp-md)→@media (--bp-md)via@custom-media@extend(17 instances) → inlined declarations or utility classes#{$a}__iteminterpolation → descendant selector nestingcalc()with custom properties//comments →/* */stylelintconfig fromstylelint-config-standard-scsstostylelint-config-standard--shadow-sm,--shadow-md,--shadow-lg,--shadow-nav) tovariables.css, replacing 9 hardcoded values across 7 files!importantflags on.status-boxborders that were only needed to override the old@extend .accordionaccordion__item,accordion__heading,accordion__button,accordion__panel,accordion-icon,accordion-title), merge.accordion-nestedinto&.nestedmodifier, remove dead.disabled/.expandedrules. Replaceoverflow: hiddenwithborder-radiuson first/last children to fix clipped focus outlines..accordion-panelto avoid collision with.panelinbase.css(page layout background)outline-offset: -var(--border-width)→calc(-1 * var(--border-width))— CSS custom properties requirecalc()for negationflex-direction: columntofieldset legendto restore vertical stacking lost when SCSS@extend labelwas inlined&__suffixconcatenation inreactSelect.cssto full class names — native CSS nesting wraps selector lists in:is(), breaking&concatenation that worked in SCSSReview fixes
reactSelect.cssselectors, fix accordion border-radius on single items, add missingfieldsetreset informs.css, correct input border variable referencestylelintto GitHub Actions linter job, VS Code recommended extensions, and editor-on-save configno-descending-specificity(too noisy with CSS nesting), ignore third-party class name patterns (react-select, font-awesome) via config overrides, rename IDs to kebab-caseclipwithclip-path: inset(50%)in visually-hidden patterns::input-placeholderpseudo-element (old non-Chromium Edge)word-break: break-wordwithoverflow-wrap: anywhere(spec equivalent)Why
The project uses only basic SCSS features (variables, nesting,
@extend, interpolation). No mixins, functions, maps, or loops. Every feature used now has a native CSS equivalent with baseline 2024 browser support. Removing SCSS:sass,sass-loader)@import→@usemigration pressure@layer,@scope,@property) without preprocessor interference