{"id":13778185,"url":"https://github.com/Mijick/GridView","last_synced_at":"2025-05-11T11:35:06.014Z","repository":{"id":191468976,"uuid":"661632126","full_name":"Mijick/GridView","owner":"Mijick","description":"Easy Grids with SwiftUI","archived":false,"fork":false,"pushed_at":"2024-07-30T19:03:15.000Z","size":20,"stargazers_count":84,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-09T06:06:02.306Z","etag":null,"topics":["grid","grid-layout","ios-swift","swift","swift-package","swift-package-manager","swift-packages","swift5","swiftlibrary","swiftpackagemanager","swiftui","swiftui-components","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-07-03T09:54:39.000Z","updated_at":"2024-11-06T15:38:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"fbb7796b-9c76-4465-b330-9f0fe1837338","html_url":"https://github.com/Mijick/GridView","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"541e8235885aa42d76a5e4f6a69dea7109ba86f5"},"previous_names":["mijick/gridview"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FGridView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FGridView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FGridView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mijick%2FGridView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mijick","download_url":"https://codeload.github.com/Mijick/GridView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225043287,"owners_count":17411956,"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":["grid","grid-layout","ios-swift","swift","swift-package","swift-package-manager","swift-packages","swift5","swiftlibrary","swiftpackagemanager","swiftui","swiftui-components","swiftui-framework"],"created_at":"2024-08-03T18:00:51.909Z","updated_at":"2024-11-17T13:31:26.071Z","avatar_url":"https://github.com/Mijick.png","language":"Swift","funding_links":["https://buymeacoffee.com/mijick"],"categories":["Grid"],"sub_categories":["Content"],"readme":"\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e \n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/Mijick/Assets/blob/main/GridView/Logotype/On%20Dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/Mijick/Assets/blob/main/GridView/Logotype/On%20Light.svg\"\u003e\n    \u003cimg alt=\"GridView Logo\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Logotype/On%20Dark.svg\" width=\"76%\"\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\n\u003ch3 style=\"font-size: 5em\" align=\"center\"\u003e\n    Layouts made simple\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    Lay out your data in the blink of an eye. Keep your code clean\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Mijick/GridView-Demo\" rel=\"nofollow\"\u003eTry demo we prepared\u003c/a\u003e\n    |\n    \u003ca href=\"https://mijick.notion.site/fb09f0a2efdd4086b81ddbd5b4c1bc55?v=ca8b73e845ab430cb6a17e0faf925172\" rel=\"nofollow\"\u003eRoadmap\u003c/a\u003e\n    |\n    \u003ca href=\"https://github.com/Mijick/GridView/issues/new\" rel=\"nofollow\"\u003ePropose a new feature\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Library in beta version\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Beta.svg\"/\u003e\n    \u003cimg alt=\"Designed for SwiftUI\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Language.svg\"/\u003e\n    \u003cimg alt=\"Platforms: iOS\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Platforms.svg\"/\u003e\n    \u003cimg alt=\"Current Version\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Version.svg\"/\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/License.svg\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"Made in Kraków\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Origin.svg\"/\u003e\n    \u003ca href=\"https://twitter.com/MijickTeam\"\u003e\n        \u003cimg alt=\"Follow us on X\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/X.svg\"/\u003e\n    \u003c/a\u003e\n    \u003ca href=mailto:team@mijick.com?subject=Hello\u003e\n        \u003cimg alt=\"Let's work together\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Work%20with%20us.svg\"/\u003e\n    \u003c/a\u003e  \n    \u003ca href=\"https://github.com/Mijick/GridView/stargazers\"\u003e\n        \u003cimg alt=\"Stargazers\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/Labels/Stars.svg\"/\u003e\n    \u003c/a\u003e    \n\u003c/p\u003e\n\n\n\u003cp align=\"center\"\u003e\n    \u003cimg alt=\"GridView Examples\" src=\"https://github.com/Mijick/Assets/blob/main/GridView/GIFs/GridView.gif\"/\u003e\n\u003c/p\u003e\n\n\n\u003cbr\u003e\n\nGridView is a free, and open-source library for SwiftUI that makes creating grids easier and much cleaner.\n* **Improves code quality.** Create a grid using `GridView` constructor - simply pass your data and we'll deal with the rest. Simple as never!\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# Getting Started\n### ✋ Requirements\n\n| **Platforms** | **Minimum Swift Version** |\n|:----------|:----------|\n| iOS 14+ | 5.0 |\n\n### ⏳ Installation\n    \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 GridView 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/GridView\", branch(“main”))\n]\n``` \n                      \n\u003cbr\u003e\n\n# Usage\n### 1. Call initialiser\nTo declare a Grid for your data set, call the constructor:\n\n```Swift\nstruct ContentView: View {\n    private let data = [SomeData]()\n\n    var body: some View {\n        GridView(data, id: \\.self) { element in\n            SomeItem(element: element)\n        }\n    }\n}\n```\n\n### 2. Customise Grid\nYour GridView can be customised by calling `configBuilder` inside the initialiser:\n\n```Swift\nstruct ContentView: View {\n    private let data = [SomeData]()\n\n    var body: some View {\n        GridView(data, id: \\.self, content: SomeItem.init, configBuilder: { $0\n            .insertionPolicy(.fill)\n            .columns(4)\n            .verticalSpacing(12)\n        })\n    }\n}\n```\n\n\n### 3. Declare number of columns\nYou can change the number of columns of an item by calling .columns of Item:\n```Swift\nstruct ContentView: View { ... }\nstruct SomeItem: View {\n    ...\n\n    var body: some View {\n        ...\n            .columns(2)\n    }\n}\n```\n\n\n\u003cbr\u003e\n      \n# Try our demo\nSee for yourself how does it work by cloning [project][Demo] we created\n                      \n# License\nGridView 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[CalendarView] - Create your own calendar object in no time\n\u003cbr\u003e\n[CameraView] - The most powerful CameraController. Designed for SwiftUI\n\u003cbr\u003e\n[Timer] - Modern API for Timer\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/GridView-Demo\n[License]: https://github.com/Mijick/GridView/blob/main/LICENSE\n\n[PopupView]: https://github.com/Mijick/PopupView           \n[NavigationView]: https://github.com/Mijick/NavigationView\n[CalendarView]: https://github.com/Mijick/CalendarView \n[CameraView]: https://github.com/Mijick/CameraView\n[Timer]: https://github.com/Mijick/Timer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMijick%2FGridView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMijick%2FGridView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMijick%2FGridView/lists"}