{"id":18169715,"url":"https://github.com/mohsen77sk/angular-material-date-fns-adapter","last_synced_at":"2025-05-11T03:59:01.986Z","repository":{"id":57352059,"uuid":"527102250","full_name":"mohsen77sk/angular-material-date-fns-adapter","owner":"mohsen77sk","description":"Angular material date-fns adapter (Support jalali)","archived":false,"fork":false,"pushed_at":"2024-11-25T09:26:35.000Z","size":2570,"stargazers_count":37,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-11T03:58:56.400Z","etag":null,"topics":["angular","angular-material","date-fns","date-fns-jalali","jalali","shamsi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohsen77sk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-21T04:11:30.000Z","updated_at":"2025-02-27T04:55:01.000Z","dependencies_parsed_at":"2024-01-12T22:51:17.967Z","dependency_job_id":"2db0ba23-4163-499a-9d8c-702d72523201","html_url":"https://github.com/mohsen77sk/angular-material-date-fns-adapter","commit_stats":{"total_commits":32,"total_committers":2,"mean_commits":16.0,"dds":0.0625,"last_synced_commit":"98961433930a0e4779e0f4dea194950496de0ce8"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsen77sk%2Fangular-material-date-fns-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsen77sk%2Fangular-material-date-fns-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsen77sk%2Fangular-material-date-fns-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohsen77sk%2Fangular-material-date-fns-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohsen77sk","download_url":"https://codeload.github.com/mohsen77sk/angular-material-date-fns-adapter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514629,"owners_count":21920337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular-material","date-fns","date-fns-jalali","jalali","shamsi"],"created_at":"2024-11-02T14:05:25.077Z","updated_at":"2025-05-11T03:59:01.961Z","avatar_url":"https://github.com/mohsen77sk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Angular material date-fns adapter (Support jalali)\n\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![npm version](https://badge.fury.io/js/ngx-material-date-fns-adapter.svg)](http://badge.fury.io/js/ngx-material-date-fns-adapter) [![Build Status](https://github.com/mohsen77sk/angular-material-date-fns-adapter/workflows/main/badge.svg)](https://github.com/mohsen77sk/angular-material-date-fns-adapter/actions)\n\n## What is this?\n\nThis library provides a custom DateAdapter for the Angular Material Datepicker component using the date-fns library.\n\n* Includes all locales provided by date-fns.\n* Supported **Jalali** calendar for `fa-IR` locale.\n\n## Demo\n\n\u003chttps://mohsen77sk.github.io/angular-material-date-fns-adapter/\u003e\n\n## Installing\n\n### Install [ngx-material-date-fns-adapter](https://www.npmjs.com/package/ngx-material-date-fns-adapter)\n\n```sh\nnpm install date-fns date-fns-jalali ngx-material-date-fns-adapter\n```\n\nBoth `date-fns` and `date-fns-jalali` libraries are peer dependencies, but required for the compilation.\n\n| Angular Version | date-fns Version | date-fns-jalali Version | ngx-material-date-fns-adapter Version |\n| --------------- | ---------------- | ----------------------- | ------------------------------------- |\n| ^19.0.0         | \u003e=2.22.0 \u003c5.0    | \u003e=2.22.0-0 \u003c=5.0.0-0    | latest                                |\n| ^18.0.0         | \u003e=2.22.0 \u003c4.0    | \u003e=2.22.0-0 \u003c=3.6.0-0    | 18.0.0                                |\n| ^17.0.0         | \u003e=2.22.0 \u003c4.0    | \u003e=2.22.0-0 \u003c=3.6.0-0    | 17.0.3                                |\n| ^16.0.0         | \u003e=2.22.0 \u003c3.0    | \u003e=2.22.0-0 \u003c=2.30.0-0   | 16.0.0                                |\n| ^15.0.0         | \u003e=2.22.0 \u003c3.0    | \u003e=2.22.0-0 \u003c=2.30.0-0   | 1.0.3                                 |\n| ^14.0.0         | \u003e=2.22.0 \u003c3.0    | \u003e=2.22.0-0 \u003c=2.30.0-0   | 1.0.3                                 |\n\n## Usage\n\nProvider the **provideDateFnsAdapter** and Register **locale** token in providers in your app.config.ts.\n\n  ```typescript\n  import { MAT_DATE_LOCALE } from '@angular/material/core';\n  import { provideDateFnsAdapter } from 'ngx-material-date-fns-adapter';\n  import { enUS } from 'date-fns/locale';\n\n  export const appConfig: ApplicationConfig = {\n    providers: [\n      ...,\n      provideDateFnsAdapter(),\n      { provide: MAT_DATE_LOCALE, useValue: enUS }\n    ],\n  };\n  ```\n\n## Change locale dynamically\n\nUse `setLocale()` method of the DateAdapter. In case of using setLocale with a **Locale** argument\n\n```typescript\nimport { Component } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { enUS, faIR } from 'date-fns/locale';\n\n@Component({\n  selector: 'app-root',\n  templateUrl: './app.component.html',\n  styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent {\n\n  constructor(private _adapter: DateAdapter\u003cany\u003e) {}\n\n  changeLocale(value: any): void {\n    switch (value) {\n      case 'en-US':\n        this._adapter.setLocale(enUS);\n        break;\n      case 'fa-IR':\n        this._adapter.setLocale(faIR);\n        break;\n    }\n  }\n}\n```\n\n## Supported locales\n\n[See project for details](https://github.com/date-fns/date-fns/tree/main/src/locale)\n\n## Development\n\nThe most useful commands for development are:\n\n* `npm run start` to start a development server\n* `npm run build-demo` to build the demo locally (it will be published automatically by GitHub Actions)\n\n## License\n\n[The MIT License (MIT)](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsen77sk%2Fangular-material-date-fns-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohsen77sk%2Fangular-material-date-fns-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohsen77sk%2Fangular-material-date-fns-adapter/lists"}