{"id":21102363,"url":"https://github.com/mijick/calendarview","last_synced_at":"2025-04-05T17:04:30.549Z","repository":{"id":210697846,"uuid":"702001630","full_name":"Mijick/CalendarView","owner":"Mijick","description":"Calendars made simple (SwiftUI)","archived":false,"fork":false,"pushed_at":"2024-07-30T18:57:14.000Z","size":59,"stargazers_count":380,"open_issues_count":11,"forks_count":30,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-29T16:06:47.857Z","etag":null,"topics":["calendar","calendar-component","calendar-view","cocoapods","ios-sdk","ios-swift","swift","swift-calendar","swift-library","swift-package-manager","swift5","swiftui","swiftui-components","swiftui-example","swiftui-extensions","swiftui-framework"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Mijick.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"mijick","custom":null}},"created_at":"2023-10-08T07:52:25.000Z","updated_at":"2025-03-28T09:17:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"be24ed22-1860-4c42-8dae-0f6344dc5cef","html_url":"https://github.com/Mijick/CalendarView","commit_stats":null,"previous_names":["mijick/calendarview"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FCalendarView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FCalendarView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FCalendarView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FCalendarView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mijick","download_url":"https://codeload.github.com/Mijick/CalendarView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247369953,"owners_count":20927928,"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","calendar-component","calendar-view","cocoapods","ios-sdk","ios-swift","swift","swift-calendar","swift-library","swift-package-manager","swift5","swiftui","swiftui-components","swiftui-example","swiftui-extensions","swiftui-framework"],"created_at":"2024-11-19T23:55:03.018Z","updated_at":"2025-04-05T17:04:30.507Z","avatar_url":"https://github.com/Mijick.png","language":"Swift","funding_links":["https://buymeacoffee.com/mijick"],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n    \n\u003c!-- Mijick Header --\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Dark/Header.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Light/Header.svg\"\u003e\n    \u003cimg alt=\"Mijick Header\" width=\"100%\"\u003e\n\u003c/picture\u003e\n\n\n\u003c!-- Social Buttons --\u003e\n\u003cp align=\"center\"\u003e\n\n\u003c!-- GitHub --\u003e\n\u003ca href=\"https://github.com/Mijick\"\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Dark/Button/Github.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Light/Button/Github.svg\"\u003e\n    \u003cimg alt=\"Mijick GitHub\" height=\"32px\"\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\n\u003c!-- Twitter --\u003e\n\u003ca href=\"https://twitter.com/MijickTeam\"\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Dark/Button/X.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Light/Button/X.svg\"\u003e\n    \u003cimg alt=\"Mijick Twitter\" height=\"32px\"\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\n\u003c!-- Email --\u003e\n\u003ca href=\"mailto:team@mijick.com?subject=Hello\"\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Dark/Button/Email.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Light/Button/Email.svg\"\u003e\n    \u003cimg alt=\"Mijick Mail\" height=\"32px\"\u003e\n\u003c/picture\u003e\n\u003c/a\u003e\n\n\n\u003c!-- Separator --\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Dark/Separator.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/Mijick/On%20Light/Separator.svg\"\u003e\n    \u003cimg alt=\"Separator\" width=\"100%\" height=\"0.25px\"\u003e\n\u003c/picture\u003e\n\n\u003c/p\u003e\n\n\u003c!-- Header End --\u003e\n\n\u003cbr\u003e\n\n\u003c!-- CalendarView Logo --\u003e\n\u003cp align=\"center\"\u003e\n\u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Logo/Dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Logo/Light.svg\"\u003e\n    \u003cimg alt=\"CalendarView Logo\" width=\"200\"\u003e\n\u003c/picture\u003e\n\u003c/p\u003e\n\n\u003c!-- Library Name --\u003e\n\u003ch3 align=\"center\"\u003e\n    Calendar View\n\u003c/h3\u003e\n\n\u003c!-- Library Description --\u003e\n\u003cp align=\"center\"\u003e\n    Create fully customisable calendar in no time. Keep your code clean\n\u003c/p\u003e\n\n\u003c!-- Demo Link --\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Mijick/CalendarView-Demo\" rel=\"nofollow\"\u003eTry demo we prepared\u003c/a\u003e\n    |\n    \u003ca href=\"https://mijick.notion.site/c55a759a632e495baf43ab2d956e66ea?v=f1dd812b22874b7e875b963aab33b90f\u0026pvs=25\" rel=\"nofollow\"\u003eRoadmap\u003c/a\u003e\n    |\n    \u003ca href=\"https://github.com/Mijick/CalendarView/issues/new\" rel=\"nofollow\"\u003ePropose a new feature\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\n\u003c!-- Labels --\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"SwiftUI logo\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/Language.svg\"/\u003e\n    \u003cimg alt=\"Platforms: iOS, iPadOS, macOS, tvOS\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/Platforms.svg\"/\u003e\n    \u003cimg alt=\"Current Version\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/Version.svg\"/\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/License.svg\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Made in Kraków\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/Origin.svg\"/\u003e \n    \u003ca href=\"https://github.com/Mijick/CalendarView/stargazers\"\u003e\n        \u003cimg alt=\"Stargazers\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/Labels/Stars.svg\"/\u003e\n    \u003c/a\u003e                                                                                                               \n\u003c/p\u003e\n\n\n\u003c!-- GIFs --\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Calendar Example 1\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/GIFs/1.gif\" width=\"23%\"/\u003e\n    \u003cimg alt=\"Calendar Example 2\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/GIFs/2.gif\" width=\"23%\"/\u003e\n    \u003cimg alt=\"Calendar Example 3\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/GIFs/3.gif\" width=\"23%\"/\u003e\n    \u003cimg alt=\"Calendar Example 4\" src=\"https://github.com/Mijick/Assets/blob/main/CalendarView/GIFs/4.gif\" width=\"23%\"/\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003c!-- Summary --\u003e\nCalendarView is a free and open-source library designed for SwiftUI that makes the process of creating calendars easier and much cleaner.\n* **Improves code quality.** Create a calendar using `MCalendarView` constructor and pass the selected date / range to it. Simple as never!\n* **Customize calendar in no time.** We know how important customisation is; that's why we give you the opportunity to design your calendar in any way you like.\n* **Designed for SwiftUI.** While developing the library, we have used the power of SwiftUI to give you powerful tool to speed up your implementation process.\n\n\u003cbr\u003e\n\n\n\u003c!-- Getting Started --\u003e\n# Getting Started\n### ✋ Requirements\n\n| **Platforms** | **Minimum Swift Version** |\n|:----------|:----------|\n| iOS 14+ | 5.0 |\n| iPadOS 14+ | 5.0 |\n| macOS 11+ | 5.0 |\n| watchOS 7+ | 5.0 |\n\n\n\u003c!-- Installation --\u003e\n### ⏳ Installation\n#### [Swift Package Manager][spm]\nSwift Package Manager is a tool for automating the distribution of Swift code and is integrated into the Swift compiler.\n\nOnce you have your Swift package set up, adding CalendarView as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`.\n\n```Swift\ndependencies: [\n    .package(url: \"https://github.com/Mijick/CalendarView.git\", branch(“main”))\n]\n```\n\n\u003c!-- Cocoapods --\u003e\n#### [Cocoapods][cocoapods]   \nCocoapods is a dependency manager for Swift and Objective-C Cocoa projects that helps to scale them elegantly.\n\nInstallation steps:\n- Install CocoaPods 1.10.0 (or later)\n- [Generate CocoaPods][generate_cocoapods] for your project\n```Swift\n    pod init\n```\n- Add CocoaPods dependency into your `Podfile`   \n```Swift\n    pod 'MijickCalendarView'\n```\n- Install dependency and generate `.xcworkspace` file\n```Swift\n    pod install\n```\n- Use new XCode project file `.xcworkspace`\n\u003cbr\u003e\n\n\n\u003c!-- Usage --\u003e\n# Usage\n### 1. Call initialiser\nTo declare a CalendarView, call the constructor:\n\n```Swift\nstruct ContentView: View {\n    @State private var selectedDate: Date? = nil\n    @State private var selectedRange: MDateRange? = .init()\n\n    var body: some View {\n        MCalendarView(selectedDate: $selectedDate, selectedRange: $selectedRange)\n    }\n}\n```\n\n### 2. Customise Calendar\nYour MCalendarView can be customised by calling `configBuilder` inside the initialiser:\n\n```Swift\nstruct ContentView: View {\n    @State private var selectedDate: Date? = nil\n    @State private var selectedRange: MDateRange? = .init()\n\n    var body: some View {\n        MCalendarView(selectedDate: nil, selectedRange: $selectedRange) {\n            $0\n                (...)\n                .dayView(NewDayView.init)\n                .firstWeekday(.wednesday)\n                .monthLabelToDaysDistance(12)\n                .weekdaysView(NewWeekdaysView.init)\n                (...)\n        }\n    }\n}\n```\n\n### 3. Customizing WeekdaysView / WeekdayLabel / MonthLabel / DayView\nEach calendar element can be easily customised by creating your own view by inheriting the protocol (check [Demo Project][Demo] for more details).\n\n\u003cbr\u003e\n\n\n# Try our demo\nSee for yourself how does it work by cloning [project][Demo] we created\n\n# License\nCalendarView is released under the MIT license. See [LICENSE][License] for details.\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Our other open source SwiftUI libraries\n[PopupView] - The most powerful popup library that allows you to present any popup\n\u003cbr\u003e\n[NavigationView] - Easier and cleaner way of navigating through your app\n\u003cbr\u003e\n[GridView] - Lay out your data with no effort\n\u003cbr\u003e\n[CameraView] - The most powerful CameraController. Designed for SwiftUI\n\u003cbr\u003e\n[Timer] - Modern API for Timer\n\n\n\n[MIT]: https://en.wikipedia.org/wiki/MIT_License\n[SPM]: https://www.swift.org/package-manager\n\n[Demo]: https://github.com/Mijick/CalendarView-Demo\n[License]: https://github.com/Mijick/CalendarView/blob/main/LICENSE\n\n[spm]: https://www.swift.org/package-manager/\n[cocoapods]: https://cocoapods.org/\n[generate_cocoapods]: https://github.com/square/cocoapods-generate\n\n[PopupView]: https://github.com/Mijick/PopupView\n[NavigationView]: https://github.com/Mijick/NavigationView \n[CameraView]: https://github.com/Mijick/CameraView\n[GridView]: https://github.com/Mijick/GridView\n[Timer]: https://github.com/Mijick/Timer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmijick%2Fcalendarview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmijick%2Fcalendarview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmijick%2Fcalendarview/lists"}