Styles: lint theme variables for branch duplicates, missing !default and dead declarations - #35049
Conversation
…default on module variables
…an override it
…ding, and leave no blank first line after a hoist
…when it is mentioned once
There was a problem hiding this comment.
🟡 Changes recommended
The updated unused-variable test logic can incorrectly treat cross-theme reads as “usage”, potentially hiding theme-specific unused variable declarations.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR strengthens SCSS theme-variable hygiene in devextreme-scss by adding custom Stylelint checks and by normalizing many theme/base variable declarations to be safely overrideable via Sass modules (@use ... with(...)).
Changes:
- Added a fixable Stylelint rule (
dx/module-variable-default) to enforce!defaulton module-level variables (including those inside@if/@elsebranches). - Refactored many SCSS variable declarations across base/generic/material/fluent to add missing
!defaultand remove/hoist dead or duplicated branch declarations. - Updated SCSS repository checks and added rule-level tests for the new Stylelint plugin.
File summaries
| File | Description |
|---|---|
| packages/devextreme-scss/tools/stylelint/module-variable-default.mjs | New fixable Stylelint rule enforcing !default on module-level $... declarations. |
| packages/devextreme-scss/tests/stylelint-rule.ts | Test helper to run Stylelint plugins against SCSS fixtures (lint + --fix). |
| packages/devextreme-scss/tests/module-variable-default.test.ts | Jest coverage for the new dx/module-variable-default rule (reporting + autofix). |
| packages/devextreme-scss/tests/unused-elements.test.ts | Reworked unused-variable detection logic for SCSS files (variable usage collection). |
| packages/devextreme-scss/.stylelintrc.json | Registers/enables dx/module-variable-default and dx/no-identical-branch-declarations. |
| packages/devextreme-scss/scss/widgets/material/validation/_sizes.scss | Removes duplicated/unused size variable declarations in branches. |
| packages/devextreme-scss/scss/widgets/material/typography/_sizes.scss | Hoists a size constant to module scope with !default. |
| packages/devextreme-scss/scss/widgets/material/treeView/_sizes.scss | Removes duplicated branch declarations and adds !default where needed. |
| packages/devextreme-scss/scss/widgets/material/textEditor/_sizes.scss | Adds !default to module-level size variables previously missing it. |
| packages/devextreme-scss/scss/widgets/material/textEditor/_index.scss | Adds !default to module-level variables for safer overrides. |
| packages/devextreme-scss/scss/widgets/material/textEditor/_colors.scss | Adds !default to derived color/transition variables. |
| packages/devextreme-scss/scss/widgets/material/textBox/_index.scss | Adds !default to computed padding/size variables. |
| packages/devextreme-scss/scss/widgets/material/tagBox/_sizes.scss | Hoists duplicated values / adds !default for consistent overrides. |
| packages/devextreme-scss/scss/widgets/material/tabs/variables/_sizes.scss | Hoists common computed padding out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/material/switch/_sizes.scss | Hoists duplicated variables and adds missing !default. |
| packages/devextreme-scss/scss/widgets/material/switch/_index.scss | Adds !default to module-level transition/shadow variables. |
| packages/devextreme-scss/scss/widgets/material/splitter/_sizes.scss | Adds missing !default to module-level size variable. |
| packages/devextreme-scss/scss/widgets/material/speedDialAction/_sizes.scss | Removes dead vars and adds !default where appropriate. |
| packages/devextreme-scss/scss/widgets/material/speedDialAction/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/material/slider/_sizes.scss | Removes dead/duplicated branch vars. |
| packages/devextreme-scss/scss/widgets/material/slider/_index.scss | Adds !default to module-level slider variables. |
| packages/devextreme-scss/scss/widgets/material/scrollView/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/scrollable/_sizes.scss | Adds !default to module-level scrollbar sizes. |
| packages/devextreme-scss/scss/widgets/material/scheduler/_index.scss | Adds !default to module-level scheduler sizing variables. |
| packages/devextreme-scss/scss/widgets/material/scheduler/_colors.scss | Adds !default to module-level derived color variables. |
| packages/devextreme-scss/scss/widgets/material/recurrenceEditor/_index.scss | Adds !default to module-level spacing variables. |
| packages/devextreme-scss/scss/widgets/material/rangeSlider/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/radioButton/_index.scss | Adds !default to module-level transition variable. |
| packages/devextreme-scss/scss/widgets/material/progressBar/_index.scss | Adds !default to module-level progressbar variables. |
| packages/devextreme-scss/scss/widgets/material/popup/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/pivotGrid/_index.scss | Adds !default to module-level sizing/shadow variables. |
| packages/devextreme-scss/scss/widgets/material/menuBase/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/menuBase/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/menu/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/list/_index.scss | Adds !default to module-level border/padding variables. |
| packages/devextreme-scss/scss/widgets/material/informer/_colors.scss | Adds !default to mode-specific derived colors. |
| packages/devextreme-scss/scss/widgets/material/htmlEditor/_sizes.scss | Hoists duplicated size var out of branches with !default. |
| packages/devextreme-scss/scss/widgets/material/gridBase/layout/aiChat/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/gridBase/_variables.scss | Adds !default to module-level derived grid variables. |
| packages/devextreme-scss/scss/widgets/material/gridBase/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/material/gridBase/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/material/gridBase/_colors.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/material/gantt/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/gantt/_colors.scss | Adds !default in conditional color branches. |
| packages/devextreme-scss/scss/widgets/material/fileUploader/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/fileUploader/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/fileManager/_sizes.scss | Adds !default to module-level derived size variable. |
| packages/devextreme-scss/scss/widgets/material/fileManager/_colors.scss | Removes dead declarations. |
| packages/devextreme-scss/scss/widgets/material/dropDownEditor/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/material/dropDownButton/_sizes.scss | Adds missing !default inside size branches. |
| packages/devextreme-scss/scss/widgets/material/diagram/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/material/dateView/_index.scss | Adds !default to module-level derived variable. |
| packages/devextreme-scss/scss/widgets/material/dateRangeBox/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/common/_mixins.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/colorView/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/material/checkBox/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/chat/_sizes.scss | Hoists duplicated var out of branches with !default. |
| packages/devextreme-scss/scss/widgets/material/button/_sizes.scss | Removes dead vars / ensures remaining module-level vars are !default. |
| packages/devextreme-scss/scss/widgets/material/button/_colors.scss | Adds !default to derived color variable. |
| packages/devextreme-scss/scss/widgets/material/actionSheet/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/material/_colors.scss | Hoists repeated derived variables out of mode blocks with !default. |
| packages/devextreme-scss/scss/widgets/generic/treeView/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/generic/treeView/_colors.scss | Removes dead declarations; adds !default where needed. |
| packages/devextreme-scss/scss/widgets/generic/treeList/_colors.scss | Replaces per-color duplication with a single defaulted assignment. |
| packages/devextreme-scss/scss/widgets/generic/toast/_index.scss | Adds !default to module-level shadow variable. |
| packages/devextreme-scss/scss/widgets/generic/textEditor/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/generic/textEditor/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/textEditor/_colors.scss | Adds !default to derived transition/color variables. |
| packages/devextreme-scss/scss/widgets/generic/tagBox/_colors.scss | Hoists duplicated variable out of color branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/tabs/variables/_sizes.scss | Hoists duplicated vars and sets consistent !default values. |
| packages/devextreme-scss/scss/widgets/generic/tabs/variables/_colors.scss | Removes dead vertical hover var; hoists horizontal hover var with !default. |
| packages/devextreme-scss/scss/widgets/generic/tabPanel/variables/_borders.scss | Removes duplicated per-color blocks; keeps shared defaults. |
| packages/devextreme-scss/scss/widgets/generic/switch/_index.scss | Adds !default to module-level derived vars. |
| packages/devextreme-scss/scss/widgets/generic/switch/_colors.scss | Hoists duplicated readonly background variable out of color branches. |
| packages/devextreme-scss/scss/widgets/generic/splitter/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/speedDialAction/_sizes.scss | Adds !default to per-size variables. |
| packages/devextreme-scss/scss/widgets/generic/speedDialAction/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/generic/slider/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/slider/_colors.scss | Hoists duplicated focused-bg var out of color branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/scrollable/_sizes.scss | Adds !default to module-level scrollbar sizes. |
| packages/devextreme-scss/scss/widgets/generic/scheduler/_index.scss | Adds !default to module-level derived scheduler variables. |
| packages/devextreme-scss/scss/widgets/generic/recurrenceEditor/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/rangeSlider/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/progressBar/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/generic/popup/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/pivotGrid/_sizes.scss | Adds missing !default inside size branches. |
| packages/devextreme-scss/scss/widgets/generic/menuBase/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/list/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/htmlEditor/_sizes.scss | Adds !default to size-branch variables. |
| packages/devextreme-scss/scss/widgets/generic/gridBase/layout/aiChat/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/gridBase/_variables.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/gridBase/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/generic/gridBase/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/gantt/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/filterBuilder/_colors.scss | Hoists duplicated var out of color branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/fileUploader/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/fileManager/_sizes.scss | Hoists duplicated variable out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/fileManager/_colors.scss | Removes dead declarations. |
| packages/devextreme-scss/scss/widgets/generic/fieldset/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/dropDownEditor/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/diagram/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/dateView/_index.scss | Adds !default to module-level derived variable. |
| packages/devextreme-scss/scss/widgets/generic/contextMenu/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/common/_mixins.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/colorView/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/generic/checkBox/_sizes.scss | Hoists duplicated var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/checkBox/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/generic/chat/_sizes.scss | Hoists duplicated typing-indicator var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/generic/button/_sizes.scss | Removes dead declarations. |
| packages/devextreme-scss/scss/widgets/generic/_sizes.scss | Adds !default to module-level derived variable. |
| packages/devextreme-scss/scss/widgets/fluent/validation/_sizes.scss | Removes duplicated/unused size variable declarations in branches. |
| packages/devextreme-scss/scss/widgets/fluent/typography/_sizes.scss | Hoists a size constant to module scope with !default. |
| packages/devextreme-scss/scss/widgets/fluent/treeView/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/fluent/tooltip/_sizes.scss | Hoists duplicated font-size var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/textEditor/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/fluent/textEditor/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/fluent/textEditor/_colors.scss | Hoists duplicated outlined bg and adds !default to derived vars. |
| packages/devextreme-scss/scss/widgets/fluent/tagBox/_sizes.scss | Hoists duplicated var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/tabs/variables/_sizes.scss | Hoists computed padding out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/switch/_sizes.scss | Hoists duplicated vars out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/switch/_index.scss | Adds !default to module-level transition/shadow vars. |
| packages/devextreme-scss/scss/widgets/fluent/splitter/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/splitter/_colors.scss | Hoists duplicated vars out of mode branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/speedDialAction/_sizes.scss | Adds !default to per-size vars. |
| packages/devextreme-scss/scss/widgets/fluent/speedDialAction/_index.scss | Adds !default to module-level vars. |
| packages/devextreme-scss/scss/widgets/fluent/slider/_sizes.scss | Removes dead/duplicated branch vars. |
| packages/devextreme-scss/scss/widgets/fluent/scrollView/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/scrollable/_sizes.scss | Adds !default to module-level scrollbar sizes. |
| packages/devextreme-scss/scss/widgets/fluent/scheduler/_index.scss | Adds !default to module-level derived scheduler vars. |
| packages/devextreme-scss/scss/widgets/fluent/scheduler/_colors.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/fluent/recurrenceEditor/_index.scss | Adds !default to module-level spacing vars. |
| packages/devextreme-scss/scss/widgets/fluent/radioGroup/_sizes.scss | Removes duplicated var assignments in branches. |
| packages/devextreme-scss/scss/widgets/fluent/progressBar/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/progressBar/_colors.scss | Adds !default to module-level gradient variables. |
| packages/devextreme-scss/scss/widgets/fluent/popup/_sizes.scss | Hoists duplicated shadows out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/popup/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/pivotGrid/_index.scss | Adds !default to module-level sizing/shadow vars. |
| packages/devextreme-scss/scss/widgets/fluent/numberBox/_sizes.scss | Removes duplicated size-branch assignments; keeps a single !default. |
| packages/devextreme-scss/scss/widgets/fluent/menuBase/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/menuBase/_colors.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/list/_index.scss | Adds !default to module-level border vars. |
| packages/devextreme-scss/scss/widgets/fluent/informer/_colors.scss | Adds !default to mode-specific derived colors. |
| packages/devextreme-scss/scss/widgets/fluent/gridBase/layout/aiChat/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/gridBase/_variables.scss | Adds !default to module-level derived grid vars. |
| packages/devextreme-scss/scss/widgets/fluent/gridBase/_sizes.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/fluent/gridBase/_index.scss | Adds !default to module-level vars. |
| packages/devextreme-scss/scss/widgets/fluent/gridBase/_colors.scss | Hoists duplicated vars and adds missing !default. |
| packages/devextreme-scss/scss/widgets/fluent/gantt/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/form/_sizes.scss | Hoists duplicated var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/fileUploader/_sizes.scss | Hoists duplicated var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/fileUploader/_index.scss | Adds !default to module-level vars. |
| packages/devextreme-scss/scss/widgets/fluent/fileManager/_sizes.scss | Adds !default to module-level derived variable. |
| packages/devextreme-scss/scss/widgets/fluent/fileManager/_colors.scss | Removes dead declarations. |
| packages/devextreme-scss/scss/widgets/fluent/dropDownEditor/_index.scss | Adds !default to module-level derived vars. |
| packages/devextreme-scss/scss/widgets/fluent/dropDownButton/_sizes.scss | Adds missing !default inside size branches. |
| packages/devextreme-scss/scss/widgets/fluent/diagram/_index.scss | Adds !default to module-level derived vars. |
| packages/devextreme-scss/scss/widgets/fluent/dateView/_index.scss | Adds !default to module-level derived var. |
| packages/devextreme-scss/scss/widgets/fluent/dateRangeBox/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/common/_mixins.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/colorView/_index.scss | Adds !default to module-level derived vars. |
| packages/devextreme-scss/scss/widgets/fluent/chat/_sizes.scss | Hoists duplicated vars out of branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/chat/_colors.scss | Hoists duplicated var out of mode blocks with !default. |
| packages/devextreme-scss/scss/widgets/fluent/calendar/_colors.scss | Hoists duplicated var out of mode blocks with !default. |
| packages/devextreme-scss/scss/widgets/fluent/button/_sizes.scss | Hoists duplicated vars out of branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/badge/_sizes.scss | Hoists duplicated var out of branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/actionSheet/_sizes.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/fluent/accordion/_sizes.scss | Hoists duplicated var out of branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/_sizes.scss | Hoists duplicated var out of size branches with !default. |
| packages/devextreme-scss/scss/widgets/fluent/_colors.scss | Adds missing !default to derived color variable. |
| packages/devextreme-scss/scss/widgets/base/treeView/_common.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/treeList/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/base/scheduler/views/timelines/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/scheduler/views/agenda/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/scheduler/views/_index.scss | Adds !default to module-level scheduler sizing variables. |
| packages/devextreme-scss/scss/widgets/base/scheduler/layout/_header.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/scheduler/_common.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/pivotGrid/_index.scss | Adds !default to module-level derived variables. |
| packages/devextreme-scss/scss/widgets/base/list/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/gridBase/layout/aiChat/_variables.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/gridBase/_variables.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/diagram/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/colorView/_index.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/colorBox/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/cardView/header_panel/_index.scss | Adds !default to module-level variable. |
| packages/devextreme-scss/scss/widgets/base/_slider.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_scrollView.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_resizable.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_recurrenceEditor.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_pagination.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_numberBox.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_mixins.scss | Adds !default to module-level constants. |
| packages/devextreme-scss/scss/widgets/base/_loadIndicator.scss | Adds !default to module-level variables. |
| packages/devextreme-scss/scss/widgets/base/_icon_fonts.scss | Makes the $icons map defaultable with !default. |
| packages/devextreme-scss/scss/widgets/base/_htmlEditor.scss | Adds !default to module-level variables/constants. |
Review details
- Files reviewed: 212/212 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| if (char === ')') depth -= 1; | ||
| if (char === '$') { | ||
| variableRegex.lastIndex = index; | ||
| const [variable] = variableRegex.exec(content) ?? ['']; |
There was a problem hiding this comment.
what do you think about guarding the no-match case here - if exec returns nothing, variable is '' and index += variable.length never advances, so a stray $ spins forever? something like if (!variable) { index += 1; continue; }
…laiming the next variable
There was a problem hiding this comment.
🔵 Needs a closer look
The change set is mechanically consistent but touches a very large surface area of theme/base variables where subtle Sass module override/initialization order effects can cause hard-to-detect styling regressions without full human validation.
Review details
- Files reviewed: 212/212 changed files
- Comments generated: 0 new
- Review effort level: Lite
No description provided.