@ngx-maintenance/angular-material-rail-drawer
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

NOTICE: This package is now maintained under the Angular Compatibility Maintenance Initiative

This package has been included in the Angular Compatibility Maintenance Initiative to ensure it remains compatible with the latest versions of Angular, despite not receiving active feature development or bug fixes. This initiative is a community-driven effort to maintain libraries that are critical for Angular projects but are no longer actively developed.

Important Considerations:

  • Maintenance Scope: Updates will focus solely on Angular version compatibility. No new features will be added, and existing bugs will not be addressed outside of compatibility concerns.
  • Temporary Solution: This maintenance effort is intended as a temporary measure. Users are strongly encouraged to plan for the migration to actively supported alternatives as they become available.
  • Contribution: If you are interested in contributing to the maintenance of this package or others within the initiative.

By using this package, you acknowledge the limitations of its maintenance under the Angular Compatibility Maintenance Initiative and the recommendation to seek more permanent solutions.

Package Name: @ngx-maintenance/angular-material-rail-drawer


Original Readme:

🚫 Reasons for Discontinuation:

  1. Legacy Support Only: This package is designed to work only with Material Legacy (pre-version 17).
  2. No Support for Angular V17: There are little to no plans to support Angular V17. The new syntax of Angular V17 is not favored, and it's believed that the changes are detrimental to the framework.

📣 Personal Note:

I personally dislike the new syntax introduced in Angular V17. I believe the direction Angular is taking with this version is not in the best interest of the framework. As a result, I have decided not to continue supporting or maintaining this package.


📌 Recommendations:

  • If you are using an older version of Angular (pre-version 17), you may continue using this package. However, be aware that no further updates or support will be provided.
  • For projects using Angular V17 and above, it's recommended to look for alternative packages or solutions.

Angular Material Rail Drawer Plugin

Angular Material Navigation drawer — Adding support mode = “Rail” (mini variant behaviour)

Since 2016, the Angular community has been shouting out of a mini variant for material design.

How to install

NPM: npm i @ngx-maintenance/angular-material-rail-drawer Yarn: yarn add @ngx-maintenance/angular-material-rail-drawer

How to use

Read example for more information

module.ts import { DrawerRailModule } from '@ngx-maintenance/angular-material-rail-drawer';

component.html <mat-sidenav mode="rail" opened="true">

If "strictTemplates": true is activated in tsconfig.json, overwriting mode is not possible. In this case you can use the following selector:

component.html <mat-sidenav rail-mode opened="true">

This extension adds on an existing mode the Material documentation remains the same.

Extra API for rail variant

On top of all the standard Drawer API from google https://material.angular.io/components/sidenav/api. I've added 4 extra API so you have more control over the animation and size.

Input description default
openAnimation Angular Animation settings for opening sidebarOpen(maxWidth)
closeAnimation Angular Animation settings for closing sidebarClose(minWidth)
closeWidth min width (small view) "60px"
expandedWidth max width for the expanded view "200px"

extra note the default animation time is set to 100ms

Notes: Angular material open state

Close === mini & Opened === expanded

Useful links

Blog post: https://medium.com/@LostDeveloper/angular-material-navigation-drawer-adding-support-mode-rail-mini-variant-behaviour-8f7b107700b3

Angular material mini variant github issue: https://github.com/angular/components/issues/1728

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @ngx-maintenance/angular-material-rail-drawer

    Weekly Downloads

    0

    Version

    1.3.0

    License

    none

    Unpacked Size

    61 kB

    Total Files

    15

    Last publish

    Collaborators

    • jordan-hall
    • danielglejzner