Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
415 commits
Select commit Hold shift + click to select a range
1512cab
refactor(navdrawer): add missing styles
simeonoff Feb 21, 2026
89fa34e
refactor(themes): replace --igx prefixes with --ig
simeonoff Feb 21, 2026
ff69467
refactor(navdrawer): streamline animation
simeonoff Feb 21, 2026
b0c7e00
refactor(themes): bring back the grid theme
simeonoff Feb 21, 2026
4f8d8ec
docs: fix sassdoc for _standalone.scss
simeonoff Feb 21, 2026
c24ec1a
refactor(themes): update standalone mixins
simeonoff Feb 24, 2026
3afbe8a
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Mar 4, 2026
bcb01ec
feat(input-group): pass hints QueryList from wrapper components to in…
desig9stein Mar 5, 2026
c99f548
fix(styles): update height properties to inherit for bundle components
desig9stein Mar 9, 2026
70cf4c6
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Mar 9, 2026
c99ca83
fix(navigation-drawer): replace specificity placeholders with explici…
desig9stein Mar 9, 2026
d3b30ed
fix(input-group): adjust hint row height and update padding; inherit …
desig9stein Mar 9, 2026
f08ba7b
fix(buttons): update icon sizing and alignment in button and icon-but…
desig9stein Mar 9, 2026
99fe636
fix(input-group): fix fluent inherit height for bundle elements
desig9stein Mar 9, 2026
bce5eef
fix(input-group): update input fluent styles to fix file height
desig9stein Mar 9, 2026
ada0ea1
refactor(grid): scope styles to grid components (#16813)
desig9stein Mar 11, 2026
2cc1360
deps(theming): bump to the latest version
simeonoff Mar 11, 2026
15cd977
feat(date-range-picker): fix styling issues
desig9stein Mar 12, 2026
bf4a9ba
feat(action-strip): refactor sample layout and enhance styling
desig9stein Mar 12, 2026
a3ed637
fix(themes): update box-shadow and layout inconsistencies across themes
desig9stein Mar 16, 2026
b1a7b21
refactor(samples): remove local density chooser for each individual c…
desig9stein Mar 18, 2026
9480f06
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Mar 18, 2026
2fdad66
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Mar 18, 2026
76dd131
refactor(samples): update sample styles for layout consistency
desig9stein Mar 19, 2026
6ff7c4f
fix(samples): ensure active item is scrolled into view
desig9stein Mar 19, 2026
79d6b72
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Mar 19, 2026
dc51cae
refactor(themes, samples): improve styles and remove redundant functi…
desig9stein Mar 20, 2026
a397064
refactor(samples): remove `@HostBinding` for dynamic size styles and …
desig9stein Mar 20, 2026
197d943
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Mar 20, 2026
aef684d
fix(themes): remove redundant styles and improve button-group alignment
desig9stein Mar 20, 2026
4e6b1a5
fix(themes): correct theme references and adjust styles for consistency
desig9stein Mar 23, 2026
b69fffc
fix(date-range-picker): improve layout and grid alignment in date-ran…
desig9stein Mar 25, 2026
1ce7a26
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Mar 25, 2026
5346c6c
refactor(chart-dialog): replace IgxDividerDirective with IgxDividerCo…
desig9stein Mar 25, 2026
27601b5
chore(dependencies): update `igniteui-theming` to `v25.0.2`
desig9stein Mar 25, 2026
67f559d
fix(themes): refine grid and filtering styles for consistency
desig9stein Mar 26, 2026
5154929
fix(themes): reorganize and clean up grid styles for consistency
desig9stein Mar 26, 2026
805806b
refactor(themes, samples): clean up styles, improve structure, and up…
desig9stein Mar 27, 2026
b6cf64e
chore(dependencies, themes): update `igniteui-theming` to `v25.1.0-be…
desig9stein Mar 27, 2026
dd40539
feat(checkbox): implement disabled-fill-color and apply to all themes
didimmova Mar 30, 2026
5cc65dc
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Mar 30, 2026
20eb639
fix(scripts, dependencies): bring back concurrent tasks for styles wa…
desig9stein Mar 30, 2026
4a5a1b2
fix(themes): update filtered icon across themes
desig9stein Mar 30, 2026
e043873
fix(input-group): prevent hints from flickering when value is changed…
desig9stein Mar 30, 2026
c06b311
fix(styles, samples): adjust drop-down and grid styles, add input pla…
desig9stein Mar 31, 2026
551771a
refactor(samples, styling): revamp grid-pdf-export sample layout and …
desig9stein Mar 31, 2026
9dcd93e
refactor(themes): consolidate toolbar SCSS files, remove redundancies
desig9stein Apr 1, 2026
e3608fa
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Apr 1, 2026
268a345
fix(input-group): move styles to material them for lable positioning
desig9stein Apr 1, 2026
40e0901
refactor(samples, styles): simplify and modernize component samples l…
desig9stein Apr 1, 2026
0c4b23c
chore(dependencies): update `igniteui-theming` to v25.1.0
desig9stein Apr 1, 2026
4bf3df6
fix(styles): update navigation drawer and input group SCSS, improve s…
desig9stein Apr 2, 2026
0265478
fix(styles): update property label styling in properties panel
desig9stein Apr 2, 2026
df4a50f
fix(color-sample): add support for modern CSS color formats in hex co…
desig9stein Apr 2, 2026
394aa10
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Apr 2, 2026
a87b70f
fix(checkbox-base-directive): update label class to include base CSS …
desig9stein Apr 2, 2026
019c0cf
fix(styles): add `--_bundle-row: 1` for all inputs inside the cell
desig9stein Apr 2, 2026
70259f1
refactor(samples): Cleanup inputs sample
desig9stein Apr 2, 2026
c3bb203
fox(grid): use correct color variables for expand/collapse-all icon i…
desig9stein Apr 2, 2026
0a34175
refactor(samples): set grid-template-rows for auto sizing
desig9stein Apr 2, 2026
8670536
refactor(samples): enhance layout and styling for improved usability
desig9stein Apr 2, 2026
0be77c4
fix(input-group): update grid row variables for input groups and labels
desig9stein Apr 3, 2026
dcc13aa
Merge remote-tracking branch 'origin/master' into simeonoff/scoped-st…
desig9stein Apr 3, 2026
a93b9dd
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Apr 6, 2026
367ddaa
fix(layout): wrap router outlet in a div for improved responsiveness
desig9stein Apr 6, 2026
5db6202
fix(scombp): update igx-combo toggle button styles
desig9stein Apr 6, 2026
9828b03
fix(simple-combo): add styles for simple combo component
desig9stein Apr 6, 2026
4d164a5
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Apr 7, 2026
697f63c
fix(styles): fix missing bracket
desig9stein Apr 7, 2026
35a0774
fix(dropdown): fix spacing for label items
adrianptrv Apr 9, 2026
d1b9a63
feat(splitter): align splitter with the latest design handoff (#16997)
didimmova Apr 14, 2026
85b58b9
refactor(button-group): refactor and update button group styles w/o o…
didimmova Apr 16, 2026
ed345fe
chore(deps): update theming package
didimmova Apr 16, 2026
2de18bc
feat(query-builder): update fluent and/or button styles
didimmova Apr 17, 2026
06d3f42
feat(grid): fix ghost-row styles
didimmova Apr 17, 2026
c15c8fe
fix(chips): update chips paddings and gaps
didimmova Apr 20, 2026
89eb10f
fix(badge): fix badge to work with content projection
didimmova Apr 20, 2026
997d916
fix(input-group): separate input and file-input tokens
didimmova Apr 21, 2026
966c322
feat(chips-area): add separate theme (#17205)
adrianptrv Apr 30, 2026
35002e3
Merge branch 'master' into simeonoff/scoped-styles
simeonoff May 28, 2026
3c3be0b
refactor: fix build errors after merging master
simeonoff May 28, 2026
8f8b8dc
fix(elevations): fix indigo dark theme elevations
didimmova May 29, 2026
f7e999e
fix(date-range): fix discrepancies for daterange picker
didimmova May 29, 2026
b909029
feat(grids): consolidate shared grid styles via adoptedStyleSheets
simeonoff Jun 2, 2026
48b6776
fix(styles): rebuild grid-base.styles.ts on SCSS watch changes
simeonoff Jun 2, 2026
6223d81
chore(scripts): clean up sass build scripts and suppress if-function …
simeonoff Jun 2, 2026
3b8422d
refactor(scripts): streamline sass build and skip duplicate npm start…
simeonoff Jun 2, 2026
9a5f9c9
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 10, 2026
6564655
fix: errors post igniteui-theming update
simeonoff Jun 10, 2026
c7aac08
deps: bump theming to 27.1.0
simeonoff Jun 11, 2026
8cfdc9e
npm: update package-lock.json
simeonoff Jun 11, 2026
094c682
chore(styles): remove deprecated component/theme files
simeonoff Jun 11, 2026
a9b5bd7
deps: update igniteui-sassdoc-theme
simeonoff Jun 12, 2026
ad4465b
npm: update package-lock.json
simeonoff Jun 12, 2026
cbcc9b3
fix(styles): update border styles for pinned rows and columns
desig9stein Jun 15, 2026
57a7a35
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 22, 2026
20db870
fix: minor adjustments after merging master
simeonoff Jun 22, 2026
768142d
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 22, 2026
690c07a
feat(grid): update grid styles and theme builder sample (scoped-style…
didimmova Jun 22, 2026
166bd25
lint: fix errors
simeonoff Jun 22, 2026
ccc94ec
build: increase build budget
simeonoff Jun 22, 2026
6156c8f
lint: fix stylelint warnings and errors
simeonoff Jun 22, 2026
904b783
fix(test): remove stale karma plugin require and unused test assets
simeonoff Jun 22, 2026
12d3559
lint: fix errors
simeonoff Jun 22, 2026
efff1b6
spec(date-range-picker): update spec with the correct classes
simeonoff Jun 23, 2026
03cd3e2
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 23, 2026
9c0071e
lint: fix lint errors
simeonoff Jun 23, 2026
25aa5bf
spec(combo): fix failing tests
simeonoff Jun 24, 2026
7c3f05a
spec: fix drop-down, simple-combo, stepper, and tabs
simeonoff Jun 25, 2026
ca65533
spec(query-builder): fix failing tests
simeonoff Jun 25, 2026
f33610d
fix(styles): register component stylesheets once per document
simeonoff Jun 25, 2026
0e4a062
fix(progress-bar): allow setting of two-tone gradient in circular bar
simeonoff Jun 25, 2026
459479e
spec(pivot-grid): stabilize filter chip dropdown tests
simeonoff Jun 25, 2026
d380b86
spec(grid): fix some failing tests
simeonoff Jun 25, 2026
fda680a
spec(grid): fix failing tests
simeonoff Jun 25, 2026
df84529
refactor(excel-style-search): bump small itemSize to 28px
simeonoff Jun 26, 2026
391af23
spec(colum-resizing): adjust tests to account for border
simeonoff Jun 26, 2026
6d9b598
fix(excel-style-filtering): cache search list height to avoid NG0100
simeonoff Jun 26, 2026
4e17689
spec(utils): fix comparison utils
simeonoff Jun 26, 2026
4098ee4
spec(grid): re-baseline scroll/alignment tests for themed rendering
simeonoff Jun 26, 2026
c5d0bbd
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 26, 2026
7cba52a
npm(package-lock): do a clean reinstall of all packages
simeonoff Jun 26, 2026
e019458
lint: fix linting errors
simeonoff Jun 26, 2026
9754b10
spec(pdf-export): raise per-test timeout so slow exports don't leak
simeonoff Jun 26, 2026
f432ee4
fix(grid): validate primaryKey field once per primaryKey/data change
simeonoff Jun 26, 2026
96c5f9e
fix(core): default formatDate to mediumDate when no format is supplied
simeonoff Jun 26, 2026
06d3412
spec(grid-filtering): de-flake arrow-button chip scroll test
simeonoff Jun 26, 2026
a442e80
spec(elements): make suite runnable in containers and de-flake projec…
simeonoff Jun 26, 2026
4066040
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jun 26, 2026
bfaa539
fix(styles): fix grid filtering chips cut off
desig9stein Jun 29, 2026
1945a14
fix(styles): fix pickers missing display on host
desig9stein Jun 29, 2026
b72f70b
fix(styles): fix material card missing border in elevated state
desig9stein Jun 29, 2026
95f97f7
feat(styles): add simple combo showcase component sample and fix simp…
desig9stein Jun 29, 2026
d70f34b
feat(chat): enhance chat sample
desig9stein Jun 29, 2026
b545862
fix(styles): remove unnecessary host styles from multiple components
desig9stein Jun 29, 2026
1698b15
feat(styles): add simple combo showcase component with Angular and WC…
desig9stein Jun 29, 2026
8c72eaa
refactor(themes): move component tokens to the global theme files
simeonoff Jun 29, 2026
1f05ed8
fix(test): fix failing tests do to ricent changes
desig9stein Jun 29, 2026
8331ecc
Merge branch 'simeonoff/scoped-styles' of github.com:IgniteUI/igniteu…
simeonoff Jun 29, 2026
f36fa2e
refactor(themes): move chip tokens to global theme stylesheet
simeonoff Jun 29, 2026
4bc3ebd
refactor(checkbox): move the tokens to the global theme
simeonoff Jun 29, 2026
689a69a
refactor(themes): move radio tokens to global theme
simeonoff Jun 29, 2026
c38f008
feat(styles): make sure filtering chip inside the filtering cell has …
desig9stein Jun 29, 2026
88ed65c
refactor(themes): add missing radio declaration from the generators
simeonoff Jun 29, 2026
30ce97a
feat(styles): atempt to fix the failing filtering cell test
desig9stein Jun 30, 2026
d831eaa
feat(styles): Revert changes for chips in grid filtering cells.
desig9stein Jul 1, 2026
547c35b
refactor(themes): move input group tokens to the global theme files
simeonoff Jul 1, 2026
9a74d66
fix(styles): correct padding variable usage in list item styles remov…
desig9stein Jul 1, 2026
2758adf
fix(icon-button): add cursor pointer
desig9stein Jul 1, 2026
edf5ff6
refactor(themes): centralize component & derived tokens out of compon…
simeonoff Jul 1, 2026
76ab32a
build(extras): add missing Sass compiler paths to ng-package.json
simeonoff Jul 2, 2026
484f524
refactor(grid): move component tokens to global theme file
simeonoff Jul 2, 2026
fa4f787
refactor(themes): remove unused code
simeonoff Jul 3, 2026
131654f
refactor(navdrawer): consume size tokens from theming schema (#17383)
simeonoff Jul 6, 2026
dad84a7
fix(date-range-picker): Apply grid only when we have both, range star…
desig9stein Jul 7, 2026
baac6e0
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 8, 2026
6e70a63
fix(grid): let filtering chips area shrink below content width on resize
simeonoff Jul 8, 2026
11f49f2
refactor(themes): change import paths
simeonoff Jul 8, 2026
32fed3f
Merge branch 'master' into simeonoff/scoped-styles
kdinev Jul 9, 2026
d2c308d
chore(*): updating the bundle-test project
kdinev Jul 9, 2026
ef2224e
Merge branch 'simeonoff/scoped-styles' of https://github.com/IgniteUI…
kdinev Jul 9, 2026
c24c60d
refactor(themes): switch component theming to runtime --ig-theme/--ig…
simeonoff Jul 9, 2026
7d30a6a
lint: fix lint error in theme.token.ts
simeonoff Jul 9, 2026
539be63
fix(themes): restore $exclude support for scoped-styles components
simeonoff Jul 9, 2026
c776a8c
chore(migrations): add migrations for changes to mixins and components
simeonoff Jul 9, 2026
6a409f3
feat(progress): fix values not animating on Safari (#17402)
adrianptrv Jul 9, 2026
9d9eeca
fix(input-group): add styling support for date/time/month/week input …
simeonoff Jul 9, 2026
028ea33
fix(radio): don't animate checked/unchecked transitions on initial re…
simeonoff Jul 13, 2026
39f3353
fix(button-group): keep selected item above sibling hover/active/focu…
simeonoff Jul 13, 2026
48ab0b3
fix(badge): restore icon-only/dot zero-padding exemptions in indigo t…
simeonoff Jul 13, 2026
f52d322
fix(input-group): set label transitions for border type to match text…
simeonoff Jul 13, 2026
097c5ee
fix(input-group): use :has() instead of prefixed/suffixed classes in …
simeonoff Jul 13, 2026
8d32087
lint: fix warnings in themes
simeonoff Jul 13, 2026
c2e1fad
fix(date-picker): scope overlay shape to --dropdown/--dialog classes
simeonoff Jul 13, 2026
5d5ce3d
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 13, 2026
98dd031
fix(styles): fix stepper issues
desig9stein Jul 13, 2026
281474d
fix(styles): fix stepper issues
desig9stein Jul 14, 2026
16ed603
chore(styles): remove commented code
desig9stein Jul 14, 2026
fe70a73
fix(calendar): update date range styles
desig9stein Jul 14, 2026
032c6ba
refactor(grid): don't show overlay background on loading data
simeonoff Jul 14, 2026
05833d5
Merge branch 'simeonoff/scoped-styles' of github.com:IgniteUI/igniteu…
simeonoff Jul 14, 2026
636c309
fix(action-strip): don't leak icon-color into nested drop-down items
simeonoff Jul 14, 2026
12211bf
fix(grid): add border to select all checkbox
desig9stein Jul 14, 2026
9710542
fix(input): address input related issues
simeonoff Jul 15, 2026
3a0e38e
fix(input-group): file input bundle height in fluent theme
simeonoff Jul 15, 2026
f5fe844
fix(stepper): remove active-only padding override causing horizontal …
simeonoff Jul 15, 2026
5c33b0a
fix(grid): don't override compact excel-filter checkbox label typography
simeonoff Jul 15, 2026
36369e8
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 15, 2026
51f912e
fix(input-group): center date/time input value in Safari
simeonoff Jul 15, 2026
ef1b5f9
chore(demos): let input-group-showcase inherit size from global setting
simeonoff Jul 15, 2026
dd732ba
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 15, 2026
df81fc0
fix(time-picker): remove duplicate box-shadow and stray background
simeonoff Jul 15, 2026
05518a7
fix(icon,navbar): stop navbar icon-size override from leaking
simeonoff Jul 15, 2026
44a273b
fix(stepper): remove redundant flex-grow and top calculation from ste…
desig9stein Jul 15, 2026
654eab1
fix(input-group): scope Safari datetime centering fix to border variant
simeonoff Jul 16, 2026
75acd84
fix(query-builder): don't override chip size in indigo
simeonoff Jul 16, 2026
887eb91
fix(tabs): uppercase the item titles in indigo theme
simeonoff Jul 16, 2026
fcd3aa2
fix(grid): remove duplicate border on pivot grid row-dimension headers
simeonoff Jul 16, 2026
419a563
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 16, 2026
7ea1262
fix(styles): update theming to use dynamic layer names
desig9stein Jul 16, 2026
2603882
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 16, 2026
7084d33
fix(grids): fix cell-editing input misalignment in Indigo theme
simeonoff Jul 16, 2026
b2b252a
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 17, 2026
ba1807f
fix(stepper): correct hover and focus styles for separators in fluent…
desig9stein Jul 17, 2026
09d4a10
fix(calendar): remove wrong style from fluent theme days view
desig9stein Jul 17, 2026
4a848b5
fix(grid): adjust expanderClass logic in hierarchical rows
desig9stein Jul 17, 2026
baede97
fix(grids): fix invalid cell-editing border height mismatch
simeonoff Jul 17, 2026
637b722
refactor(demos): overhaul overlay and overlay-presets samples
simeonoff Jul 17, 2026
5165222
refactor(demos): fix grid-theme-builder perf and split into components
simeonoff Jul 17, 2026
113c69e
fix(themes): declare per-theme cascade layer in the global @layer order
simeonoff Jul 17, 2026
2469a40
refactor(demos): rework grid-auto-size sample layout and controls
simeonoff Jul 17, 2026
bbe32f8
fix(input-group): suppress label float transition on initial mount
simeonoff Jul 17, 2026
aea3f11
lint: fix errors
simeonoff Jul 17, 2026
ac93ee9
fix(themes): match derived themes by host class, not tag name
simeonoff Jul 17, 2026
a19b6e3
fix(grid): add border to pinned rows in scroll-start section
desig9stein Jul 20, 2026
d1e4c6a
fix(calendar): apply border style to month picker components in boots…
desig9stein Jul 20, 2026
fdafa7e
fix(button-group): wrap button group content in a container
desig9stein Jul 20, 2026
ef9b9ba
fix(tabs): update tab header styles to use consistent spacing with ga…
desig9stein Jul 20, 2026
734d896
fix(button-group): move button iteration inside container
desig9stein Jul 21, 2026
8f9f865
fix(grid): add border style to hierarchical empty hierarchical-expand…
desig9stein Jul 21, 2026
9cc1dbd
fix(tabs): add gap between tab header items
desig9stein Jul 21, 2026
0818699
refactor(hierarchical-grid): adjust sample styles for header actions …
desig9stein Jul 22, 2026
54139d2
fix(list): add margin-start to align item actions
desig9stein Jul 23, 2026
10bd45f
Merge branch 'master' into simeonoff/scoped-styles
desig9stein Jul 23, 2026
09c4784
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 24, 2026
f990a31
fix(button): emit icon size override in the theme layer
simeonoff Jul 24, 2026
d1edbfd
fix(button): gate transitions behind a post-render ready modifier
simeonoff Jul 24, 2026
4a2b218
fix(icon-button): transitions, icon size, and fluent focus ring
simeonoff Jul 24, 2026
e731131
spec: fix some failing tests after refactoring
simeonoff Jul 24, 2026
83558b0
test(grid): await deferred navigation render in aria-attributes test
simeonoff Jul 24, 2026
91b1c09
fix(migrations): remove dangling typography mixins and deep scss imports
simeonoff Jul 27, 2026
afbea47
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 27, 2026
d12d4ea
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Jul 27, 2026
28e5166
chore: update hamburger menu icon to use icon button
simeonoff Jul 28, 2026
bfddb40
fix(demos): improve page header toggle accessibility and select sizing
simeonoff Jul 28, 2026
df42b8f
fix(input-group): add toggle-button spacing
simeonoff Jul 28, 2026
77ba776
fix(pageHeading): center text in logo
simeonoff Jul 28, 2026
ef34573
chore(demos): remove unused imports from pageHeading
simeonoff Jul 28, 2026
3a96e5d
fix(input-group): align floating label timing with Material curve
simeonoff Jul 28, 2026
e3d68a8
spec(month-picker): replace classes after merge with master
simeonoff Jul 28, 2026
975d1d9
chore: update CHANGELOG.md
simeonoff Jul 28, 2026
10feeb6
spec: add just-driven CI-parity Docker test runner
simeonoff Jul 28, 2026
8c6d8ce
chore: merge master into scoped-styles
simeonoff Aug 3, 2026
709067f
fix(drop-down): restore position absolute lost in scoped-styles merge
simeonoff Aug 3, 2026
c68b12c
fix(drop-down): shrink dropdown panel to content width
simeonoff Aug 3, 2026
2ad98ba
Merge branch 'simeonoff/scoped-styles' of github.com:IgniteUI/igniteu…
simeonoff Aug 3, 2026
cf62d17
fix(drop-down): shrink dropdown panel to content width
simeonoff Aug 3, 2026
3b18551
chore: merge master branch
simeonoff Aug 3, 2026
7f187a0
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Aug 4, 2026
19b57fb
Merge branch 'master' into simeonoff/scoped-styles
simeonoff Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ src/**/*.js
src/**/*.js.map
src/**/*.css.map

# Artefacts
projects/igniteui-angular/**/*.component.css
projects/igniteui-angular/**/*.styles.ts

# Typedoc Theme
# Typedoc and SassDoc Themes
extras/sassdoc/**/*
extras/docs/themes/typedoc/bin
Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,32 @@ All notable changes for each version of this project will be documented in this

## 22.1.0

### New Features

- **Theming**
- Component structural styles are now **scoped and tree-shakable** — they ship inside each component's own bundle instead of a single global, all-or-nothing theme stylesheet. An app now pays for CSS only for the components it actually imports.
- Design tokens for all four design systems (Material, Bootstrap, Fluent, Indigo) × light/dark are emitted **once per theme** into the global preset (e.g. `igniteui-angular.css`). As a result of those changes, the pre-built theme files are roughly **half the size** (~49% smaller raw, ~58% smaller gzip).
- Finalized the migration to the `tokens()` mixin as the single, universal way to apply a component theme, replacing the individual per-component wrapper mixins (`avatar()`, `dialog()`, `checkbox()`, `tabs()`, etc.) across the rest of the library, following the same pattern already introduced for the Grid family in 22.0.0:
```scss
// Before
.my-avatar {
@include avatar(avatar-theme($background: red));
}

// After
.my-avatar {
@include tokens(avatar-theme($background: red));
}
```
- Cascade layering (`ig.base` → `ig.typography` → `ig.material` → `ig.derived`) keeps precedence deterministic between structural styles, typography, design-system overrides, and derived/contextual tokens now that styles are split across component bundles and the global preset.

### Breaking Changes

- The individual per-component Sass theme wrapper mixins (`avatar`, `badge`, `banner`, `bottom-nav`, `button-group`, `calendar`, `card`, `carousel`, `checkbox`, `chip`, `column-actions`, `combo`, `date-picker`, `date-range-picker`, `dialog`, `divider`, `drop-down`, `expansion-panel`, `excel-filtering`, `grid-summary`, `grid-toolbar`, `icon`, `file-input`, `input-group`, `list`, `navbar`, `navdrawer`, `paginator`, `progress-circular`, `progress-linear`, `query-builder`, `radio`, `select`, `slider`, `snackbar`, `splitter`, `stepper`, `switch`, `tabs`, `time-picker`, `toast`, `tree`, and the grid/pivot mixins), which have been marked as deprecated in favor of the generic tokens/css-vars mixins for several major versions, have now been removed. Use the `tokens()` mixin instead. The `ng update` migration for 22.1.0 automatically rewrites existing `@include <component>(<component>-theme(...))` calls to `@include tokens(<component>-theme(...))`.
- Removed the per-component `-typography` mixins (`badge-typography`, `dialog-typography`, `checkbox-typography`, etc.). Typography is now applied automatically as part of each component's tokens, so these standalone calls are no longer needed. The `ng update` migration deletes existing calls (including multi-line and aliased calls) automatically.
- Removed the deep Sass imports of per-component structural partials (e.g. `igniteui-angular/lib/core/styles/components/avatar/avatar-component`) and their `component()` mixin calls. Structural styles are no longer optionally-included Sass — they now ship automatically with each component's bundle. The `ng update` migration removes these `@use` statements and matching `component()` calls automatically.
- `IgxDividerDirective` has been replaced by `IgxDividerComponent` (divider is now a standalone component with its own scoped stylesheet). The `ng update` migration updates existing imports/usages automatically; `IgxDividerModule` is unaffected.

### General

- **Removed Hammer.js dependency**
Expand Down
40 changes: 40 additions & 0 deletions Dockerfile.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Platform is forced via `docker build/run --platform linux/amd64` (see
# scripts/docker-test/{image,container}.mjs) rather than hardcoded here, to
# avoid BuildKit's FromPlatformFlagConstDisallowed lint warning.
#
# Ubuntu version MUST match `runs-on` in .github/workflows/nodejs.yml.
# GitHub silently redefines what "ubuntu-latest" means (last moved
# 22.04 → 24.04 in Jan 2025) — check that workflow whenever bumping this.
FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive

# ── Google Chrome (x86 — best-effort match for CI's ubuntu-latest runner) ────
# NOTE: this always installs whatever apt's "stable" channel currently
# resolves to; CI's runner image ships a periodically-frozen Chrome snapshot,
# so exact version parity is not guaranteed (see justfile / SKILL.md caveat).
RUN apt-get update \
&& apt-get install -y curl gnupg ca-certificates \
&& curl -fsSL https://dl.google.com/linux/linux_signing_key.pub \
| gpg --dearmor -o /etc/apt/trusted.gpg.d/google-chrome.gpg \
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" \
> /etc/apt/sources.list.d/google-chrome.list \
&& apt-get update \
&& apt-get install -y google-chrome-stable \
&& rm -rf /var/lib/apt/lists/*

# ── Node 24 ───────────────────────────────────────────────────────────────────
RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*

# ── Chrome wrapper (container-stable flags, no karma config changes needed) ──
RUN printf '#!/bin/sh\nexec /usr/bin/google-chrome-stable --disable-dev-shm-usage --no-zygote "$@"\n' \
> /usr/local/bin/google-chrome-ci \
&& chmod +x /usr/local/bin/google-chrome-ci

ENV CHROME_BIN=/usr/local/bin/google-chrome-ci \
PUPPETEER_SKIP_DOWNLOAD=1 \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1

WORKDIR /workspace
69 changes: 44 additions & 25 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,11 @@
"namedChunks": true,
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"browser": "./src/main.ts"
},
Expand Down Expand Up @@ -199,13 +202,14 @@
"src/styles/styles.scss",
"projects/igniteui-angular/test.css"
],
"assets": [
"projects/igniteui-angular/test-utils/assets"
],
"assets": [],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"tsConfig": "projects/igniteui-angular/tsconfig.spec.json",
"karmaConfig": "projects/igniteui-angular/karma.conf.js",
Expand Down Expand Up @@ -294,8 +298,11 @@
"stylePreprocessorOptions": {
"includePaths": [
"node_modules",
"node_modules/@infragistics"
]
"node_modules/@infragistics",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"tsConfig": "projects/igniteui-angular-extras/tsconfig.spec.json",
"karmaConfig": "projects/igniteui-angular-extras/karma.conf.js"
Expand Down Expand Up @@ -360,8 +367,11 @@
],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"browser": "projects/igniteui-angular-elements/src/main.ts"
},
Expand All @@ -370,8 +380,8 @@
"budgets": [
{
"type": "allScript",
"maximumWarning": "2.5mb",
"maximumError": "3.5mb"
"maximumWarning": "6mb",
"maximumError": "7mb"
},
{
"type": "bundle",
Expand All @@ -381,8 +391,8 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
"maximumWarning": "200kb",
"maximumError": "300kb"
}
],
"fileReplacements": [
Expand Down Expand Up @@ -448,8 +458,11 @@
],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"scripts": []
}
Expand Down Expand Up @@ -486,8 +499,11 @@
"scripts": [],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
},
"ssr": {
"entry": "projects/bundle-test/server.ts"
Expand All @@ -510,8 +526,8 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
"maximumWarning": "200kb",
"maximumError": "300kb"
}
],
"outputHashing": "all",
Expand Down Expand Up @@ -589,8 +605,11 @@
],
"stylePreprocessorOptions": {
"includePaths": [
"node_modules"
]
"node_modules",
"projects/igniteui-angular",
"projects/igniteui-angular/core/src/core/"
],
"sass": { "silenceDeprecations": ["if-function"] }
}
},
"configurations": {
Expand All @@ -603,8 +622,8 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "4kB",
"maximumError": "8kB"
"maximumWarning": "200kB",
"maximumError": "300kB"
}
],
"outputHashing": "all"
Expand Down
43 changes: 43 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# justfile — CI-parity test runner
#
# Runs the Ignite UI for Angular test suite inside a Docker container that
# matches CI exactly (ubuntu:24.04 + Node 24 + Google Chrome), regardless of
# host OS. All orchestration lives in scripts/docker-test/*.mjs (Node, not
# shell) so these recipes work unchanged on Windows, macOS, and Linux.
#
# Requires: docker, node. Install `just`: https://github.com/casey/just#installation
#
# Examples:
# just test avatar # spec suite for one component
# just test '**/slider/**/*.spec.ts'
# just test # CI default: test:lib + test:styles
# just run test:lib:others # any npm script, run inside the container
# just build # force-rebuild the Docker image
# just shell # interactive shell in the container
# just clean # remove the image + node_modules volume

cli := "node scripts/docker-test/cli.mjs"

# List available recipes (default when running bare `just`)
default:
@just --list

# Run one component's specs, an explicit glob, or the CI default suite
test COMPONENT="":
{{ cli }} test "{{ COMPONENT }}"

# Run any npm script (e.g. test:lib, test:lib:others, test:lib:grid) in the container
run SCRIPT *ARGS:
{{ cli }} run "{{ SCRIPT }}" {{ ARGS }}

# (Re)build the CI-parity Docker image; auto-runs anyway when Dockerfile.test changes
build:
{{ cli }} build

# Drop into an interactive shell inside the CI-parity container
shell:
{{ cli }} shell

# Remove the CI-parity image and cached node_modules volume
clean:
{{ cli }} clean
Loading
Loading