{"id":15685190,"url":"https://github.com/mammad2c/mmd-persian-datepicker","last_synced_at":"2025-10-09T19:34:24.011Z","repository":{"id":42340869,"uuid":"162763161","full_name":"mammad2c/mmd-persian-datepicker","owner":"mammad2c","description":"A pure JS Persian datepicker, powered by Typescript.","archived":false,"fork":false,"pushed_at":"2023-02-03T22:59:57.000Z","size":2824,"stargazers_count":9,"open_issues_count":9,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T18:09:36.435Z","etag":null,"topics":["calendar","datepicker","jalali-calendar","javascript","persian-calendar","persian-datepicker","typescript"],"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/mammad2c.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}},"created_at":"2018-12-21T22:30:12.000Z","updated_at":"2023-08-16T20:37:27.000Z","dependencies_parsed_at":"2023-02-06T14:30:35.022Z","dependency_job_id":null,"html_url":"https://github.com/mammad2c/mmd-persian-datepicker","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mammad2c%2Fmmd-persian-datepicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mammad2c%2Fmmd-persian-datepicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mammad2c%2Fmmd-persian-datepicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mammad2c%2Fmmd-persian-datepicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mammad2c","download_url":"https://codeload.github.com/mammad2c/mmd-persian-datepicker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252931555,"owners_count":21827112,"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":["calendar","datepicker","jalali-calendar","javascript","persian-calendar","persian-datepicker","typescript"],"created_at":"2024-10-03T17:24:12.946Z","updated_at":"2025-10-09T19:34:18.988Z","avatar_url":"https://github.com/mammad2c.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# still in development\n\n![mmd-persian-datepicker](https://user-images.githubusercontent.com/16647736/50376733-8caa3680-0626-11e9-9661-4e83145e21f2.png)\n\n## mmd-persian-datepicker\n\nA pure js persian datepicker, powered by TypeScript :)\n\n## how to test\n\nyou have to installed [NodeJS v8](https://nodejs.org) up and recommended install [Yarn](https://yarnpkg.com/https://yarnpkg.com/).\n\n```\n- git clone https://github.com/mammad2c/mmd-persian-datepicker\n- yarn or npm i\n- yarn start or npm start\n- open `example/index.html` at your browser\n```\n\n## Dependencies:\n\n- [moment js](https://github.com/moment/moment)\n- [moment jalaali](https://github.com/jalaali/moment-jalaali)\n\n**planing to migrate from moment to jalaali-js**\n\n## Todo:\n\n- [ ] writing tests.\n- [ ] modular codes.\n- [ ] migrate to `jalaali-js` and drop usage of `moment`.\n\n#### Configs:\n\n- [x] `defaultValue`: initial value, should be today by default on initial render.\n- [x] `numberOfMonths`: how many months should be rendered.\n- [x] `mode`: `single` or `range`.\n- [x] `disabledDates`: disable only some dates.\n- [ ] `enabledDates`: disable whole picker's dates except these dates.\n- [x] `inline`: render picker like a normal calendar.\n- [x] `maxDate`: maximum date user can select.\n- [x] `minDate`: minimum date user can select.\n- [x] `highlightWeekends`: show weekends with a different color.\n- [ ] `monthChanger`: enable selecting from months, also by set `false` could disable it.\n- [ ] `yearChanger`: enable selecting from years, also by set `false` could disable it.\n- [ ] `altInput`: alt input for actual sending data to server.\n- [ ] `altFormat`: date formats for `altInput`.\n- [ ] `readonly`: input could not editable directly. only changes by picker.\n- [ ] `clearButton`: render a button to clear selected date(s), useful when `multiple` is `true`.\n- [ ] `todayButton`: go to today on picker.\n- [ ] `firstDayOfWeek`: weeks start days. for example on jalali is `saturday` and on georgian is `monday`. should be configurable.\n\n#### Events:\n\n- [ ] `onBeforeOpen`: the event fires before datepicker open.\n- [ ] `onBeforeClose`: the event fires before datepicker close.\n- [ ] `onAfterMonthChange`: the event fires after changing the month.\n- [ ] `onAfterYearChange`: the event fires after changing the year.\n- [ ] `onDayCreate`: handle rendering date creates. adding custom element to day items and ... .\n\n#### Methods:\n\n- [x] `destroy`: destroy instance, remove addEventListeners and ... for nothing exists about the picker. this feature enable using this library in SPA frameworks such as `react`, `vue` and ... .\n- [ ] `jumpToDate`: move picker to specific date.\n- [x] `setDate`: set picker selected date(s) programmatically.\n- [ ] `toggle`: toggle between `open` and `close` of picker.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmammad2c%2Fmmd-persian-datepicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmammad2c%2Fmmd-persian-datepicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmammad2c%2Fmmd-persian-datepicker/lists"}