{"id":20569507,"url":"https://github.com/abdullah-original/extendeddatepicker","last_synced_at":"2025-04-14T16:35:24.818Z","repository":{"id":232180990,"uuid":"764567597","full_name":"abdullah-original/ExtendedDatePicker","owner":"abdullah-original","description":"SwiftUI date picker with multiple modes","archived":false,"fork":false,"pushed_at":"2024-09-11T20:43:39.000Z","size":207,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T18:44:58.812Z","etag":null,"topics":["calendar","datepicker","ios","macos","swift","swiftui","uidatepicker","uikit","xcode"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdullah-original.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-28T10:10:49.000Z","updated_at":"2025-03-05T14:43:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"a420b4c7-b962-4de9-bc71-5ff2b21185fd","html_url":"https://github.com/abdullah-original/ExtendedDatePicker","commit_stats":null,"previous_names":["abdullah-original/extendeddatepicker"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-original%2FExtendedDatePicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-original%2FExtendedDatePicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-original%2FExtendedDatePicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdullah-original%2FExtendedDatePicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdullah-original","download_url":"https://codeload.github.com/abdullah-original/ExtendedDatePicker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248917195,"owners_count":21182951,"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","ios","macos","swift","swiftui","uidatepicker","uikit","xcode"],"created_at":"2024-11-16T05:08:32.257Z","updated_at":"2025-04-14T16:35:24.788Z","avatar_url":"https://github.com/abdullah-original.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ExtendedDatePicker\n\n`DatePicker` from SwiftUI only has two modes (`date`, and `hourAndMinute`) which for many cases is not sufficient. Often you need to switch between even more modes. ExtendedDatePicker supports a bigget set of modes, so that you can spend your time on what matters the most - building useful experiencees for your users. \n\n| Hour | Date |  DateTime | Week |  MonthYear| Year| \n| - | - | - | - | - | - |\n| ![Hour](./images/hour.png) | ![date](./images/date.png)  | ![dateTime](./images/dateTime.png) | ![week](./images/week.png) | ![monthYear](./images/monthYear.png) | ![year](./images/year.png)\n\n## Installation\n`ExtendedDatePicker` is available to be installed in your app via [Swift Package Manager](https://www.swift.org/documentation/package-manager/) using the git url `https://github.com/abdullah-original/ExtendedDatePicker.git`.\n\nBoth a static and a dynamic library are provided. \n\n## Usage\n\n```swift\nExtendedDatePicker(\n  selectedDate: Binding\u003cDate\u003e,\n  dateRange: ClosedRange\u003cDate\u003e,\n  mode: DateMode,\n  calendar: Calendar,\n  options: ExtendedDatePickerOptions\n)\n```\n\nInitialize the date picker as above. If you want to provide a custom locale or timezone, do so via the calendar parameter, otherwise the the default will be used. \n\nIn addition, some UI elements (such as back and forward arrows) can be customized using `options: ExtendedDatePickerOptions` parameter.\n\n\nThe client must provide at least `selectedDate`, `dateRange`, `mode`  parameters. `selectedDate` is the state object that keeps track of currently selected date by user. \n\nInfo about date modes:\n- `week`:  If the user has selected 2-8 February 2024, for example, `selectedDate` would be `2-2-2024`. \n- `monthYear`: If the user has selected February 2024, for example, `selectedDate` would be `x-2-2024`. No guarantees are made about `x`. \n- `year`:  If the user has selected 2024, for example, `selectedDate` would be `x-y-2024`. No guarantees are made about `x` or `y`.\n\nIn `monthYear` or `year` mode, client should just extract the relevent component from `selectedDate` i.e. `calendar.component(.year, from: selectedDate)`.\n\n## Feedback\nIf you have any feedback or improvements to suggest, please free to open an issue. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah-original%2Fextendeddatepicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdullah-original%2Fextendeddatepicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdullah-original%2Fextendeddatepicker/lists"}