{"id":29901040,"url":"https://github.com/bahertamer/viewkit","last_synced_at":"2026-04-18T11:05:37.788Z","repository":{"id":307259091,"uuid":"861669705","full_name":"BaherTamer/ViewKit","owner":"BaherTamer","description":"A customizable collection of reusable SwiftUI components, complete with flexible configurations.","archived":false,"fork":false,"pushed_at":"2025-07-30T08:09:32.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-30T10:35:49.519Z","etag":null,"topics":["ios","swift","swiftui","xcode"],"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/BaherTamer.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,"zenodo":null}},"created_at":"2024-09-23T10:13:05.000Z","updated_at":"2025-07-30T08:09:36.000Z","dependencies_parsed_at":"2025-07-30T10:35:51.855Z","dependency_job_id":"f4e03c04-3a4c-4651-829d-838184e4a174","html_url":"https://github.com/BaherTamer/ViewKit","commit_stats":null,"previous_names":["bahertamer/viewkit"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/BaherTamer/ViewKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaherTamer%2FViewKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaherTamer%2FViewKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaherTamer%2FViewKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaherTamer%2FViewKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BaherTamer","download_url":"https://codeload.github.com/BaherTamer/ViewKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaherTamer%2FViewKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31966218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ios","swift","swiftui","xcode"],"created_at":"2025-08-01T14:14:56.488Z","updated_at":"2026-04-18T11:05:37.781Z","avatar_url":"https://github.com/BaherTamer.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ViewKit\n**ViewKit** is a customizable `Swift` package that provides a collection of reusable `SwiftUI` components. This package helps accelerate the development process by offering pre-built UI elements, complete with flexible configurations.\n\n\u003cbr/\u003e\n\n## 📝 Requirements\n- Xcode 16.0+\n- Swift 5.10+\n- iOS 15.0+\n\n\u003cbr/\u003e\n\n## ⬇️ Installation\n#### 🔨 For Xcode Projects\n1. In Xcode, select **Add Packages** from the File menu.\n2. Enter `https://github.com/BaherTamer/ViewKit` in the search field.\n3. Click **Add Package** (Set the Dependency Rule to Up to Next Major Version)\n4. After adding the package, you will be able to import **ViewKit** in your project by using.\n\n``` swift\nimport ViewKit\n```\n\n\u003cbr/\u003e\n\n#### 📦 For Swift Packages\nAdd a dependency in your `Package.swift`\n\n``` swift\ndependencies: [\n    .package(url: \"https://github.com/BaherTamer/ViewKit.git\", .upToNextMajor(from: \"1.2.0\"))\n]\n```\n\n\u003cbr/\u003e\n\n## ⚙️ Configuration\nBefore using **ViewKit**, certain configurations must be added to your project’s `AppDelegate` to customize package behavior. Inside the `application(_:didFinishLaunchingWithOptions:)` method, configure the package by setting the necessary properties in `ViewKitConfig.shared`. Here’s an example of setting the configuration:\n\n``` swift\n// Set the app's primary tint color for ViewKit components\nViewKitConfig.shared.appTintColor = .blue\n\n// Set a custom placeholder image for CachedAsyncImage\nViewKitConfig.shared.placeholderImage = Image(.placeholder)\n```\n\n\u003cbr/\u003e\n\n## 🛡️ SwiftSafeUI Integration\n\n**ViewKit** uses **SwiftSafeUI** to ensure compatibility across iOS versions by handling `SwiftUI` deprecations. It automatically provides alternatives for deprecated features, ensuring **ViewKit** components work seamlessly across different iOS versions.\n\nIn addition, developers can also directly use **SwiftSafeUI** functions and modifiers from **ViewKit** to manage deprecations in their own `SwiftUI` views.\n\nFor more details, visit the [SwiftSafeUI GitHub repository](https://github.com/BaherTamer/SwiftSafeUI).\n\n\u003cbr/\u003e\n\n## 📜 Explore Components\nFor a detailed overview of all the components, modifiers, and extensions provided in this package, please visit the [Wiki](https://github.com/BaherTamer/ViewKit/wiki).\n\nThe wiki includes documentation, examples, and usage instructions for each component, ensuring you can integrate them smoothly into your projects.\n\n\u003cbr/\u003e\n\n## 🧑‍💻 Contributing\n**When adding new components, please follow these guidelines:**\n\n1. **Documentation**: Every component must be documented with clear examples on how to use it.\n2. **Wiki:** Update the wiki with usage instructions and examples for the new component.\n3. **Unit Tests:** If the component includes any testable logic, please ensure you write unit tests to cover key scenarios.\n4. **Reusable Examples:** Create at least three example use cases to verify that the component is reusable in different contexts. These examples should not be included in the package code but are for your validation purposes.\n\n\u003cbr/\u003e\n\n## ⚖️ License\n**ViewKit** is available under the `MIT` license. See the [LICENSE](LICENSE) file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahertamer%2Fviewkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbahertamer%2Fviewkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbahertamer%2Fviewkit/lists"}