{"id":2294,"url":"https://github.com/exyte/ProgressIndicatorView","last_synced_at":"2025-08-06T15:30:32.284Z","repository":{"id":37328630,"uuid":"415777898","full_name":"exyte/ProgressIndicatorView","owner":"exyte","description":"An iOS progress indicator view library written in SwiftUI","archived":false,"fork":false,"pushed_at":"2023-10-20T07:03:23.000Z","size":4720,"stargazers_count":229,"open_issues_count":0,"forks_count":25,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-29T15:52:15.448Z","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/exyte.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}},"created_at":"2021-10-11T04:27:52.000Z","updated_at":"2024-05-27T16:44:26.000Z","dependencies_parsed_at":"2024-01-29T17:56:25.086Z","dependency_job_id":null,"html_url":"https://github.com/exyte/ProgressIndicatorView","commit_stats":{"total_commits":12,"total_committers":4,"mean_commits":3.0,"dds":0.6666666666666667,"last_synced_commit":"d0ce724c2eb0c1bedbaa358dbd75bd2969a46375"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exyte%2FProgressIndicatorView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exyte%2FProgressIndicatorView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exyte%2FProgressIndicatorView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exyte%2FProgressIndicatorView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exyte","download_url":"https://codeload.github.com/exyte/ProgressIndicatorView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228915462,"owners_count":17991409,"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-01-05T20:16:10.076Z","updated_at":"2024-12-09T15:30:51.121Z","avatar_url":"https://github.com/exyte.png","language":"Swift","funding_links":[],"categories":["UI","Libs"],"sub_categories":["Activity Indicator","UI"],"readme":"\u003ca href=\"https://exyte.com/\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/exyte/media/master/common/header-dark.png\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/exyte/media/master/common/header-light.png\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003ca href=\"https://exyte.com/\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/exyte/media/master/common/our-site-dark.png\" width=\"80\" height=\"16\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/exyte/media/master/common/our-site-light.png\" width=\"80\" height=\"16\"\u003e\u003c/picture\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003ca href=\"https://twitter.com/exyteHQ\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/exyte/media/master/common/twitter-dark.png\" width=\"74\" height=\"16\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/exyte/media/master/common/twitter-light.png\" width=\"74\" height=\"16\"\u003e\n\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://exyte.com/contacts\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/exyte/media/master/common/get-in-touch-dark.png\" width=\"128\" height=\"24\" align=\"right\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/exyte/media/master/common/get-in-touch-light.png\" width=\"128\" height=\"24\" align=\"right\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\n\u003cimg align=\"right\" src=\"https://raw.githubusercontent.com/exyte/media/master/ProgressIndicatorView/demo.gif\" width=\"250\" /\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003eProgressIndicatorView\u003c/h1\u003e\u003c/p\u003e\n\n\u003cp\u003e\u003ch4\u003eA number of preset progress indicators created with SwiftUI\u003c/h4\u003e\u003c/p\u003e\n\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fexyte%2FProgressIndicatorView%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/exyte/ProgressIndicatorView)\n[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fexyte%2FProgressIndicatorView%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/exyte/ProgressIndicatorView)\n[![SPM Compatible](https://img.shields.io/badge/SwiftPM-Compatible-brightgreen.svg)](https://swiftpackageindex.com/exyte/ProgressIndicatorView)\n[![Cocoapods Compatible](https://img.shields.io/badge/cocoapods-Compatible-brightgreen.svg)](https://cocoapods.org/pods/ProgressIndicatorView)\n[![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-brightgreen.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![License: MIT](https://img.shields.io/badge/License-MIT-black.svg)](https://opensource.org/licenses/MIT)\n\n# Usage\n\nCreate a progress indicator like this:\n   ```swift\n   ProgressIndicatorView(isVisible: $showProgressIndicator, type: .bar(progress: $progress))\n   ```\n   where  \n   `showProgressIndicator` - bool value you may change to display or hide the indicator  \n   `type` - value from `ProgressIndicatorView.IndicatorType` enum  \n\nYou may alter it with standard SwiftUI means like this: \n   ```swift\n   ProgressIndicatorView(isVisible: $showProgressIndicator, type: .bar(progress: $progress))\n        .frame(width: 50.0, height: 50.0)\n        .foregroundColor(.red)\n   ```\n\n### Indicator types\n`default` - progress indicator looks like default iOS UIActivityIndicator.  \n`bar` - line progress bar with a Binding\u003cCGFloat\u003e progress value and background color, default is `Color.clear`:\n  ```swift\n   ProgressIndicatorView(isVisible: $showProgressIndicator, type: .bar(progress: $progress, backgroundColor: .gray)\n       .frame(height: 8.0)\n       .foregroundColor(.red)\n   ```\n  \n`impulseBar` - impulse line bar, works as `bar` indicator with an impulse effect.  \n`dashBar` - discrete line bar, with number of pieces, default is 8:\n   ```swift\n     ProgressIndicatorView(isVisible: $showProgressIndicator, type: .dashBar(progress: $progress, numberOfItems: 8))\n        .frame(height: 8.0)\n        .foregroundColor(.red)\n   ```\n  \n`circle` - cirle progress indicator, with `lineWidth` and `strokeColor`:\n  ```swift\n     ProgressIndicatorView(isVisible: $showProgressIndicator, type: .circle(progress: $progress, lineWidth: 8.0, strokeColor: .red))\n        .frame(height: 8.0)\n        .foregroundColor(.red)\n   ```  \n\n\n## Examples\n\nTo try out the ProgressIndicatorView examples:\n- Clone the repo `git clone git@github.com:exyte/ProgressIndicatorView.git`\n- Open terminal and run `cd \u003cProgressIndicatorViewRepo\u003e/Example`\n- Run `pod install` to install all dependencies\n- Run `xed .` to open project in the Xcode\n- Try it!\n\n## Installation\n\n### Swift Package Manager\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/exyte/ProgressIndicatorView.git\", from: \"0.0.1\")\n]\n```\n\n### CocoaPods\n\n```ruby\npod 'ProgressIndicatorView'\n```\n\n### Carthage\n\n```ogdl\ngithub \"Exyte/ProgressIndicatorView\"\n```\n\n## Requirements\n\n* iOS 13+ / watchOS 6+ / tvOS 13+ / macOS 10.15+\n* Xcode 11+\n\n## Our other open source SwiftUI libraries\n[PopupView](https://github.com/exyte/PopupView) - Toasts and popups library    \n[Grid](https://github.com/exyte/Grid) - The most powerful Grid container    \n[ScalingHeaderScrollView](https://github.com/exyte/ScalingHeaderScrollView) - A scroll view with a sticky header which shrinks as you scroll    \n[AnimatedTabBar](https://github.com/exyte/AnimatedTabBar) - A tabbar with a number of preset animations   \n[MediaPicker](https://github.com/exyte/mediapicker) - Customizable media picker     \n[Chat](https://github.com/exyte/chat) - Chat UI framework with fully customizable message cells, input view, and a built-in media picker  \n[OpenAI](https://github.com/exyte/OpenAI) Wrapper lib for [OpenAI REST API](https://platform.openai.com/docs/api-reference/introduction)    \n[AnimatedGradient](https://github.com/exyte/AnimatedGradient) - Animated linear gradient     \n[ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - Animated onboarding flow    \n[FloatingButton](https://github.com/exyte/FloatingButton) - Floating button menu    \n[ActivityIndicatorView](https://github.com/exyte/ActivityIndicatorView) - A number of animated loading indicators     \n[FlagAndCountryCode](https://github.com/exyte/FlagAndCountryCode) - Phone codes and flags for every country    \n[SVGView](https://github.com/exyte/SVGView) - SVG parser    \n[LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexyte%2FProgressIndicatorView","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexyte%2FProgressIndicatorView","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexyte%2FProgressIndicatorView/lists"}