Repository navigation
feat(styles)!: move optional package styles into their own packages - #2817
Open
ghiscoding wants to merge 15 commits into
Open
ghiscoding wants to merge 15 commits into
ghiscoding wants to merge 15 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2817 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 202 202
Lines 27472 27472
Branches 9588 9588
=======================================
Hits 27472 27472
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
ghiscoding
marked this pull request as draft
October 7, 2026 14:57
angular-slickgrid
aurelia-slickgrid
slickgrid-react
slickgrid-vue
@slickgrid-universal/angular-row-detail-plugin
@slickgrid-universal/aurelia-row-detail-plugin
@slickgrid-universal/react-row-detail-plugin
@slickgrid-universal/vue-row-detail-plugin
@slickgrid-universal/binding
@slickgrid-universal/common
@slickgrid-universal/composite-editor-component
@slickgrid-universal/custom-footer-component
@slickgrid-universal/custom-tooltip-plugin
@slickgrid-universal/empty-warning-component
@slickgrid-universal/event-pub-sub
@slickgrid-universal/excel-export
@slickgrid-universal/graphql
@slickgrid-universal/odata
@slickgrid-universal/pagination-component
@slickgrid-universal/pdf-export
@slickgrid-universal/row-detail-plugin
@slickgrid-universal/rxjs-observable
@slickgrid-universal/sql
@slickgrid-universal/text-export
@slickgrid-universal/utils
@slickgrid-universal/vanilla-bundle
@slickgrid-universal/vanilla-force-bundle
@slickgrid-universal/web-mcp
commit: |
2 of 5 tasks
ghiscoding
marked this pull request as ready for review
October 10, 2026 05:42
This branch has not been deployed
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.
Summary
Composite Editor, Custom Tooltip and Row Detail now ship their own SASS and CSS files. Their feature rules are no longer included in every
@slickgrid-universal/commontheme.BREAKING CHANGE: if you use any of these packages, you must import their styles after your theme:
@slickgrid-universal/composite-editor-component@slickgrid-universal/custom-tooltip-plugin@slickgrid-universal/row-detail-pluginFor SASS, load the theme and package styles in the same SCSS entry file, importing only the packages you use:
CSS users can import the precompiled files matching their theme. For applications supporting CSS imports from JS/TS:
Angular users can add these CSS files to the
angular.jsonstyles array or import them through their global stylesheet.The Angular, Aurelia, React and Vue Row Detail plugins share the base Row Detail stylesheet. Add
@slickgrid-universal/row-detail-pluginas a direct dependency when importing its styles.Why
Common themes included styles for optional packages that users might not have installed. This extraction makes each common theme approximately 22KB smaller uncompressed when those packages are unused, while preserving SASS overrides, CSS variables and Dark Mode.
This also establishes a styling pattern for the upcoming Excel Formula and Column Formula features: users import styling for the optional features they use.
Applications using every optional package retain approximately the same uncompressed styling. Compressed sizes can increase or decrease depending on CSS ordering and duplication across application stylesheets.
Changes
_theme-base*.scss.with (...)configuration continues to work.dist/styles/sassand precompiled CSS for the default, Bootstrap, Fluent, Material and Salesforce themes underdist/styles/css.build-package-styles.mjsscript.sass:bundlebuilds common first, followed by optional package styles.li.hidden{to preserve compression locality. If the marker is missing, styles are appended and a warning identifies the affected file.Validation
Production demo comparisons used identical JavaScript sources and build tools, with all optional styles included. Changes below are summed across generated CSS files, including lazy example chunks, compared with the pre-extraction commit:
Raw JavaScript totals were unchanged. Framework comparisons loaded wrapper sources because compiled wrapper outputs were unavailable.
A controlled Salesforce ZIP comparison using the same JavaScript bundle and rebuilt styling assets measured 4,383 bytes smaller than the pre-extraction baseline (because Row Detail is not included in the Salesforce ZIP file).
Earlier branch validation passed
pnpm build:universal,pnpm build,pnpm bundle:zip, the Angular demo build, the original plugin unit suites and Angular Cypress. The full build and Angular E2E suite have not been rerun after the Row Detail extraction.Comments
AI / LLM assistance
Checklist