Skip to content

3.0.0: Transitions#257

Merged
pauljohanneskraft merged 10 commits into
feature/3.0.0from
feature/3.0.0-transitions
Jun 1, 2026
Merged

3.0.0: Transitions#257
pauljohanneskraft merged 10 commits into
feature/3.0.0from
feature/3.0.0-transitions

Conversation

@pauljohanneskraft

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings May 28, 2026 14:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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, and TransitionGroup to 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.

Comment thread Sources/XCoordinator/Transitions/Components/View/Present.swift Outdated
Comment thread Sources/XCoordinator/Navigation/Push.swift Outdated
Comment thread Sources/XCoordinator/Tab/SetTabs.swift Outdated
Comment thread Sources/XCoordinator/Transitions/Components/View/Perform.swift Outdated
@pauljohanneskraft pauljohanneskraft force-pushed the feature/3.0.0-transitions branch from 7b9eb95 to 978c629 Compare May 29, 2026 15:58
@pauljohanneskraft pauljohanneskraft force-pushed the feature/3.0.0-transitions branch from 978c629 to 50d348c Compare June 1, 2026 08:56
@pauljohanneskraft pauljohanneskraft merged commit faf3e9b into feature/3.0.0 Jun 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants