Dogfalo/materialize
41.6
Weak · 25 September 2026
9.9k
lines of production code
JavaScript
primary language
4
measurements over time
What this system is
This release delivers Materialize v1.0.0, featuring a comprehensive JavaScript API overhaul with a modern class-based architecture and the integration of the anime.js animation library. The CSS and Sass foundations are updated with new color utilities, modular form styling, and a complete rewrite of the Datepicker. The release also introduces new templates, documentation site improvements using Jade, and extensive automated test coverage for core components.
Features
Add masonry layout support to the masonry template
The masonry-template now includes JavaScript initialization for a masonry grid layout. The new init.js file initializes the Masonry library on elements with the 'masonry-grid' ID, configuring it to use '.col' as the column width and item selector. This requires the inclusion of masonry.pkgd.min.js, which bundles the Masonry library (v3.2.2) along with its dependencies (Outlayer, get-size, etc.), enabling a cascading grid layout for the template.
templates/masonry-template/js · high confidence
Added Materialize starter template and preview files
A new starter template for Materialize has been added to the project, providing a ready-to-use HTML structure for developers. This includes a license file, an index.html template, and a preview.html file, all featuring a responsive navigation bar, hero section, icon blocks, and a footer.
templates/starter-template · high confidence
Added Prism.js syntax highlighting styles
A new CSS file, css/prism.css, has been added to provide syntax highlighting for code blocks. This introduces default styling for code elements, including the Inconsolata font family, specific color themes for different programming language tokens (such as comments, strings, and keywords), and background styling for code blocks.
css · high confidence
Added custom CSS for starter template
A new CSS file (style.css) was added to the starter template, providing a place to override Materialize core styles. It includes a comment explaining its purpose and defines styles for .icon-block and .icon-block .material-icons.
templates/starter-template/css · high confidence
Added masonry template with parallax and card grid layouts
A new masonry template is now available, providing a starting point for building pages with parallax headers and responsive card grids. The template includes a navigation bar with a sidenav trigger, a hero section with parallax background images, and a responsive grid of cards. Custom styles are provided in a separate CSS file to allow for easy overrides of the core Materialize styles.
templates/masonry-template · high confidence
Added new JavaScript components and replaced animation library
Introduced new JavaScript plugins for Autocomplete, Buttons (Floating Action Button), and Chips, each extending a base Component class. The project has also integrated the anime.js library (v2.2.0) as the new animation engine, replacing the previous Velocity.js dependency for handling CSS transitions and SVG animations.
js · high confidence
Added noUiSlider v9.1.0 for range slider support
The extras directory now includes the noUiSlider library (v9.1.0), providing the underlying JavaScript and CSS required to render range sliders. This addition enables the use of range slider components in the application, supporting both horizontal and vertical orientations, with specific styling for handles, tracks, and touch areas to ensure usability on mobile devices.
extras · high confidence
Added parallax template
A new parallax template is now available, providing a ready-to-use HTML structure featuring a responsive navigation bar with a mobile sidenav, multiple parallax image sections, feature icon blocks, a contact form, and a footer. The template includes both a standard build version and a preview version that references the minified CSS and JS assets.
templates/parallax-template · high confidence
Custom styling for parallax template components
A new CSS file (style.css) is introduced for the parallax template, providing custom overrides for navigation links, paragraph line-height, sidenav triggers, and parallax container dimensions. It also includes responsive adjustments for mobile and tablet breakpoints, ensuring the template renders correctly across different screen sizes.
templates/parallax-template/css · high confidence
Documentation and demo pages restructured into individual component pages
The documentation site has been restructured, with each component (such as Autocomplete, Badges, Buttons, Cards, Carousel, Chips, and Collapsible) now having its own dedicated content file (e.g., \autocomplete\_content.html\, \buttons\_content.html\). This change separates component documentation into distinct pages, improving navigation and organization within the \jade/page-contents\ directory.
jade/page-contents · high confidence
Initialize parallax template with sidenav and parallax components
The parallax template now includes a JavaScript initialization file that activates the sidenav and parallax components on the page. This ensures that the navigation menu and parallax scrolling effects are properly initialized when the document is ready.
templates/parallax-template/js · high confidence
New component styles for badges, buttons, cards, carousel, chips, collapsible, color classes, datepicker, dropdown, global utilities, grid, icons, and materialbox
The sass/components directory now includes comprehensive styling for a wide range of UI components. Badges now support a 'new' state and custom captions. Buttons are fully restyled with raised, flat, and floating variants, including a fixed action button. Cards have been restructured to support horizontal layouts, sticky actions, and size variants (small, medium, large). A new carousel component is introduced with slider and standard modes. Chips, collapsibles, and dropdowns receive updated layouts and interactions. Color classes and variables are standardized across components. The datepicker and dropdown components are fully styled. Global utilities like z-depths, dividers, and pagination are defined. The grid system supports push/pull offsets and responsive breakpoints. Icons and the materialbox viewer also receive specific styling rules.
sass/components · high confidence
Showcase page with sample sites and ad integration
A new showcase page has been added to the site, featuring a grid of example websites built with the framework. The page includes links to sites such as Close Heat, Kiosk Browser, and others, each displayed with a thumbnail image and title. It also includes a call-to-action for users to submit their own sites and integrates a CarbonAds advertisement script.
jade/showcase · high confidence
Behavioural changes
Add Parallax component documentation page
A new documentation page for the Parallax component has been added, providing a live demo and HTML code example. The page includes a navigation header with a sidenav trigger and links to other documentation sections such as About, Getting Started, Sass, and Components.
jade/parallax · high confidence
Initialize sidenav behavior in the starter template
The starter template now includes a JavaScript file (init.js) that initializes the sidenav component. This ensures the sidenav functionality is properly set up when the page loads, providing the expected interactive behavior for navigation menus.
templates/starter-template/js · medium confidence
Materialize v1.0.0 release
The compiled JavaScript bundle (materialize.js and materialize.min.js) has been updated to version 1.0.0. This release includes a new cash-dom 1.3.5 dependency, integration of the anime.js 2.2.0 animation library, and updates to components such as Collapsible, Dropdown, Modal, and Materialbox, reflecting the full feature set of the 1.0.0 release.
dist/js · high confidence
Materialize v1.0.0: Major API overhaul and modernization
This release introduces a comprehensive overhaul of the JavaScript API, replacing the previous jQuery plugin pattern with a modern class-based architecture where all components extend a base Component class. This change requires manual initialization via M.AutoInit() or direct component instantiation, as automatic initialization has been removed. Key behavioral changes include renaming the select plugin to formSelect(), the sidenav to sidenav (from side-nav), and the dropdown trigger to .dropdown-trigger. Callbacks have been standardized (e.g., onOpenStart, onOpenEnd), and options have been restructured (e.g., toast options as an object). The release also includes a complete rewrite of the Datepicker, the removal of the Scrollfire plugin, and the addition of new features like the Floating Action Button toolbar and pushpin callbacks.
(repo-wide) · high confidence
Migrated documentation site to Jade templating
The documentation site has been converted from static HTML to use the Jade templating engine. This change introduces shared layout templates for the head, navbar, footer, and scripts, allowing for dynamic page titles, meta descriptions, and consistent site-wide structure across all documentation pages.
jade · high confidence
Mobile documentation updates for sidenav and toast components
The mobile documentation page has been updated to include a new 'mobile\_content.html' file, which adds specific sections for the Sidenav (including a link to plugin options) and the Toast component (highlighting the swipe-to-dismiss feature). The page also includes a table of contents for these sections and integrates a CarbonAds advertisement script.
jade/mobile · medium confidence
Redesigned About page with team profiles and Material Design overview
The About page has been restyled and restructured to include a dedicated section on Material Design principles, a team photo, and individual profiles for team members Alvin Wang, Alan Chang, Alex Mark, and Kevin Louie. A table of contents has been added to the right sidebar for easier navigation between the Material Design and team sections.
jade/about · medium confidence
Redesigned homepage with new layout and upgrade button
The homepage (index) has been restructured to feature a modern hero section with a new 'Upgrade from 0.100.2' button alongside the 'Get Started' call-to-action. The page now includes a three-column promo section highlighting speed, user experience, and ease of use, followed by dedicated sections for the Showcase and Themes.
jade/index · high confidence
Refactored form component styles into modular SCSS partials
The form component styles have been reorganized into separate, modular SCSS files for checkboxes, file inputs, input fields, radio buttons, range sliders, select fields, and switches. This refactoring improves maintainability and allows each form element to be included or excluded independently, while preserving the existing visual appearance and behavior of all form controls.
sass/components/forms · high confidence
Restructured Getting Started page with new download and setup options
The Getting Started guide has been restructured to provide clearer download options, including standard and Sass versions, along with CDN, NPM, and Bower installation methods. The page now includes a dedicated setup section with project structure and HTML template examples, as well as third-party integration options for Ruby, Meteor, and Ember.
_jade/getting\started · high confidence
Restructured Sass build for documentation site
The Sass build process for the documentation site has been reorganized. A new \materialize.scss\ entry point now imports all component styles, while a separate \ghpages-materialize.scss\ file bundles the core library with custom documentation styles. Additionally, a \.npmignore\ file was added to exclude documentation-specific styles (\\_style.scss\ and \ghpages-materialize.scss\) from the main package distribution.
sass · high confidence
Updated Materialize CSS to v1.0.0
The Materialize CSS library has been updated to version 1.0.0. This release includes a comprehensive set of color utility classes for background and text styling, alongside updated styles for components such as navigation bars, cards, and the grid system. Users should be aware that this is a major version update, which may introduce visual or behavioral changes to existing layouts.
dist/css · high confidence
Updated the Materialize logo to a non-tearing SVG format
The project's branding assets in the \res\ directory have been updated to use scalable vector graphics (SVG) for the logo. A new \materialize.svg\ file has been added, alongside a \MaterializeLogo-3.svg\ file, replacing or supplementing the previous raster or other vector formats. This change ensures the logo scales cleanly at any size without pixelation or tearing, improving visual quality across different display resolutions.
res · high confidence
Test coverage
Added HTML test pages for UI components; Added automated tests for the Floating Action Button component; Added automated tests for the collapsible component; Added automated tests for the dropdown plugin; Added test coverage for card components; Added test coverage for carousel noWrap behavior; Added test coverage for the Chips component; Added test coverage for the FormSelect component; Added test helper utilities for simulating DOM events; Added tests for Materialbox overlay positioning with transformed ancestors; Added tests for the autocomplete plugin; Added tooltip component tests.
Dependencies
Updated build dependencies and lockfile
The project's build tooling and development dependencies have been updated, including upgrades to packages such as autoprefixer, grunt-contrib-uglify, and node-sass. A package-lock.json file was added to ensure consistent dependency resolution across environments.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 30 → 42 (+11.6)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 38 → 36 (-1.9)
- Architecture 100 (new)
- Maturity 57 → 47 (-9.7)
- Readiness 17 → 53 (+35.5)
- Security 42 → 44 (+1.9)
- Accessibility 41 (new)
Resolved (108)
- Change coupling: collapsible.js ↔ range.js (js/collapsible.js)
- Change coupling: dropdown.js ↔ range.js (js/dropdown.js)
- Change coupling: materialbox.js ↔ range.js (js/materialbox.js)
- Change coupling: modal.js ↔ range.js (js/modal.js)
- Change coupling: nouislider.js ↔ nouislider.min.js (extras/noUiSlider/nouislider.js)
- Change coupling: nouislider.js ↔ package.js (extras/noUiSlider/nouislider.js)
- Change coupling: nouislider.min.js ↔ package.js (extras/noUiSlider/nouislider.min.js)
- Change coupling: range.js ↔ scrollspy.js (js/range.js)
- Change coupling: range.js ↔ slider.js (js/range.js)
- Change coupling: range.js ↔ tooltip.js (js/range.js)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- Critical CVE: [GHSA redacted] (package-lock.json)
- …and 88 more
New (264)
- (anonymous) (cognitive 17) (js/pushpin.js)
- (anonymous) (cognitive 21) (js/buttons.js)
- (anonymous) (cognitive 21) (js/tooltip.js)
- (anonymous) (cognitive 28) (js/modal.js)
- (anonymous) (cognitive 29) (js/collapsible.js)
- (anonymous) (cognitive 29) (js/slider.js)
- (anonymous) (cognitive 31) (js/scrollspy.js)
- (anonymous) (cognitive 31) (js/toasts.js)
- (anonymous) (cognitive 40) (js/autocomplete.js)
- (anonymous) (cognitive 41) (js/materialbox.js)
- (anonymous) (cognitive 55) (js/select.js)
- (anonymous) (cognitive 83) (js/sidenav.js)
- (anonymous) (cyclomatic 16) (js/buttons.js)
- (anonymous) (cyclomatic 20) (js/collapsible.js)
- (anonymous) (cyclomatic 21) (js/tooltip.js)
- (anonymous) (cyclomatic 24) (js/scrollspy.js)
- (anonymous) (cyclomatic 24) (js/slider.js)
- (anonymous) (cyclomatic 26) (js/modal.js)
- (anonymous) (cyclomatic 26) (js/toasts.js)
- (anonymous) (cyclomatic 29) (js/tabs.js)
- …and 244 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Dogfalo/materialize was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 25 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 824e78248b3de81e383445e76ffb04cc3264fe7d — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.