@swiftbrowser/swift 0.0.0-stage → 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 (400) hide show
  1. package/Package.swift +214 -0
  2. package/README.md +10 -2
  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 +61 -0
  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/FoundationBridge/Bundle.swift +119 -0
  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 +29 -0
  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/Locale.swift +86 -0
  170. package/Sources/FoundationBridge/Localization.swift +149 -0
  171. package/Sources/FoundationBridge/Locks.swift +50 -0
  172. package/Sources/FoundationBridge/Markdown.swift +527 -0
  173. package/Sources/FoundationBridge/MeasurementFormat.swift +95 -0
  174. package/Sources/FoundationBridge/NotificationCenter.swift +154 -0
  175. package/Sources/FoundationBridge/OpenURLHandlers.swift +60 -0
  176. package/Sources/FoundationBridge/Operation.swift +195 -0
  177. package/Sources/FoundationBridge/ProcessInfo.swift +32 -0
  178. package/Sources/FoundationBridge/RelativeDateTimeFormatter.swift +136 -0
  179. package/Sources/FoundationBridge/SceneStorage.swift +78 -0
  180. package/Sources/FoundationBridge/SecurityExports.swift +8 -0
  181. package/Sources/FoundationBridge/Selector.swift +226 -0
  182. package/Sources/FoundationBridge/StringComparators.swift +17 -0
  183. package/Sources/FoundationBridge/Table.swift +211 -0
  184. package/Sources/FoundationBridge/TextAttributes.swift +42 -0
  185. package/Sources/FoundationBridge/Timer.swift +53 -0
  186. package/Sources/FoundationBridge/UITextChecker.swift +30 -0
  187. package/Sources/FoundationBridge/URLSession.swift +718 -0
  188. package/Sources/FoundationBridge/UserDefaults.swift +183 -0
  189. package/Sources/FoundationBridge/WebAuthRedirects.swift +227 -0
  190. package/Sources/FoundationBridge/WebSocket.swift +187 -0
  191. package/Sources/FoundationModels/FoundationModels.swift +1098 -0
  192. package/Sources/ImageIO/GIF.swift +72 -0
  193. package/Sources/ImageIO/ImageIO.swift +248 -0
  194. package/Sources/ImageIO/ImageTypes.swift +28 -0
  195. package/Sources/LinkPresentation/LinkPresentation.swift +249 -0
  196. package/Sources/LocalAuthentication/LAContext.swift +86 -0
  197. package/Sources/MapKit/Geometry.swift +223 -0
  198. package/Sources/MapKit/Map.swift +638 -0
  199. package/Sources/MapKit/MapView.swift +229 -0
  200. package/Sources/MobileCoreServices/MobileCoreServices.swift +28 -0
  201. package/Sources/NaturalLanguage/LanguageIdentifier.swift +317 -0
  202. package/Sources/NaturalLanguage/NaturalLanguage.swift +135 -0
  203. package/Sources/OSLog/OSLog.swift +6 -0
  204. package/Sources/Photos/Photos.swift +572 -0
  205. package/Sources/PhotosUI/PhotosPicker.swift +248 -0
  206. package/Sources/PhotosUI/PhotosPickerItem.swift +261 -0
  207. package/Sources/QuickLook/QuickLook.swift +168 -0
  208. package/Sources/SafariServices/SafariServices.swift +106 -0
  209. package/Sources/Security/Security.swift +332 -0
  210. package/Sources/StoreKit/AppStore.swift +207 -0
  211. package/Sources/StoreKit/Products.swift +280 -0
  212. package/Sources/StoreKit/RequestReview.swift +28 -0
  213. package/Sources/StoreKit/StoreKit1.swift +486 -0
  214. package/Sources/StoreKit/StoreViews.swift +428 -0
  215. package/Sources/StoreKit/Transactions.swift +197 -0
  216. package/Sources/SwiftData/Macros.swift +58 -0
  217. package/Sources/SwiftData/ModelActor.swift +38 -0
  218. package/Sources/SwiftData/ModelContainer.swift +129 -0
  219. package/Sources/SwiftData/ModelContext.swift +451 -0
  220. package/Sources/SwiftData/PersistentModel.swift +238 -0
  221. package/Sources/SwiftData/Properties.swift +261 -0
  222. package/Sources/SwiftData/Query.swift +256 -0
  223. package/Sources/SwiftData/Schema.swift +192 -0
  224. package/Sources/SwiftData/Store.swift +146 -0
  225. package/Sources/SwiftData/StringPredicates.swift +125 -0
  226. package/Sources/SwiftDataMacros/EntryMacro.swift +82 -0
  227. package/Sources/SwiftDataMacros/GenerableMacro.swift +183 -0
  228. package/Sources/SwiftDataMacros/ModelActorMacro.swift +46 -0
  229. package/Sources/SwiftDataMacros/ModelMacro.swift +260 -0
  230. package/Sources/SwiftDataMacros/Plugin.swift +18 -0
  231. package/Sources/SwiftDataMacros/PredicateMacro.swift +1244 -0
  232. package/Sources/SwiftUI/API/Accessibility.swift +181 -0
  233. package/Sources/SwiftUI/API/AccessibilityExtras.swift +33 -0
  234. package/Sources/SwiftUI/API/AccessibilityFocus.swift +63 -0
  235. package/Sources/SwiftUI/API/Alert.swift +221 -0
  236. package/Sources/SwiftUI/API/AlignmentGuides.swift +65 -0
  237. package/Sources/SwiftUI/API/Animation.swift +285 -0
  238. package/Sources/SwiftUI/API/App.swift +87 -0
  239. package/Sources/SwiftUI/API/BindingCollections.swift +35 -0
  240. package/Sources/SwiftUI/API/BindingForEach.swift +27 -0
  241. package/Sources/SwiftUI/API/Bitmaps.swift +254 -0
  242. package/Sources/SwiftUI/API/ButtonStyles.swift +96 -0
  243. package/Sources/SwiftUI/API/Canvas.swift +337 -0
  244. package/Sources/SwiftUI/API/Color.swift +237 -0
  245. package/Sources/SwiftUI/API/ColorEffects.swift +52 -0
  246. package/Sources/SwiftUI/API/ColorPickerAndLabeledContent.swift +138 -0
  247. package/Sources/SwiftUI/API/ColorSpaces.swift +161 -0
  248. package/Sources/SwiftUI/API/Commands.swift +106 -0
  249. package/Sources/SwiftUI/API/ContainerBackground.swift +28 -0
  250. package/Sources/SwiftUI/API/ContentShape.swift +33 -0
  251. package/Sources/SwiftUI/API/ContentSizeCategory.swift +35 -0
  252. package/Sources/SwiftUI/API/ContentUnavailable.swift +101 -0
  253. package/Sources/SwiftUI/API/Controls.swift +300 -0
  254. package/Sources/SwiftUI/API/CustomLayout.swift +442 -0
  255. package/Sources/SwiftUI/API/CustomToolbarContent.swift +46 -0
  256. package/Sources/SwiftUI/API/Decorations.swift +92 -0
  257. package/Sources/SwiftUI/API/EditMode.swift +212 -0
  258. package/Sources/SwiftUI/API/Effects.swift +388 -0
  259. package/Sources/SwiftUI/API/Entry.swift +8 -0
  260. package/Sources/SwiftUI/API/Environment.swift +439 -0
  261. package/Sources/SwiftUI/API/EnvironmentSendable.swift +6 -0
  262. package/Sources/SwiftUI/API/Focus.swift +137 -0
  263. package/Sources/SwiftUI/API/Font.swift +131 -0
  264. package/Sources/SwiftUI/API/Gauge.swift +290 -0
  265. package/Sources/SwiftUI/API/Geometry.swift +89 -0
  266. package/Sources/SwiftUI/API/GeometryEffects.swift +232 -0
  267. package/Sources/SwiftUI/API/GeometryReader.swift +135 -0
  268. package/Sources/SwiftUI/API/GestureState.swift +65 -0
  269. package/Sources/SwiftUI/API/Gestures.swift +342 -0
  270. package/Sources/SwiftUI/API/Glass.swift +127 -0
  271. package/Sources/SwiftUI/API/Grid.swift +188 -0
  272. package/Sources/SwiftUI/API/GroupBoxAndControlGroup.swift +130 -0
  273. package/Sources/SwiftUI/API/KeyPress.swift +54 -0
  274. package/Sources/SwiftUI/API/LabelStyle.swift +124 -0
  275. package/Sources/SwiftUI/API/Layout.swift +220 -0
  276. package/Sources/SwiftUI/API/LazyStacks.swift +49 -0
  277. package/Sources/SwiftUI/API/LegacyAlert.swift +97 -0
  278. package/Sources/SwiftUI/API/Lists.swift +331 -0
  279. package/Sources/SwiftUI/API/Menu.swift +58 -0
  280. package/Sources/SwiftUI/API/Modifiers.swift +313 -0
  281. package/Sources/SwiftUI/API/MoreModifiers.swift +100 -0
  282. package/Sources/SwiftUI/API/Namespace.swift +44 -0
  283. package/Sources/SwiftUI/API/Navigation.swift +386 -0
  284. package/Sources/SwiftUI/API/NavigationDestinationBindings.swift +55 -0
  285. package/Sources/SwiftUI/API/ObservableObject.swift +293 -0
  286. package/Sources/SwiftUI/API/OnChange.swift +48 -0
  287. package/Sources/SwiftUI/API/Path.swift +543 -0
  288. package/Sources/SwiftUI/API/Phase8Controls.swift +411 -0
  289. package/Sources/SwiftUI/API/PhaseAnimator.swift +130 -0
  290. package/Sources/SwiftUI/API/Picker.swift +185 -0
  291. package/Sources/SwiftUI/API/PointerAndKeyboard.swift +77 -0
  292. package/Sources/SwiftUI/API/Popover.swift +41 -0
  293. package/Sources/SwiftUI/API/Preferences.swift +262 -0
  294. package/Sources/SwiftUI/API/Presentation.swift +122 -0
  295. package/Sources/SwiftUI/API/PresentationExtras.swift +60 -0
  296. package/Sources/SwiftUI/API/Primitives.swift +517 -0
  297. package/Sources/SwiftUI/API/Publishers.swift +107 -0
  298. package/Sources/SwiftUI/API/Redaction.swift +75 -0
  299. package/Sources/SwiftUI/API/RowActions.swift +84 -0
  300. package/Sources/SwiftUI/API/Scenes.swift +131 -0
  301. package/Sources/SwiftUI/API/ScrollModifiers.swift +132 -0
  302. package/Sources/SwiftUI/API/ScrollTargets.swift +104 -0
  303. package/Sources/SwiftUI/API/ScrollViewReader.swift +144 -0
  304. package/Sources/SwiftUI/API/SectionSupplements.swift +96 -0
  305. package/Sources/SwiftUI/API/Shape.swift +214 -0
  306. package/Sources/SwiftUI/API/ShapeStyle.swift +409 -0
  307. package/Sources/SwiftUI/API/ShapeTrim.swift +78 -0
  308. package/Sources/SwiftUI/API/Sharing.swift +193 -0
  309. package/Sources/SwiftUI/API/StackLayouts.swift +199 -0
  310. package/Sources/SwiftUI/API/State.swift +144 -0
  311. package/Sources/SwiftUI/API/StatusGaps.swift +121 -0
  312. package/Sources/SwiftUI/API/StrokeStyle.swift +30 -0
  313. package/Sources/SwiftUI/API/SymbolEffects.swift +203 -0
  314. package/Sources/SwiftUI/API/TabContent.swift +841 -0
  315. package/Sources/SwiftUI/API/Table.swift +382 -0
  316. package/Sources/SwiftUI/API/Tabs.swift +263 -0
  317. package/Sources/SwiftUI/API/Tasks.swift +35 -0
  318. package/Sources/SwiftUI/API/Text.swift +386 -0
  319. package/Sources/SwiftUI/API/TextDates.swift +61 -0
  320. package/Sources/SwiftUI/API/TextDecorations.swift +52 -0
  321. package/Sources/SwiftUI/API/TextFieldAxis.swift +103 -0
  322. package/Sources/SwiftUI/API/TextFieldCommit.swift +52 -0
  323. package/Sources/SwiftUI/API/Timeline.swift +212 -0
  324. package/Sources/SwiftUI/API/Toolbar.swift +251 -0
  325. package/Sources/SwiftUI/API/Transfer.swift +145 -0
  326. package/Sources/SwiftUI/API/UnevenRoundedRectangle.swift +66 -0
  327. package/Sources/SwiftUI/API/Video.swift +64 -0
  328. package/Sources/SwiftUI/API/View.swift +215 -0
  329. package/Sources/SwiftUI/API/ViewModifier.swift +43 -0
  330. package/Sources/SwiftUI/API/VisualEffect.swift +155 -0
  331. package/Sources/SwiftUI/API/Windows.swift +25 -0
  332. package/Sources/SwiftUI/Charts/Axis.swift +325 -0
  333. package/Sources/SwiftUI/Charts/AxisFormatsAndRanges.swift +68 -0
  334. package/Sources/SwiftUI/Charts/Chart.swift +660 -0
  335. package/Sources/SwiftUI/Charts/ChartContent.swift +376 -0
  336. package/Sources/SwiftUI/Charts/ChartProxy.swift +57 -0
  337. package/Sources/SwiftUI/Charts/Marks.swift +204 -0
  338. package/Sources/SwiftUI/Charts/Plottable.swift +99 -0
  339. package/Sources/SwiftUI/Charts/Scales.swift +326 -0
  340. package/Sources/SwiftUI/Localization/Localization.swift +498 -0
  341. package/Sources/SwiftUI/Localization/PluralRules.swift +127 -0
  342. package/Sources/SwiftUI/Runtime/Executor.swift +85 -0
  343. package/Sources/SwiftUI/Runtime/Exports.swift +101 -0
  344. package/Sources/SwiftUI/Runtime/ImageSource.swift +310 -0
  345. package/Sources/SwiftUI/Runtime/JSON.swift +143 -0
  346. package/Sources/SwiftUI/Runtime/JSONParser.swift +443 -0
  347. package/Sources/SwiftUI/Runtime/LazyRows.swift +99 -0
  348. package/Sources/SwiftUI/Runtime/Measurements.swift +140 -0
  349. package/Sources/SwiftUI/Runtime/Ops.swift +152 -0
  350. package/Sources/SwiftUI/Runtime/Reconciler.swift +219 -0
  351. package/Sources/SwiftUI/Runtime/Replay.swift +382 -0
  352. package/Sources/SwiftUI/Runtime/Runtime.swift +2146 -0
  353. package/Sources/SwiftUI/Runtime/Sameness.swift +152 -0
  354. package/Sources/SwiftUI/Runtime/ViewPath.swift +89 -0
  355. package/Sources/SwiftUI/Runtime/ViewTraits.swift +175 -0
  356. package/Sources/SwiftUI/Runtime/WebAuthHeadless.swift +49 -0
  357. package/Sources/Symbols/Symbols.swift +25 -0
  358. package/Sources/Translation/Translation.swift +423 -0
  359. package/Sources/UIKit/Activity.swift +213 -0
  360. package/Sources/UIKit/Alerts.swift +69 -0
  361. package/Sources/UIKit/AppDelegate.swift +222 -0
  362. package/Sources/UIKit/Appearance.swift +84 -0
  363. package/Sources/UIKit/ColorConversions.swift +70 -0
  364. package/Sources/UIKit/Controls.swift +225 -0
  365. package/Sources/UIKit/Device.swift +200 -0
  366. package/Sources/UIKit/Feedback.swift +65 -0
  367. package/Sources/UIKit/Font.swift +307 -0
  368. package/Sources/UIKit/Graphics.swift +204 -0
  369. package/Sources/UIKit/HostingController.swift +185 -0
  370. package/Sources/UIKit/Identity.swift +24 -0
  371. package/Sources/UIKit/Introspectable.swift +510 -0
  372. package/Sources/UIKit/Pasteboard.swift +363 -0
  373. package/Sources/UIKit/PhotoAlbum.swift +81 -0
  374. package/Sources/UIKit/RemoteNotifications.swift +15 -0
  375. package/Sources/UIKit/Representable.swift +288 -0
  376. package/Sources/UIKit/SafeArea.swift +12 -0
  377. package/Sources/UIKit/SceneDelegates.swift +132 -0
  378. package/Sources/UIKit/Scenes.swift +40 -0
  379. package/Sources/UIKit/ScrollView.swift +157 -0
  380. package/Sources/UIKit/ShortcutItems.swift +67 -0
  381. package/Sources/UIKit/SymbolConfiguration.swift +124 -0
  382. package/Sources/UIKit/TargetAction.swift +123 -0
  383. package/Sources/UIKit/TextPaste.swift +161 -0
  384. package/Sources/UIKit/TextView.swift +538 -0
  385. package/Sources/UIKit/UIKit.swift +292 -0
  386. package/Sources/UIKit/UIView.swift +855 -0
  387. package/Sources/UIKit/ViewTranslation.swift +311 -0
  388. package/Sources/UniformTypeIdentifiers/UTType.swift +196 -0
  389. package/Sources/UserNotifications/Content.swift +370 -0
  390. package/Sources/UserNotifications/NotificationCenter.swift +309 -0
  391. package/Sources/WeatherKit/WeatherKit.swift +228 -0
  392. package/Sources/WebKit/WebKit.swift +245 -0
  393. package/Sources/os/os.swift +376 -0
  394. package/Sources/zlib/zlib.swift +6 -0
  395. package/index.d.ts +2 -0
  396. package/index.mjs +16 -0
  397. package/manifest.d.mts +2 -0
  398. package/manifest.mjs +39 -0
  399. package/package.json +30 -4
  400. package/sync-sources.mjs +33 -0
