Skip to content

Commit

Permalink
Deploying to gh-pages from @ pointfreeco/swiftui-navigation@7ab04c6 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
stephencelis committed May 28, 2024
0 parents commit 691a4e1
Show file tree
Hide file tree
Showing 67,021 changed files with 71,553 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
9 changes: 9 additions & 0 deletions 0.4.0/css/documentation-topic.3bca6578.css

Large diffs are not rendered by default.

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions 0.4.0/css/index.12bb178a.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions 0.4.0/css/topic.ee15af52.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions 0.4.0/css/tutorials-overview.06e8bcf7.css

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions 0.4.0/data/documentation/swiftuinavigation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"seeAlsoSections":[{"title":"Related Documentation","abstract":[{"type":"text","text":"The collection of videos from "},{"type":"reference","isActive":true,"identifier":"https:\/\/www.pointfree.co"},{"type":"text","text":" that dive deep into the"},{"type":"text","text":" "},{"type":"text","text":"development of the library."}],"identifiers":["https:\/\/www.pointfree.co\/collections\/swiftui\/navigation"]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"primaryContentSections":[{"kind":"content","content":[{"anchor":"Additional-Resources","level":2,"type":"heading","text":"Additional Resources"},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"reference","isActive":true,"identifier":"https:\/\/github.com\/pointfreeco\/swiftui-navigation"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"reference","isActive":true,"identifier":"https:\/\/github.com\/pointfreeco\/swiftui-navigation\/discussions"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"reference","isActive":true,"identifier":"https:\/\/www.pointfree.co\/collections\/swiftui\/navigation"}]}]}]},{"anchor":"Overview","level":2,"type":"heading","text":"Overview"},{"type":"paragraph","inlineContent":[{"type":"text","text":"SwiftUI comes with many forms of navigation (tabs, alerts, dialogs, modal sheets, popovers,"},{"type":"text","text":" "},{"type":"text","text":"navigation links, and more), and each comes with a few ways to construct them. These ways roughly"},{"type":"text","text":" "},{"type":"text","text":"fall in two categories:"}]},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"“Fire-and-forget”: These are initializers and methods that do not take binding arguments, which"},{"type":"text","text":" "},{"type":"text","text":"means SwiftUI fully manages navigation state internally. This makes it is easy to get something"},{"type":"text","text":" "},{"type":"text","text":"on the screen quickly, but you also have no programmatic control over the navigation. Examples"},{"type":"text","text":" "},{"type":"text","text":"of this are the initializers on "},{"type":"reference","isActive":true,"identifier":"https:\/\/developer.apple.com\/documentation\/swiftui\/tabview\/init(content:)"},{"type":"text","text":" and"},{"type":"text","text":" "},{"type":"reference","isActive":true,"identifier":"https:\/\/developer.apple.com\/documentation\/swiftui\/navigationlink\/init(destination:label:)-27n7s"},{"type":"text","text":" that do not take a binding."}]}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"“State-driven”: Most other initializers and methods do take a binding, which means you can"},{"type":"text","text":" "},{"type":"text","text":"mutate state in your domain to tell SwiftUI when it should activate or deactivate navigation."},{"type":"text","text":" "},{"type":"text","text":"Using these APIs is more complicated than the “fire-and-forget” style, but doing so instantly"},{"type":"text","text":" "},{"type":"text","text":"gives you the ability to deep-link into any state of your application by just constructing a"},{"type":"text","text":" "},{"type":"text","text":"piece of data, handing it to a SwiftUI view, and letting SwiftUI handle the rest."}]}]}]},{"type":"paragraph","inlineContent":[{"type":"text","text":"Navigation that is “state-driven” is the more powerful form of navigation, albeit slightly more"},{"type":"text","text":" "},{"type":"text","text":"complicated. To wield it correctly you must be able to model your domain as concisely as possible,"},{"type":"text","text":" "},{"type":"text","text":"and this usually means using enums."}]},{"type":"paragraph","inlineContent":[{"type":"text","text":"Unfortunately, SwiftUI does not ship with all of the tools necessary to model our domains with"},{"type":"text","text":" "},{"type":"text","text":"enums and make use of navigation APIs. This library bridges that gap by providing APIs that allow"},{"type":"text","text":" "},{"type":"text","text":"you to model your navigation destinations as an enum, and then drive navigation by a binding"},{"type":"text","text":" "},{"type":"text","text":"to that enum."}]}]}],"variants":[{"paths":["\/documentation\/swiftuinavigation"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"Tools for making SwiftUI navigation simpler, more ergonomic and more precise."}],"kind":"symbol","metadata":{"roleHeading":"Framework","externalID":"SwiftUINavigation","title":"SwiftUINavigation","symbolKind":"module","role":"collection","modules":[{"name":"SwiftUINavigation"}]},"hierarchy":{"paths":[[]]},"topicSections":[{"title":"Essentials","identifiers":["doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/WhatIsNavigation"]},{"title":"Tools","identifiers":["doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Navigation","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/SheetsPopoversCovers","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/AlertsDialogs","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/DestructuringViews","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Bindings"]},{"title":"Structures","identifiers":["doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/CaseLet","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Default","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfCaseLet","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfLet","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Switch","doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/WithState"]}],"references":{"https://developer.apple.com/documentation/swiftui/tabview/init(content:)":{"title":"TabView","titleInlineContent":[{"type":"codeVoice","code":"TabView"}],"type":"link","identifier":"https:\/\/developer.apple.com\/documentation\/swiftui\/tabview\/init(content:)","url":"https:\/\/developer.apple.com\/documentation\/swiftui\/tabview\/init(content:)"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/DestructuringViews":{"role":"article","title":"Destructuring views","abstract":[{"type":"text","text":"Learn how to use "},{"type":"reference","isActive":true,"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfLet"},{"type":"text","text":", "},{"type":"reference","isActive":true,"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfCaseLet"},{"type":"text","text":" and "},{"type":"reference","isActive":true,"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Switch"},{"type":"text","text":" views in order to destructure bindings into"},{"type":"text","text":" "},{"type":"text","text":"smaller parts."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/DestructuringViews","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/destructuringviews"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/CaseLet":{"role":"symbol","title":"CaseLet","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"CaseLet"}],"abstract":[{"type":"text","text":"A view that handles a specific case of enum state in a "},{"type":"reference","isActive":true,"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Switch"},{"type":"text","text":"."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/CaseLet","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"CaseLet"}],"url":"\/documentation\/swiftuinavigation\/caselet"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/WhatIsNavigation":{"role":"collectionGroup","title":"What is navigation?","abstract":[{"type":"text","text":"Learn how one can think of navigation as a domain modeling problem, and how that leads to the"},{"type":"text","text":" "},{"type":"text","text":"creation of concise and testable APIs for navigation."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/WhatIsNavigation","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/whatisnavigation"},"https://github.com/pointfreeco/swiftui-navigation/discussions":{"title":"Discussions","titleInlineContent":[{"type":"text","text":"Discussions"}],"type":"link","identifier":"https:\/\/github.com\/pointfreeco\/swiftui-navigation\/discussions","url":"https:\/\/github.com\/pointfreeco\/swiftui-navigation\/discussions"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/AlertsDialogs":{"role":"article","title":"Alerts and dialogs","abstract":[{"type":"text","text":"Learn how to present alerts and confirmation dialogs in a concise and testable manner."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/AlertsDialogs","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/alertsdialogs"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/IfLet":{"role":"symbol","title":"IfLet","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IfLet"}],"abstract":[{"type":"text","text":"A view that computes content by unwrapping a binding to an optional and passing a non-optional"},{"type":"text","text":" "},{"type":"text","text":"binding to its content closure."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfLet","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IfLet"}],"url":"\/documentation\/swiftuinavigation\/iflet"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/Default":{"role":"symbol","title":"Default","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Default"}],"abstract":[{"type":"text","text":"A view that covers any cases that aren’t explicitly addressed in a "},{"type":"reference","isActive":true,"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Switch"},{"type":"text","text":"."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Default","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Default"}],"url":"\/documentation\/swiftuinavigation\/default"},"https://www.pointfree.co/collections/swiftui/navigation":{"title":"Point-Free Videos","titleInlineContent":[{"type":"text","text":"Point-Free Videos"}],"type":"link","identifier":"https:\/\/www.pointfree.co\/collections\/swiftui\/navigation","url":"https:\/\/www.pointfree.co\/collections\/swiftui\/navigation"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/Switch":{"role":"symbol","title":"Switch","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"Switch"}],"abstract":[{"type":"text","text":"A view that can switch over a binding of enum state and exhaustively handle each case."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Switch","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"Switch"}],"url":"\/documentation\/swiftuinavigation\/switch"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/Bindings":{"role":"article","title":"Bindings","abstract":[{"type":"text","text":"Learn how to manage certain view state, such as "},{"type":"codeVoice","code":"@FocusState"},{"type":"text","text":" directly in your observable object."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Bindings","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/bindings"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/IfCaseLet":{"role":"symbol","title":"IfCaseLet","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"IfCaseLet"}],"abstract":[{"type":"text","text":"A view that computes content by extracting a case from a binding to an enum and passing a"},{"type":"text","text":" "},{"type":"text","text":"non-optional binding to the case’s associated value to its content closure."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/IfCaseLet","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"IfCaseLet"}],"url":"\/documentation\/swiftuinavigation\/ifcaselet"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/WithState":{"role":"symbol","title":"WithState","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"WithState"}],"abstract":[{"type":"text","text":"A container view that provides a binding to another view."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/WithState","kind":"symbol","type":"topic","navigatorTitle":[{"kind":"identifier","text":"WithState"}],"url":"\/documentation\/swiftuinavigation\/withstate"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/Navigation":{"role":"article","title":"Navigation links and destinations","abstract":[{"type":"text","text":"Learn how to drive navigation in "},{"type":"codeVoice","code":"NavigationView"},{"type":"text","text":" and "},{"type":"codeVoice","code":"NavigationStack"},{"type":"text","text":" in a concise and testable"},{"type":"text","text":" "},{"type":"text","text":"manner."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/Navigation","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/navigation"},"doc://SwiftUINavigation/documentation/SwiftUINavigation":{"role":"collection","title":"SwiftUINavigation","abstract":[{"type":"text","text":"Tools for making SwiftUI navigation simpler, more ergonomic and more precise."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation","kind":"symbol","type":"topic","url":"\/documentation\/swiftuinavigation"},"https://github.com/pointfreeco/swiftui-navigation":{"title":"GitHub Repo","titleInlineContent":[{"type":"text","text":"GitHub Repo"}],"type":"link","identifier":"https:\/\/github.com\/pointfreeco\/swiftui-navigation","url":"https:\/\/github.com\/pointfreeco\/swiftui-navigation"},"doc://SwiftUINavigation/documentation/SwiftUINavigation/SheetsPopoversCovers":{"role":"article","title":"Sheets, popovers, and covers","abstract":[{"type":"text","text":"Learn how to present sheets, popovers and covers in a concise and testable manner."}],"identifier":"doc:\/\/SwiftUINavigation\/documentation\/SwiftUINavigation\/SheetsPopoversCovers","kind":"article","type":"topic","url":"\/documentation\/swiftuinavigation\/sheetspopoverscovers"},"https://developer.apple.com/documentation/swiftui/navigationlink/init(destination:label:)-27n7s":{"title":"NavigationLink","titleInlineContent":[{"type":"codeVoice","code":"NavigationLink"}],"type":"link","identifier":"https:\/\/developer.apple.com\/documentation\/swiftui\/navigationlink\/init(destination:label:)-27n7s","url":"https:\/\/developer.apple.com\/documentation\/swiftui\/navigationlink\/init(destination:label:)-27n7s"}}}
Loading

0 comments on commit 691a4e1

Please sign in to comment.