@swiftbrowser/swift 0.1.0 → 0.2.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.
Files changed (393) hide show
  1. package/Package.swift +200 -9
  2. package/README.md +7 -9
  3. package/Sources/AVFoundation/AVFoundation.swift +131 -0
  4. package/Sources/AVFoundation/Asset.swift +487 -0
  5. package/Sources/AVFoundation/AudioSession.swift +144 -0
  6. package/Sources/AVFoundation/CMTime.swift +303 -0
  7. package/Sources/AVFoundation/Capture.swift +688 -0
  8. package/Sources/AVFoundation/Player.swift +749 -0
  9. package/Sources/AVFoundation/PlayerView.swift +117 -0
  10. package/Sources/AVKit/AVKit.swift +132 -0
  11. package/Sources/Accelerate/Accelerate.swift +122 -0
  12. package/Sources/AppIntents/AppIntents.swift +144 -0
  13. package/Sources/AppIntents/Parameters.swift +220 -0
  14. package/Sources/AppIntents/Shortcuts.swift +159 -0
  15. package/Sources/AudioToolbox/AudioToolbox.swift +55 -0
  16. package/Sources/AuthenticationServices/AuthenticationServices.swift +257 -0
  17. package/Sources/AuthenticationServices/Authorization.swift +251 -0
  18. package/Sources/Charts/Charts.swift +0 -4
  19. package/Sources/Combine/AnyCancellable.swift +65 -0
  20. package/Sources/Combine/AnyPublisher.swift +148 -0
  21. package/Sources/Combine/AnySubscriber.swift +230 -0
  22. package/Sources/Combine/Cancellable.swift +35 -0
  23. package/Sources/Combine/Codable.swift +29 -0
  24. package/Sources/Combine/CombineIdentifier.swift +45 -0
  25. package/Sources/Combine/Concurrency/ConcurrencyHelpers.swift +24 -0
  26. package/Sources/Combine/Concurrency/Future+Concurrency.swift +136 -0
  27. package/Sources/Combine/Concurrency/GENERATED-Publisher+Concurrency.swift +397 -0
  28. package/Sources/Combine/CurrentValueSubject.swift +252 -0
  29. package/Sources/Combine/CustomCombineIdentifierConvertible.swift +28 -0
  30. package/Sources/Combine/Future.swift +228 -0
  31. package/Sources/Combine/GENERATED-RootProtocols.swift +426 -0
  32. package/Sources/Combine/Helpers/ConduitBase.swift +40 -0
  33. package/Sources/Combine/Helpers/ConduitList.swift +59 -0
  34. package/Sources/Combine/Helpers/DebugHook.swift +177 -0
  35. package/Sources/Combine/Helpers/FilterProducer.swift +174 -0
  36. package/Sources/Combine/Helpers/Locking.swift +30 -0
  37. package/Sources/Combine/Helpers/PartialCompletion.swift +26 -0
  38. package/Sources/Combine/Helpers/ReduceProducer.swift +249 -0
  39. package/Sources/Combine/Helpers/SubjectSubscriber.swift +96 -0
  40. package/Sources/Combine/Helpers/SubscriberTap.swift +69 -0
  41. package/Sources/Combine/Helpers/SubscriptionStatus.swift +33 -0
  42. package/Sources/Combine/Helpers/SubscriptionTap.swift +33 -0
  43. package/Sources/Combine/Helpers/Utils.swift +30 -0
  44. package/Sources/Combine/Helpers/Violations.swift +33 -0
  45. package/Sources/Combine/ImmediateScheduler.swift +178 -0
  46. package/Sources/Combine/LICENSE +21 -0
  47. package/Sources/Combine/NotificationPublisher.swift +48 -0
  48. package/Sources/Combine/ObjectWillChange.swift +46 -0
  49. package/Sources/Combine/PassthroughSubject.swift +222 -0
  50. package/Sources/Combine/Publisher+Subscribe.swift +53 -0
  51. package/Sources/Combine/Publishers/Deferred.swift +48 -0
  52. package/Sources/Combine/Publishers/Empty.swift +54 -0
  53. package/Sources/Combine/Publishers/Fail.swift +42 -0
  54. package/Sources/Combine/Publishers/GENERATED-Publishers.Catch.swift +673 -0
  55. package/Sources/Combine/Publishers/GENERATED-Publishers.Encode.swift +388 -0
  56. package/Sources/Combine/Publishers/GENERATED-Publishers.MapKeyPath.swift +384 -0
  57. package/Sources/Combine/Publishers/Just.swift +313 -0
  58. package/Sources/Combine/Publishers/Optional.Publisher.swift +315 -0
  59. package/Sources/Combine/Publishers/Publishers.AllSatisfy.swift +217 -0
  60. package/Sources/Combine/Publishers/Publishers.AssertNoFailure.swift +158 -0
  61. package/Sources/Combine/Publishers/Publishers.Autoconnect.swift +193 -0
  62. package/Sources/Combine/Publishers/Publishers.Breakpoint.swift +231 -0
  63. package/Sources/Combine/Publishers/Publishers.Buffer.swift +356 -0
  64. package/Sources/Combine/Publishers/Publishers.Collect.swift +102 -0
  65. package/Sources/Combine/Publishers/Publishers.CollectByCount.swift +195 -0
  66. package/Sources/Combine/Publishers/Publishers.CompactMap.swift +241 -0
  67. package/Sources/Combine/Publishers/Publishers.Comparison.swift +371 -0
  68. package/Sources/Combine/Publishers/Publishers.Concatenate.swift +474 -0
  69. package/Sources/Combine/Publishers/Publishers.Contains.swift +293 -0
  70. package/Sources/Combine/Publishers/Publishers.Count.swift +87 -0
  71. package/Sources/Combine/Publishers/Publishers.Debounce.swift +332 -0
  72. package/Sources/Combine/Publishers/Publishers.Delay.swift +269 -0
  73. package/Sources/Combine/Publishers/Publishers.Drop.swift +155 -0
  74. package/Sources/Combine/Publishers/Publishers.DropUntilOutput.swift +283 -0
  75. package/Sources/Combine/Publishers/Publishers.DropWhile.swift +378 -0
  76. package/Sources/Combine/Publishers/Publishers.Filter.swift +248 -0
  77. package/Sources/Combine/Publishers/Publishers.First.swift +261 -0
  78. package/Sources/Combine/Publishers/Publishers.FlatMap.swift +533 -0
  79. package/Sources/Combine/Publishers/Publishers.HandleEvents.swift +260 -0
  80. package/Sources/Combine/Publishers/Publishers.IgnoreOutput.swift +109 -0
  81. package/Sources/Combine/Publishers/Publishers.Last.swift +252 -0
  82. package/Sources/Combine/Publishers/Publishers.MakeConnectable.swift +82 -0
  83. package/Sources/Combine/Publishers/Publishers.Map.swift +351 -0
  84. package/Sources/Combine/Publishers/Publishers.MapError.swift +140 -0
  85. package/Sources/Combine/Publishers/Publishers.MeasureInterval.swift +187 -0
  86. package/Sources/Combine/Publishers/Publishers.Multicast.swift +284 -0
  87. package/Sources/Combine/Publishers/Publishers.Output.swift +241 -0
  88. package/Sources/Combine/Publishers/Publishers.PrefixUntilOutput.swift +197 -0
  89. package/Sources/Combine/Publishers/Publishers.PrefixWhile.swift +176 -0
  90. package/Sources/Combine/Publishers/Publishers.Print.swift +206 -0
  91. package/Sources/Combine/Publishers/Publishers.ReceiveOn.swift +227 -0
  92. package/Sources/Combine/Publishers/Publishers.Reduce.swift +204 -0
  93. package/Sources/Combine/Publishers/Publishers.RemoveDuplicates.swift +264 -0
  94. package/Sources/Combine/Publishers/Publishers.ReplaceEmpty.swift +201 -0
  95. package/Sources/Combine/Publishers/Publishers.ReplaceError.swift +211 -0
  96. package/Sources/Combine/Publishers/Publishers.Retry.swift +274 -0
  97. package/Sources/Combine/Publishers/Publishers.Scan.swift +331 -0
  98. package/Sources/Combine/Publishers/Publishers.Sequence.swift +437 -0
  99. package/Sources/Combine/Publishers/Publishers.SetFailureType.swift +120 -0
  100. package/Sources/Combine/Publishers/Publishers.Share.swift +104 -0
  101. package/Sources/Combine/Publishers/Publishers.SubscribeOn.swift +197 -0
  102. package/Sources/Combine/Publishers/Publishers.SwitchToLatest.swift +444 -0
  103. package/Sources/Combine/Publishers/Publishers.Throttle.swift +359 -0
  104. package/Sources/Combine/Publishers/Publishers.Timeout.swift +301 -0
  105. package/Sources/Combine/Publishers/Publishers.Zip.swift +720 -0
  106. package/Sources/Combine/Publishers/Publishers.swift +13 -0
  107. package/Sources/Combine/Publishers/Record.swift +237 -0
  108. package/Sources/Combine/Publishers/Result.Publisher.swift +337 -0
  109. package/Sources/Combine/Result.swift +46 -0
  110. package/Sources/Combine/Scheduler.swift +89 -0
  111. package/Sources/Combine/Schedulers.swift +211 -0
  112. package/Sources/Combine/Subject+Void.swift +17 -0
  113. package/Sources/Combine/Subscriber+Void.swift +20 -0
  114. package/Sources/Combine/Subscribers/Subscribers.Assign.swift +175 -0
  115. package/Sources/Combine/Subscribers/Subscribers.Completion.swift +90 -0
  116. package/Sources/Combine/Subscribers/Subscribers.Demand.swift +476 -0
  117. package/Sources/Combine/Subscribers/Subscribers.Sink.swift +206 -0
  118. package/Sources/Combine/Subscribers/Subscribers.swift +9 -0
  119. package/Sources/Combine/Subscription.swift +22 -0
  120. package/Sources/Combine/Subscriptions.swift +42 -0
  121. package/Sources/Combine/SwiftUIObservation.swift +10 -0
  122. package/Sources/Combine/_Introspection.swift +107 -0
  123. package/Sources/CommonCrypto/CommonCrypto.swift +80 -0
  124. package/Sources/Compression/Compression.swift +365 -0
  125. package/Sources/Compression/Deflate.swift +407 -0
  126. package/Sources/Compression/Zlib.swift +179 -0
  127. package/Sources/CoreFoundationTypes/CoreFoundationTypes.swift +101 -0
  128. package/Sources/CoreGraphics/CoreGraphics.swift +411 -0
  129. package/Sources/CoreGraphics/ProjectionTransforms.swift +28 -0
  130. package/Sources/CoreHaptics/CoreHaptics.swift +399 -0
  131. package/Sources/CoreImage/CIColor.swift +41 -0
  132. package/Sources/CoreImage/CIContext.swift +31 -0
  133. package/Sources/CoreImage/CIDetector.swift +57 -0
  134. package/Sources/CoreImage/CIFilter.swift +243 -0
  135. package/Sources/CoreImage/CIFilterBuiltins.swift +136 -0
  136. package/Sources/CoreImage/CIImage.swift +162 -0
  137. package/Sources/CoreImage/QRCode.swift +393 -0
  138. package/Sources/CoreLocation/Coordinate.swift +30 -0
  139. package/Sources/CoreLocation/Location.swift +65 -0
  140. package/Sources/CoreML/Evaluation.swift +414 -0
  141. package/Sources/CoreML/FeatureValue.swift +266 -0
  142. package/Sources/CoreML/Model.swift +269 -0
  143. package/Sources/CoreML/MultiArray.swift +92 -0
  144. package/Sources/CoreML/Specification.swift +233 -0
  145. package/Sources/CoreText/CoreText.swift +64 -0
  146. package/Sources/CoreTransferable/CoreTransferable.swift +606 -0
  147. package/Sources/CryptoKit/ChaChaPoly.swift +258 -0
  148. package/Sources/CryptoKit/CryptoKit.swift +375 -0
  149. package/Sources/CryptoKit/Curve25519.swift +317 -0
  150. package/Sources/CryptoKit/P256.swift +321 -0
  151. package/Sources/FoundationBridge/AppStorage.swift +165 -0
  152. package/Sources/FoundationBridge/AssetResources.swift +90 -0
  153. package/Sources/FoundationBridge/AsyncBytes.swift +128 -0
  154. package/Sources/FoundationBridge/AsyncImage.swift +116 -0
  155. package/Sources/FoundationBridge/AttributedStrings.swift +16 -0
  156. package/Sources/{_FoundationCommon → FoundationBridge}/Bundle.swift +41 -4
  157. package/Sources/FoundationBridge/CombineExports.swift +8 -0
  158. package/Sources/FoundationBridge/CoreFoundation.swift +77 -0
  159. package/Sources/FoundationBridge/Dispatch.swift +458 -0
  160. package/Sources/FoundationBridge/EnvironmentFoundation.swift +41 -0
  161. package/Sources/FoundationBridge/FileImporter.swift +128 -0
  162. package/Sources/FoundationBridge/FileSystem.swift +68 -0
  163. package/Sources/FoundationBridge/FoundationBridge.swift +24 -72
  164. package/Sources/FoundationBridge/HostResolution.swift +31 -0
  165. package/Sources/FoundationBridge/ItemProvider.swift +655 -0
  166. package/Sources/FoundationBridge/KeyValueObserving.swift +138 -0
  167. package/Sources/FoundationBridge/Links.swift +127 -0
  168. package/Sources/FoundationBridge/ListFormatter.swift +32 -0
  169. package/Sources/FoundationBridge/Localization.swift +149 -0
  170. package/Sources/FoundationBridge/Locks.swift +50 -0
  171. package/Sources/FoundationBridge/Markdown.swift +527 -0
  172. package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
  173. package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
  174. package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
  175. package/Sources/FoundationBridge/Operation.swift +195 -0
  176. package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
  177. package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
  178. package/Sources/FoundationBridge/SceneStorage.swift +78 -0
  179. package/Sources/FoundationBridge/SecurityExports.swift +8 -0
  180. package/Sources/FoundationBridge/Selector.swift +226 -0
  181. package/Sources/FoundationBridge/StringComparators.swift +17 -0
  182. package/Sources/FoundationBridge/Table.swift +211 -0
  183. package/Sources/FoundationBridge/TextAttributes.swift +42 -0
  184. package/Sources/FoundationBridge/Timer.swift +6 -1
  185. package/Sources/FoundationBridge/URLSession.swift +718 -0
  186. package/Sources/{_FoundationCommon → FoundationBridge}/UserDefaults.swift +17 -4
  187. package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
  188. package/Sources/FoundationBridge/WebSocket.swift +187 -0
  189. package/Sources/FoundationModels/FoundationModels.swift +1098 -0
  190. package/Sources/ImageIO/GIF.swift +72 -0
  191. package/Sources/ImageIO/ImageIO.swift +248 -0
  192. package/Sources/ImageIO/ImageTypes.swift +28 -0
  193. package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
  194. package/Sources/LocalAuthentication/LAContext.swift +86 -0
  195. package/Sources/MapKit/Geometry.swift +223 -0
  196. package/Sources/MapKit/Map.swift +638 -0
  197. package/Sources/MapKit/MapView.swift +229 -0
  198. package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
  199. package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
  200. package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
  201. package/Sources/OSLog/OSLog.swift +6 -0
  202. package/Sources/Photos/Photos.swift +572 -0
  203. package/Sources/PhotosUI/PhotosPicker.swift +248 -0
  204. package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
  205. package/Sources/QuickLook/QuickLook.swift +168 -0
  206. package/Sources/SafariServices/SafariServices.swift +106 -0
  207. package/Sources/Security/Security.swift +332 -0
  208. package/Sources/StoreKit/AppStore.swift +207 -0
  209. package/Sources/StoreKit/Products.swift +280 -0
  210. package/Sources/StoreKit/RequestReview.swift +28 -0
  211. package/Sources/StoreKit/StoreKit1.swift +486 -0
  212. package/Sources/StoreKit/StoreViews.swift +428 -0
  213. package/Sources/StoreKit/Transactions.swift +197 -0
  214. package/Sources/SwiftData/Macros.swift +58 -0
  215. package/Sources/SwiftData/ModelActor.swift +38 -0
  216. package/Sources/SwiftData/ModelContainer.swift +129 -0
  217. package/Sources/SwiftData/ModelContext.swift +451 -0
  218. package/Sources/SwiftData/PersistentModel.swift +238 -0
  219. package/Sources/SwiftData/Properties.swift +261 -0
  220. package/Sources/SwiftData/Query.swift +256 -0
  221. package/Sources/SwiftData/Schema.swift +192 -0
  222. package/Sources/SwiftData/Store.swift +146 -0
  223. package/Sources/SwiftData/StringPredicates.swift +125 -0
  224. package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
  225. package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
  226. package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
  227. package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
  228. package/Sources/SwiftDataMacros/Plugin.swift +18 -0
  229. package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
  230. package/Sources/SwiftUI/API/Accessibility.swift +55 -6
  231. package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
  232. package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
  233. package/Sources/SwiftUI/API/Alert.swift +1 -1
  234. package/Sources/SwiftUI/API/AlignmentGuides.swift +65 -0
  235. package/Sources/SwiftUI/API/Animation.swift +37 -5
  236. package/Sources/SwiftUI/API/App.swift +31 -1
  237. package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
  238. package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
  239. package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
  240. package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
  241. package/Sources/SwiftUI/API/Canvas.swift +337 -0
  242. package/Sources/SwiftUI/API/Color.swift +104 -28
  243. package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
  244. package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
  245. package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
  246. package/Sources/SwiftUI/API/Commands.swift +106 -0
  247. package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
  248. package/Sources/SwiftUI/API/ContentShape.swift +33 -0
  249. package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
  250. package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
  251. package/Sources/SwiftUI/API/Controls.swift +59 -27
  252. package/Sources/SwiftUI/API/CustomLayout.swift +49 -10
  253. package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
  254. package/Sources/SwiftUI/API/Decorations.swift +1 -1
  255. package/Sources/SwiftUI/API/EditMode.swift +25 -82
  256. package/Sources/SwiftUI/API/Effects.swift +105 -7
  257. package/Sources/SwiftUI/API/Entry.swift +8 -0
  258. package/Sources/SwiftUI/API/Environment.swift +93 -9
  259. package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
  260. package/Sources/SwiftUI/API/Focus.swift +11 -3
  261. package/Sources/SwiftUI/API/Gauge.swift +3 -2
  262. package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
  263. package/Sources/SwiftUI/API/GeometryReader.swift +13 -2
  264. package/Sources/SwiftUI/API/GestureState.swift +65 -0
  265. package/Sources/SwiftUI/API/Gestures.swift +1 -1
  266. package/Sources/SwiftUI/API/Glass.swift +127 -0
  267. package/Sources/SwiftUI/API/Grid.swift +1 -1
  268. package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
  269. package/Sources/SwiftUI/API/KeyPress.swift +54 -0
  270. package/Sources/SwiftUI/API/LabelStyle.swift +13 -6
  271. package/Sources/SwiftUI/API/Layout.swift +67 -12
  272. package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
  273. package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
  274. package/Sources/SwiftUI/API/Lists.swift +61 -6
  275. package/Sources/SwiftUI/API/Menu.swift +8 -1
  276. package/Sources/SwiftUI/API/Modifiers.swift +80 -10
  277. package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
  278. package/Sources/SwiftUI/API/Namespace.swift +44 -0
  279. package/Sources/SwiftUI/API/Navigation.swift +24 -9
  280. package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
  281. package/Sources/SwiftUI/API/ObservableObject.swift +16 -2
  282. package/Sources/SwiftUI/API/Path.swift +543 -0
  283. package/Sources/SwiftUI/API/Phase8Controls.swift +48 -31
  284. package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
  285. package/Sources/SwiftUI/API/Picker.swift +11 -2
  286. package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
  287. package/Sources/SwiftUI/API/Popover.swift +41 -0
  288. package/Sources/SwiftUI/API/Preferences.swift +262 -0
  289. package/Sources/SwiftUI/API/Presentation.swift +17 -4
  290. package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
  291. package/Sources/SwiftUI/API/Primitives.swift +164 -37
  292. package/Sources/SwiftUI/API/Publishers.swift +4 -4
  293. package/Sources/SwiftUI/API/Redaction.swift +75 -0
  294. package/Sources/SwiftUI/API/RowActions.swift +3 -2
  295. package/Sources/SwiftUI/API/Scenes.swift +131 -0
  296. package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
  297. package/Sources/SwiftUI/API/ScrollTargets.swift +3 -3
  298. package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
  299. package/Sources/SwiftUI/API/SectionSupplements.swift +96 -0
  300. package/Sources/SwiftUI/API/Shape.swift +214 -0
  301. package/Sources/SwiftUI/API/ShapeStyle.swift +105 -7
  302. package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
  303. package/Sources/SwiftUI/API/Sharing.swift +193 -0
  304. package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
  305. package/Sources/SwiftUI/API/State.swift +18 -1
  306. package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
  307. package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
  308. package/Sources/SwiftUI/API/TabContent.swift +841 -0
  309. package/Sources/SwiftUI/API/Table.swift +382 -0
  310. package/Sources/SwiftUI/API/Tabs.swift +148 -4
  311. package/Sources/SwiftUI/API/Tasks.swift +2 -2
  312. package/Sources/SwiftUI/API/Text.swift +386 -0
  313. package/Sources/SwiftUI/API/TextDates.swift +61 -0
  314. package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
  315. package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
  316. package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
  317. package/Sources/SwiftUI/API/Toolbar.swift +52 -16
  318. package/Sources/SwiftUI/API/Transfer.swift +145 -0
  319. package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
  320. package/Sources/SwiftUI/API/Video.swift +64 -0
  321. package/Sources/SwiftUI/API/View.swift +10 -2
  322. package/Sources/SwiftUI/API/ViewModifier.swift +4 -1
  323. package/Sources/SwiftUI/API/VisualEffect.swift +74 -1
  324. package/Sources/SwiftUI/API/Windows.swift +25 -0
  325. package/Sources/SwiftUI/Charts/Axis.swift +7 -1
  326. package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
  327. package/Sources/SwiftUI/Charts/Chart.swift +17 -3
  328. package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
  329. package/Sources/SwiftUI/Localization/Localization.swift +498 -0
  330. package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
  331. package/Sources/SwiftUI/Runtime/Executor.swift +2 -0
  332. package/Sources/SwiftUI/Runtime/Exports.swift +37 -1
  333. package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
  334. package/Sources/SwiftUI/Runtime/JSON.swift +76 -4
  335. package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
  336. package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
  337. package/Sources/SwiftUI/Runtime/Ops.swift +58 -12
  338. package/Sources/SwiftUI/Runtime/Reconciler.swift +10 -1
  339. package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
  340. package/Sources/SwiftUI/Runtime/Runtime.swift +977 -198
  341. package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
  342. package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
  343. package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
  344. package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
  345. package/Sources/Symbols/Symbols.swift +25 -0
  346. package/Sources/Translation/Translation.swift +423 -0
  347. package/Sources/UIKit/Activity.swift +213 -0
  348. package/Sources/UIKit/Alerts.swift +69 -0
  349. package/Sources/UIKit/AppDelegate.swift +222 -0
  350. package/Sources/UIKit/Appearance.swift +84 -0
  351. package/Sources/UIKit/ColorConversions.swift +70 -0
  352. package/Sources/UIKit/Controls.swift +225 -0
  353. package/Sources/UIKit/Device.swift +200 -0
  354. package/Sources/UIKit/Feedback.swift +65 -0
  355. package/Sources/UIKit/Font.swift +307 -0
  356. package/Sources/UIKit/Graphics.swift +204 -0
  357. package/Sources/UIKit/HostingController.swift +185 -0
  358. package/Sources/UIKit/Identity.swift +24 -0
  359. package/Sources/UIKit/Introspectable.swift +510 -0
  360. package/Sources/UIKit/Pasteboard.swift +363 -0
  361. package/Sources/UIKit/PhotoAlbum.swift +81 -0
  362. package/Sources/UIKit/RemoteNotifications.swift +15 -0
  363. package/Sources/UIKit/Representable.swift +288 -0
  364. package/Sources/UIKit/SafeArea.swift +12 -0
  365. package/Sources/UIKit/SceneDelegates.swift +132 -0
  366. package/Sources/UIKit/Scenes.swift +40 -0
  367. package/Sources/UIKit/ScrollView.swift +157 -0
  368. package/Sources/UIKit/ShortcutItems.swift +67 -0
  369. package/Sources/UIKit/SymbolConfiguration.swift +124 -0
  370. package/Sources/UIKit/TargetAction.swift +123 -0
  371. package/Sources/UIKit/TextPaste.swift +161 -0
  372. package/Sources/UIKit/TextView.swift +538 -0
  373. package/Sources/UIKit/UIKit.swift +292 -0
  374. package/Sources/UIKit/UIView.swift +855 -0
  375. package/Sources/UIKit/ViewTranslation.swift +311 -0
  376. package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
  377. package/Sources/UserNotifications/Content.swift +370 -0
  378. package/Sources/UserNotifications/NotificationCenter.swift +309 -0
  379. package/Sources/WeatherKit/WeatherKit.swift +228 -0
  380. package/Sources/WebKit/WebKit.swift +245 -0
  381. package/Sources/os/os.swift +376 -0
  382. package/Sources/zlib/zlib.swift +6 -0
  383. package/index.d.ts +1 -1
  384. package/index.mjs +2 -2
  385. package/manifest.d.mts +2 -0
  386. package/manifest.mjs +39 -0
  387. package/package.json +5 -3
  388. package/sync-sources.mjs +21 -7
  389. package/Sources/FoundationLite/Common.swift +0 -3
  390. package/Sources/FoundationLite/FoundationLite.swift +0 -171
  391. package/Sources/FoundationLite/Interaction.swift +0 -146
  392. package/Sources/FoundationLite/Timer.swift +0 -48
  393. package/Sources/_FoundationCommon/_FoundationCommon.swift +0 -10
