@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,280 @@
1
+ // StoreKit 2's `Product`, as code that loads and buys products is written:
2
+ // the product's properties, its subscription information and offers, the
3
+ // purchase options and results. The browser has no App Store, so
4
+ // `Product.products(for:)` finds none and no `Product` value is ever made;
5
+ // the members are here for the code that would read one (RevenueCat's
6
+ // StoreKit 2 path). Subscription statuses and intro-offer eligibility
7
+ // questions answer "none" and "not eligible".
8
+
9
+ import Foundation
10
+ import UIKit
11
+
12
+ /// A product the App Store sells. There are none in the browser.
13
+ public struct Product: Identifiable, Hashable, Sendable {
14
+ public typealias ID = String
15
+
16
+ public struct ProductType: Hashable, Sendable, RawRepresentable {
17
+ public let rawValue: String
18
+ public init(rawValue: String) { self.rawValue = rawValue }
19
+ public static let consumable = ProductType(rawValue: "Consumable")
20
+ public static let nonConsumable = ProductType(rawValue: "Non-Consumable")
21
+ public static let nonRenewable = ProductType(rawValue: "Non-Renewing Subscription")
22
+ public static let autoRenewable = ProductType(rawValue: "Auto-Renewable Subscription")
23
+ public var localizedDescription: String { rawValue }
24
+ }
25
+
26
+ public let id: ID
27
+ public let type: ProductType
28
+ public let displayName: String
29
+ public let description: String
30
+ public let price: Decimal
31
+ public let displayPrice: String
32
+ public let isFamilyShareable: Bool
33
+ public let subscription: SubscriptionInfo?
34
+ public let jsonRepresentation: Data
35
+ public let priceFormatStyle: Decimal.FormatStyle.Currency
36
+
37
+ /// How to write a subscription period's unit ("month").
38
+ public var subscriptionPeriodUnitFormatStyle: SubscriptionPeriod.Unit.FormatStyle { .init() }
39
+
40
+ /// The App Store has no products for a web app: none are found.
41
+ public static func products<Identifiers: Collection>(for identifiers: Identifiers) async throws -> [Product] where Identifiers.Element == ID { [] }
42
+
43
+ /// Not reached in the browser (there are no products to buy); it would
44
+ /// fail with `Product.PurchaseError.productUnavailable`.
45
+ public func purchase(options: Set<PurchaseOption> = []) async throws -> PurchaseResult {
46
+ throw PurchaseError.productUnavailable
47
+ }
48
+
49
+ /// As `purchase(options:)`, near a scene (iOS 17).
50
+ @MainActor public func purchase<S: UIScene>(confirmIn scene: S, options: Set<PurchaseOption> = []) async throws -> PurchaseResult {
51
+ throw PurchaseError.productUnavailable
52
+ }
53
+
54
+ /// As `purchase(options:)`, over a view controller (iOS 18.2).
55
+ @MainActor public func purchase(confirmIn viewController: UIViewController, options: Set<PurchaseOption> = []) async throws -> PurchaseResult {
56
+ throw PurchaseError.productUnavailable
57
+ }
58
+
59
+ public var currentEntitlement: VerificationResult<Transaction>? { get async { nil } }
60
+ public var latestTransaction: VerificationResult<Transaction>? { get async { nil } }
61
+
62
+ public static func == (lhs: Product, rhs: Product) -> Bool { lhs.id == rhs.id }
63
+ public func hash(into hasher: inout Hasher) { hasher.combine(id) }
64
+
65
+ // MARK: Purchases
66
+
67
+ public enum PurchaseResult: Sendable {
68
+ case success(VerificationResult<Transaction>)
69
+ case userCancelled
70
+ case pending
71
+ }
72
+
73
+ public enum PurchaseError: LocalizedError, Hashable, Sendable {
74
+ case invalidQuantity, productUnavailable, purchaseNotAllowed, ineligibleForOffer
75
+ case invalidOfferIdentifier, invalidOfferPrice, invalidOfferSignature, missingOfferParameters
76
+ }
77
+
78
+ /// A purchase option: the parameters a purchase carries.
79
+ public struct PurchaseOption: Hashable, Sendable {
80
+ let name: String
81
+ let value: String
82
+
83
+ public static func appAccountToken(_ token: UUID) -> PurchaseOption { .init(name: "appAccountToken", value: token.uuidString) }
84
+ public static func quantity(_ quantity: Int) -> PurchaseOption { .init(name: "quantity", value: String(quantity)) }
85
+ public static func simulatesAskToBuyInSandbox(_ simulatesAskToBuy: Bool) -> PurchaseOption { .init(name: "simulatesAskToBuyInSandbox", value: String(simulatesAskToBuy)) }
86
+ public static func promotionalOffer(offerID: String, keyID: String, nonce: UUID, signature: Data, timestamp: Int) -> PurchaseOption {
87
+ .init(name: "promotionalOffer", value: "\(offerID)|\(keyID)|\(nonce)|\(signature.base64EncodedString())|\(timestamp)")
88
+ }
89
+ /// A promotional offer signed as a JWS (iOS 26): the options it takes.
90
+ public static func promotionalOffer(_ offerID: String, compactJWS: String) -> Set<PurchaseOption> { [.init(name: "promotionalOffer", value: "\(offerID)|\(compactJWS)")] }
91
+ public static func billingPlanType(_ type: SubscriptionInfo.BillingPlanType) -> PurchaseOption { .init(name: "billingPlanType", value: type.rawValue) }
92
+ public static func introductoryOfferEligibility(compactJWS: String) -> PurchaseOption { .init(name: "introductoryOfferEligibility", value: compactJWS) }
93
+ public static func winBackOffer(_ offer: SubscriptionOffer) -> PurchaseOption { .init(name: "winBackOffer", value: offer.id ?? "") }
94
+ public static func onStorefrontChange(shouldContinuePurchase: @escaping @Sendable (Storefront) -> Bool) -> PurchaseOption { .init(name: "onStorefrontChange", value: "") }
95
+ public static func custom(key: String, value: String) -> PurchaseOption { .init(name: key, value: value) }
96
+ public static func custom(key: String, value: Bool) -> PurchaseOption { .init(name: key, value: String(value)) }
97
+ public static func custom(key: String, value: Double) -> PurchaseOption { .init(name: key, value: String(value)) }
98
+ public static func custom(key: String, value: Data) -> PurchaseOption { .init(name: key, value: value.base64EncodedString()) }
99
+ }
100
+
101
+ // MARK: Subscriptions
102
+
103
+ public struct SubscriptionPeriod: Hashable, Sendable {
104
+ public enum Unit: Hashable, Sendable, CaseIterable {
105
+ case day, week, month, year
106
+ public var localizedDescription: String { "\(self)" }
107
+
108
+ /// The unit's name ("month"), as `formatted(product.subscriptionPeriodUnitFormatStyle)` writes it.
109
+ public struct FormatStyle: Foundation.FormatStyle, Hashable, Sendable {
110
+ public init() {}
111
+ public func format(_ value: Unit) -> String { "\(value)" }
112
+ }
113
+
114
+ public func formatted(_ style: FormatStyle) -> String { style.format(self) }
115
+ }
116
+
117
+ public let unit: Unit
118
+ public let value: Int
119
+
120
+ init(unit: Unit, value: Int) {
121
+ self.unit = unit
122
+ self.value = value
123
+ }
124
+
125
+ public static let weekly = SubscriptionPeriod(unit: .week, value: 1)
126
+ public static let monthly = SubscriptionPeriod(unit: .month, value: 1)
127
+ public static let everyTwoMonths = SubscriptionPeriod(unit: .month, value: 2)
128
+ public static let everyThreeMonths = SubscriptionPeriod(unit: .month, value: 3)
129
+ public static let everySixMonths = SubscriptionPeriod(unit: .month, value: 6)
130
+ public static let yearly = SubscriptionPeriod(unit: .year, value: 1)
131
+ }
132
+
133
+ public struct SubscriptionOffer: Hashable, Sendable {
134
+ public struct OfferType: Hashable, Sendable, RawRepresentable {
135
+ public let rawValue: String
136
+ public init(rawValue: String) { self.rawValue = rawValue }
137
+ public static let introductory = OfferType(rawValue: "introductory")
138
+ public static let promotional = OfferType(rawValue: "promotional")
139
+ public static let winBack = OfferType(rawValue: "winBack")
140
+ public static let code = OfferType(rawValue: "code")
141
+ public var localizedDescription: String { rawValue }
142
+ }
143
+
144
+ public struct PaymentMode: Hashable, Sendable, RawRepresentable {
145
+ public let rawValue: String
146
+ public init(rawValue: String) { self.rawValue = rawValue }
147
+ public static let freeTrial = PaymentMode(rawValue: "FREE_TRIAL")
148
+ public static let payAsYouGo = PaymentMode(rawValue: "PAY_AS_YOU_GO")
149
+ public static let payUpFront = PaymentMode(rawValue: "PAY_UP_FRONT")
150
+ public var localizedDescription: String { rawValue }
151
+ }
152
+
153
+ public let id: String?
154
+ public let type: OfferType
155
+ public let price: Decimal
156
+ public let displayPrice: String
157
+ public let period: SubscriptionPeriod
158
+ public let periodCount: Int
159
+ public let paymentMode: PaymentMode
160
+ }
161
+
162
+ public struct SubscriptionInfo: Hashable, Sendable {
163
+ public let subscriptionGroupID: String
164
+ public let subscriptionPeriod: SubscriptionPeriod
165
+ public let introductoryOffer: SubscriptionOffer?
166
+ public let promotionalOffers: [SubscriptionOffer]
167
+ public let winBackOffers: [SubscriptionOffer]
168
+ public let subscriptionGroupLevel: Int
169
+ /// The subscription's level in its group (1 is the highest).
170
+ public var groupLevel: Int { subscriptionGroupLevel }
171
+ public let groupDisplayName: String
172
+ public let pricingTerms: [PricingTerms]
173
+
174
+ /// Not eligible: there is no App Store account to check.
175
+ public var isEligibleForIntroOffer: Bool { get async { false } }
176
+ public static func isEligibleForIntroOffer(for groupID: String) async -> Bool { false }
177
+
178
+ /// No statuses: nothing is subscribed to in the browser.
179
+ public var status: [Status] { get async throws { [] } }
180
+ public static func status(for groupID: String) async throws -> [Status] { [] }
181
+
182
+ /// A subscription group's status. There are none in the browser.
183
+ public struct Status: Hashable, Sendable {
184
+ public let state: RenewalState
185
+ public let transaction: VerificationResult<Transaction>
186
+ public let renewalInfo: VerificationResult<RenewalInfo>
187
+
188
+ /// Status changes: none in the browser; the sequence ends at once.
189
+ public static var updates: Statuses { Statuses() }
190
+ public static var all: AsyncStream<(groupID: String, statuses: [Status])> { AsyncStream { $0.finish() } }
191
+
192
+ public struct Statuses: AsyncSequence, Sendable {
193
+ public typealias Element = Status
194
+ public struct AsyncIterator: AsyncIteratorProtocol {
195
+ public mutating func next() async -> Status? { nil }
196
+ }
197
+ public func makeAsyncIterator() -> AsyncIterator { AsyncIterator() }
198
+ }
199
+
200
+ public static func == (lhs: Status, rhs: Status) -> Bool {
201
+ lhs.state == rhs.state && lhs.transaction.unsafePayloadValue == rhs.transaction.unsafePayloadValue
202
+ }
203
+ public func hash(into hasher: inout Hasher) {
204
+ hasher.combine(state)
205
+ hasher.combine(transaction.unsafePayloadValue)
206
+ }
207
+ }
208
+
209
+ public struct RenewalState: Hashable, Sendable, RawRepresentable {
210
+ public let rawValue: Int
211
+ public init(rawValue: Int) { self.rawValue = rawValue }
212
+ public static let subscribed = RenewalState(rawValue: 1)
213
+ public static let expired = RenewalState(rawValue: 2)
214
+ public static let inBillingRetryPeriod = RenewalState(rawValue: 3)
215
+ public static let inGracePeriod = RenewalState(rawValue: 4)
216
+ public static let revoked = RenewalState(rawValue: 5)
217
+ public var localizedDescription: String { "\(rawValue)" }
218
+ }
219
+
220
+ /// What happens at the next renewal.
221
+ public struct RenewalInfo: Hashable, Sendable {
222
+ public struct ExpirationReason: Hashable, Sendable, RawRepresentable {
223
+ public let rawValue: Int
224
+ public init(rawValue: Int) { self.rawValue = rawValue }
225
+ public static let autoRenewDisabled = ExpirationReason(rawValue: 1)
226
+ public static let billingError = ExpirationReason(rawValue: 2)
227
+ public static let didNotConsentToPriceIncrease = ExpirationReason(rawValue: 3)
228
+ public static let productUnavailable = ExpirationReason(rawValue: 4)
229
+ public static let unknown = ExpirationReason(rawValue: 5)
230
+ }
231
+
232
+ public struct PriceIncreaseStatus: Hashable, Sendable {
233
+ public static let noIncreasePending = PriceIncreaseStatus()
234
+ }
235
+
236
+ public let originalTransactionID: UInt64
237
+ public let currentProductID: String
238
+ public let willAutoRenew: Bool
239
+ public let autoRenewPreference: String?
240
+ public let expirationReason: ExpirationReason?
241
+ public let isInBillingRetry: Bool
242
+ public let gracePeriodExpirationDate: Date?
243
+ public let renewalDate: Date?
244
+ public let recentSubscriptionStartDate: Date
245
+ public let offerID: String?
246
+ public let offerType: Transaction.OfferType?
247
+ public let offer: Transaction.Offer?
248
+ public let renewalPrice: Decimal?
249
+ public let currency: Locale.Currency?
250
+ public let environment: AppStore.Environment
251
+ public let eligibleWinBackOfferIDs: [String]
252
+ public let appAccountToken: UUID?
253
+ public let signedDate: Date
254
+ public let jsonRepresentation: Data
255
+ public var currencyCode: String? { currency?.identifier }
256
+ }
257
+
258
+ /// A billing plan (iOS 26.4): paying for a subscription monthly or up front.
259
+ public struct BillingPlanType: Hashable, Sendable, RawRepresentable {
260
+ public let rawValue: String
261
+ public init(rawValue: String) { self.rawValue = rawValue }
262
+ public static let monthly = BillingPlanType(rawValue: "monthly")
263
+ public static let upFront = BillingPlanType(rawValue: "upFront")
264
+ }
265
+
266
+ /// The price and offers of one billing plan (iOS 26.4).
267
+ public struct PricingTerms: Hashable, Sendable {
268
+ /// How long the plan commits to.
269
+ public struct CommitmentInfo: Hashable, Sendable {
270
+ public let period: SubscriptionPeriod
271
+ }
272
+
273
+ public let billingPlanType: BillingPlanType
274
+ public let billingPrice: Decimal
275
+ public let billingDisplayPrice: String
276
+ public let commitmentInfo: CommitmentInfo
277
+ public let subscriptionOffers: [SubscriptionOffer]
278
+ }
279
+ }
280
+ }
@@ -0,0 +1,28 @@
1
+ // StoreKit, as far as a web app can use it: asking for an App Store review.
2
+ // A web app has no store page to review, so the request does nothing (iOS
3
+ // itself may also decline to show the prompt).
4
+
5
+ import SwiftUI
6
+
7
+ /// `@Environment(\.requestReview)`: call it to ask for a review. A no-op in
8
+ /// the browser.
9
+ public struct RequestReviewAction: Sendable {
10
+ public init() {}
11
+
12
+ @MainActor public func callAsFunction() {}
13
+ }
14
+
15
+ private struct RequestReviewKey: EnvironmentKey {
16
+ static let defaultValue = RequestReviewAction()
17
+ }
18
+
19
+ extension EnvironmentValues {
20
+ public var requestReview: RequestReviewAction {
21
+ self[RequestReviewKey.self]
22
+ }
23
+ }
24
+
25
+ /// The pre-iOS 16 way to ask for a review. A no-op in the browser.
26
+ public enum SKStoreReviewController {
27
+ @MainActor public static func requestReview() {}
28
+ }