{"adoption": {"forks": 51, "observed_at": "2026-09-03T02:15:11.181646+00:00", "stars": 1081}, "canonical_url": "https://ross.abutalabs.com/products/swiftui-navigation-transitions", "card": {"archived": false, "artifact_type": "library", "description": "Pure SwiftUI Navigation transitions ✨", "domain": ["mobile-development", "frontend", "cross-platform"], "enriched": true, "function": ["animation", "ui-components", "routing"], "health_score": 100, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["davdroman/swiftui-navigation-transitions"], "name": "davdroman/swiftui-navigation-transitions", "platform": [], "pushed_at": "2026-09-03T01:15:19+00:00", "repo": "davdroman/swiftui-navigation-transitions", "stars": 1081, "tags": ["swiftui", "navigation-stack", "push-pop-transitions", "uikit-interop", "ios", "swift", "mobile"], "topics": ["animation", "native", "navigation", "pure", "swiftui", "transition", "navigationstack", "navigationview", "uiviewcontrollertransitioningdelegate"], "urls": [], "use_cases": ["add custom slide transition to navigationstack push", "animate navigation transitions in swiftui", "fade transition between swiftui navigation views", "respect reduce motion in navigation animations", "combine multiple navigation transition animations", "customize push pop animation ios swiftui"], "what_it_is": "A Swift library that adds customizable push and pop navigation transitions to SwiftUI's NavigationView and NavigationStack via a simple view modifier. It provides built-in fade and slide transitions, combinable and animatable, without replacing first-party navigation components.", "when_to_avoid": ["you build with UIKit view controllers directly rather than SwiftUI navigation", "you need fully custom navigation stack behavior beyond transitions", "your app targets platforms without SwiftUI navigation support"], "when_to_choose": ["you use SwiftUI NavigationStack or NavigationView and want custom push/pop animations", "you want a modifier-based API resembling native SwiftUI transitions", "you need accessibility-aware transitions like reduced-motion fallbacks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/swiftui-navigation-transitions", "repo": "davdroman/swiftui-navigation-transitions", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:11.181646+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:51:27.138855+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "31b3857e47af481ccf5aa26f969fdfb2f8e95cd1b03a1fef61b44ea6741c3c6f", "fetched_at": "2026-09-03T02:15:11.181646+00:00", "kind": "readme", "missing": false, "url": "https://github.com/davdroman/swiftui-navigation-transitions"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 71}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1415, "days_push": 0, "days_rel": 37, "gap_med": 91, "n_releases_24m": 8}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}