@@ -0,0 +1,100 @@
1
+ // Smaller modifiers Ice Cubes uses.
2
+ //
3
+ // Drawn: `.border(_:width:)` (a stroke inside the view's box, as an
4
+ // overlay), `.edgesIgnoringSafeArea(_:)` (`.ignoresSafeArea(edges:)`),
5
+ // `.safeAreaBar(edge:…)` (iOS 26; as `.safeAreaInset`, see
6
+ // ScrollModifiers.swift) and `.scrollPosition(id:anchor:)` (setting the
7
+ // binding scrolls to the view with that `.id`, as `ScrollViewProxy.scrollTo`;
8
+ // scrolling by hand does not update the binding).
9
+ //
10
+ // Accepted without effect: `.buttonBorderShape(_:)` (bordered buttons stay
11
+ // capsules), `.truncationMode(_:)` (text truncates at its tail),
12
+ // `.lineSpacing(_:)` (lines keep the font's line height),
13
+ // `.controlGroupStyle(_:)`, `.listRowHoverEffectDisabled(_:)`,
14
+ // `.searchScopes(_:scopes:)` (no scope bar is drawn under the search field)
15
+ // and, on toolbar items, `.sharedBackgroundVisibility(_:)` and
16
+ // `.matchedTransitionSource(id:in:)`.
17
+
18
+ public struct ButtonBorderShape: Equatable, Sendable {
19
+ let name: String
20
+ public static let automatic = ButtonBorderShape(name: "automatic")
21
+ public static let capsule = ButtonBorderShape(name: "capsule")
22
+ public static let circle = ButtonBorderShape(name: "circle")
23
+ public static let roundedRectangle = ButtonBorderShape(name: "roundedRectangle")
24
+ public static func roundedRectangle(radius: CGFloat) -> ButtonBorderShape { .roundedRectangle }
25
+ }
26
+
27
+ public protocol ControlGroupStyle {}
28
+ public struct AutomaticControlGroupStyle: ControlGroupStyle { public init() {} }
29
+ public struct MenuControlGroupStyle: ControlGroupStyle { public init() {} }
30
+ public struct CompactMenuControlGroupStyle: ControlGroupStyle { public init() {} }
31
+ public struct NavigationControlGroupStyle: ControlGroupStyle { public init() {} }
32
+ public struct PaletteControlGroupStyle: ControlGroupStyle { public init() {} }
33
+ extension ControlGroupStyle where Self == AutomaticControlGroupStyle {
34
+ public static var automatic: AutomaticControlGroupStyle { AutomaticControlGroupStyle() }
35
+ }
36
+ extension ControlGroupStyle where Self == MenuControlGroupStyle {
37
+ public static var menu: MenuControlGroupStyle { MenuControlGroupStyle() }
38
+ }
39
+ extension ControlGroupStyle where Self == CompactMenuControlGroupStyle {
40
+ public static var compactMenu: CompactMenuControlGroupStyle { CompactMenuControlGroupStyle() }
41
+ }
42
+ extension ControlGroupStyle where Self == NavigationControlGroupStyle {
43
+ public static var navigation: NavigationControlGroupStyle { NavigationControlGroupStyle() }
44
+ }
45
+ extension ControlGroupStyle where Self == PaletteControlGroupStyle {
46
+ public static var palette: PaletteControlGroupStyle { PaletteControlGroupStyle() }
47
+ }
48
+
49
+ /// When a search's scope bar shows; accepted.
50
+ public struct SearchScopeActivation: Sendable {
51
+ let name: String
52
+ public static let automatic = SearchScopeActivation(name: "automatic")
53
+ public static let onTextEntry = SearchScopeActivation(name: "onTextEntry")
54
+ public static let onSearchPresentation = SearchScopeActivation(name: "onSearchPresentation")
55
+ }
56
+
57
+ nonisolated extension View {
58
+ public func border<S: ShapeStyle>(_ content: S, width: CGFloat = 1) -> some View {
59
+ overlay { Rectangle().strokeBorder(content, lineWidth: width) }
60
+ }
61
+
62
+ public func edgesIgnoringSafeArea(_ edges: Edge.Set) -> some View {
63
+ ignoresSafeArea(.all, edges: edges)
64
+ }
65
+
66
+ public func safeAreaBar<V: View>(edge: VerticalEdge, alignment: HorizontalAlignment = .center,
67
+ spacing: CGFloat? = nil, @ViewBuilder content: () -> V) -> some View {
68
+ safeAreaInset(edge: edge, alignment: alignment, spacing: spacing, content: content)
69
+ }
70
+
71
+ public func buttonBorderShape(_ shape: ButtonBorderShape) -> some View { self }
72
+ public func truncationMode(_ mode: Text.TruncationMode) -> some View { self }
73
+ public func lineSpacing(_ lineSpacing: CGFloat) -> some View { self }
74
+ public func controlGroupStyle<S: ControlGroupStyle>(_ style: S) -> some View { self }
75
+ public func listRowHoverEffectDisabled(_ disabled: Bool = true) -> some View { self }
76
+
77
+ public func searchScopes<V: Hashable, S: View>(_ scope: Binding<V>, @ViewBuilder scopes: () -> S) -> some View { self }
78
+ public func searchScopes<V: Hashable, S: View>(_ scope: Binding<V>, activation: SearchScopeActivation,
79
+ @ViewBuilder _ scopes: () -> S) -> some View { self }
80
+ }
81
+
82
+ extension View {
83
+ /// Scrolls to the view whose `.id` the binding holds whenever the binding
84
+ /// changes (see the top of this file).
85
+ public func scrollPosition<ID: Hashable>(id: Binding<ID?>, anchor: UnitPoint? = nil) -> some View {
86
+ ScrollViewReader { proxy in
87
+ self.onChange(of: id.wrappedValue) { _, target in
88
+ if let target { proxy.scrollTo(target, anchor: anchor) }
89
+ }
90
+ }
91
+ }
92
+ }
93
+
94
+ extension ToolbarContent {
95
+ /// Accepted: toolbar items share the bar's background.
96
+ public nonisolated func sharedBackgroundVisibility(_ visibility: Visibility) -> Self { self }
97
+
98
+ /// Accepted (no zoom transitions on the page).
99
+ public nonisolated func matchedTransitionSource<ID: Hashable>(id: ID, in namespace: Namespace.ID) -> Self { self }
100
+ }
@@ -0,0 +1,44 @@
1
+ // `@Namespace` and `.matchedGeometryEffect`. A namespace is an identifier
2
+ // that lasts as long as its view is mounted (its storage is a `State`), so
3
+ // code that passes it around or keys things by it (ButtonKit's triggers, Ice
4
+ // Cubes' media viewer) works. The page does not animate a view from one
5
+ // place to another, so `.matchedGeometryEffect` leaves the view as it is:
6
+ // the change happens without the shared-element animation.
7
+
8
+ /// An identifier for a group of matched views, stable while the view is mounted.
9
+ @propertyWrapper
10
+ public struct Namespace: DynamicProperty {
11
+ public struct ID: Hashable, Sendable {
12
+ let value: Int
13
+ }
14
+
15
+ nonisolated(unsafe) static var lastID = 0
16
+ let state: State<ID>
17
+
18
+ public init() {
19
+ Namespace.lastID += 1
20
+ state = State(wrappedValue: ID(value: Namespace.lastID))
21
+ }
22
+
23
+ public var wrappedValue: ID { state.wrappedValue }
24
+ }
25
+
26
+ extension Namespace: _StateProperty {
27
+ var _box: any _AnyStateBox { state.box }
28
+ }
29
+
30
+ /// Which of a view's geometry `.matchedGeometryEffect` would match.
31
+ public struct MatchedGeometryProperties: OptionSet, Hashable, Sendable {
32
+ public let rawValue: UInt32
33
+ public init(rawValue: UInt32) { self.rawValue = rawValue }
34
+ public static let position = MatchedGeometryProperties(rawValue: 1)
35
+ public static let size = MatchedGeometryProperties(rawValue: 2)
36
+ public static let frame: MatchedGeometryProperties = [.position, .size]
37
+ }
38
+
39
+ nonisolated extension View {
40
+ /// The view unchanged: the page has no shared-element animation.
41
+ public func matchedGeometryEffect<ID: Hashable>(id: ID, in namespace: Namespace.ID,
42
+ properties: MatchedGeometryProperties = .frame,
43
+ anchor: UnitPoint = .center, isSource: Bool = true) -> some View { self }
44
+ }
@@ -23,7 +23,7 @@ public struct NavigationPath: Equatable {
23
23
  }
