3.0.0: Transitions#257
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors XCoordinator’s transition system into a result-builder-based component API for the 3.0.0 transition work. It replaces the previous UIKit extension helper implementations with standalone TransitionComponent structs and wires existing Transition factory methods through the new builder DSL.
Changes:
- Adds
TransitionComponent,TransitionBuilder, andTransitionGroupto support builder-style transition composition. - Moves view, navigation, tab, split, page, deep-link, and utility transitions into public component structs.
- Adds
BaseCoordinator.prepare(for:)as a builder-based transition preparation hook.
Reviewed changes
Copilot reviewed 34 out of 34 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
Sources/XCoordinator/View/ViewCoordinator.swift |
Formatting-only initializer cleanup. |
Sources/XCoordinator/View/UIViewController+Transition.swift |
Removes old UIViewController transition helpers. |
Sources/XCoordinator/View/UIViewController+Extras.swift |
Keeps shared top-presented-view-controller helper. |
Sources/XCoordinator/View/Transition+Init.swift |
Rewrites view transition factories to use components. |
Sources/XCoordinator/Transitions/TransitionComponent.swift |
Adds component protocol and builder initializer. |
Sources/XCoordinator/Transitions/TransitionBuilder.swift |
Adds result builder for transition composition. |
Sources/XCoordinator/Transitions/Components/TransitionGroup.swift |
Adds grouped transition component. |
Sources/XCoordinator/Transitions/Components/View/Trigger.swift |
Adds trigger component. |
Sources/XCoordinator/Transitions/Components/View/ShowDetail.swift |
Adds show-detail component. |
Sources/XCoordinator/Transitions/Components/View/Show.swift |
Adds show component. |
Sources/XCoordinator/Transitions/Components/View/Run.swift |
Adds async task-style run component. |
Sources/XCoordinator/Transitions/Components/View/RegisterPeek.swift |
Adds deprecated peek registration component. |
Sources/XCoordinator/Transitions/Components/View/Redirect.swift |
Adds coordinator redirect component. |
Sources/XCoordinator/Transitions/Components/View/Present.swift |
Adds present component. |
Sources/XCoordinator/Transitions/Components/View/Perform.swift |
Adds nested perform component. |
Sources/XCoordinator/Transitions/Components/View/Embed.swift |
Adds embed component. |
Sources/XCoordinator/Transitions/Components/View/Dismiss.swift |
Adds dismiss component. |
Sources/XCoordinator/Tab/UITabBarController+Transition.swift |
Removes old tab transition helpers. |
Sources/XCoordinator/Tab/TabBarTransition.swift |
Rewrites tab transition factories to use components. |
Sources/XCoordinator/Tab/SetTabs.swift |
Adds set-tabs component. |
Sources/XCoordinator/Tab/SelectTab.swift |
Adds tab-selection component. |
Sources/XCoordinator/Split/SplitTransition.swift |
Rewrites split transition factories to use components. |
Sources/XCoordinator/Split/SplitSetColumn.swift |
Adds split-column component. |
Sources/XCoordinator/Split/SplitSetAll.swift |
Adds split set-all component. |
Sources/XCoordinator/Page/UIPageViewController+Transition.swift |
Removes old page transition helper. |
Sources/XCoordinator/Page/PageTransition.swift |
Rewrites page transition factories to use components. |
Sources/XCoordinator/Page/PageSetInitial.swift |
Adds initial page-set component. |
Sources/XCoordinator/Page/PageSet.swift |
Adds page-set component. |
Sources/XCoordinator/Navigation/UINavigationController+Transition.swift |
Removes old navigation transition helpers. |
Sources/XCoordinator/Navigation/SetAll.swift |
Adds navigation set-all component. |
Sources/XCoordinator/Navigation/Push.swift |
Adds push component. |
Sources/XCoordinator/Navigation/Pop.swift |
Adds pop component. |
Sources/XCoordinator/Navigation/NavigationTransition.swift |
Rewrites navigation factories to use components. |
Sources/XCoordinator/General/DeepLinking.swift |
Adds deep-link transition component. |
Sources/XCoordinator/Coordinators/BaseCoordinator.swift |
Adds builder-based prepare(for:) fallback path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7b9eb95 to
978c629
Compare
978c629 to
50d348c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.