@@ -0,0 +1,96 @@
1
+ // `Section` headers and footers that are views, not just `Text`.
2
+ //
3
+ // A `Text` header or footer (or an optional one, `footer: { if x { Text(…) } }`)
4
+ // stays the `section`'s `header` / `footer` string, as it always was. Any
5
+ // other view becomes a child of the `section`: a `sectionheader` before the
6
+ // rows and a `sectionfooter` after them, each with the view inside (props
7
+ // `{}`). In a list the page lays the header view out above the section's card
8
+ // and the footer view below it, in the content width, in the footnote font
9
+ // and the secondary color; outside a list (a `Section` in a `LazyVStack`) they
10
+ // stack with the rows. As for a string header, the texts in a header view
11
+ // are upper-cased (the environment's `textCase`, which `.textCase(nil)`
12
+ // inside the header undoes).
13
+
14
+ /// A section's view header or footer: kind `sectionheader` or `sectionfooter`.
15
+ struct _SectionSupplement {
16
+ let kind: String
17
+ let content: any View
18
+ }
19
+ extension _SectionSupplement: _PrimitiveView {}
20
+ extension _SectionSupplement: _HostView {
21
+ var _kind: String { kind }
22
+ func _props(in environment: EnvironmentValues) -> _JSON { .object([:]) }
23
+ var _content: [any View] {
24
+ guard kind == "sectionheader" else { return [content] }
25
+ return [_withEnvironment(content) { $0.textCase = .uppercase }]
26
+ }
27
+ }
28
+
29
+ /// `content.environment(…)` for an existential view.
30
+ private func _withEnvironment(_ view: any View, _ apply: @escaping (inout EnvironmentValues) -> Void) -> any View {
31
+ func open<V: View>(_ content: V) -> any View { _EnvironmentView(content: content, apply: apply) }
32
+ return open(view)
33
+ }
34
+
35
+ /// A header or footer view as the section stores it: a `Text` (or an
36
+ /// optional `Text`) as its string, anything else as a view.
37
+ private enum _SectionLabel {
38
+ case text(String?)
39
+ case view(any View)
40
+
41
+ init<V: View>(_ view: V) {
42
+ if let text = view as? Text {
43
+ self = .text(text.content)
44
+ } else if let optional = view as? Text? {
45
+ self = .text(optional?.content)
46
+ } else {
47
+ self = .view(view)
48
+ }
49
+ }
50
+
51
+ var string: String? {
52
+ if case .text(let string) = self { return string }
53
+ return nil
54
+ }
55
+
56
+ var view: (any View)? {
57
+ if case .view(let view) = self { return view }
58
+ return nil
59
+ }
60
+ }
61
+
62
+ extension Section {
63
+ private init(content: Content, header: _SectionLabel?, footer: _SectionLabel?) {
64
+ self.header = header?.string
65
+ self.footer = footer?.string
66
+ self.content = content
67
+ headerView = header?.view
68
+ footerView = footer?.view
69
+ }
70
+
71
+ public init<H: View>(@ViewBuilder content: () -> Content, @ViewBuilder header: () -> H) {
72
+ self.init(content: content(), header: _SectionLabel(header()), footer: nil)
73
+ }
74
+
75
+ public init<F: View>(@ViewBuilder content: () -> Content, @ViewBuilder footer: () -> F) {
76
+ self.init(content: content(), header: nil, footer: _SectionLabel(footer()))
77
+ }
78
+
79
+ public init<H: View, F: View>(@ViewBuilder content: () -> Content, @ViewBuilder header: () -> H,
80
+ @ViewBuilder footer: () -> F) {
81
+ self.init(content: content(), header: _SectionLabel(header()), footer: _SectionLabel(footer()))
82
+ }
83
+
84
+ /// The pre-iOS 15 spellings, with the header and footer as values.
85
+ public init<H: View>(header: H, @ViewBuilder content: () -> Content) {
86
+ self.init(content: content(), header: _SectionLabel(header), footer: nil)
87
+ }
88
+
89
+ public init<F: View>(footer: F, @ViewBuilder content: () -> Content) {
90
+ self.init(content: content(), header: nil, footer: _SectionLabel(footer))
91
+ }
92
+
93
+ public init<H: View, F: View>(header: H, footer: F, @ViewBuilder content: () -> Content) {
94
+ self.init(content: content(), header: _SectionLabel(header), footer: _SectionLabel(footer))
95
+ }
96
+ }
@@ -0,0 +1,214 @@
1
+ // Custom shapes: a `Shape` that is not one of the built-in shapes the page
2
+ // draws by name (`_name` is `"path"`) is drawn from its `path(in:)`.
3
+ //
4
+ // The path depends on the size the shape is laid out at, which only the page
5
+ // knows, so a shape's element reports its size (`reportsSize`, like a
6
+ // `GeometryReader`'s) and the next render sends the path for it: SVG path
7
+ // data in `path`, for the rectangle `size`. Until the first report the
8
+ // shape draws nothing.
9
+ //
10
+ // SwiftUI animates a shape by interpolating its `animatableData` and asking
11
+ // for the path at each step. Here, when a shape's `animatableData` changes in
12
+ // a pass that may animate it (the transaction has an animation, or an
13
+ // `.animation(_:value:)` above it saw its value change), the element also
14
+ // carries the path along the way (`frames`: the paths at
15
+ // fractions of the change, and below 0 and above 1 for a spring that
16
+ // overshoots). The page plays them when the commit animates the shape, in the
17
+ // commit's timing curve (src/animation.ts); otherwise it draws the end path.
18
+
19
+ /// A shape that can be inset (`strokeBorder` draws inside its bounds).
20
+ public protocol InsettableShape: Shape {
21
+ associatedtype InsetShape: InsettableShape
22
+ func inset(by amount: CGFloat) -> InsetShape
23
+ }
24
+
25
+ /// A shape inset by `amount` on every side.
26
+ nonisolated public struct _InsetShape<Base: Shape>: InsettableShape {
27
+ let base: Base
28
+ let amount: CGFloat
29
+
30
+ public func path(in rect: CGRect) -> Path {
31
+ let inset = rect.insetBy(dx: amount, dy: amount)
32
+ guard inset.width >= 0, inset.height >= 0 else { return Path() }
33
+ return base.path(in: inset)
34
+ }
35
+
36
+ public func inset(by amount: CGFloat) -> _InsetShape<Base> {
37
+ _InsetShape(base: base, amount: self.amount + amount)
38
+ }
39
+
40
+ public var animatableData: CGFloat {
41
+ get { amount }
42
+ set { self = _InsetShape(base: base, amount: newValue) }
43
+ }
44
+ }
45
+
46
+ extension Rectangle: InsettableShape {
47
+ public func inset(by amount: CGFloat) -> _InsetShape<Rectangle> { _InsetShape(base: self, amount: amount) }
48
+ }
49
+ extension RoundedRectangle: InsettableShape {
50
+ public func inset(by amount: CGFloat) -> _InsetShape<RoundedRectangle> { _InsetShape(base: self, amount: amount) }
51
+ }
52
+ extension UnevenRoundedRectangle: InsettableShape {
53
+ public func inset(by amount: CGFloat) -> _InsetShape<UnevenRoundedRectangle> { _InsetShape(base: self, amount: amount) }
54
+ }
55
+ extension Circle: InsettableShape {
56
+ public func inset(by amount: CGFloat) -> _InsetShape<Circle> { _InsetShape(base: self, amount: amount) }
57
+ }
58
+ extension Capsule: InsettableShape {
59
+ public func inset(by amount: CGFloat) -> _InsetShape<Capsule> { _InsetShape(base: self, amount: amount) }
60
+ }
61
+ extension Ellipse: InsettableShape {
62
+ public func inset(by amount: CGFloat) -> _InsetShape<Ellipse> { _InsetShape(base: self, amount: amount) }
63
+ }
64
+ extension ContainerRelativeShape: InsettableShape {
65
+ public func inset(by amount: CGFloat) -> _InsetShape<ContainerRelativeShape> { _InsetShape(base: self, amount: amount) }
66
+ }
67
+
68
+ extension Path: Shape {
69
+ public func path(in rect: CGRect) -> Path { self }
70
+ }
71
+
72
+ /// A shape is a view: drawn filled with the foreground style.
73
+ extension Shape {
74
+ public var body: _ShapeView<Self> { _ShapeView(shape: self, fill: nil, stroke: nil) }
75
+ }
76
+
77
+ // MARK: - Drawing from the path
78
+
79
+ /// A view whose element may draw a path for its laid-out size: the runtime
80
+ /// reports the size to it and adds the path to its props.
81
+ @MainActor protocol _PathDrawing: _TraitBearing {
82
+ /// Whether this value draws a path (a built-in shape draws by name).
83
+ var _drawsPath: Bool { get }
84
+ /// `props` with the path for `size`, and the frames of a change of the
85
+ /// shape's `animatableData` when the pass may animate it (`animated`).
86
+ func _pathProps(_ props: _JSON, size: CGSize, state: _PathState, animated: Bool) -> _JSON
87
+ }
88
+
89
+ /// What a path-drawing node keeps between renders: the shape it drew last,
90
+ /// for which size, and the path props it sent for them.
91
+ final class _PathState {
92
+ var shape: Any?
93
+ var size = CGSize.zero
94
+ var inset: CGFloat = 0
95
+ var fields: [String: _JSON] = [:]
96
+ }
97
+
98
+ /// The paths at these fractions of an animated change are sent with it.
99
+ let _pathFrameProgress: [Double] = [-0.3, -0.2, -0.1] + (0...60).map { Double($0) / 60 } + [1.1, 1.2, 1.3]
100
+
101
+ extension _ShapeView: _PathDrawing {
102
+ var _drawsPath: Bool { shape._name == "path" }
103
+
104
+ /// How far inside its bounds the path is drawn: half the line of a
105
+ /// `strokeBorder`, so that the line lies inside.
106
+ private var strokeInset: CGFloat {
107
+ guard let stroke, stroke.inset else { return 0 }
108
+ return stroke.lineWidth / 2
109
+ }
110
+
111
+ @MainActor func _pathProps(_ props: _JSON, size: CGSize, state: _PathState, animated: Bool) -> _JSON {
112
+ guard case .object(var fields) = props else { return props }
113
+ let inset = strokeInset
114
+ var budget = 4096
115
+ let unchanged = state.size == size && state.inset == inset
116
+ && state.shape.map { _Sameness.same($0, shape, budget: &budget) } == true
117
+ if !unchanged {
118
+ var path: [String: _JSON] = [
119
+ "path": .string(size == .zero ? "" : Self.drawnPath(of: shape, inset: inset, in: size)._svg),
120
+ "size": .object(["width": .number(size.width), "height": .number(size.height)]),
121
+ ]
122
+ if animated, size != .zero, let previous = state.shape as? S,
123
+ let frames = Self.frames(from: previous, to: shape, inset: inset, in: size) {
124
+ path["frames"] = frames
125
+ }
126
+ state.shape = shape
127
+ state.size = size
128
+ state.inset = inset
129
+ state.fields = path
130
+ }
131
+ fields.merge(state.fields) { _, new in new }
132
+ return .object(fields)
133
+ }
134
+
135
+ /// The path of `shape` in a rectangle of `size`, inset by `inset` (an
136
+ /// insettable shape is inset as a shape, any other as a rectangle).
137
+ @MainActor static func drawnPath(of shape: S, inset: CGFloat, in size: CGSize) -> Path {
138
+ let rect = CGRect(origin: .zero, size: size)
139
+ guard inset != 0 else { return shape.path(in: rect) }
140
+ if let insettable = shape as? any InsettableShape {
141
+ return insettable.inset(by: inset).path(in: rect)
142
+ }
143
+ return shape.path(in: rect.insetBy(dx: inset, dy: inset))
144
+ }
145
+
146
+ /// The paths along a change of `animatableData`, or nil when it did not change.
147
+ @MainActor static func frames(from previous: S, to shape: S, inset: CGFloat, in size: CGSize) -> _JSON? {
148
+ let from = previous.animatableData, to = shape.animatableData
149
+ guard S.AnimatableData.self != EmptyAnimatableData.self, from != to else { return nil }
150
+ var paths: [String] = []
151
+ var indices: [Int: Int] = [:]
152
+ var index: [_JSON] = []
153
+ for progress in _pathFrameProgress {
154
+ var step = shape
155
+ step.animatableData = from.interpolated(towards: to, amount: progress)
156
+ let svg = drawnPath(of: step, inset: inset, in: size)._svg
157
+ let hash = svg.hashValue
158
+ if let known = indices[hash], paths[known] == svg {
159
+ index.append(.number(Double(known)))
160
+ } else {
161
+ indices[hash] = paths.count
162
+ index.append(.number(Double(paths.count)))
163
+ paths.append(svg)
164
+ }
165
+ }
166
+ return .object([
167
+ "progress": .array(_pathFrameProgress.map(_JSON.number)),
168
+ "index": .array(index),
169
+ "paths": .array(paths.map(_JSON.string)),
170
+ ])
171
+ }
172
+ }
173
+
174
+ extension _TrimmedShapeView: _PathDrawing {
175
+ var _drawsPath: Bool { _name == "path" }
176
+
177
+ @MainActor func _pathProps(_ props: _JSON, size: CGSize, state: _PathState, animated: Bool) -> _JSON {
178
+ _ShapeView(shape: self, fill: nil, stroke: nil)._pathProps(props, size: size, state: state, animated: animated)
179
+ }
180
+ }
181
+
182
+ // MARK: - Scaled shapes
183
+
184
+ /// A shape scaled about an anchor of its bounds (`shape.scale(0.99)`), drawn from its path.
185
+ nonisolated public struct ScaledShape<Content: Shape>: Shape {
186
+ public var shape: Content
187
+ public var scale: CGSize
188
+ public var anchor: UnitPoint
189
+
190
+ public init(shape: Content, scale: CGSize, anchor: UnitPoint = .center) {
191
+ self.shape = shape
192
+ self.scale = scale
193
+ self.anchor = anchor
194
+ }
195
+
196
+ public func path(in rect: CGRect) -> Path {
197
+ let x = rect.minX + anchor.x * rect.width
198
+ let y = rect.minY + anchor.y * rect.height
199
+ let transform = CGAffineTransform(translationX: -x, y: -y)
200
+ .concatenating(CGAffineTransform(scaleX: scale.width, y: scale.height))
201
+ .concatenating(CGAffineTransform(translationX: x, y: y))
202
+ return shape.path(in: rect).applying(transform)
203
+ }
204
+ }
205
+
206
+ nonisolated extension Shape {
207
+ public func scale(x: CGFloat = 1, y: CGFloat = 1, anchor: UnitPoint = .center) -> ScaledShape<Self> {
208
+ ScaledShape(shape: self, scale: CGSize(width: x, height: y), anchor: anchor)
209
+ }
210
+
211
+ public func scale(_ scale: CGFloat, anchor: UnitPoint = .center) -> ScaledShape<Self> {
212
+ ScaledShape(shape: self, scale: CGSize(width: scale, height: scale), anchor: anchor)
213
+ }
214
+ }