24
24
  }
25
25
 
26
- protocol _NavigationStackView {
26
+ protocol _NavigationStackView: _TraitBearing {
27
27
  var _root: any View { get }
28
28
  var _pushedBox: _StateBox<[_PushedScreen]> { get }
29
29
  /// Value-based path, when the stack was created with one.
@@ -87,7 +87,7 @@ extension _PathScreenValue: _GroupView {
87
87
  var _children: [any View] { [] }
88
88
  }
89
89
 
90
- protocol _DestinationRegistering {
90
+ protocol _DestinationRegistering: _TraitBearing {
91
91
  var _destinationType: ObjectIdentifier { get }
92
92
  var _destinationTypeName: String { get }
93
93
  func _destination(for value: Any) -> (any View)?
@@ -110,7 +110,7 @@ extension _DestinationView: _DestinationRegistering {
110
110
  }
111
111
  }
112
112
 
113
- extension View {
113
+ nonisolated extension View {
114
114
  /// Associates a destination view with values of `data`'s type pushed by
115
115
  /// `NavigationLink(value:)` or appended to the stack's path.
116
116
  public func navigationDestination<D: Hashable, C: View>(for data: D.Type,
@@ -119,7 +119,7 @@ extension View {
119
119
  }
120
120
  }
121
121
 
122
- protocol _NavigationValueLinkView {
122
+ protocol _NavigationValueLinkView: _TraitBearing {
123
123
  var _value: AnyHashable? { get }
124
124
  }
125
125
 
@@ -156,7 +156,7 @@ extension _NavScreenView: _HostView {
156
156
  var _content: [any View] { [content] }
157
157
  }
158
158
 
159
- protocol _NavigationLinkView {
159
+ protocol _NavigationLinkView: _TraitBearing {
160
160
  var _destination: any View { get }
161
161
  }
162
162
 
@@ -180,12 +180,26 @@ public struct NavigationLink<Label: View, Destination: View> {
180
180
  }
181
181
 
182
182
  extension NavigationLink where Label == Text {
183
+ public init(_ titleKey: LocalizedStringKey, @ViewBuilder destination: () -> Destination) {
184
+ self.destination = destination()
185
+ self.value = nil
186
+ self.label = Text(titleKey)
187
+ }
188
+
189
+ public init(_ titleKey: LocalizedStringKey, destination: Destination) {
190
+ self.destination = destination
191
+ self.value = nil
192
+ self.label = Text(titleKey)
193
+ }
194
+
195
+ @_disfavoredOverload
183
196
  public init<S: StringProtocol>(_ title: S, @ViewBuilder destination: () -> Destination) {
184
197
  self.destination = destination()
185
198
  self.value = nil
186
199
  self.label = Text(title)
187
200
  }
188
201
 
202
+ @_disfavoredOverload
189
203
  public init<S: StringProtocol>(_ title: S, destination: Destination) {
190
204
  self.destination = destination
191
205
  self.value = nil
@@ -237,7 +251,7 @@ extension NavigationSplitViewStyle where Self == ProminentDetailNavigationSplitV
237
251
  public static var prominentDetail: ProminentDetailNavigationSplitViewStyle { ProminentDetailNavigationSplitViewStyle() }
238
252
  }
239
253
 
240
- extension View {
254
+ nonisolated extension View {
241
255
  public func navigationSplitViewColumnWidth(_ width: CGFloat) -> some View { self }
242
256
  public func navigationSplitViewColumnWidth(min: CGFloat? = nil, ideal: CGFloat, max: CGFloat? = nil) -> some View { self }
243
257
  public func navigationSplitViewStyle<S: NavigationSplitViewStyle>(_ style: S) -> some View { self }
@@ -247,7 +261,7 @@ extension View {
247
261
  /// renders a `navsplit` of two stacks (regular) or one stack rooted at the
248
262
  /// sidebar that pushes the detail while the sidebar's list selection is set
249
263
  /// (compact). The sidebar's `List(selection:)` is found as it is reconciled.
250
- protocol _NavigationSplitHost {
264
+ protocol _NavigationSplitHost: _TraitBearing {
251
265
  var _sidebar: any View { get }
252
266
  var _detail: any View { get }
253
267
  /// Screens pushed from the compact detail (links inside it).
@@ -332,7 +346,7 @@ public enum NavigationBarItem {
332
346
  }
333
347
  }
334
348
 
335
- protocol _NavigationTitleModifying {
349
+ protocol _NavigationTitleModifying: _TraitBearing {
336
350
  var _title: String? { get }
337
351
  var _displayMode: String? { get }
338
352
  }
@@ -351,7 +365,8 @@ extension _NavigationTitleView: _NavigationTitleModifying {
351
365
  var _displayMode: String? { displayMode }
352
366
  }
353
367
 
354
- extension View {
368
+ nonisolated extension View {
369
+ @_disfavoredOverload
355
370
  public func navigationTitle<S: StringProtocol>(_ title: S) -> some View {
356
371
  _NavigationTitleView(content: self, title: String(title), displayMode: nil)
357
372
  }
@@ -0,0 +1,55 @@
1
+ /// `navigationDestination(isPresented:destination:)` (iOS 16) and
2
+ /// `navigationDestination(item:destination:)` (iOS 17): a destination shown
3
+ /// while a binding says so. The runtime pushes only screens a link or a path
4
+ /// names, so here the destination is presented as a sheet, in a navigation
5
+ /// stack of its own (an approximation: it slides up instead of in, and is
6
+ /// dismissed by swiping it down or with a Back button in its bar). Dismissing
7
+ /// it sets `isPresented` to false, or `item` to nil, as popping does on iOS.
8
+ nonisolated extension View {
9
+ @MainActor
10
+ public func navigationDestination<V: View>(isPresented: Binding<Bool>, @ViewBuilder destination: () -> V) -> some View {
11
+ sheet(isPresented: isPresented) {
12
+ _PresentedDestination(isPresented: isPresented) { destination() }
13
+ }
14
+ }
15
+
16
+ @MainActor
17
+ public func navigationDestination<D: Hashable, C: View>(item: Binding<D?>,
18
+ @ViewBuilder destination: @escaping (D) -> C) -> some View {
19
+ let isPresented = Binding<Bool>(
20
+ get: { item.wrappedValue != nil },
21
+ set: { if !$0 { item.wrappedValue = nil } }
22
+ )
23
+ return sheet(isPresented: isPresented) {
24
+ _PresentedDestination(isPresented: isPresented) {
25
+ if let value = item.wrappedValue { destination(value) }
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ /// A presented destination: its own stack with a Back button.
32
+ struct _PresentedDestination<Content: View>: View {
33
+ let isPresented: Binding<Bool>
34
+ let content: Content
35
+
36
+ init(isPresented: Binding<Bool>, @ViewBuilder content: () -> Content) {
37
+ self.isPresented = isPresented
38
+ self.content = content()
39
+ }
40
+
41
+ var body: some View {
42
+ NavigationStack {
43
+ content
44
+ .toolbar {
45
+ ToolbarItem(placement: .topBarLeading) {
46
+ Button {
47
+ isPresented.wrappedValue = false
48
+ } label: {
49
+ Label("Back", systemImage: "chevron.backward")
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
@@ -72,6 +72,20 @@ public final class ObservableObjectPublisher {
72
72
  subscribers[ObjectIdentifier(owner)] = (_WeakOwner(owner), onChange)
73
73
  }
74
74
 
75
+ /// Combine's subscriptions (Sources/Combine/ObjectWillChange.swift):
76
+ /// `onChange` runs on each `send()` while the returned token is alive
77
+ /// and not unsubscribed.
78
+ public func _subscribe(_ onChange: @escaping () -> Void) -> AnyObject {
79
+ let token = _WeakOwner(self)
80
+ _subscribe(owner: token, onChange)
81
+ return token
82
+ }
83
+
84
+ /// Ends a subscription `_subscribe(_:)` made.
85
+ public func _unsubscribe(_ token: AnyObject) {
86
+ subscribers[ObjectIdentifier(token)] = nil
87
+ }
88
+
75
89
  static func _publisher(for object: AnyObject) -> ObservableObjectPublisher {
76
90
  let id = ObjectIdentifier(object)
77
91
  if let existing = registry[id], existing._owner === object { return existing }
@@ -118,7 +132,7 @@ public struct Published<Value> {
118
132
 
119
133
  /// Views expose properties that observe an `ObservableObject` through this
120
134
  /// protocol; the runtime finds them by reflection and wires invalidation.
121
- protocol _ObservingProperty {
135
+ protocol _ObservingProperty: _RuntimeProperty {
122
136
  /// Subscribes `onChange` to the observed object on behalf of `owner`
123
137
  /// (the mounted view), see `ObservableObjectPublisher._subscribe`.
124
138
  func _observe(owner: AnyObject, _ onChange: @escaping () -> Void)
@@ -271,7 +285,7 @@ extension EnvironmentObject: _ObservingProperty {
271
285
  }
272
286
  }
273
287
 
274
- extension View {
288
+ nonisolated extension View {
275
289
  /// Supplies `object` to every `EnvironmentObject` of its type in the subtree.
276
290
  public func environmentObject<T: ObservableObject>(_ object: T) -> some View {
277
291
  _EnvironmentView(content: self) { $0._setObject(object) }