{"id":19024158,"url":"https://github.com/raykitajima/cancelablecircularprogressview","last_synced_at":"2025-10-19T13:40:19.404Z","repository":{"id":195316695,"uuid":"692685291","full_name":"RayKitajima/CancelableCircularProgressView","owner":"RayKitajima","description":"SwiftUI view displaying a circular progress with an integrated cancel functionality.","archived":false,"fork":false,"pushed_at":"2023-09-24T07:05:29.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T18:15:43.433Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/RayKitajima.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}},"created_at":"2023-09-17T09:05:01.000Z","updated_at":"2023-09-17T09:05:45.000Z","dependencies_parsed_at":"2024-11-08T20:50:49.363Z","dependency_job_id":null,"html_url":"https://github.com/RayKitajima/CancelableCircularProgressView","commit_stats":null,"previous_names":["raykitajima/cancelablecircularprogressview"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RayKitajima%2FCancelableCircularProgressView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RayKitajima%2FCancelableCircularProgressView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RayKitajima%2FCancelableCircularProgressView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RayKitajima%2FCancelableCircularProgressView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RayKitajima","download_url":"https://codeload.github.com/RayKitajima/CancelableCircularProgressView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240072063,"owners_count":19743527,"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":[],"created_at":"2024-11-08T20:35:22.639Z","updated_at":"2025-10-19T13:40:14.359Z","avatar_url":"https://github.com/RayKitajima.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CancelableCircularProgressView for SwiftUI\n\nCancelableCircularProgressView is a SwiftUI view that combines a circular progress indicator with a cancel (stop) icon overlay. This can be useful in scenarios where you want to indicate an ongoing process that the user has the option to stop or cancel.\n\n## Features\n\n- Customizable line width of the progress circle.\n- Customizable size for the cancel (stop) icon.\n- Supports changing the background and foreground colors of the progress circle.\n- Built with native SwiftUI components for smooth integration and animations.\n\n## Requirements\n\n- iOS 13.0 or later\n- SwiftUI\n\n## Usage\n\n```swift\n@State private var progress: Double = 0.0\n\nCancelableCircularProgressView(value: progress)\n```\n\nThis initializes a `CancelableCircularProgressView` with a 50% progress. The view will use default parameters for line width, icon size, and colors.\n\nSee Preview for CancelableCircularProgressView for actual use case.\n\n### Customization\n\nYou can customize the `CancelableCircularProgressView` by using the following parameters:\n\n- `value`: The progress value which ranges from `0.0` (no progress) to `1.0` (full progress).\n- `lineWidth`: The thickness of the progress circle line.\n- `iconSize`: The size for the cancel (stop) icon.\n- `backgroundColor`: The color of the base circle (which shows the max possible progress).\n- `foregroundColor`: The color of the actual progress.\n\nFor example:\n\n```swift\nCancelableCircularProgressView(\n    value: 0.75, \n    lineWidth: 10, \n    iconSize: 50, \n    backgroundColor: .red, \n    foregroundColor: .blue\n)\n```\n\n## Implementation Details\n\nThe component is made up of two primary views:\n\n1. `CircularProgressView`: This view is responsible for rendering the actual circular progress. It uses the SwiftUI `Circle` shape, combined with modifiers and animations to achieve the desired progress effect.\n\n2. `CancelableCircularProgressView`: This is the main view that combines `CircularProgressView` with an overlay of a cancel (stop) icon. It utilizes a `ZStack` to layer the progress circle and the stop icon.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraykitajima%2Fcancelablecircularprogressview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraykitajima%2Fcancelablecircularprogressview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraykitajima%2Fcancelablecircularprogressview/lists"}