@swiftbrowser/swift 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Package.swift +200 -9
- package/README.md +7 -9
- package/Sources/AVFoundation/AVFoundation.swift +131 -0
- package/Sources/AVFoundation/Asset.swift +487 -0
- package/Sources/AVFoundation/AudioSession.swift +144 -0
- package/Sources/AVFoundation/CMTime.swift +303 -0
- package/Sources/AVFoundation/Capture.swift +688 -0
- package/Sources/AVFoundation/Player.swift +749 -0
- package/Sources/AVFoundation/PlayerView.swift +117 -0
- package/Sources/AVKit/AVKit.swift +132 -0
- package/Sources/Accelerate/Accelerate.swift +122 -0
- package/Sources/AppIntents/AppIntents.swift +144 -0
- package/Sources/AppIntents/Parameters.swift +220 -0
- package/Sources/AppIntents/Shortcuts.swift +159 -0
- package/Sources/AudioToolbox/AudioToolbox.swift +55 -0
- package/Sources/AuthenticationServices/AuthenticationServices.swift +257 -0
- package/Sources/AuthenticationServices/Authorization.swift +251 -0
- package/Sources/Charts/Charts.swift +0 -4
- package/Sources/Combine/AnyCancellable.swift +65 -0
- package/Sources/Combine/AnyPublisher.swift +148 -0
- package/Sources/Combine/AnySubscriber.swift +230 -0
- package/Sources/Combine/Cancellable.swift +35 -0
- package/Sources/Combine/Codable.swift +29 -0
- package/Sources/Combine/CombineIdentifier.swift +45 -0
- package/Sources/Combine/Concurrency/ConcurrencyHelpers.swift +24 -0
- package/Sources/Combine/Concurrency/Future+Concurrency.swift +136 -0
- package/Sources/Combine/Concurrency/GENERATED-Publisher+Concurrency.swift +397 -0
- package/Sources/Combine/CurrentValueSubject.swift +252 -0
- package/Sources/Combine/CustomCombineIdentifierConvertible.swift +28 -0
- package/Sources/Combine/Future.swift +228 -0
- package/Sources/Combine/GENERATED-RootProtocols.swift +426 -0
- package/Sources/Combine/Helpers/ConduitBase.swift +40 -0
- package/Sources/Combine/Helpers/ConduitList.swift +59 -0
- package/Sources/Combine/Helpers/DebugHook.swift +177 -0
- package/Sources/Combine/Helpers/FilterProducer.swift +174 -0
- package/Sources/Combine/Helpers/Locking.swift +30 -0
- package/Sources/Combine/Helpers/PartialCompletion.swift +26 -0
- package/Sources/Combine/Helpers/ReduceProducer.swift +249 -0
- package/Sources/Combine/Helpers/SubjectSubscriber.swift +96 -0
- package/Sources/Combine/Helpers/SubscriberTap.swift +69 -0
- package/Sources/Combine/Helpers/SubscriptionStatus.swift +33 -0
- package/Sources/Combine/Helpers/SubscriptionTap.swift +33 -0
- package/Sources/Combine/Helpers/Utils.swift +30 -0
- package/Sources/Combine/Helpers/Violations.swift +33 -0
- package/Sources/Combine/ImmediateScheduler.swift +178 -0
- package/Sources/Combine/LICENSE +21 -0
- package/Sources/Combine/NotificationPublisher.swift +48 -0
- package/Sources/Combine/ObjectWillChange.swift +46 -0
- package/Sources/Combine/PassthroughSubject.swift +222 -0
- package/Sources/Combine/Publisher+Subscribe.swift +53 -0
- package/Sources/Combine/Publishers/Deferred.swift +48 -0
- package/Sources/Combine/Publishers/Empty.swift +54 -0
- package/Sources/Combine/Publishers/Fail.swift +42 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.Catch.swift +673 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.Encode.swift +388 -0
- package/Sources/Combine/Publishers/GENERATED-Publishers.MapKeyPath.swift +384 -0
- package/Sources/Combine/Publishers/Just.swift +313 -0
- package/Sources/Combine/Publishers/Optional.Publisher.swift +315 -0
- package/Sources/Combine/Publishers/Publishers.AllSatisfy.swift +217 -0
- package/Sources/Combine/Publishers/Publishers.AssertNoFailure.swift +158 -0
- package/Sources/Combine/Publishers/Publishers.Autoconnect.swift +193 -0
- package/Sources/Combine/Publishers/Publishers.Breakpoint.swift +231 -0
- package/Sources/Combine/Publishers/Publishers.Buffer.swift +356 -0
- package/Sources/Combine/Publishers/Publishers.Collect.swift +102 -0
- package/Sources/Combine/Publishers/Publishers.CollectByCount.swift +195 -0
- package/Sources/Combine/Publishers/Publishers.CompactMap.swift +241 -0
- package/Sources/Combine/Publishers/Publishers.Comparison.swift +371 -0
- package/Sources/Combine/Publishers/Publishers.Concatenate.swift +474 -0
- package/Sources/Combine/Publishers/Publishers.Contains.swift +293 -0
- package/Sources/Combine/Publishers/Publishers.Count.swift +87 -0
- package/Sources/Combine/Publishers/Publishers.Debounce.swift +332 -0
- package/Sources/Combine/Publishers/Publishers.Delay.swift +269 -0
- package/Sources/Combine/Publishers/Publishers.Drop.swift +155 -0
- package/Sources/Combine/Publishers/Publishers.DropUntilOutput.swift +283 -0
- package/Sources/Combine/Publishers/Publishers.DropWhile.swift +378 -0
- package/Sources/Combine/Publishers/Publishers.Filter.swift +248 -0
- package/Sources/Combine/Publishers/Publishers.First.swift +261 -0
- package/Sources/Combine/Publishers/Publishers.FlatMap.swift +533 -0
- package/Sources/Combine/Publishers/Publishers.HandleEvents.swift +260 -0
- package/Sources/Combine/Publishers/Publishers.IgnoreOutput.swift +109 -0
- package/Sources/Combine/Publishers/Publishers.Last.swift +252 -0
- package/Sources/Combine/Publishers/Publishers.MakeConnectable.swift +82 -0
- package/Sources/Combine/Publishers/Publishers.Map.swift +351 -0
- package/Sources/Combine/Publishers/Publishers.MapError.swift +140 -0
- package/Sources/Combine/Publishers/Publishers.MeasureInterval.swift +187 -0
- package/Sources/Combine/Publishers/Publishers.Multicast.swift +284 -0
- package/Sources/Combine/Publishers/Publishers.Output.swift +241 -0
- package/Sources/Combine/Publishers/Publishers.PrefixUntilOutput.swift +197 -0
- package/Sources/Combine/Publishers/Publishers.PrefixWhile.swift +176 -0
- package/Sources/Combine/Publishers/Publishers.Print.swift +206 -0
- package/Sources/Combine/Publishers/Publishers.ReceiveOn.swift +227 -0
- package/Sources/Combine/Publishers/Publishers.Reduce.swift +204 -0
- package/Sources/Combine/Publishers/Publishers.RemoveDuplicates.swift +264 -0
- package/Sources/Combine/Publishers/Publishers.ReplaceEmpty.swift +201 -0
- package/Sources/Combine/Publishers/Publishers.ReplaceError.swift +211 -0
- package/Sources/Combine/Publishers/Publishers.Retry.swift +274 -0
- package/Sources/Combine/Publishers/Publishers.Scan.swift +331 -0
- package/Sources/Combine/Publishers/Publishers.Sequence.swift +437 -0
- package/Sources/Combine/Publishers/Publishers.SetFailureType.swift +120 -0
- package/Sources/Combine/Publishers/Publishers.Share.swift +104 -0
- package/Sources/Combine/Publishers/Publishers.SubscribeOn.swift +197 -0
- package/Sources/Combine/Publishers/Publishers.SwitchToLatest.swift +444 -0
- package/Sources/Combine/Publishers/Publishers.Throttle.swift +359 -0
- package/Sources/Combine/Publishers/Publishers.Timeout.swift +301 -0
- package/Sources/Combine/Publishers/Publishers.Zip.swift +720 -0
- package/Sources/Combine/Publishers/Publishers.swift +13 -0
- package/Sources/Combine/Publishers/Record.swift +237 -0
- package/Sources/Combine/Publishers/Result.Publisher.swift +337 -0
- package/Sources/Combine/Result.swift +46 -0
- package/Sources/Combine/Scheduler.swift +89 -0
- package/Sources/Combine/Schedulers.swift +211 -0
- package/Sources/Combine/Subject+Void.swift +17 -0
- package/Sources/Combine/Subscriber+Void.swift +20 -0
- package/Sources/Combine/Subscribers/Subscribers.Assign.swift +175 -0
- package/Sources/Combine/Subscribers/Subscribers.Completion.swift +90 -0
- package/Sources/Combine/Subscribers/Subscribers.Demand.swift +476 -0
- package/Sources/Combine/Subscribers/Subscribers.Sink.swift +206 -0
- package/Sources/Combine/Subscribers/Subscribers.swift +9 -0
- package/Sources/Combine/Subscription.swift +22 -0
- package/Sources/Combine/Subscriptions.swift +42 -0
- package/Sources/Combine/SwiftUIObservation.swift +10 -0
- package/Sources/Combine/_Introspection.swift +107 -0
- package/Sources/CommonCrypto/CommonCrypto.swift +80 -0
- package/Sources/Compression/Compression.swift +365 -0
- package/Sources/Compression/Deflate.swift +407 -0
- package/Sources/Compression/Zlib.swift +179 -0
- package/Sources/CoreFoundationTypes/CoreFoundationTypes.swift +101 -0
- package/Sources/CoreGraphics/CoreGraphics.swift +411 -0
- package/Sources/CoreGraphics/ProjectionTransforms.swift +28 -0
- package/Sources/CoreHaptics/CoreHaptics.swift +399 -0
- package/Sources/CoreImage/CIColor.swift +41 -0
- package/Sources/CoreImage/CIContext.swift +31 -0
- package/Sources/CoreImage/CIDetector.swift +57 -0
- package/Sources/CoreImage/CIFilter.swift +243 -0
- package/Sources/CoreImage/CIFilterBuiltins.swift +136 -0
- package/Sources/CoreImage/CIImage.swift +162 -0
- package/Sources/CoreImage/QRCode.swift +393 -0
- package/Sources/CoreLocation/Coordinate.swift +30 -0
- package/Sources/CoreLocation/Location.swift +65 -0
- package/Sources/CoreML/Evaluation.swift +414 -0
- package/Sources/CoreML/FeatureValue.swift +266 -0
- package/Sources/CoreML/Model.swift +269 -0
- package/Sources/CoreML/MultiArray.swift +92 -0
- package/Sources/CoreML/Specification.swift +233 -0
- package/Sources/CoreText/CoreText.swift +64 -0
- package/Sources/CoreTransferable/CoreTransferable.swift +606 -0
- package/Sources/CryptoKit/ChaChaPoly.swift +258 -0
- package/Sources/CryptoKit/CryptoKit.swift +375 -0
- package/Sources/CryptoKit/Curve25519.swift +317 -0
- package/Sources/CryptoKit/P256.swift +321 -0
- package/Sources/FoundationBridge/AppStorage.swift +165 -0
- package/Sources/FoundationBridge/AssetResources.swift +90 -0
- package/Sources/FoundationBridge/AsyncBytes.swift +128 -0
- package/Sources/FoundationBridge/AsyncImage.swift +116 -0
- package/Sources/FoundationBridge/AttributedStrings.swift +16 -0
- package/Sources/{_FoundationCommon → FoundationBridge}/Bundle.swift +41 -4
- package/Sources/FoundationBridge/CombineExports.swift +8 -0
- package/Sources/FoundationBridge/CoreFoundation.swift +77 -0
- package/Sources/FoundationBridge/Dispatch.swift +458 -0
- package/Sources/FoundationBridge/EnvironmentFoundation.swift +41 -0
- package/Sources/FoundationBridge/FileImporter.swift +128 -0
- package/Sources/FoundationBridge/FileSystem.swift +68 -0
- package/Sources/FoundationBridge/FoundationBridge.swift +24 -72
- package/Sources/FoundationBridge/HostResolution.swift +31 -0
- package/Sources/FoundationBridge/ItemProvider.swift +655 -0
- package/Sources/FoundationBridge/KeyValueObserving.swift +138 -0
- package/Sources/FoundationBridge/Links.swift +127 -0
- package/Sources/FoundationBridge/ListFormatter.swift +32 -0
- package/Sources/FoundationBridge/Localization.swift +149 -0
- package/Sources/FoundationBridge/Locks.swift +50 -0
- package/Sources/FoundationBridge/Markdown.swift +527 -0
- package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
- package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
- package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
- package/Sources/FoundationBridge/Operation.swift +195 -0
- package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
- package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
- package/Sources/FoundationBridge/SceneStorage.swift +78 -0
- package/Sources/FoundationBridge/SecurityExports.swift +8 -0
- package/Sources/FoundationBridge/Selector.swift +226 -0
- package/Sources/FoundationBridge/StringComparators.swift +17 -0
- package/Sources/FoundationBridge/Table.swift +211 -0
- package/Sources/FoundationBridge/TextAttributes.swift +42 -0
- package/Sources/FoundationBridge/Timer.swift +6 -1
- package/Sources/FoundationBridge/URLSession.swift +718 -0
- package/Sources/{_FoundationCommon → FoundationBridge}/UserDefaults.swift +17 -4
- package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
- package/Sources/FoundationBridge/WebSocket.swift +187 -0
- package/Sources/FoundationModels/FoundationModels.swift +1098 -0
- package/Sources/ImageIO/GIF.swift +72 -0
- package/Sources/ImageIO/ImageIO.swift +248 -0
- package/Sources/ImageIO/ImageTypes.swift +28 -0
- package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
- package/Sources/LocalAuthentication/LAContext.swift +86 -0
- package/Sources/MapKit/Geometry.swift +223 -0
- package/Sources/MapKit/Map.swift +638 -0
- package/Sources/MapKit/MapView.swift +229 -0
- package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
- package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
- package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
- package/Sources/OSLog/OSLog.swift +6 -0
- package/Sources/Photos/Photos.swift +572 -0
- package/Sources/PhotosUI/PhotosPicker.swift +248 -0
- package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
- package/Sources/QuickLook/QuickLook.swift +168 -0
- package/Sources/SafariServices/SafariServices.swift +106 -0
- package/Sources/Security/Security.swift +332 -0
- package/Sources/StoreKit/AppStore.swift +207 -0
- package/Sources/StoreKit/Products.swift +280 -0
- package/Sources/StoreKit/RequestReview.swift +28 -0
- package/Sources/StoreKit/StoreKit1.swift +486 -0
- package/Sources/StoreKit/StoreViews.swift +428 -0
- package/Sources/StoreKit/Transactions.swift +197 -0
- package/Sources/SwiftData/Macros.swift +58 -0
- package/Sources/SwiftData/ModelActor.swift +38 -0
- package/Sources/SwiftData/ModelContainer.swift +129 -0
- package/Sources/SwiftData/ModelContext.swift +451 -0
- package/Sources/SwiftData/PersistentModel.swift +238 -0
- package/Sources/SwiftData/Properties.swift +261 -0
- package/Sources/SwiftData/Query.swift +256 -0
- package/Sources/SwiftData/Schema.swift +192 -0
- package/Sources/SwiftData/Store.swift +146 -0
- package/Sources/SwiftData/StringPredicates.swift +125 -0
- package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
- package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
- package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
- package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
- package/Sources/SwiftDataMacros/Plugin.swift +18 -0
- package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
- package/Sources/SwiftUI/API/Accessibility.swift +55 -6
- package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
- package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
- package/Sources/SwiftUI/API/Alert.swift +1 -1
- package/Sources/SwiftUI/API/AlignmentGuides.swift +68 -0
- package/Sources/SwiftUI/API/Animation.swift +37 -5
- package/Sources/SwiftUI/API/App.swift +31 -1
- package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
- package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
- package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
- package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
- package/Sources/SwiftUI/API/Canvas.swift +337 -0
- package/Sources/SwiftUI/API/Color.swift +104 -28
- package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
- package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
- package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
- package/Sources/SwiftUI/API/Commands.swift +106 -0
- package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
- package/Sources/SwiftUI/API/ContentShape.swift +33 -0
- package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
- package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
- package/Sources/SwiftUI/API/Controls.swift +59 -27
- package/Sources/SwiftUI/API/CustomLayout.swift +49 -10
- package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
- package/Sources/SwiftUI/API/Decorations.swift +1 -1
- package/Sources/SwiftUI/API/EditMode.swift +25 -82
- package/Sources/SwiftUI/API/Effects.swift +125 -10
- package/Sources/SwiftUI/API/Entry.swift +8 -0
- package/Sources/SwiftUI/API/Environment.swift +100 -9
- package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
- package/Sources/SwiftUI/API/Focus.swift +11 -3
- package/Sources/SwiftUI/API/Gauge.swift +26 -10
- package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
- package/Sources/SwiftUI/API/GeometryReader.swift +13 -2
- package/Sources/SwiftUI/API/GestureState.swift +65 -0
- package/Sources/SwiftUI/API/Gestures.swift +1 -1
- package/Sources/SwiftUI/API/Glass.swift +127 -0
- package/Sources/SwiftUI/API/Grid.swift +1 -1
- package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
- package/Sources/SwiftUI/API/KeyPress.swift +54 -0
- package/Sources/SwiftUI/API/LabelStyle.swift +13 -6
- package/Sources/SwiftUI/API/Layout.swift +71 -12
- package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
- package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
- package/Sources/SwiftUI/API/Lists.swift +61 -6
- package/Sources/SwiftUI/API/Menu.swift +8 -1
- package/Sources/SwiftUI/API/Modifiers.swift +88 -12
- package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
- package/Sources/SwiftUI/API/Namespace.swift +44 -0
- package/Sources/SwiftUI/API/Navigation.swift +24 -9
- package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
- package/Sources/SwiftUI/API/ObservableObject.swift +16 -2
- package/Sources/SwiftUI/API/Path.swift +543 -0
- package/Sources/SwiftUI/API/Phase8Controls.swift +48 -31
- package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
- package/Sources/SwiftUI/API/Picker.swift +14 -4
- package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
- package/Sources/SwiftUI/API/Popover.swift +41 -0
- package/Sources/SwiftUI/API/Preferences.swift +262 -0
- package/Sources/SwiftUI/API/Presentation.swift +17 -4
- package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
- package/Sources/SwiftUI/API/Primitives.swift +168 -39
- package/Sources/SwiftUI/API/Publishers.swift +4 -4
- package/Sources/SwiftUI/API/Redaction.swift +75 -0
- package/Sources/SwiftUI/API/RowActions.swift +3 -2
- package/Sources/SwiftUI/API/Scenes.swift +131 -0
- package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
- package/Sources/SwiftUI/API/ScrollTargets.swift +3 -3
- package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
- package/Sources/SwiftUI/API/SectionSupplements.swift +86 -0
- package/Sources/SwiftUI/API/Shape.swift +214 -0
- package/Sources/SwiftUI/API/ShapeStyle.swift +187 -8
- package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
- package/Sources/SwiftUI/API/Sharing.swift +193 -0
- package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
- package/Sources/SwiftUI/API/State.swift +18 -1
- package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
- package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
- package/Sources/SwiftUI/API/TabContent.swift +841 -0
- package/Sources/SwiftUI/API/Table.swift +382 -0
- package/Sources/SwiftUI/API/Tabs.swift +148 -4
- package/Sources/SwiftUI/API/Tasks.swift +2 -2
- package/Sources/SwiftUI/API/Text.swift +386 -0
- package/Sources/SwiftUI/API/TextDates.swift +61 -0
- package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
- package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
- package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
- package/Sources/SwiftUI/API/Toolbar.swift +52 -16
- package/Sources/SwiftUI/API/Transfer.swift +145 -0
- package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
- package/Sources/SwiftUI/API/Video.swift +64 -0
- package/Sources/SwiftUI/API/View.swift +46 -2
- package/Sources/SwiftUI/API/ViewModifier.swift +4 -1
- package/Sources/SwiftUI/API/VisualEffect.swift +74 -1
- package/Sources/SwiftUI/API/Windows.swift +25 -0
- package/Sources/SwiftUI/Charts/Axis.swift +7 -1
- package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
- package/Sources/SwiftUI/Charts/Chart.swift +17 -3
- package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
- package/Sources/SwiftUI/Localization/Localization.swift +524 -0
- package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
- package/Sources/SwiftUI/Runtime/Executor.swift +2 -0
- package/Sources/SwiftUI/Runtime/Exports.swift +37 -1
- package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
- package/Sources/SwiftUI/Runtime/JSON.swift +76 -4
- package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
- package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
- package/Sources/SwiftUI/Runtime/Ops.swift +58 -12
- package/Sources/SwiftUI/Runtime/Reconciler.swift +10 -1
- package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
- package/Sources/SwiftUI/Runtime/Runtime.swift +977 -198
- package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
- package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
- package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
- package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
- package/Sources/Symbols/Symbols.swift +25 -0
- package/Sources/Translation/Translation.swift +423 -0
- package/Sources/UIKit/Activity.swift +213 -0
- package/Sources/UIKit/Alerts.swift +69 -0
- package/Sources/UIKit/AppDelegate.swift +222 -0
- package/Sources/UIKit/Appearance.swift +84 -0
- package/Sources/UIKit/ColorConversions.swift +70 -0
- package/Sources/UIKit/Controls.swift +225 -0
- package/Sources/UIKit/Device.swift +200 -0
- package/Sources/UIKit/Feedback.swift +65 -0
- package/Sources/UIKit/Font.swift +307 -0
- package/Sources/UIKit/Graphics.swift +204 -0
- package/Sources/UIKit/HostingController.swift +185 -0
- package/Sources/UIKit/Identity.swift +24 -0
- package/Sources/UIKit/Introspectable.swift +510 -0
- package/Sources/UIKit/Pasteboard.swift +363 -0
- package/Sources/UIKit/PhotoAlbum.swift +81 -0
- package/Sources/UIKit/RemoteNotifications.swift +15 -0
- package/Sources/UIKit/Representable.swift +288 -0
- package/Sources/UIKit/SafeArea.swift +12 -0
- package/Sources/UIKit/SceneDelegates.swift +132 -0
- package/Sources/UIKit/Scenes.swift +40 -0
- package/Sources/UIKit/ScrollView.swift +157 -0
- package/Sources/UIKit/ShortcutItems.swift +67 -0
- package/Sources/UIKit/SymbolConfiguration.swift +124 -0
- package/Sources/UIKit/TargetAction.swift +123 -0
- package/Sources/UIKit/TextPaste.swift +161 -0
- package/Sources/UIKit/TextView.swift +538 -0
- package/Sources/UIKit/UIKit.swift +292 -0
- package/Sources/UIKit/UIView.swift +855 -0
- package/Sources/UIKit/ViewTranslation.swift +311 -0
- package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
- package/Sources/UserNotifications/Content.swift +370 -0
- package/Sources/UserNotifications/NotificationCenter.swift +309 -0
- package/Sources/WeatherKit/WeatherKit.swift +228 -0
- package/Sources/WebKit/WebKit.swift +245 -0
- package/Sources/os/os.swift +376 -0
- package/Sources/zlib/zlib.swift +6 -0
- package/index.d.ts +1 -1
- package/index.mjs +2 -2
- package/manifest.d.mts +2 -0
- package/manifest.mjs +41 -0
- package/package.json +5 -3
- package/sync-sources.mjs +21 -7
- package/Sources/FoundationLite/Common.swift +0 -3
- package/Sources/FoundationLite/FoundationLite.swift +0 -171
- package/Sources/FoundationLite/Interaction.swift +0 -146
- package/Sources/FoundationLite/Timer.swift +0 -48
- package/Sources/_FoundationCommon/_FoundationCommon.swift +0 -10
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
// Preferences: values views pass up to their ancestors, the way environment
|
|
2
|
+
// values pass down. A view sets one with `.preference(key:value:)`; the
|
|
3
|
+
// reconciler combines a subtree's values with the key's `reduce` (children in
|
|
4
|
+
// order) after the subtree's bodies ran, and `.onPreferenceChange`,
|
|
5
|
+
// `.overlayPreferenceValue` and `.backgroundPreferenceValue` read the result.
|
|
6
|
+
// A subtree that is skipped keeps the values it produced last time.
|
|
7
|
+
//
|
|
8
|
+
// Anchors: the Swift side has no layout, so an anchor resolves against the
|
|
9
|
+
// size the renderer reports for the anchored view (its element carries
|
|
10
|
+
// `reportsSize`, like a `GeometryReader`'s), in the view's own coordinates:
|
|
11
|
+
// `.bounds` is `CGRect(origin: .zero, size: measured)`. Until the first
|
|
12
|
+
// report it is zero, and the preference updates when the size arrives.
|
|
13
|
+
|
|
14
|
+
/// A named value produced by a view, combined over a subtree with `reduce`.
|
|
15
|
+
public protocol PreferenceKey {
|
|
16
|
+
associatedtype Value
|
|
17
|
+
static var defaultValue: Value { get }
|
|
18
|
+
static func reduce(value: inout Value, nextValue: () -> Value)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
extension PreferenceKey where Value: ExpressibleByNilLiteral {
|
|
22
|
+
public static var defaultValue: Value { nil }
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/// The preference values a subtree produced, by key type.
|
|
26
|
+
struct _PreferenceValues {
|
|
27
|
+
struct Entry {
|
|
28
|
+
var value: Any
|
|
29
|
+
/// The key's `reduce`, for combining with a later sibling's value.
|
|
30
|
+
let reduce: (Any, Any) -> Any
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var entries: [ObjectIdentifier: Entry] = [:]
|
|
34
|
+
|
|
35
|
+
var isEmpty: Bool { entries.isEmpty }
|
|
36
|
+
|
|
37
|
+
subscript<K: PreferenceKey>(key: K.Type) -> K.Value? {
|
|
38
|
+
entries[ObjectIdentifier(key)]?.value as? K.Value
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// The key's combined value, or its default when nothing in the subtree set it.
|
|
42
|
+
func value<K: PreferenceKey>(of key: K.Type) -> K.Value { self[key] ?? K.defaultValue }
|
|
43
|
+
|
|
44
|
+
mutating func set<K: PreferenceKey>(_ key: K.Type, to value: K.Value) {
|
|
45
|
+
entries[ObjectIdentifier(key)] = Entry(value: value) { first, next in
|
|
46
|
+
var combined = first as! K.Value
|
|
47
|
+
K.reduce(value: &combined) { next as! K.Value }
|
|
48
|
+
return combined
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
mutating func remove<K: PreferenceKey>(_ key: K.Type) {
|
|
53
|
+
entries[ObjectIdentifier(key)] = nil
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/// Adds a later sibling's values: a key both set is reduced, in order.
|
|
57
|
+
mutating func merge(_ later: _PreferenceValues) {
|
|
58
|
+
for (key, entry) in later.entries {
|
|
59
|
+
if var existing = entries[key] {
|
|
60
|
+
existing.value = existing.reduce(existing.value, entry.value)
|
|
61
|
+
entries[key] = existing
|
|
62
|
+
} else {
|
|
63
|
+
entries[key] = entry
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// A view that changes its subtree's preference values (after its children's are combined).
|
|
70
|
+
protocol _PreferenceWriting: _TraitBearing {
|
|
71
|
+
func _write(_ values: inout _PreferenceValues, measured: CGSize)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/// A view that reads its subtree's combined values.
|
|
75
|
+
protocol _PreferenceReading: _TraitBearing {
|
|
76
|
+
/// Called after the subtree reconciled; `last` is what the previous call returned.
|
|
77
|
+
@MainActor func _read(_ values: _PreferenceValues, last: Any?) -> (keep: Any?, action: (@MainActor () -> Void)?)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/// A view whose element reports its laid-out size (`reportsSize`).
|
|
81
|
+
protocol _SizeReporting: _TraitBearing {}
|
|
82
|
+
|
|
83
|
+
/// `overlayPreferenceValue` / `backgroundPreferenceValue`: the decoration is
|
|
84
|
+
/// made from the base's combined value, after the base reconciled.
|
|
85
|
+
protocol _PreferenceValueDecorating: _TraitBearing {
|
|
86
|
+
var _base: any View { get }
|
|
87
|
+
func _decoration(from values: _PreferenceValues) -> any View
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// MARK: - Setting
|
|
91
|
+
|
|
92
|
+
struct _PreferenceView<Content: View, Key: PreferenceKey> {
|
|
93
|
+
let content: Content
|
|
94
|
+
let value: Key.Value
|
|
95
|
+
}
|
|
96
|
+
extension _PreferenceView: _PrimitiveView, _GroupView {
|
|
97
|
+
var _children: [any View] { [content] }
|
|
98
|
+
}
|
|
99
|
+
extension _PreferenceView: _PreferenceWriting {
|
|
100
|
+
func _write(_ values: inout _PreferenceValues, measured: CGSize) { values.set(Key.self, to: value) }
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
struct _TransformPreferenceView<Content: View, Key: PreferenceKey> {
|
|
104
|
+
let content: Content
|
|
105
|
+
let transform: (inout Key.Value) -> Void
|
|
106
|
+
}
|
|
107
|
+
extension _TransformPreferenceView: _PrimitiveView, _GroupView {
|
|
108
|
+
var _children: [any View] { [content] }
|
|
109
|
+
}
|
|
110
|
+
extension _TransformPreferenceView: _PreferenceWriting {
|
|
111
|
+
func _write(_ values: inout _PreferenceValues, measured: CGSize) {
|
|
112
|
+
var value = values.value(of: Key.self)
|
|
113
|
+
transform(&value)
|
|
114
|
+
values.set(Key.self, to: value)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
nonisolated extension View {
|
|
119
|
+
/// Sets the key's value for this view; it replaces what the content set for the key.
|
|
120
|
+
public func preference<K: PreferenceKey>(key: K.Type = K.self, value: K.Value) -> some View {
|
|
121
|
+
_PreferenceView<Self, K>(content: self, value: value)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/// Changes the key's value the content produced (its default when it set none).
|
|
125
|
+
public func transformPreference<K: PreferenceKey>(_ key: K.Type = K.self, _ callback: @escaping (inout K.Value) -> Void) -> some View {
|
|
126
|
+
_TransformPreferenceView<Self, K>(content: self, transform: callback)
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// MARK: - Reading
|
|
131
|
+
|
|
132
|
+
struct _PreferenceChangeView<Content: View, Key: PreferenceKey> where Key.Value: Equatable {
|
|
133
|
+
let content: Content
|
|
134
|
+
let action: (Key.Value) -> Void
|
|
135
|
+
}
|
|
136
|
+
extension _PreferenceChangeView: _PrimitiveView, _GroupView {
|
|
137
|
+
var _children: [any View] { [content] }
|
|
138
|
+
}
|
|
139
|
+
extension _PreferenceChangeView: _PreferenceReading {
|
|
140
|
+
@MainActor func _read(_ values: _PreferenceValues, last: Any?) -> (keep: Any?, action: (@MainActor () -> Void)?) {
|
|
141
|
+
let value = values.value(of: Key.self)
|
|
142
|
+
if let last = last as? Key.Value, last == value { return (last, nil) }
|
|
143
|
+
let action = self.action
|
|
144
|
+
return (value, { action(value) })
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
struct _PreferenceDecorationView<Content: View, Key: PreferenceKey, Decoration: View> {
|
|
149
|
+
let content: Content
|
|
150
|
+
let decoration: (Key.Value) -> Decoration
|
|
151
|
+
let role: String
|
|
152
|
+
let alignment: Alignment
|
|
153
|
+
}
|
|
154
|
+
extension _PreferenceDecorationView: _PrimitiveView {}
|
|
155
|
+
extension _PreferenceDecorationView: _HostView {
|
|
156
|
+
var _kind: String { "decorated" }
|
|
157
|
+
func _props(in environment: EnvironmentValues) -> _JSON {
|
|
158
|
+
.object(["role": .string(role), "alignment": .string(alignment._name)])
|
|
159
|
+
}
|
|
160
|
+
var _content: [any View] { [content] }
|
|
161
|
+
}
|
|
162
|
+
extension _PreferenceDecorationView: _PreferenceValueDecorating {
|
|
163
|
+
var _base: any View { content }
|
|
164
|
+
func _decoration(from values: _PreferenceValues) -> any View { decoration(values.value(of: Key.self)) }
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
nonisolated extension View {
|
|
168
|
+
/// Runs `action` after a render in which the key's combined value in this
|
|
169
|
+
/// subtree changed (and after the first, with its initial value).
|
|
170
|
+
public func onPreferenceChange<K: PreferenceKey>(_ key: K.Type = K.self, perform action: @escaping (K.Value) -> Void) -> some View where K.Value: Equatable {
|
|
171
|
+
_PreferenceChangeView<Self, K>(content: self, action: action)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/// An overlay made from the key's combined value in this view.
|
|
175
|
+
public func overlayPreferenceValue<K: PreferenceKey, V: View>(_ key: K.Type, alignment: Alignment = .center, @ViewBuilder _ transform: @escaping (K.Value) -> V) -> some View {
|
|
176
|
+
_PreferenceDecorationView<Self, K, V>(content: self, decoration: transform, role: "overlay", alignment: alignment)
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// A background made from the key's combined value in this view.
|
|
180
|
+
public func backgroundPreferenceValue<K: PreferenceKey, V: View>(_ key: K.Type, alignment: Alignment = .center, @ViewBuilder _ transform: @escaping (K.Value) -> V) -> some View {
|
|
181
|
+
_PreferenceDecorationView<Self, K, V>(content: self, decoration: transform, role: "background", alignment: alignment)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// MARK: - Anchors
|
|
186
|
+
|
|
187
|
+
/// A geometric value of a view, resolved with a `GeometryProxy` subscript.
|
|
188
|
+
public struct Anchor<Value> {
|
|
189
|
+
let value: Value
|
|
190
|
+
|
|
191
|
+
/// How to make an anchor from a view's bounds.
|
|
192
|
+
public struct Source {
|
|
193
|
+
let resolve: (CGRect) -> Value
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
extension Anchor: Equatable where Value: Equatable {}
|
|
197
|
+
extension Anchor: Hashable where Value: Hashable {}
|
|
198
|
+
extension Anchor: Sendable where Value: Sendable {}
|
|
199
|
+
|
|
200
|
+
extension Anchor.Source where Value == CGRect {
|
|
201
|
+
public static var bounds: Anchor<CGRect>.Source { .init { $0 } }
|
|
202
|
+
public static func rect(_ r: CGRect) -> Anchor<CGRect>.Source { .init { _ in r } }
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
extension Anchor.Source where Value == CGPoint {
|
|
206
|
+
public static func point(_ p: CGPoint) -> Anchor<CGPoint>.Source { .init { _ in p } }
|
|
207
|
+
public static func unitPoint(_ p: UnitPoint) -> Anchor<CGPoint>.Source {
|
|
208
|
+
.init { CGPoint(x: $0.minX + p.x * $0.width, y: $0.minY + p.y * $0.height) }
|
|
209
|
+
}
|
|
210
|
+
public static var topLeading: Anchor<CGPoint>.Source { unitPoint(.topLeading) }
|
|
211
|
+
public static var top: Anchor<CGPoint>.Source { unitPoint(.top) }
|
|
212
|
+
public static var topTrailing: Anchor<CGPoint>.Source { unitPoint(.topTrailing) }
|
|
213
|
+
public static var leading: Anchor<CGPoint>.Source { unitPoint(.leading) }
|
|
214
|
+
public static var center: Anchor<CGPoint>.Source { unitPoint(.center) }
|
|
215
|
+
public static var trailing: Anchor<CGPoint>.Source { unitPoint(.trailing) }
|
|
216
|
+
public static var bottomLeading: Anchor<CGPoint>.Source { unitPoint(.bottomLeading) }
|
|
217
|
+
public static var bottom: Anchor<CGPoint>.Source { unitPoint(.bottom) }
|
|
218
|
+
public static var bottomTrailing: Anchor<CGPoint>.Source { unitPoint(.bottomTrailing) }
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
extension GeometryProxy {
|
|
222
|
+
/// The anchor's value, in the anchored view's own coordinates (see the file comment).
|
|
223
|
+
public subscript<T>(anchor: Anchor<T>) -> T { anchor.value }
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
struct _AnchorPreferenceView<Content: View, A, Key: PreferenceKey> {
|
|
227
|
+
let content: Content
|
|
228
|
+
let source: Anchor<A>.Source
|
|
229
|
+
/// Sets the value (`anchorPreference`) or changes it (`transformAnchorPreference`).
|
|
230
|
+
let write: (inout _PreferenceValues, Anchor<A>) -> Void
|
|
231
|
+
}
|
|
232
|
+
extension _AnchorPreferenceView: _PrimitiveView, _SizeReporting {}
|
|
233
|
+
extension _AnchorPreferenceView: _HostView {
|
|
234
|
+
var _kind: String { "zstack" }
|
|
235
|
+
func _props(in environment: EnvironmentValues) -> _JSON {
|
|
236
|
+
.object(["alignment": .string(Alignment.center._name), "reportsSize": .bool(true)])
|
|
237
|
+
}
|
|
238
|
+
var _content: [any View] { [content] }
|
|
239
|
+
}
|
|
240
|
+
extension _AnchorPreferenceView: _PreferenceWriting {
|
|
241
|
+
func _write(_ values: inout _PreferenceValues, measured: CGSize) {
|
|
242
|
+
write(&values, Anchor(value: source.resolve(CGRect(origin: .zero, size: measured))))
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
nonisolated extension View {
|
|
247
|
+
/// Sets the key's value from an anchor of this view's bounds.
|
|
248
|
+
public func anchorPreference<A, K: PreferenceKey>(key: K.Type = K.self, value: Anchor<A>.Source, transform: @escaping (Anchor<A>) -> K.Value) -> some View {
|
|
249
|
+
_AnchorPreferenceView<Self, A, K>(content: self, source: value) { values, anchor in
|
|
250
|
+
values.set(K.self, to: transform(anchor))
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/// Changes the key's value with an anchor of this view's bounds.
|
|
255
|
+
public func transformAnchorPreference<A, K: PreferenceKey>(key: K.Type = K.self, value: Anchor<A>.Source, transform: @escaping (inout K.Value, Anchor<A>) -> Void) -> some View {
|
|
256
|
+
_AnchorPreferenceView<Self, A, K>(content: self, source: value) { values, anchor in
|
|
257
|
+
var current = values.value(of: K.self)
|
|
258
|
+
transform(¤t, anchor)
|
|
259
|
+
values.set(K.self, to: current)
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
@@ -3,11 +3,23 @@ public struct PresentationDetent: Hashable, Sendable {
|
|
|
3
3
|
let name: String
|
|
4
4
|
public static let medium = PresentationDetent(name: "medium")
|
|
5
5
|
public static let large = PresentationDetent(name: "large")
|
|
6
|
+
/// A sheet this many points tall (`"height:<points>"`, capped at the large height).
|
|
7
|
+
public static func height(_ height: CGFloat) -> PresentationDetent { PresentationDetent(name: "height:\(Double(height))") }
|
|
8
|
+
/// A sheet this fraction of the screen tall (`"fraction:<f>"`, capped at the large height).
|
|
9
|
+
public static func fraction(_ fraction: CGFloat) -> PresentationDetent { PresentationDetent(name: "fraction:\(Double(fraction))") }
|
|
10
|
+
|
|
11
|
+
/// Orders detents smallest first (a height counts against an 852pt screen).
|
|
12
|
+
var _order: Double {
|
|
13
|
+
if name == "medium" { return 0.5 }
|
|
14
|
+
if name.hasPrefix("height:") { return (Double(name.dropFirst(7)) ?? 852) / 852 }
|
|
15
|
+
if name.hasPrefix("fraction:") { return Double(name.dropFirst(9)) ?? 1 }
|
|
16
|
+
return 1
|
|
17
|
+
}
|
|
6
18
|
}
|
|
7
19
|
|
|
8
20
|
/// Views that present a sheet. The runtime mounts the sheet content as a
|
|
9
21
|
/// second child and emits it as a root-level `sheet` element while presented.
|
|
10
|
-
protocol _SheetPresenting {
|
|
22
|
+
protocol _SheetPresenting: _TraitBearing {
|
|
11
23
|
var _isPresented: Binding<Bool> { get }
|
|
12
24
|
var _onDismiss: (@MainActor () -> Void)? { get }
|
|
13
25
|
var _base: any View { get }
|
|
@@ -36,7 +48,7 @@ extension _SheetView: _SheetPresenting {
|
|
|
36
48
|
var _fullScreen: Bool { fullScreen }
|
|
37
49
|
}
|
|
38
50
|
|
|
39
|
-
protocol _DetentsModifying {
|
|
51
|
+
protocol _DetentsModifying: _TraitBearing {
|
|
40
52
|
var _detents: [String] { get }
|
|
41
53
|
}
|
|
42
54
|
|
|
@@ -91,8 +103,9 @@ extension View {
|
|
|
91
103
|
}
|
|
92
104
|
|
|
93
105
|
public func presentationDetents(_ detents: Set<PresentationDetent>) -> some View {
|
|
94
|
-
|
|
95
|
-
|
|
106
|
+
// Smallest first: the page presents the sheet at the first.
|
|
107
|
+
let sorted = detents.sorted { ($0._order, $0.name) < ($1._order, $1.name) }
|
|
108
|
+
return _DetentsView(content: self, detents: sorted.map(\.name))
|
|
96
109
|
}
|
|
97
110
|
}
|
|
98
111
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Sheet and transition modifiers accepted for source compatibility. The
|
|
2
|
+
// page's sheet keeps its system background, corner radius and drag (to
|
|
3
|
+
// dismiss, and between detents); a navigation push or sheet keeps its own
|
|
4
|
+
// slide instead of iOS 18's zoom from a source view.
|
|
5
|
+
//
|
|
6
|
+
// `.presentationBackground`, `.presentationCornerRadius`,
|
|
7
|
+
// `.presentationBackgroundInteraction`, `.presentationSizing`,
|
|
8
|
+
// `.presentationDragIndicator`, `.interactiveDismissDisabled` (the sheet can
|
|
9
|
+
// still be dragged down), `.navigationTransition` and
|
|
10
|
+
// `.matchedTransitionSource` add nothing to the tree.
|
|
11
|
+
|
|
12
|
+
public struct PresentationBackgroundInteraction: Sendable {
|
|
13
|
+
let name: String
|
|
14
|
+
public static let automatic = PresentationBackgroundInteraction(name: "automatic")
|
|
15
|
+
public static let enabled = PresentationBackgroundInteraction(name: "enabled")
|
|
16
|
+
public static func enabled(upThrough detent: PresentationDetent) -> PresentationBackgroundInteraction { .enabled }
|
|
17
|
+
public static let disabled = PresentationBackgroundInteraction(name: "disabled")
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public struct PresentationSizing: Sendable {
|
|
21
|
+
let name: String
|
|
22
|
+
public static let automatic = PresentationSizing(name: "automatic")
|
|
23
|
+
public static let page = PresentationSizing(name: "page")
|
|
24
|
+
public static let form = PresentationSizing(name: "form")
|
|
25
|
+
public static let fitted = PresentationSizing(name: "fitted")
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/// A navigation transition (iOS 18); the page keeps the standard one.
|
|
29
|
+
public struct NavigationTransition: Sendable {
|
|
30
|
+
let name: String
|
|
31
|
+
public static let automatic = NavigationTransition(name: "automatic")
|
|
32
|
+
public static func zoom<ID: Hashable>(sourceID: ID, in namespace: Namespace.ID) -> NavigationTransition {
|
|
33
|
+
NavigationTransition(name: "zoom")
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/// What `matchedTransitionSource(id:in:configuration:)` configures; unused.
|
|
38
|
+
public struct EmptyMatchedTransitionSourceConfiguration: Sendable {
|
|
39
|
+
public func background(_ style: Color) -> EmptyMatchedTransitionSourceConfiguration { self }
|
|
40
|
+
public func clipShape(_ shape: RoundedRectangle) -> EmptyMatchedTransitionSourceConfiguration { self }
|
|
41
|
+
public func shadow(color: Color = .black, radius: CGFloat, x: CGFloat = 0, y: CGFloat = 0)
|
|
42
|
+
-> EmptyMatchedTransitionSourceConfiguration { self }
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
nonisolated extension View {
|
|
46
|
+
public func presentationBackground<S: ShapeStyle>(_ style: S) -> some View { self }
|
|
47
|
+
public func presentationBackground<V: View>(alignment: Alignment = .center, @ViewBuilder content: () -> V) -> some View { self }
|
|
48
|
+
public func presentationCornerRadius(_ cornerRadius: CGFloat?) -> some View { self }
|
|
49
|
+
public func presentationBackgroundInteraction(_ interaction: PresentationBackgroundInteraction) -> some View { self }
|
|
50
|
+
public func presentationSizing(_ sizing: PresentationSizing) -> some View { self }
|
|
51
|
+
public func presentationDragIndicator(_ visibility: Visibility) -> some View { self }
|
|
52
|
+
public func interactiveDismissDisabled(_ isDisabled: Bool = true) -> some View { self }
|
|
53
|
+
|
|
54
|
+
public func navigationTransition(_ style: NavigationTransition) -> some View { self }
|
|
55
|
+
public func matchedTransitionSource<ID: Hashable>(id: ID, in namespace: Namespace.ID) -> some View { self }
|
|
56
|
+
public func matchedTransitionSource<ID: Hashable>(
|
|
57
|
+
id: ID, in namespace: Namespace.ID,
|
|
58
|
+
configuration: (EmptyMatchedTransitionSourceConfiguration) -> EmptyMatchedTransitionSourceConfiguration
|
|
59
|
+
) -> some View { self }
|
|
60
|
+
}
|