diff --git a/apps/minimal-tester/android/brownfield/build.gradle.kts b/apps/minimal-tester/android/brownfield/build.gradle.kts
new file mode 100644
index 00000000000000..e92b6bbed9b158
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/build.gradle.kts
@@ -0,0 +1,58 @@
+plugins {
+ id("com.android.library")
+ id("org.jetbrains.kotlin.android")
+ id("com.facebook.react")
+ id("expo-brownfield-setup")
+}
+
+group = "com.community.minimaltester"
+
+version = "1.0.0"
+
+react { autolinkLibrariesWithApp() }
+
+android {
+ namespace = "com.community.minimaltester.brownfield"
+ compileSdk = 36
+
+ buildFeatures { buildConfig = true }
+
+ defaultConfig {
+ minSdk = 24
+ consumerProguardFiles("consumer-rules.pro")
+ buildConfigField(
+ "boolean",
+ "IS_NEW_ARCHITECTURE_ENABLED",
+ properties["newArchEnabled"].toString(),
+ )
+ buildConfigField("boolean", "IS_HERMES_ENABLED", properties["hermesEnabled"].toString())
+ buildConfigField(
+ "boolean",
+ "IS_EDGE_TO_EDGE_ENABLED",
+ properties["edgeToEdgeEnabled"].toString(),
+ )
+ buildConfigField(
+ "String",
+ "REACT_NATIVE_RELEASE_LEVEL",
+ "\"${findProperty("reactNativeReleaseLevel") ?: "stable"}\"",
+ )
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions { jvmTarget = "17" }
+}
+
+dependencies {
+ api("com.facebook.react:react-android")
+ api("com.facebook.react:hermes-android")
+ compileOnly("androidx.fragment:fragment-ktx:1.6.1")
+}
diff --git a/apps/minimal-tester/android/brownfield/consumer-rules.pro b/apps/minimal-tester/android/brownfield/consumer-rules.pro
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/apps/minimal-tester/android/brownfield/proguard-rules.pro b/apps/minimal-tester/android/brownfield/proguard-rules.pro
new file mode 100644
index 00000000000000..f1b424510da51f
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
diff --git a/apps/minimal-tester/android/brownfield/src/main/AndroidManifest.xml b/apps/minimal-tester/android/brownfield/src/main/AndroidManifest.xml
new file mode 100644
index 00000000000000..9a40236b947151
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/src/main/AndroidManifest.xml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/BrownfieldActivity.kt b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/BrownfieldActivity.kt
new file mode 100644
index 00000000000000..6dc6aa9b7f3389
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/BrownfieldActivity.kt
@@ -0,0 +1,23 @@
+package com.community.minimaltester.brownfield
+
+import android.app.Application
+import android.content.res.Configuration
+import androidx.appcompat.app.AppCompatActivity
+import expo.modules.ApplicationLifecycleDispatcher
+
+object BrownfieldLifecycleDispatcher {
+ fun onApplicationCreate(application: Application) {
+ ApplicationLifecycleDispatcher.onApplicationCreate(application)
+ }
+
+ fun onConfigurationChanged(application: Application, newConfig: Configuration) {
+ ApplicationLifecycleDispatcher.onConfigurationChanged(application, newConfig)
+ }
+}
+
+open class BrownfieldActivity : AppCompatActivity() {
+ override fun onConfigurationChanged(newConfig: Configuration) {
+ super.onConfigurationChanged(newConfig)
+ BrownfieldLifecycleDispatcher.onConfigurationChanged(this.application, newConfig)
+ }
+}
diff --git a/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeFragment.kt b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeFragment.kt
new file mode 100644
index 00000000000000..19ceec8f249dde
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeFragment.kt
@@ -0,0 +1,63 @@
+package com.community.minimaltester.brownfield
+
+import android.app.Activity
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import android.widget.FrameLayout
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.fragment.app.commit
+
+class ReactNativeFragment : Fragment() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?,
+ ): FrameLayout {
+ return ReactNativeViewFactory.createFrameLayout(
+ requireContext(),
+ requireActivity(),
+ RootComponent.Main,
+ )
+ }
+
+ companion object {
+ private const val TAG = "ReactNativeFragment"
+
+ fun createFragmentHost(activity: Activity): ViewGroup {
+ val layout =
+ object : FrameLayout(activity) {
+ init {
+ id = generateViewId()
+ }
+ }
+
+ val fragment = createAndCommit(activity, layout)
+
+ return layout
+ }
+
+ internal fun createAndCommit(
+ activity: Activity,
+ container: ViewGroup,
+ ): ReactNativeFragment {
+ val fragmentManager = (activity as FragmentActivity).supportFragmentManager
+
+ val fragment = ReactNativeFragment()
+
+ fragmentManager.commit(true) {
+ setReorderingAllowed(true)
+ add(container.id, fragment, TAG)
+ }
+
+ return fragment
+ }
+
+ internal fun findIn(activity: Activity): ReactNativeFragment? {
+ val activity = activity ?: return null
+ return (activity as FragmentActivity).supportFragmentManager.findFragmentByTag(TAG)
+ as ReactNativeFragment?
+ }
+ }
+}
diff --git a/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeHostManager.kt b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeHostManager.kt
new file mode 100644
index 00000000000000..7bbd28468f299a
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeHostManager.kt
@@ -0,0 +1,79 @@
+package com.community.minimaltester.brownfield
+
+import android.app.Activity
+import android.app.Application
+import androidx.activity.ComponentActivity
+import androidx.activity.OnBackPressedCallback
+import com.facebook.react.PackageList
+import com.facebook.react.ReactHost
+import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
+import com.facebook.react.common.ReleaseLevel
+import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint
+import com.facebook.react.modules.core.DeviceEventManagerModule
+import expo.modules.ExpoReactHostFactory
+import expo.modules.brownfield.BrownfieldNavigationState
+
+class ReactNativeHostManager {
+ companion object {
+ val shared: ReactNativeHostManager by lazy { ReactNativeHostManager() }
+ private var reactHost: ReactHost? = null
+ }
+
+ fun getReactHost(): ReactHost? {
+ return reactHost
+ }
+
+ fun initialize(application: Application) {
+ if (reactHost != null) {
+ return
+ }
+
+ DefaultNewArchitectureEntryPoint.releaseLevel =
+ try {
+ ReleaseLevel.valueOf(BuildConfig.REACT_NATIVE_RELEASE_LEVEL.uppercase())
+ } catch (e: IllegalArgumentException) {
+ ReleaseLevel.STABLE
+ }
+ loadReactNative(application)
+ BrownfieldLifecycleDispatcher.onApplicationCreate(application)
+
+ reactHost = ExpoReactHostFactory.getDefaultReactHost(
+ context = application.applicationContext,
+ packageList = PackageList(application).packages
+ )
+ }
+}
+
+fun Activity.showReactNativeFragment() {
+ ReactNativeHostManager.shared.initialize(this.application)
+ val fragment = ReactNativeFragment.createFragmentHost(this)
+ setContentView(fragment)
+ setUpNativeBackHandling()
+}
+
+fun Activity.setUpNativeBackHandling() {
+ val componentActivity = this as? ComponentActivity
+ if (componentActivity == null) {
+ return
+ }
+
+ val backCallback =
+ object : OnBackPressedCallback(true) {
+ override fun handleOnBackPressed() {
+ if (BrownfieldNavigationState.nativeBackEnabled) {
+ isEnabled = false
+ componentActivity.onBackPressedDispatcher?.onBackPressed()
+ isEnabled = true
+ } else {
+ val reactHost = ReactNativeHostManager.shared.getReactHost()
+ reactHost?.currentReactContext?.let { reactContext ->
+ val deviceEventManager =
+ reactContext.getNativeModule(DeviceEventManagerModule::class.java)
+ deviceEventManager?.emitHardwareBackPressed()
+ }
+ }
+ }
+ }
+
+ componentActivity.onBackPressedDispatcher?.addCallback(componentActivity, backCallback)
+}
diff --git a/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeViewFactory.kt b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeViewFactory.kt
new file mode 100644
index 00000000000000..89a726dd090d8f
--- /dev/null
+++ b/apps/minimal-tester/android/brownfield/src/main/java/com/community/minimaltester/brownfield/ReactNativeViewFactory.kt
@@ -0,0 +1,49 @@
+package com.community.minimaltester.brownfield
+
+import android.content.Context
+import android.os.Bundle
+import android.widget.FrameLayout
+import androidx.fragment.app.FragmentActivity
+import androidx.lifecycle.DefaultLifecycleObserver
+import androidx.lifecycle.LifecycleOwner
+import com.facebook.react.ReactDelegate
+import com.facebook.react.ReactInstanceManager
+import com.facebook.react.ReactRootView
+
+enum class RootComponent(val key: String) {
+ Main("main")
+}
+
+object ReactNativeViewFactory {
+ fun createFrameLayout(
+ context: Context,
+ activity: FragmentActivity,
+ rootComponent: RootComponent,
+ launchOptions: Bundle? = null,
+ ): FrameLayout {
+ val reactHost = ReactNativeHostManager.shared.getReactHost()
+
+ val reactDelegate = ReactDelegate(activity, reactHost!!, rootComponent.key, launchOptions)
+
+ activity.lifecycle.addObserver(
+ object : DefaultLifecycleObserver {
+ override fun onResume(owner: LifecycleOwner) {
+ reactDelegate.onHostResume()
+ }
+
+ override fun onPause(owner: LifecycleOwner) {
+ reactDelegate.onHostPause()
+ }
+
+ override fun onDestroy(owner: LifecycleOwner) {
+ reactDelegate.onHostDestroy()
+ owner.lifecycle.removeObserver(this) // Cleanup to avoid leaks
+ }
+ }
+ )
+
+ reactDelegate.loadApp()
+ return reactDelegate.reactRootView!!
+
+ }
+}
diff --git a/apps/minimal-tester/android/build.gradle b/apps/minimal-tester/android/build.gradle
index 0554dd156c12f9..96aea43113bbf3 100644
--- a/apps/minimal-tester/android/build.gradle
+++ b/apps/minimal-tester/android/build.gradle
@@ -9,6 +9,7 @@ buildscript {
classpath('com.android.tools.build:gradle')
classpath('com.facebook.react:react-native-gradle-plugin')
classpath('org.jetbrains.kotlin:kotlin-gradle-plugin')
+ classpath('expo.modules:publish')
}
}
@@ -21,4 +22,14 @@ allprojects {
}
apply plugin: "expo-root-project"
+apply plugin: "expo-brownfield-publish"
apply plugin: "com.facebook.react.rootproject"
+
+expoBrownfieldPublishPlugin {
+ libraryName = "brownfield"
+ publications {
+ localDefault {
+ type = "localMaven"
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/minimal-tester/android/settings.gradle b/apps/minimal-tester/android/settings.gradle
index 955169d496d6b6..30a64899de1b2e 100644
--- a/apps/minimal-tester/android/settings.gradle
+++ b/apps/minimal-tester/android/settings.gradle
@@ -37,3 +37,12 @@ expoAutolinking.useExpoVersionCatalog()
include ':app'
includeBuild(expoAutolinking.reactNativeGradlePlugin)
+include ':brownfield'
+def brownfieldPluginsPath = new File(
+ providers.exec {
+ workingDir(rootDir)
+ commandLine("node", "--print", "require.resolve('expo-brownfield/package.json')")
+ }.standardOutput.asText.get().trim(),
+ "../gradle-plugins"
+).absolutePath
+includeBuild(brownfieldPluginsPath)
\ No newline at end of file
diff --git a/apps/minimal-tester/app.json b/apps/minimal-tester/app.json
index 3b90b8f0b72b66..dcc00bd718d13b 100644
--- a/apps/minimal-tester/app.json
+++ b/apps/minimal-tester/app.json
@@ -34,11 +34,15 @@
},
"jsEngine": "hermes",
"plugins": [
- ["expo-build-properties", {
- "ios": {
- "buildReactNativeFromSource": true
+ "expo-brownfield",
+ [
+ "expo-build-properties",
+ {
+ "ios": {
+ "buildReactNativeFromSource": true
+ }
}
- }]
+ ]
]
}
}
diff --git a/apps/minimal-tester/ios/Podfile b/apps/minimal-tester/ios/Podfile
index 2eb8ab13be4204..717d73c5d35996 100644
--- a/apps/minimal-tester/ios/Podfile
+++ b/apps/minimal-tester/ios/Podfile
@@ -1,3 +1,5 @@
+$BROWNFIELD_TARGET_NAME = 'minimaltesterbrownfield'
+require File.join(File.dirname(`node --print "require.resolve('expo-brownfield/package.json')"`), "plugin/src/ios/scripts/reorder_build_phases.rb")
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
@@ -60,4 +62,8 @@ target 'minimaltester' do
:ccache_enabled => ccache_enabled?(podfile_properties),
)
end
+
+ target 'minimaltesterbrownfield' do
+ inherit! :complete
+ end
end
diff --git a/apps/minimal-tester/ios/Podfile.lock b/apps/minimal-tester/ios/Podfile.lock
index 7de39788c89e6b..84a9c832df8a91 100644
--- a/apps/minimal-tester/ios/Podfile.lock
+++ b/apps/minimal-tester/ios/Podfile.lock
@@ -209,6 +209,7 @@ PODS:
- React-jsinspector
- React-NativeModulesApple
- React-RCTFabric
+ - React-rendererconsistency
- React-renderercss
- React-rendererdebug
- React-utils
@@ -223,6 +224,8 @@ PODS:
- ExpoModulesCore
- ExpoBlur (15.0.7):
- ExpoModulesCore
+ - ExpoBrownfieldModule (1.0.0):
+ - ExpoModulesCore
- ExpoCamera (17.0.8):
- ExpoModulesCore
- ZXingObjC/OneD
@@ -2821,6 +2824,7 @@ DEPENDENCIES:
- ExpoAppleAuthentication (from `../../../packages/expo-apple-authentication/ios`)
- ExpoAsset (from `../../../packages/expo-asset/ios`)
- ExpoBlur (from `../../../packages/expo-blur/ios`)
+ - ExpoBrownfieldModule (from `../../../packages/expo-brownfield/ios`)
- ExpoCamera (from `../../../packages/expo-camera/ios`)
- "ExpoDomWebView (from `../../../packages/@expo/dom-webview/ios`)"
- ExpoFileSystem (from `../../../packages/expo-file-system/ios`)
@@ -2956,6 +2960,8 @@ EXTERNAL SOURCES:
:path: "../../../packages/expo-asset/ios"
ExpoBlur:
:path: "../../../packages/expo-blur/ios"
+ ExpoBrownfieldModule:
+ :path: "../../../packages/expo-brownfield/ios"
ExpoCamera:
:path: "../../../packages/expo-camera/ios"
ExpoDomWebView:
@@ -3145,14 +3151,15 @@ SPEC CHECKSUMS:
EXConstants: 59d46d25b89f88cc38291a56dbce4d550758f72d
EXJSONUtils: 1d3e4590438c3ee593684186007028a14b3686cd
EXManifests: 7469efed75d694ce3c43a6da9c6f3886f66d3c26
- Expo: 446942b564f6fa3f855457d1f1678a9d5c5f3741
+ Expo: 4759a8b5aa24194890a7d6dd1f339d3dfe1fa076
expo-dev-client: b8c16c699a35787e1ac38c6d44ef7552fe3f0334
- expo-dev-launcher: 617152822493adda0848170557a79d6bc585e6fe
- expo-dev-menu: ae1feaf51f47590afc4527c6a75165beb7aed0dd
+ expo-dev-launcher: 7edada0ddd24272acac7619179d031817d651aca
+ expo-dev-menu: fb6b29c7b0e66ccdadf289a0adf55fb3e1449b28
expo-dev-menu-interface: 30d9aa2fbca275a1335ca7e076273dac1d42d40a
ExpoAppleAuthentication: 414e4316f8e25a2afbc3943cf725579c910f24b8
ExpoAsset: 4375a46b45b12bbfcf6efac8c8a33aebdb8ba12b
ExpoBlur: b5b7a26572b3c33a11f0b2aa2f95c17c4c393b76
+ ExpoBrownfieldModule: 9398859fd864068a86a96e79e26454bda7b8d420
ExpoCamera: 442bbbbd75d73d17f3a972b269efe7595b9b6933
ExpoDomWebView: f8d74b970eede6e02ca2f215742812472f046817
ExpoFileSystem: adffad7d1f57f768ca7a5e3bf450312fb9ebd27a
@@ -3161,8 +3168,8 @@ SPEC CHECKSUMS:
ExpoKeepAwake: 3f5e3ac53627849174f3603271df8e08f174ed4a
ExpoLinearGradient: f9e7182e5253d53b2de4134b69d70bbfc2d50588
ExpoLogBox: b4c81de3f21bbe2e9467a26455563c76c7709efb
- ExpoModulesCore: d843eb08a3bc89716cd4eb517f89e17afa451ffc
- ExpoModulesJSI: c470ea2ed825fce73bdc4ef060c8a22e3f664092
+ ExpoModulesCore: d1b69abd0ce390592ae9c0bc266b07e209d5909f
+ ExpoModulesJSI: 9570b15a60f3cbf7f7ff7784ed6d798a7b38f6d5
ExpoSplashScreen: 896f624f2e9e98c5de938bf59a62a061f383164d
ExpoVideo: 7e39a5933892dc640b1b83013f3f9d9d37072151
EXStructuredHeaders: c951e77f2d936f88637421e9588c976da5827368
@@ -3188,72 +3195,72 @@ SPEC CHECKSUMS:
React-Core: 19e0183e28d7a6613ecacebd7525fe6650efa3b6
React-CoreModules: 73cc86f2a0ff84b93d6325073ad2e4874d21ad40
React-cxxreact: 4bf734645c77c9b86e2f3e933e0411cf2f14d1ba
- React-debug: 8978deb306f6f38c28b5091e52b0ac9f942b157e
- React-defaultsnativemodule: 724eb9ec388d494f1e2057d83355ee8fe6f1d780
- React-domnativemodule: 9068f41092f725acd09950233d2847364c731947
- React-Fabric: 945cc8abf08d9d0966acef605bffce7b501c49d9
- React-FabricComponents: 4c4ad6f0d16c964a68f945e029505e2eeec6654b
- React-FabricImage: a8b628fd98db21b9f8588e06f14a9194dda11b40
- React-featureflags: 0937601c1af1cc125851ec5bbf4654285d47a3e7
- React-featureflagsnativemodule: ac1a3e0353e1a6e15411b17ed6c7122adb0468a4
- React-graphics: cca521e06463608be46207a4aa160f8a7f725f8b
+ React-debug: b2c9f60a9b7a81cefd737cb61e31c2bc39fdfe17
+ React-defaultsnativemodule: d5577e030a746840c77d791f06382a5fd7c2b789
+ React-domnativemodule: cec896810e9856a07ae62682b2c4e699307f9f35
+ React-Fabric: ea457167d2bb9b8ceb31fd0882393ab08d32f0b8
+ React-FabricComponents: aa8cf0b3409a81222786fb6e2e45069f44e060ca
+ React-FabricImage: 7629c06d41d6dea01d152ce0077b15147169f48f
+ React-featureflags: 7f1e45dd4148aabba7b42b2d588fb45d432c0a6d
+ React-featureflagsnativemodule: cb1c09c4e3e4873f101bbdd9be2fa0f7906ec5ab
+ React-graphics: 163d15b019d7ff23032a1a8d2b37f5afdd561bbb
React-hermes: ec50b9fcea2c3bfdd42f8cec845eac3f35888572
- React-idlecallbacksnativemodule: effcae5b7b4473211adb154aaa321d5d9e2fbcc9
- React-ImageManager: b38459e538f1840fa5c3e7612a4bcb0029a3c366
- React-intersectionobservernativemodule: 8d33366661971200cf2e151727f6fe007b62ae7b
- React-jserrorhandler: f94c688a0dbe2e045b91b992722b92e97d56f77f
+ React-idlecallbacksnativemodule: 1a358f7d16b9ff916a646ba184cded54f74439b8
+ React-ImageManager: 958477b5f4acc67f864111c55de84bcdbd1d6592
+ React-intersectionobservernativemodule: 189460858d6105bc44ded7fb02d19cd887f25bc6
+ React-jserrorhandler: 291eddd4e3dc80927c306e039ecbeb4dc515eb6f
React-jsi: 3216c876cd4c571a57909e22d77c8fd9530aa067
React-jsiexecutor: 475563c0042841a85930a455d3199f6b1483a5fe
- React-jsinspector: bc484fb32bf1b9fed80afe8793e614eba4f7b39e
- React-jsinspectorcdp: 5a574d1d35016968a67e78e6b8a7917473ffbb77
- React-jsinspectornetwork: dce3a5a1351b527ee8c28ad4a8bdd211507e1a45
- React-jsinspectortracing: 65f6b166bd67e5adc31eba027e1570bacf7a3cc7
- React-jsitooling: d5463f5489a31640b0fa0ec4e31566ca8aa86c13
- React-jsitracing: 3c7fc18821aba64855acb8658aa857ca6a7fddf6
+ React-jsinspector: 856aff364b569a4cd861605656de41d34c3cd92d
+ React-jsinspectorcdp: f34715c4c392e75f217bd5453aa8ff5bc394c111
+ React-jsinspectornetwork: 8a02d4d189476b1a92d6c49014fa83973b6fc24d
+ React-jsinspectortracing: 9a97753c772fbce4f2ed8d4fb684e507d7e49a5a
+ React-jsitooling: 6fda3ff1bfed7525e7be2f5ca152b6d2d378e4a8
+ React-jsitracing: a2dd6d6df9d017d5be176d5e71e09f8ce6f99594
React-logger: 6ac901f5c7f7321d2be1a40b203bccc2e23411e3
- React-Mapbuffer: 2e0e7cc5b7064eaed9c8b8afc3a87621cb7ef5cd
- React-microtasksnativemodule: dd4d33b251b57e5027c572c6d0b45cbfbcfaa386
- React-NativeModulesApple: 7f2f2fed3f6c858889eb61d09941be965d52df58
- React-networking: 43e5e6773ac2ca2a93261a1388fed269c9fce092
+ React-Mapbuffer: 9d33f0f79b6b5705d08d89d8fb9709d1ee655c81
+ React-microtasksnativemodule: 1a5a9488d2a05c74ea276c2012df632d8221d169
+ React-NativeModulesApple: dfce21d2c4b7eab44db0af861fcb8998d0b8ad16
+ React-networking: 26355121d0bf86d974dff5a3cc11f8aeb9f28a22
React-oscompat: 80166b66da22e7af7fad94474e9997bd52d4c8c6
React-perflogger: 63c90e0d8c24df87ffa14dad01aeafc352847dd0
- React-performancecdpmetrics: 5a9b81c08f75045635127d626440d9ada01e774b
- React-performancetimeline: 31cebfff69ec9174b3fb54b0606fcb12ef91cbad
+ React-performancecdpmetrics: 5b0a0eb369b5fcb18109fba91bdd5ac2a2360753
+ React-performancetimeline: 9a45658d92ce7b30d41fa557bbe9fa7c399f301b
React-RCTActionSheet: 3bd5f5db9f983cf38d51bb9a7a198e2ebea94821
React-RCTAnimation: 346865a809fa5132f6c594c8b376c6cf46b44e88
React-RCTAppDelegate: b2d1e0d3663c987f49f45094883b9e36fcbf0181
React-RCTBlob: 74759ebb7ff9077d19f60c301782c1f8c3eb2813
- React-RCTFabric: 7b4b14dad21ca99333ebcbc0bf5c205647a315a8
- React-RCTFBReactNativeSpec: 39151968adb68b8c59f29a8bd4223d4d7780a793
+ React-RCTFabric: 7a352dc4db7da5334b36d0074d3e44a112d4d168
+ React-RCTFBReactNativeSpec: f74fabd086f4a302a9883086ad1398a4408aecd4
React-RCTImage: 60763f56e8a5e45d861d7c4777e428bb820ec52a
React-RCTLinking: 52aee78b0b3163167c7fcf58f80a42943c03a056
React-RCTNetwork: f5e1e8ae5eff6982efff6289b06ec0a76d0a6ac2
- React-RCTRuntime: 0e99199322afd372e74b95ae5c58f4e074cc2855
+ React-RCTRuntime: b1c69249aab7cf0ff2b9cf7bd7d1cdc23c60c89f
React-RCTSettings: 298bb40d3412bf32e0b4f0797e48416b0b7278a1
React-RCTText: dfb74800e27d792d1188fa975a3b9807c3362e3e
React-RCTVibration: ffe5fd4f50a835e353a3b6869eb005dab11eea44
- React-rendererconsistency: d280314a3e7f0097152f89e815b4de821c2be8b9
- React-renderercss: 8a1a346f3665fd5ea7a7be7b3b9f95d4743e1180
- React-rendererdebug: af74afdfb3d6c5382ebab35562efd8eb9e690473
- React-RuntimeApple: 06e33d291e72fd0c73ac47046c3536d77d5aeedd
- React-RuntimeCore: 99273d2af072062eb07f0b2d2d4a0f2de697ea14
- React-runtimeexecutor: 2063c03c18810ee57939d138142e6493333360ef
- React-RuntimeHermes: 2253a7f4c8d56b449230b330b0b15383ed4b3df4
- React-runtimescheduler: ff37ac6720a943da91645c06274282ac46b71f23
- React-timing: 831d7e081ba4c332ca5cccf389b88e363f13f2b4
- React-utils: 25db6c17598c4fed22b5956d7551bb8bddf1f95b
- React-webperformancenativemodule: 57e41e6193cfb815bde0b5534bef68673f1270eb
+ React-rendererconsistency: ac8a9e9ee3eb299458cc848944133ff4be46cc41
+ React-renderercss: 25ff740b0da15dab6ba505c702c86bfbe9cd764e
+ React-rendererdebug: 48afb7a15ed4f2a87760e63abdc70bb92f4165d0
+ React-RuntimeApple: bcc8fbdce32bc7100294bf9a4b741da233d38de2
+ React-RuntimeCore: 632c35fbe0980a390719470a9f6d2f1ba9dc3bd0
+ React-runtimeexecutor: 8151aae90978856b75f3c5079c428c00f795ffa6
+ React-RuntimeHermes: 1269317d3d7d899f27aa3c03a04d7ce017171837
+ React-runtimescheduler: 752209b337a93cd3a25ecea691308f6b801706cf
+ React-timing: 73729fab687aa4876d45707e9f7ddc9446effab1
+ React-utils: a60c501ec701ca062f3c5367ce766c4e5bfc363a
+ React-webperformancenativemodule: 7ec95df9690d9cc96e31f3282facecd39a3914a6
ReactAppDependencyProvider: bfb12ead469222b022a2024f32aba47ce50de512
- ReactCodegen: 9ca1bd49eee1eccf6e427e406d2163f49e9c48c0
- ReactCommon: 05ad684db7d88e194272ae26baddf6300e30b8b7
+ ReactCodegen: 148faf1633ee5ba0f56a4028b6e08611019f86a8
+ ReactCommon: 136c3863bf14312a58944f674691f2c5874deafb
SDWebImage: e9c98383c7572d713c1a0d7dd2783b10599b9838
SDWebImageAVIFCoder: afe194a084e851f70228e4be35ef651df0fc5c57
SDWebImageSVGCoder: 15a300a97ec1c8ac958f009c02220ac0402e936c
SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
- Yoga: 5456bb010373068fc92221140921b09d126b116e
+ Yoga: 33b53536a0500d039f2cd78caf1d5d68712d3af7
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
-PODFILE CHECKSUM: 1902d73a5cf08a68a48f213619e17a920dc4c848
+PODFILE CHECKSUM: 5acf66a07d5fb4365e6ab08eacb79553ab6ec9f0
COCOAPODS: 1.16.2
diff --git a/apps/minimal-tester/ios/Podfile.properties.json b/apps/minimal-tester/ios/Podfile.properties.json
index 345fd1fd910403..6db3ade111509a 100644
--- a/apps/minimal-tester/ios/Podfile.properties.json
+++ b/apps/minimal-tester/ios/Podfile.properties.json
@@ -3,5 +3,6 @@
"EX_DEV_CLIENT_NETWORK_INSPECTOR": "true",
"ios.forceStaticLinking": "[]",
"apple.privacyManifestAggregationEnabled": "true",
- "ios.buildReactNativeFromSource": "true"
+ "ios.buildReactNativeFromSource": "true",
+ "ios.useFrameworks": "static"
}
diff --git a/apps/minimal-tester/ios/minimaltester.xcodeproj/project.pbxproj b/apps/minimal-tester/ios/minimaltester.xcodeproj/project.pbxproj
index 25586170edbed1..a25148dc8f4510 100644
--- a/apps/minimal-tester/ios/minimaltester.xcodeproj/project.pbxproj
+++ b/apps/minimal-tester/ios/minimaltester.xcodeproj/project.pbxproj
@@ -7,27 +7,55 @@
objects = {
/* Begin PBXBuildFile section */
- 09E77DB6DB339FE2A66CB6D6 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1FC329DA7B6BD073E42DAC9 /* ExpoModulesProvider.swift */; };
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 26C22549EA484ABEBAAEF297 /* ReactNativeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C2C3C7EFF6D49F8B48C06CB /* ReactNativeViewController.swift */; };
+ 2F45FD2D313C7B9669006845 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E19F324DB3A378AC8A8DD420 /* PrivacyInfo.xcprivacy */; };
+ 378C19E0AA79F3668E4157D9 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = A346BC890B45B3FF24C50214 /* ExpoModulesProvider.swift */; };
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
- 4521FC9757B4994CC53BCACC /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = B9E3781B12FE80FEA54E0650 /* PrivacyInfo.xcprivacy */; };
- ABF01E9172F9C00434309F7D /* libPods-minimaltester.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 345AD5C87EAB63DA63682F2A /* libPods-minimaltester.a */; };
+ 4E933D18B132DBADBA6DD8E2 /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7714EAB9E8B54939FE5944F4 /* ExpoModulesProvider.swift */; };
+ 7BE7AF8EE45F4B6BA11C9525 /* Messaging.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5364FC300754B3197FE8411 /* Messaging.swift */; };
+ 8BEC4B592BDF4EB8828ADCC3 /* ReactNativeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E18D2E3DFA24F04A21BD86D /* ReactNativeView.swift */; };
+ 8DBED821E6565449801BCCA4 /* Pods_minimaltester.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D846368B668134B2D05C5C65 /* Pods_minimaltester.framework */; };
+ 98442B62C3094DAFB2F251E1 /* BrownfieldAppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 490E65EC8AC24D52B546DD8F /* BrownfieldAppDelegate.swift */; };
+ A92347E5B9534046B9F311D9 /* ReactNativeHostManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F090235112184DC8BE4BC9D9 /* ReactNativeHostManager.swift */; };
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
+ BB415170BBD544FCAC779CA5 /* ReactNativeDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E7AE35FAC134E0FB495EA65 /* ReactNativeDelegate.swift */; };
+ EBFF5C6DF3F2045A997FACED /* Pods_minimaltester_minimaltesterbrownfield.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48F3D2872DB1642D9A9939C2 /* Pods_minimaltester_minimaltesterbrownfield.framework */; };
F11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11748412D0307B40044C1D9 /* AppDelegate.swift */; };
+ FF05437A600441E2BD6D4A84 /* ExpoAppDelegateWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D939CB8879994D799F5612E2 /* ExpoAppDelegateWrapper.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 07151AC42D4D08B105EB9221 /* Pods-minimaltester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester.release.xcconfig"; path = "Target Support Files/Pods-minimaltester/Pods-minimaltester.release.xcconfig"; sourceTree = ""; };
+ 0B668EB906C649E990F02417 /* Messaging.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = Messaging.swift; path = Messaging.swift; sourceTree = ""; };
+ 0F9079AB0F574A41937CDBBE /* minimaltesterbrownfield.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = undefined; name = minimaltesterbrownfield.framework; path = minimaltesterbrownfield.framework; sourceTree = BUILT_PRODUCTS_DIR; };
13B07F961A680F5B00A75B9A /* minimaltester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = minimaltester.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = minimaltester/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = minimaltester/Info.plist; sourceTree = ""; };
- 345AD5C87EAB63DA63682F2A /* libPods-minimaltester.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-minimaltester.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 6DF84E1E45293BF8E01D8C20 /* Pods-minimaltester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester.debug.xcconfig"; path = "Target Support Files/Pods-minimaltester/Pods-minimaltester.debug.xcconfig"; sourceTree = ""; };
+ 1FD09DDA99384A629F5197F5 /* ReactNativeView.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeView.swift; path = ReactNativeView.swift; sourceTree = ""; };
+ 34778A71D717466BBC461C6E /* ReactNativeDelegate.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeDelegate.swift; path = ReactNativeDelegate.swift; sourceTree = ""; };
+ 3E18D2E3DFA24F04A21BD86D /* ReactNativeView.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeView.swift; path = minimaltesterbrownfield/ReactNativeView.swift; sourceTree = ""; };
+ 43CBF060389712360DBEF7C6 /* Pods-minimaltester-minimaltesterbrownfield.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester-minimaltesterbrownfield.release.xcconfig"; path = "Target Support Files/Pods-minimaltester-minimaltesterbrownfield/Pods-minimaltester-minimaltesterbrownfield.release.xcconfig"; sourceTree = ""; };
+ 48F3D2872DB1642D9A9939C2 /* Pods_minimaltester_minimaltesterbrownfield.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_minimaltester_minimaltesterbrownfield.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 490E65EC8AC24D52B546DD8F /* BrownfieldAppDelegate.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = BrownfieldAppDelegate.swift; path = minimaltesterbrownfield/BrownfieldAppDelegate.swift; sourceTree = ""; };
+ 5252BA4E679A4A44952EA836 /* ExpoAppDelegateWrapper.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ExpoAppDelegateWrapper.swift; path = ExpoAppDelegateWrapper.swift; sourceTree = ""; };
+ 7714EAB9E8B54939FE5944F4 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-minimaltester/ExpoModulesProvider.swift"; sourceTree = ""; };
+ 7C2C3C7EFF6D49F8B48C06CB /* ReactNativeViewController.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeViewController.swift; path = minimaltesterbrownfield/ReactNativeViewController.swift; sourceTree = ""; };
+ 99494FAB397F46C48FE50579 /* ReactNativeHostManager.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeHostManager.swift; path = ReactNativeHostManager.swift; sourceTree = ""; };
+ 9E7AE35FAC134E0FB495EA65 /* ReactNativeDelegate.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeDelegate.swift; path = minimaltesterbrownfield/ReactNativeDelegate.swift; sourceTree = ""; };
+ 9EF89E9A5BF3A827BAA8CAE0 /* Pods-minimaltester-minimaltesterbrownfield.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester-minimaltesterbrownfield.debug.xcconfig"; path = "Target Support Files/Pods-minimaltester-minimaltesterbrownfield/Pods-minimaltester-minimaltesterbrownfield.debug.xcconfig"; sourceTree = ""; };
+ A346BC890B45B3FF24C50214 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/ExpoModulesProvider.swift"; sourceTree = ""; };
+ A3C7EC2C320A437B9DE25FD3 /* ReactNativeViewController.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeViewController.swift; path = ReactNativeViewController.swift; sourceTree = ""; };
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = minimaltester/SplashScreen.storyboard; sourceTree = ""; };
- B9E3781B12FE80FEA54E0650 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = minimaltester/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ B573EC1525284F6D9213DC8C /* BrownfieldAppDelegate.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = BrownfieldAppDelegate.swift; path = BrownfieldAppDelegate.swift; sourceTree = ""; };
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; };
- E1FC329DA7B6BD073E42DAC9 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-minimaltester/ExpoModulesProvider.swift"; sourceTree = ""; };
+ BB531C496371298B3CB01DDE /* Pods-minimaltester.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester.debug.xcconfig"; path = "Target Support Files/Pods-minimaltester/Pods-minimaltester.debug.xcconfig"; sourceTree = ""; };
+ D5364FC300754B3197FE8411 /* Messaging.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = Messaging.swift; path = minimaltesterbrownfield/Messaging.swift; sourceTree = ""; };
+ D846368B668134B2D05C5C65 /* Pods_minimaltester.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_minimaltester.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D939CB8879994D799F5612E2 /* ExpoAppDelegateWrapper.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ExpoAppDelegateWrapper.swift; path = minimaltesterbrownfield/ExpoAppDelegateWrapper.swift; sourceTree = ""; };
+ E19F324DB3A378AC8A8DD420 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = minimaltester/PrivacyInfo.xcprivacy; sourceTree = ""; };
+ E34B15B59F72A840F0DF828E /* Pods-minimaltester.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minimaltester.release.xcconfig"; path = "Target Support Files/Pods-minimaltester/Pods-minimaltester.release.xcconfig"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
+ F090235112184DC8BE4BC9D9 /* ReactNativeHostManager.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = ReactNativeHostManager.swift; path = minimaltesterbrownfield/ReactNativeHostManager.swift; sourceTree = ""; };
F11748412D0307B40044C1D9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = minimaltester/AppDelegate.swift; sourceTree = ""; };
F11748442D0722820044C1D9 /* minimaltester-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "minimaltester-Bridging-Header.h"; path = "minimaltester/minimaltester-Bridging-Header.h"; sourceTree = ""; };
/* End PBXFileReference section */
@@ -37,19 +65,34 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- ABF01E9172F9C00434309F7D /* libPods-minimaltester.a in Frameworks */,
+ 8DBED821E6565449801BCCA4 /* Pods_minimaltester.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D4FDF09B5B06A4A8949D5B37 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ EBFF5C6DF3F2045A997FACED /* Pods_minimaltester_minimaltesterbrownfield.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 0B4AAA84D6C73EACCC4CCB0E /* ExpoModulesProviders */ = {
+ 0FCA70314D174AC895B98EB6 /* minimaltesterbrownfield */ = {
isa = PBXGroup;
children = (
- D7D5421A4E56F7C8152FC8F2 /* minimaltester */,
- );
- name = ExpoModulesProviders;
+ 99494FAB397F46C48FE50579 /* ReactNativeHostManager.swift */,
+ 0B668EB906C649E990F02417 /* Messaging.swift */,
+ 1FD09DDA99384A629F5197F5 /* ReactNativeView.swift */,
+ A3C7EC2C320A437B9DE25FD3 /* ReactNativeViewController.swift */,
+ 5252BA4E679A4A44952EA836 /* ExpoAppDelegateWrapper.swift */,
+ B573EC1525284F6D9213DC8C /* BrownfieldAppDelegate.swift */,
+ 34778A71D717466BBC461C6E /* ReactNativeDelegate.swift */,
+ );
+ name = minimaltesterbrownfield;
+ path = "/Users/gabriel/Workspace/expo/expo/apps/minimal-tester/ios/minimaltesterbrownfield";
sourceTree = "";
};
13B07FAE1A68108700A75B9A /* minimaltester */ = {
@@ -61,7 +104,7 @@
13B07FB51A68108700A75B9A /* Images.xcassets */,
13B07FB61A68108700A75B9A /* Info.plist */,
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,
- B9E3781B12FE80FEA54E0650 /* PrivacyInfo.xcprivacy */,
+ E19F324DB3A378AC8A8DD420 /* PrivacyInfo.xcprivacy */,
);
name = minimaltester;
sourceTree = "";
@@ -70,11 +113,29 @@
isa = PBXGroup;
children = (
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
- 345AD5C87EAB63DA63682F2A /* libPods-minimaltester.a */,
+ D846368B668134B2D05C5C65 /* Pods_minimaltester.framework */,
+ 48F3D2872DB1642D9A9939C2 /* Pods_minimaltester_minimaltesterbrownfield.framework */,
);
name = Frameworks;
sourceTree = "";
};
+ 5703DE2069B10BAC2F91E410 /* minimaltesterbrownfield */ = {
+ isa = PBXGroup;
+ children = (
+ A346BC890B45B3FF24C50214 /* ExpoModulesProvider.swift */,
+ );
+ name = minimaltesterbrownfield;
+ sourceTree = "";
+ };
+ 61BDB216ACB3E9F36E774802 /* ExpoModulesProviders */ = {
+ isa = PBXGroup;
+ children = (
+ B142BD1672C5A3E31824FB55 /* minimaltester */,
+ 5703DE2069B10BAC2F91E410 /* minimaltesterbrownfield */,
+ );
+ name = ExpoModulesProviders;
+ sourceTree = "";
+ };
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
isa = PBXGroup;
children = (
@@ -89,8 +150,9 @@
832341AE1AAA6A7D00B99B32 /* Libraries */,
83CBBA001A601CBA00E9B192 /* Products */,
2D16E6871FA4F8E400B85C8A /* Frameworks */,
- D4AD2F2F199AA3CBC93DA08A /* Pods */,
- 0B4AAA84D6C73EACCC4CCB0E /* ExpoModulesProviders */,
+ 0FCA70314D174AC895B98EB6 /* minimaltesterbrownfield */,
+ E847163EAE0DD7D15C2E1E37 /* Pods */,
+ 61BDB216ACB3E9F36E774802 /* ExpoModulesProviders */,
);
indentWidth = 2;
sourceTree = "";
@@ -101,10 +163,19 @@
isa = PBXGroup;
children = (
13B07F961A680F5B00A75B9A /* minimaltester.app */,
+ 0F9079AB0F574A41937CDBBE /* minimaltesterbrownfield.framework */,
);
name = Products;
sourceTree = "";
};
+ B142BD1672C5A3E31824FB55 /* minimaltester */ = {
+ isa = PBXGroup;
+ children = (
+ 7714EAB9E8B54939FE5944F4 /* ExpoModulesProvider.swift */,
+ );
+ name = minimaltester;
+ sourceTree = "";
+ };
BB2F792B24A3F905000567C9 /* Supporting */ = {
isa = PBXGroup;
children = (
@@ -114,24 +185,18 @@
path = minimaltester/Supporting;
sourceTree = "";
};
- D4AD2F2F199AA3CBC93DA08A /* Pods */ = {
+ E847163EAE0DD7D15C2E1E37 /* Pods */ = {
isa = PBXGroup;
children = (
- 6DF84E1E45293BF8E01D8C20 /* Pods-minimaltester.debug.xcconfig */,
- 07151AC42D4D08B105EB9221 /* Pods-minimaltester.release.xcconfig */,
+ BB531C496371298B3CB01DDE /* Pods-minimaltester.debug.xcconfig */,
+ E34B15B59F72A840F0DF828E /* Pods-minimaltester.release.xcconfig */,
+ 9EF89E9A5BF3A827BAA8CAE0 /* Pods-minimaltester-minimaltesterbrownfield.debug.xcconfig */,
+ 43CBF060389712360DBEF7C6 /* Pods-minimaltester-minimaltesterbrownfield.release.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "";
};
- D7D5421A4E56F7C8152FC8F2 /* minimaltester */ = {
- isa = PBXGroup;
- children = (
- E1FC329DA7B6BD073E42DAC9 /* ExpoModulesProvider.swift */,
- );
- name = minimaltester;
- sourceTree = "";
- };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -140,13 +205,13 @@
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "minimaltester" */;
buildPhases = (
08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */,
- 30D4DAE97033FD107756C1D9 /* [Expo] Configure project */,
+ B756E4E841A1C9CDAD175010 /* [Expo] Configure project */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
- 13D984C39A2759A5AA630C39 /* [CP] Embed Pods Frameworks */,
+ 6F1FB4BFE4A6A95FF55CCB17 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -157,6 +222,27 @@
productReference = 13B07F961A680F5B00A75B9A /* minimaltester.app */;
productType = "com.apple.product-type.application";
};
+ 6B2333D032E94C549E4C3E72 /* minimaltesterbrownfield */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = BA383DF2C0DE4F0CAF8CB7C1 /* Build configuration list for PBXNativeTarget "minimaltesterbrownfield" */;
+ buildPhases = (
+ 2A80DA1CCC1A799050B841AB /* [CP] Check Pods Manifest.lock */,
+ 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
+ 95843220E5C4EC7D7790E428 /* [Expo] Configure project */,
+ 31131948B44D4E63A765AD78 /* Patch ExpoModulesProvider */,
+ 02BF27A1982D44E9AD16C893 /* Sources */,
+ D4FDF09B5B06A4A8949D5B37 /* Frameworks */,
+ 97A5EED552E61B71890B9AD0 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = minimaltesterbrownfield;
+ productName = minimaltesterbrownfield;
+ productReference = 0F9079AB0F574A41937CDBBE /* minimaltesterbrownfield.framework */;
+ productType = "com.apple.product-type.framework";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -184,6 +270,7 @@
projectRoot = "";
targets = (
13B07F861A680F5B00A75B9A /* minimaltester */,
+ 6B2333D032E94C549E4C3E72 /* minimaltesterbrownfield */,
);
};
/* End PBXProject section */
@@ -196,7 +283,7 @@
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
- 4521FC9757B4994CC53BCACC /* PrivacyInfo.xcprivacy in Resources */,
+ 2F45FD2D313C7B9669006845 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -242,7 +329,43 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 13D984C39A2759A5AA630C39 /* [CP] Embed Pods Frameworks */ = {
+ 2A80DA1CCC1A799050B841AB /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-minimaltester-minimaltesterbrownfield-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 31131948B44D4E63A765AD78 /* Patch ExpoModulesProvider */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Patch ExpoModulesProvider";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "FILE=\"${SRCROOT}/Pods/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/ExpoModulesProvider.swift\"\nTEMP_FILE=\"$FILE.temp\"\n\nif [ -f \"$FILE\" ]; then\n echo \"Patching $FILE to hide Expo from public interface\"\n sed \\\n -e 's/^import EX/internal import EX/' \\\n -e 's/^import Ex/internal import Ex/' \\\n -e 's/public class ExpoModulesProvider/internal class ExpoModulesProvider/' \"$FILE\" > \"$TEMP_FILE\"\n mv \"$TEMP_FILE\" \"$FILE\"\nfi\n";
+ };
+ 6F1FB4BFE4A6A95FF55CCB17 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -260,7 +383,47 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-minimaltester/Pods-minimaltester-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
- 30D4DAE97033FD107756C1D9 /* [Expo] Configure project */ = {
+ 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-minimaltester/Pods-minimaltester-resources.sh",
+ "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ExpoFileSystem/ExpoFileSystem_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly/RCT-Folly_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/ReachabilitySwift.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage/SDWebImage.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/expo-dev-launcher/EXDevLauncher.bundle",
+ "${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXConstants.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoConstants_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXUpdates.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ExpoFileSystem_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RCT-Folly_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/ReachabilitySwift.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SDWebImage.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EXDevLauncher.bundle",
+ "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-minimaltester/Pods-minimaltester-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 95843220E5C4EC7D7790E428 /* [Expo] Configure project */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
@@ -271,26 +434,26 @@
inputPaths = (
"$(SRCROOT)/.xcode.env",
"$(SRCROOT)/.xcode.env.local",
- "$(SRCROOT)/minimaltester/minimaltester.entitlements",
- "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester/expo-configure-project.sh",
+ "$(SRCROOT)/minimaltesterbrownfield/minimaltesterbrownfield.entitlements",
+ "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/expo-configure-project.sh",
);
name = "[Expo] Configure project";
outputFileListPaths = (
);
outputPaths = (
- "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester/ExpoModulesProvider.swift",
+ "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/ExpoModulesProvider.swift",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-minimaltester/expo-configure-project.sh\"\n";
+ shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-minimaltester-minimaltesterbrownfield/expo-configure-project.sh\"\n";
};
- 800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
+ 97A5EED552E61B71890B9AD0 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-minimaltester/Pods-minimaltester-resources.sh",
+ "${PODS_ROOT}/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/Pods-minimaltester-minimaltesterbrownfield-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/EXConstants.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants/ExpoConstants_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/EXUpdates/EXUpdates.bundle",
@@ -321,18 +484,57 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-minimaltester/Pods-minimaltester-resources.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-minimaltester-minimaltesterbrownfield/Pods-minimaltester-minimaltesterbrownfield-resources.sh\"\n";
showEnvVarsInLog = 0;
};
+ B756E4E841A1C9CDAD175010 /* [Expo] Configure project */ = {
+ isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/.xcode.env",
+ "$(SRCROOT)/.xcode.env.local",
+ "$(SRCROOT)/minimaltester/minimaltester.entitlements",
+ "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester/expo-configure-project.sh",
+ );
+ name = "[Expo] Configure project";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(SRCROOT)/Pods/Target Support Files/Pods-minimaltester/ExpoModulesProvider.swift",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-minimaltester/expo-configure-project.sh\"\n";
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 02BF27A1982D44E9AD16C893 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A92347E5B9534046B9F311D9 /* ReactNativeHostManager.swift in Sources */,
+ 7BE7AF8EE45F4B6BA11C9525 /* Messaging.swift in Sources */,
+ 8BEC4B592BDF4EB8828ADCC3 /* ReactNativeView.swift in Sources */,
+ 26C22549EA484ABEBAAEF297 /* ReactNativeViewController.swift in Sources */,
+ FF05437A600441E2BD6D4A84 /* ExpoAppDelegateWrapper.swift in Sources */,
+ 98442B62C3094DAFB2F251E1 /* BrownfieldAppDelegate.swift in Sources */,
+ BB415170BBD544FCAC779CA5 /* ReactNativeDelegate.swift in Sources */,
+ 378C19E0AA79F3668E4157D9 /* ExpoModulesProvider.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
13B07F871A680F5B00A75B9A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
F11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */,
- 09E77DB6DB339FE2A66CB6D6 /* ExpoModulesProvider.swift in Sources */,
+ 4E933D18B132DBADBA6DD8E2 /* ExpoModulesProvider.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -341,7 +543,7 @@
/* Begin XCBuildConfiguration section */
13B07F941A680F5B00A75B9A /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 6DF84E1E45293BF8E01D8C20 /* Pods-minimaltester.debug.xcconfig */;
+ baseConfigurationReference = BB531C496371298B3CB01DDE /* Pods-minimaltester.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
@@ -377,7 +579,7 @@
};
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 07151AC42D4D08B105EB9221 /* Pods-minimaltester.release.xcconfig */;
+ baseConfigurationReference = E34B15B59F72A840F0DF828E /* Pods-minimaltester.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
@@ -405,6 +607,29 @@
};
name = Release;
};
+ 83B28BD1F43949559221AF00 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 43CBF060389712360DBEF7C6 /* Pods-minimaltester-minimaltesterbrownfield.release.xcconfig */;
+ buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CODE_SIGN_ENTITLEMENTS = minimaltesterbrownfield/minimaltesterbrownfield.entitlements;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_MODULE_VERIFIER = NO;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = minimaltesterbrownfield/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = minimaltesterbrownfield;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
+ PRODUCT_BUNDLE_IDENTIFIER = com.community.minimaltesterbrownfield;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_SCRIPT_SANDBOXING = NO;
+ };
+ name = Release;
+ };
83CBBA201A601CBA00E9B192 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -452,6 +677,19 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
@@ -509,6 +747,19 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon/ReactCommon.framework/Headers/react/nativemodule/core",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-runtimeexecutor/React_runtimeexecutor.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon-Samples/ReactCommon_Samples.framework/Headers/platform/ios",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers/react/renderer/components/view/platform/cxx",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-NativeModulesApple/React_NativeModulesApple.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers",
+ "${PODS_CONFIGURATION_BUILD_DIR}/React-graphics/React_graphics.framework/Headers/react/renderer/graphics/platform/ios",
+ );
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD_RUNPATH_SEARCH_PATHS = (
/usr/lib/swift,
@@ -525,6 +776,29 @@
};
name = Release;
};
+ 876A624F2A1140C79AC74BD1 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 9EF89E9A5BF3A827BAA8CAE0 /* Pods-minimaltester-minimaltesterbrownfield.debug.xcconfig */;
+ buildSettings = {
+ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
+ CODE_SIGN_ENTITLEMENTS = minimaltesterbrownfield/minimaltesterbrownfield.entitlements;
+ CURRENT_PROJECT_VERSION = 1;
+ ENABLE_MODULE_VERIFIER = NO;
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = minimaltesterbrownfield/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = minimaltesterbrownfield;
+ INFOPLIST_KEY_NSHumanReadableCopyright = "";
+ OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
+ PRODUCT_BUNDLE_IDENTIFIER = com.community.minimaltesterbrownfield;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_SCRIPT_SANDBOXING = NO;
+ };
+ name = Debug;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -546,6 +820,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ BA383DF2C0DE4F0CAF8CB7C1 /* Build configuration list for PBXNativeTarget "minimaltesterbrownfield" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 876A624F2A1140C79AC74BD1 /* Debug */,
+ 83B28BD1F43949559221AF00 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/BrownfieldAppDelegate.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/BrownfieldAppDelegate.swift
new file mode 100644
index 00000000000000..ef88fb59d151b1
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/BrownfieldAppDelegate.swift
@@ -0,0 +1,170 @@
+import UIKit
+
+@objc
+open class BrownfieldAppDelegate: UIResponder, UIApplicationDelegate {
+ private var expoWrapper: ExpoAppDelegateWrapper? {
+ ReactNativeHostManager.shared.expoDelegateWrapper
+ }
+
+ // SECTION: Initializing the app
+ open func application(
+ _ application: UIApplication,
+ willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
+ ) -> Bool {
+ expoWrapper?.application(application, willFinishLaunchingWithOptions: launchOptions) ?? true
+ }
+
+ open func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
+ ) -> Bool {
+ expoWrapper?.application(application, didFinishLaunchingWithOptions: launchOptions) ?? true
+ }
+
+ // END SECTION: Initializing the app
+
+ // SECTION: Responding to App Life-Cycle Events
+ open func applicationDidBecomeActive(_ application: UIApplication) {
+ expoWrapper?.applicationDidBecomeActive(application)
+ }
+
+ open func applicationWillResignActive(_ application: UIApplication) {
+ expoWrapper?.applicationWillResignActive(application)
+ }
+
+ open func applicationDidEnterBackground(_ application: UIApplication) {
+ expoWrapper?.applicationDidEnterBackground(application)
+ }
+
+ open func applicationWillEnterForeground(_ application: UIApplication) {
+ expoWrapper?.applicationWillEnterForeground(application)
+ }
+
+ open func applicationWillTerminate(_ application: UIApplication) {
+ expoWrapper?.applicationWillTerminate(application)
+ }
+
+ // END SECTION: Responding to App Life-Cycle Events
+
+ // SECTION: Responding to Environment Changes
+ open func applicationDidReceiveMemoryWarning(_ application: UIApplication) {
+ expoWrapper?.applicationDidReceiveMemoryWarning(application)
+ }
+
+ // END SECTION: Responding to Environment Changes
+
+ // SECTION: Downloading Data in the Background
+ open func application(
+ _ application: UIApplication,
+ handleEventsForBackgroundURLSession identifier: String,
+ completionHandler: @escaping () -> Void
+ ) {
+ expoWrapper?.application(
+ application,
+ handleEventsForBackgroundURLSession: identifier,
+ completionHandler: completionHandler
+ )
+ }
+
+ // END SECTION: Downloading Data in the Background
+
+ // SECTION: Handling Remote Notification Registration
+ open func application(
+ _ application: UIApplication,
+ didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
+ ) {
+ expoWrapper?.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
+ }
+
+ open func application(
+ _ application: UIApplication,
+ didFailToRegisterForRemoteNotificationsWithError error: Error
+ ) {
+ expoWrapper?.application(application, didFailToRegisterForRemoteNotificationsWithError: error)
+ }
+
+ open func application(
+ _ application: UIApplication,
+ didReceiveRemoteNotification userInfo: [AnyHashable: Any],
+ fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
+ ) {
+ expoWrapper?.application(
+ application,
+ didReceiveRemoteNotification: userInfo,
+ fetchCompletionHandler: completionHandler
+ )
+ }
+
+ // END SECTION: Handling Remote Notification Registration
+
+ // SECTION: Continuing User Activity and Handling Quick Actions
+ open func application(
+ _ application: UIApplication,
+ willContinueUserActivityWithType userActivityType: String
+ ) -> Bool {
+ expoWrapper?.application(application, willContinueUserActivityWithType: userActivityType) ?? false
+ }
+
+ open func application(
+ _ application: UIApplication,
+ continue userActivity: NSUserActivity,
+ restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
+ ) -> Bool {
+ expoWrapper?.application(application, continue: userActivity, restorationHandler: restorationHandler) ?? false
+ }
+
+ open func application(
+ _ application: UIApplication,
+ didUpdate userActivity: NSUserActivity
+ ) {
+ expoWrapper?.application(application, didUpdate: userActivity)
+ }
+
+ open func application(
+ _ application: UIApplication,
+ didFailToContinueUserActivityWithType userActivityType: String,
+ error: Error
+ ) {
+ expoWrapper?.application(application, didFailToContinueUserActivityWithType: userActivityType, error: error)
+ }
+
+ open func application(
+ _ application: UIApplication,
+ performActionFor shortcutItem: UIApplicationShortcutItem,
+ completionHandler: @escaping (Bool) -> Void
+ ) {
+ expoWrapper?.application(application, performActionFor: shortcutItem, completionHandler: completionHandler)
+ }
+
+ // END SECTION: Continuing User Activity and Handling Quick Actions
+
+ // SECTION: Background Fetch
+ open func application(
+ _ application: UIApplication,
+ performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
+ ) {
+ expoWrapper?.application(application, performFetchWithCompletionHandler: completionHandler)
+ }
+
+ // END SECTION: Background Fetch
+
+ // SECTION: Opening a URL-Specified Resource
+ open func application(
+ _ app: UIApplication,
+ open url: URL,
+ options: [UIApplication.OpenURLOptionsKey: Any] = [:]
+ ) -> Bool {
+ expoWrapper?.application(app, open: url, options: options) ?? false
+ }
+
+ // END SECTION: Opening a URL-Specified Resource
+
+ // SECTION: Managing Interface Geometry
+ open func application(
+ _ application: UIApplication,
+ supportedInterfaceOrientationsFor window: UIWindow?
+ ) -> UIInterfaceOrientationMask {
+ expoWrapper?.application(application, supportedInterfaceOrientationsFor: window) ?? .all
+ }
+ // END SECTION: Managing Interface Geometry
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/ExpoAppDelegateWrapper.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/ExpoAppDelegateWrapper.swift
new file mode 100644
index 00000000000000..c395711273dca2
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/ExpoAppDelegateWrapper.swift
@@ -0,0 +1,213 @@
+internal import Expo
+internal import React
+
+public class ExpoAppDelegateWrapper {
+ private let expoDelegate: ExpoAppDelegate
+
+ init(factory: RCTReactNativeFactory) {
+ expoDelegate = ExpoAppDelegate()
+ }
+
+ func recreateRootView(
+ withBundleURL: URL?,
+ moduleName: String?,
+ initialProps: [AnyHashable: Any]?,
+ launchOptions: [AnyHashable: Any]?
+ ) -> UIView {
+ expoDelegate.recreateRootView(
+ withBundleURL: withBundleURL,
+ moduleName: moduleName,
+ initialProps: initialProps,
+ launchOptions: launchOptions
+ )
+ }
+
+ // Below sections match sections from ExpoAppDelegate.swift:
+ // https://github.com/expo/expo/blob/main/packages/expo/ios/AppDelegates/ExpoAppDelegate.swift
+ // SECTION: Initializing the app
+ func application(
+ _ application: UIApplication,
+ willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
+ ) -> Bool {
+ expoDelegate.application(application, willFinishLaunchingWithOptions: launchOptions)
+ }
+
+ func application(
+ _ application: UIApplication,
+ didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
+ ) -> Bool {
+ expoDelegate.application(application, didFinishLaunchingWithOptions: launchOptions)
+ }
+
+ // END SECTION: Initializing the app
+
+ // SECTION: Configuring and discarding scenes
+ // TODO: Not defined in ExpoAppDelegate yet
+ // END SECTION: Configuring and discarding scenes
+
+ // SECTION: Responding to App Life-Cycle Events
+ func applicationDidBecomeActive(_ application: UIApplication) {
+ expoDelegate.applicationDidBecomeActive(application)
+ }
+
+ func applicationWillResignActive(_ application: UIApplication) {
+ expoDelegate.applicationWillResignActive(application)
+ }
+
+ func applicationDidEnterBackground(_ application: UIApplication) {
+ expoDelegate.applicationDidEnterBackground(application)
+ }
+
+ func applicationWillEnterForeground(_ application: UIApplication) {
+ expoDelegate.applicationWillEnterForeground(application)
+ }
+
+ func applicationWillTerminate(_ application: UIApplication) {
+ expoDelegate.applicationWillTerminate(application)
+ }
+
+ // END SECTION: Responding to App Life-Cycle Events
+
+ // SECTION: Responding to Environment Changes
+ func applicationDidReceiveMemoryWarning(_ application: UIApplication) {
+ expoDelegate.applicationDidReceiveMemoryWarning(application)
+ }
+
+ // END SECTION: Responding to Environment Changes
+
+ // SECTION: Managing App State Restoration
+ // TODO: Not defined in ExpoAppDelegate yet
+ // END SECTION: Managing App State Restoration
+
+ // SECTION: Downloading Data in the Background
+ func application(
+ _ application: UIApplication,
+ handleEventsForBackgroundURLSession identifier: String,
+ completionHandler: @escaping () -> Void
+ ) {
+ expoDelegate.application(
+ application,
+ handleEventsForBackgroundURLSession: identifier,
+ completionHandler: completionHandler
+ )
+ }
+
+ // END SECTION: Downloading Data in the Background
+
+ // SECTION: Handling Remote Notification Registration
+ func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
+ expoDelegate.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
+ }
+
+ func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
+ expoDelegate.application(application, didFailToRegisterForRemoteNotificationsWithError: error)
+ }
+
+ func application(
+ _ application: UIApplication,
+ didReceiveRemoteNotification userInfo: [AnyHashable: Any],
+ fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
+ ) {
+ expoDelegate.application(
+ application,
+ didReceiveRemoteNotification: userInfo,
+ fetchCompletionHandler: completionHandler
+ )
+ }
+
+ // END SECTION: Handling Remote Notification Registration
+
+ // SECTION: Continuing User Activity and Handling Quick Actions
+ func application(_ application: UIApplication, willContinueUserActivityWithType userActivityType: String) -> Bool {
+ expoDelegate.application(application, willContinueUserActivityWithType: userActivityType)
+ }
+
+ // func application(
+ // Expo implementation
+ // _ application: UIApplication,
+ // continue userActivity: NSUserActivity,
+ // restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
+ // ) -> Bool {
+ // return expoDelegate.application(application, continue: userActivity, restorationHandler: restorationHandler)
+ // }
+ // Expo iOS app implementation - Universal Links
+ func application(
+ _ application: UIApplication,
+ continue userActivity: NSUserActivity,
+ restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void
+ ) -> Bool {
+ let result = RCTLinkingManager.application(
+ application,
+ continue: userActivity,
+ restorationHandler: restorationHandler
+ )
+ return expoDelegate
+ .application(application, continue: userActivity, restorationHandler: restorationHandler) || result
+ }
+
+ func application(_ application: UIApplication, didUpdate userActivity: NSUserActivity) {
+ expoDelegate.application(application, didUpdate: userActivity)
+ }
+
+ func application(
+ _ application: UIApplication,
+ didFailToContinueUserActivityWithType userActivityType: String,
+ error: Error
+ ) {
+ expoDelegate.application(application, didFailToContinueUserActivityWithType: userActivityType, error: error)
+ }
+
+ func application(
+ _ application: UIApplication,
+ performActionFor shortcutItem: UIApplicationShortcutItem,
+ completionHandler: @escaping (Bool) -> Void
+ ) {
+ expoDelegate.application(application, performActionFor: shortcutItem, completionHandler: completionHandler)
+ }
+
+ // END SECTION: Continuing User Activity and Handling Quick Actions
+
+ // SECTION: Background Fetch
+ func application(
+ _ application: UIApplication,
+ performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void
+ ) {
+ expoDelegate.application(application, performFetchWithCompletionHandler: completionHandler)
+ }
+
+ // TODO: Interacting with WatchKit and HealthKit is not yet implemented
+ // in ExpoAppDelegate
+ // END SECTION: Background Fetch
+
+ // SECTION: Opening a URL-Specified Resource
+ // Expo implementation
+ // func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) ->
+ // Bool {
+ // return expoDelegate.application(app, open: url, options: options)
+ // }
+ // Expo iOS app implementation - Linking API
+ func application(
+ _ app: UIApplication,
+ open url: URL,
+ options: [UIApplication.OpenURLOptionsKey: Any] = [:]
+ ) -> Bool {
+ expoDelegate.application(app, open: url, options: options) ||
+ RCTLinkingManager.application(app, open: url, options: options) || false
+ }
+
+ // TODO: Disallowing Specified App Extension Types, handling SiriKit Intents
+ // and CloudKit Invitations are not yet implemented in ExpoAppDelegate
+ // END SECTION: Opening a URL-Specified Resource
+
+ // SECTION: Managing Interface Geometry
+ // Sets allowed orientations for the application. It will use the values from `Info.plist`as the orientation mask
+ // unless a subscriber requested
+ // a different orientation.
+ func application(
+ _ application: UIApplication,
+ supportedInterfaceOrientationsFor window: UIWindow?
+ ) -> UIInterfaceOrientationMask {
+ expoDelegate.application(application, supportedInterfaceOrientationsFor: window)
+ }
+ // END SECTION: Managing Interface Geometry
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/Info.plist b/apps/minimal-tester/ios/minimaltesterbrownfield/Info.plist
new file mode 100644
index 00000000000000..6dc5d384f5404c
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/Info.plist
@@ -0,0 +1,18 @@
+
+
+
+
+ CFBundleIdentifier
+ com.community.minimaltesterbrownfield
+ CFBundleName
+ minimaltesterbrownfield
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1
+ RCTNewArchEnabled
+
+
+
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/Messaging.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/Messaging.swift
new file mode 100644
index 00000000000000..e793f9541aa2c6
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/Messaging.swift
@@ -0,0 +1,16 @@
+internal import ExpoBrownfieldModule
+
+public struct BrownfieldMessaging {
+ @discardableResult
+ public static func addListener(_ callback: @escaping ([String: Any?]) -> Void) -> String {
+ return BrownfieldMessagingInternal.shared.addListener(callback)
+ }
+
+ public static func removeListener(id: String) {
+ BrownfieldMessagingInternal.shared.removeListener(id: id)
+ }
+
+ public static func sendMessage(_ message: [String: Any?]) {
+ BrownfieldMessagingInternal.shared.sendMessage(message)
+ }
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeDelegate.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeDelegate.swift
new file mode 100644
index 00000000000000..c2a2d4f1e973b6
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeDelegate.swift
@@ -0,0 +1,22 @@
+internal import Expo
+internal import React
+
+class ReactNativeDelegate: ExpoReactNativeFactoryDelegate {
+ /// Extension point for config-plugins
+ override func sourceURL(for bridge: RCTBridge) -> URL? {
+ // Needed to return the correct URL for expo-dev-client
+ bridge.bundleURL ?? bundleURL()
+ }
+
+ override func bundleURL() -> URL? {
+ #if DEBUG
+ return RCTBundleURLProvider.sharedSettings().jsBundleURL(
+ forBundleRoot: ".expo/.virtual-metro-entry")
+ #else
+ /// `main.jsbundle` isn't part of the main app bundle
+ /// so we need to load it from the framework bundle
+ let frameworkBundle = Bundle(for: ReactNativeHostManager.self)
+ return frameworkBundle.url(forResource: "main", withExtension: "jsbundle")
+ #endif
+ }
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeHostManager.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeHostManager.swift
new file mode 100644
index 00000000000000..98724b99340f34
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeHostManager.swift
@@ -0,0 +1,52 @@
+internal import Expo
+import Network
+internal import React
+internal import ReactAppDependencyProvider
+import UIKit
+
+public class ReactNativeHostManager {
+ public static let shared = ReactNativeHostManager()
+
+ private var reactNativeDelegate: ExpoReactNativeFactoryDelegate?
+ private var reactNativeFactory: RCTReactNativeFactory?
+ public private(set) var expoDelegateWrapper: ExpoAppDelegateWrapper?
+
+ /// Initializes the React Native host manager shared instance.
+ /// Prevents multiple initializations of the React Native host manager shared instance.
+ public func initialize() {
+ // Prevent multiple initializations
+ guard reactNativeDelegate == nil else {
+ return
+ }
+
+ let delegate = ReactNativeDelegate()
+ let factory = ExpoReactNativeFactory(delegate: delegate)
+ delegate.dependencyProvider = RCTAppDependencyProvider()
+
+ reactNativeDelegate = delegate
+ reactNativeFactory = factory
+
+ expoDelegateWrapper = ExpoAppDelegateWrapper(factory: factory)
+
+ // Ensure this won't get stripped by the Swift compiler
+ _ = ExpoModulesProvider()
+ }
+
+ /// Loads and presents the React Native view.
+ public func loadView(
+ moduleName: String,
+ initialProps: [AnyHashable: Any]?,
+ launchOptions: [AnyHashable: Any]?
+ ) throws -> UIView {
+ guard let expoDelegateWrapper else {
+ fatalError("Trying to load view without ExpoAppDelegateWrapper initialized")
+ }
+
+ return expoDelegateWrapper.recreateRootView(
+ withBundleURL: nil,
+ moduleName: moduleName,
+ initialProps: initialProps,
+ launchOptions: launchOptions
+ )
+ }
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeView.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeView.swift
new file mode 100644
index 00000000000000..45e9b630f4eec2
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeView.swift
@@ -0,0 +1,44 @@
+import SwiftUI
+
+struct ReactNativeViewRepresentable: UIViewControllerRepresentable {
+ var moduleName: String
+ var initialProps: [AnyHashable: Any]?
+ var launchOptions: [AnyHashable: Any]?
+
+ func makeUIViewController(context: Context) -> UIViewController {
+ return ReactNativeViewController(
+ moduleName: moduleName,
+ initialProps: initialProps,
+ launchOptions: launchOptions,
+ )
+ }
+
+ func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
+}
+
+public struct ReactNativeView: View {
+ @Environment(\.dismiss) var dismiss
+
+ var moduleName: String
+ var initialProps: [AnyHashable: Any]? = [:]
+ var launchOptions: [AnyHashable: Any]? = [:]
+
+ public init(
+ moduleName: String,
+ initialProps: [AnyHashable: Any] = [:],
+ launchOptions: [AnyHashable: Any] = [:],
+ ) {
+ self.moduleName = moduleName
+ self.initialProps = initialProps
+ self.launchOptions = launchOptions
+ }
+
+ public var body: some View {
+ ReactNativeViewRepresentable(
+ moduleName: moduleName, initialProps: initialProps, launchOptions: launchOptions
+ )
+ .onReceive(NotificationCenter.default.publisher(for: NSNotification.Name("popToNative"))) { _ in
+ dismiss()
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeViewController.swift b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeViewController.swift
new file mode 100644
index 00000000000000..ae1141b4d6eeef
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/ReactNativeViewController.swift
@@ -0,0 +1,85 @@
+import UIKit
+
+@objc
+public class ReactNativeViewController: UIViewController {
+ private let moduleName: String
+ private let initialProps: [AnyHashable: Any]?
+ private let launchOptions: [AnyHashable: Any]?
+
+ @objc
+ public init(
+ moduleName: String,
+ initialProps: [AnyHashable: Any]? = nil,
+ launchOptions: [AnyHashable: Any]? = nil
+ ) {
+ self.moduleName = moduleName
+ self.initialProps = initialProps
+ self.launchOptions = launchOptions
+ super.init(nibName: nil, bundle: nil)
+ }
+
+ @available(*, unavailable)
+ required init?(coder: NSCoder) {
+ fatalError("init(coder:) has not been implemented")
+ }
+
+ override public func viewDidLoad() {
+ super.viewDidLoad()
+
+ do {
+ self.view = try ReactNativeHostManager.shared.loadView(
+ moduleName: moduleName,
+ initialProps: initialProps,
+ launchOptions: launchOptions
+ )
+ } catch {
+ print("Error loading React Native view: \(error)")
+ print(
+ "Please make sure ReactNativeHostManager.shared.initialize() has been called prior to using the view controller"
+ )
+ }
+
+ NotificationCenter.default.addObserver(
+ self,
+ selector: #selector(popToNative(_:)),
+ name: NSNotification.Name("popToNative"),
+ object: nil
+ )
+
+ NotificationCenter.default.addObserver(
+ self,
+ selector: #selector(setNativeBackEnabled(_:)),
+ name: NSNotification.Name("setNativeBackEnabled"),
+ object: nil
+ )
+ }
+
+ @objc
+ private func popToNative(_ notification: Notification) {
+ let animated = notification.userInfo?["animated"] as? Bool ?? false
+ DispatchQueue.main.async { [weak self] in
+ self?.navigationController?.popViewController(animated: animated)
+ }
+ }
+
+ @objc
+ private func setNativeBackEnabled(_ notification: Notification) {
+ guard let enabled = notification.userInfo?["enabled"] as? Bool else {
+ return
+ }
+
+ DispatchQueue.main.async { [weak self] in
+ self?.navigationController?.interactivePopGestureRecognizer?.isEnabled = enabled
+ self?.navigationController?.view?.gestureRecognizers?.forEach { gesture in
+ if gesture === self?.navigationController?.interactivePopGestureRecognizer {
+ return
+ }
+
+ if gesture is UIScreenEdgePanGestureRecognizer
+ || gesture is UIPanGestureRecognizer {
+ gesture.isEnabled = enabled
+ }
+ }
+ }
+ }
+}
diff --git a/apps/minimal-tester/ios/minimaltesterbrownfield/minimaltesterbrownfield.entitlements b/apps/minimal-tester/ios/minimaltesterbrownfield/minimaltesterbrownfield.entitlements
new file mode 100644
index 00000000000000..64b7b077fc5848
--- /dev/null
+++ b/apps/minimal-tester/ios/minimaltesterbrownfield/minimaltesterbrownfield.entitlements
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
diff --git a/apps/minimal-tester/package.json b/apps/minimal-tester/package.json
index f704f923f7f323..f490dee0f58435 100644
--- a/apps/minimal-tester/package.json
+++ b/apps/minimal-tester/package.json
@@ -12,6 +12,7 @@
"expo": "~54.0.8",
"expo-apple-authentication": "~8.0.7",
"expo-blur": "~15.0.7",
+ "expo-brownfield": "~0.0.1",
"expo-build-properties": "~1.0.8",
"expo-camera": "~17.0.8",
"expo-dev-client": "~6.0.12",
diff --git a/apps/native-component-list/src/screens/UI/ButtonScreen.ios.tsx b/apps/native-component-list/src/screens/UI/ButtonScreen.ios.tsx
index aa090d8449c9a7..74c068943791cb 100644
--- a/apps/native-component-list/src/screens/UI/ButtonScreen.ios.tsx
+++ b/apps/native-component-list/src/screens/UI/ButtonScreen.ios.tsx
@@ -1,6 +1,6 @@
import {
Button,
- Progress,
+ ProgressView,
Host,
Image,
Label,
@@ -121,7 +121,7 @@ export default function ButtonScreen() {
diff --git a/apps/native-component-list/src/screens/UI/ProgressScreen.ios.tsx b/apps/native-component-list/src/screens/UI/ProgressScreen.ios.tsx
deleted file mode 100644
index 238cff93ca6016..00000000000000
--- a/apps/native-component-list/src/screens/UI/ProgressScreen.ios.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Host, Progress, VStack } from '@expo/ui/swift-ui';
-import * as React from 'react';
-
-import { Page, Section } from '../../components/Page';
-
-export default function ProgressScreen() {
- const [progress, setProgress] = React.useState(0);
-
- React.useEffect(() => {
- const interval = setInterval(() => {
- setProgress((progress) => (progress + 0.05) % 1);
- }, 500);
- return () => {
- clearInterval(interval);
- };
- }, []);
-
- return (
-
-
-
-
-
- );
-}
-
-ProgressScreen.navigationOptions = {
- title: 'Progress',
-};
diff --git a/apps/native-component-list/src/screens/UI/ProgressViewScreen.ios.tsx b/apps/native-component-list/src/screens/UI/ProgressViewScreen.ios.tsx
new file mode 100644
index 00000000000000..128c0949257188
--- /dev/null
+++ b/apps/native-component-list/src/screens/UI/ProgressViewScreen.ios.tsx
@@ -0,0 +1,55 @@
+import { Button, Host, Form, ProgressView, Section, Text } from '@expo/ui/swift-ui';
+import { progressViewStyle, tint } from '@expo/ui/swift-ui/modifiers';
+import { useState } from 'react';
+
+export default function ProgressViewScreen() {
+ const [progress, setProgress] = useState(0.5);
+
+ return (
+
+
+
+ );
+}
+
+ProgressViewScreen.navigationOptions = {
+ title: 'ProgressView',
+};
diff --git a/apps/native-component-list/src/screens/UI/RTLScreen.ios.tsx b/apps/native-component-list/src/screens/UI/RTLScreen.ios.tsx
index 2108bdff1c4e65..3961ee0767ca45 100644
--- a/apps/native-component-list/src/screens/UI/RTLScreen.ios.tsx
+++ b/apps/native-component-list/src/screens/UI/RTLScreen.ios.tsx
@@ -3,14 +3,14 @@ import {
Host,
HStack,
Image,
- Progress,
+ ProgressView,
Picker,
Slider,
Switch,
Text,
VStack,
} from '@expo/ui/swift-ui';
-import { frame, pickerStyle, tag } from '@expo/ui/swift-ui/modifiers';
+import { frame, pickerStyle, progressViewStyle, tag } from '@expo/ui/swift-ui/modifiers';
import * as React from 'react';
import { ScrollPage, Section } from '../../components/Page';
@@ -110,7 +110,7 @@ export default function RTLTestScreen() {
20%
-
+
diff --git a/apps/native-component-list/src/screens/UI/UIScreen.ios.tsx b/apps/native-component-list/src/screens/UI/UIScreen.ios.tsx
index a0a03b601c23e0..f8f0b3de612f03 100644
--- a/apps/native-component-list/src/screens/UI/UIScreen.ios.tsx
+++ b/apps/native-component-list/src/screens/UI/UIScreen.ios.tsx
@@ -99,11 +99,11 @@ export const UIScreens = [
},
},
{
- name: 'Progress component',
- route: 'ui/progress',
+ name: 'ProgressView component',
+ route: 'ui/progress-view',
options: {},
getComponent() {
- return optionalRequire(() => require('./ProgressScreen'));
+ return optionalRequire(() => require('./ProgressViewScreen'));
},
},
{
diff --git a/docs/pages/versions/unversioned/sdk/ui/swift-ui/circularprogress.mdx b/docs/pages/versions/unversioned/sdk/ui/swift-ui/circularprogress.mdx
deleted file mode 100644
index 3dc816e353756d..00000000000000
--- a/docs/pages/versions/unversioned/sdk/ui/swift-ui/circularprogress.mdx
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: CircularProgress
-description: A SwiftUI CircularProgress component for displaying circular progress indicators.
-sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ui'
-packageName: '@expo/ui'
-platforms: ['ios', 'tvos']
----
-
-import APISection from '~/components/plugins/APISection';
-import { APIInstallSection } from '~/components/plugins/InstallSection';
-import { ContentSpotlight } from '~/ui/components/ContentSpotlight';
-import { Tabs, Tab } from '~/ui/components/Tabs';
-
-A circular progress indicator component for displaying progress in a circular format.
-
-## Installation
-
-
-
-## Usage
-
-
-
-
-
-
- ```tsx
- import { CircularProgress, Host } from '@expo/ui/swift-ui';
-
-
-
-
- ```
-
-
-
-
-> See [official SwiftUI documentation](https://developer.apple.com/documentation/swiftui/progressview) for more information.
-
-## API
-
-
diff --git a/docs/pages/versions/unversioned/sdk/ui/swift-ui/form.mdx b/docs/pages/versions/unversioned/sdk/ui/swift-ui/form.mdx
index 2d225a440d33f0..22973ee2b68dad 100644
--- a/docs/pages/versions/unversioned/sdk/ui/swift-ui/form.mdx
+++ b/docs/pages/versions/unversioned/sdk/ui/swift-ui/form.mdx
@@ -9,7 +9,7 @@ platforms: ['ios', 'tvos']
import APISection from '~/components/plugins/APISection';
import { APIInstallSection } from '~/components/plugins/InstallSection';
-A container for grouping controls used for data entry, such as in settings or inspection panes.
+Expo UI Form matches the official SwiftUI [Form API](https://developer.apple.com/documentation/swiftui/form). It provides a container for grouping controls used for data entry, such as in settings or inspection panes.
## Installation
@@ -17,11 +17,32 @@ A container for grouping controls used for data entry, such as in settings or in
## Usage
-```tsx
+### Basic form
+
+```tsx BasicFormExample.tsx
+import { useState } from 'react';
+import { Host, Form, TextField } from '@expo/ui/swift-ui';
+
+export default function BasicFormExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### Form with sections
+
+Use the [`Section`](section) component to group related controls within a form.
+
+```tsx FormWithSectionsExample.tsx
import { useState } from 'react';
-import { Form, Host, Section, TextField, Switch, Button } from '@expo/ui/swift-ui';
+import { Host, Form, Section, TextField, Toggle, Button } from '@expo/ui/swift-ui';
-function FormExample() {
+export default function FormWithSectionsExample() {
const [notifications, setNotifications] = useState(false);
const [darkMode, setDarkMode] = useState(false);
@@ -29,21 +50,21 @@ function FormExample() {
@@ -51,7 +72,83 @@ function FormExample() {
}
```
-> See [official SwiftUI documentation](https://developer.apple.com/documentation/swiftui/form) for more information.
+### Form with custom background
+
+Use the `scrollContentBackground` modifier to customize or hide the form's background.
+
+```tsx FormBackgroundExample.tsx
+import { useState } from 'react';
+import { Host, Form, Section, TextField } from '@expo/ui/swift-ui';
+import { scrollContentBackground, background } from '@expo/ui/swift-ui/modifiers';
+
+export default function FormBackgroundExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### Non-scrollable form
+
+Use the [`scrollDisabled`](modifiers/#scrolldisableddisabled) modifier to prevent the form from scrolling.
+
+> **Note:** The `scrollDisabled` modifier is only available on iOS 16+ and tvOS 16+.
+
+```tsx NonScrollableFormExample.tsx
+import { useState } from 'react';
+import { Host, Form, Section, TextField, Toggle } from '@expo/ui/swift-ui';
+import { scrollDisabled } from '@expo/ui/swift-ui/modifiers';
+
+export default function NonScrollableFormExample() {
+ const [isOn, setIsOn] = useState(false);
+
+ return (
+
+
+
+ );
+}
+```
+
+### Pull-to-refresh form
+
+Use the `refreshable` modifier to add pull-to-refresh functionality.
+
+```tsx RefreshableFormExample.tsx
+import { useState, useCallback } from 'react';
+import { Host, Form, Section, Text } from '@expo/ui/swift-ui';
+import { refreshable } from '@expo/ui/swift-ui/modifiers';
+
+export default function RefreshableFormExample() {
+ const [lastRefresh, setLastRefresh] = useState(new Date());
+
+ const handleRefresh = useCallback(async () => {
+ // Simulate network request
+ await new Promise(resolve => setTimeout(resolve, 1500));
+ setLastRefresh(new Date());
+ }, []);
+
+ return (
+
+
+
+ );
+}
+```
## API
diff --git a/docs/pages/versions/unversioned/sdk/ui/swift-ui/linearprogress.mdx b/docs/pages/versions/unversioned/sdk/ui/swift-ui/linearprogress.mdx
deleted file mode 100644
index 985d609ac7ecdc..00000000000000
--- a/docs/pages/versions/unversioned/sdk/ui/swift-ui/linearprogress.mdx
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: LinearProgress
-description: A SwiftUI LinearProgress component for displaying linear progress indicators.
-sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ui'
-packageName: '@expo/ui'
-platforms: ['ios', 'tvos']
----
-
-import APISection from '~/components/plugins/APISection';
-import { APIInstallSection } from '~/components/plugins/InstallSection';
-import { ContentSpotlight } from '~/ui/components/ContentSpotlight';
-import { Tabs, Tab } from '~/ui/components/Tabs';
-
-A linear progress indicator component for displaying progress in a horizontal bar format.
-
-## Installation
-
-
-
-## Usage
-
-
-
-
-
-
- ```tsx
- import { LinearProgress, Host } from '@expo/ui/swift-ui';
-
-
-
-
- ```
-
-
-
-
-> See [official SwiftUI documentation](https://developer.apple.com/documentation/swiftui/progressview) for more information.
-
-## API
-
-
diff --git a/docs/pages/versions/unversioned/sdk/ui/swift-ui/progressview.mdx b/docs/pages/versions/unversioned/sdk/ui/swift-ui/progressview.mdx
new file mode 100644
index 00000000000000..f2126db740cf2d
--- /dev/null
+++ b/docs/pages/versions/unversioned/sdk/ui/swift-ui/progressview.mdx
@@ -0,0 +1,132 @@
+---
+title: ProgressView
+description: A SwiftUI ProgressView component for displaying progress indicators.
+sourceCodeUrl: 'https://github.com/expo/expo/tree/main/packages/expo-ui'
+packageName: '@expo/ui'
+platforms: ['ios', 'tvos']
+---
+
+import APISection from '~/components/plugins/APISection';
+import { APIInstallSection } from '~/components/plugins/InstallSection';
+
+Expo UI ProgressView matches the official SwiftUI [ProgressView API](https://developer.apple.com/documentation/swiftui/progressview) and supports styling via the [`progressViewStyle`](modifiers/#progressviewstylestyle) modifier.
+
+## Installation
+
+
+
+## Usage
+
+### Indeterminate progress
+
+When no `value` is provided, the progress view displays an indeterminate indicator (spinner).
+
+```tsx IndeterminateExample.tsx
+import { Host, ProgressView } from '@expo/ui/swift-ui';
+
+export default function IndeterminateExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### Determinate progress
+
+Provide a `value` between `0` and `1` to show determinate progress.
+
+```tsx DeterminateExample.tsx
+import { Host, ProgressView } from '@expo/ui/swift-ui';
+
+export default function DeterminateExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### Progress view styles
+
+Use the [`progressViewStyle`](modifiers/#progressviewstylestyle) modifier to change the progress view's appearance. Available styles are: `automatic`, `linear`, and `circular`.
+
+```tsx ProgressViewStylesExample.tsx
+import { Host, ProgressView, VStack } from '@expo/ui/swift-ui';
+import { progressViewStyle } from '@expo/ui/swift-ui/modifiers';
+
+export default function ProgressViewStylesExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### With label
+
+You can pass custom components as `children` to provide a label for the progress view.
+
+```tsx LabelExample.tsx
+import { Host, ProgressView, Text } from '@expo/ui/swift-ui';
+
+export default function LabelExample() {
+ return (
+
+
+ Loading...
+
+
+ );
+}
+```
+
+### Tinted progress view
+
+Use the `tint` modifier to change the progress view's color.
+
+```tsx TintedExample.tsx
+import { Host, ProgressView } from '@expo/ui/swift-ui';
+import { tint } from '@expo/ui/swift-ui/modifiers';
+
+export default function TintedExample() {
+ return (
+
+
+
+ );
+}
+```
+
+### Timer-based progress
+
+Use the `timerInterval` prop to create a progress view that automatically animates over a time range. This is useful for showing countdown timers or timed operations.
+
+> **Note:** Timer-based progress is only available on iOS 16+ and tvOS 16+.
+
+```tsx TimerExample.tsx
+import { Host, ProgressView, Text, VStack } from '@expo/ui/swift-ui';
+
+export default function TimerExample() {
+ const startDate = new Date();
+ const endDate = new Date(Date.now() + 10000); // 10 seconds from now
+
+ return (
+
+
+
+
+ Counting up
+
+
+
+ );
+}
+```
+
+## API
+
+
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/circularprogress.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/circularprogress.json
deleted file mode 100644
index 872380816e78ab..00000000000000
--- a/docs/public/static/data/unversioned/expo-ui/swift-ui/circularprogress.json
+++ /dev/null
@@ -1 +0,0 @@
-{"schemaVersion":"2.0","name":"expo-ui/swift-ui/circularprogress","variant":"project","kind":1,"children":[{"name":"ProgressProps","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Progress color."}]},"type":{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"ColorValue"},"name":"ColorValue","package":"react-native"}},{"name":"countsDown","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether the progress counts down instead of up."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"progress","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The current progress value of the slider. This is a number between "},{"kind":"code","text":"`0`"},{"kind":"text","text":" and "},{"kind":"code","text":"`1`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"literal","value":null}]}},{"name":"timerInterval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The lower and upper bounds for automatic timer progress."}]},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/Progress/index.tsx","qualifiedName":"ClosedRangeDate"},"name":"ClosedRangeDate","package":"@expo/ui"}},{"name":"variant","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The style of the progress indicator."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"'circular'"}]}]},"type":{"type":"union","types":[{"type":"literal","value":"linear"},{"type":"literal","value":"circular"}]}}]}},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]}},{"name":"Progress","variant":"declaration","kind":64,"signatures":[{"name":"Progress","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Renders a "},{"kind":"code","text":"`Progress`"},{"kind":"text","text":" component."}]},"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"ProgressProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/form.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/form.json
index 9aaea3559c72e3..58d3ef65c96ee9 100644
--- a/docs/public/static/data/unversioned/expo-ui/swift-ui/form.json
+++ b/docs/public/static/data/unversioned/expo-ui/swift-ui/form.json
@@ -1 +1 @@
-{"schemaVersion":"2.0","name":"expo-ui/swift-ui/form","variant":"project","kind":1,"children":[{"name":"FormProps","variant":"declaration","kind":256,"children":[{"name":"children","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.ReactNode"},"name":"ReactNode","package":"@types/react","qualifiedName":"React.ReactNode"}},{"name":"modifiers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of view modifiers to apply to this view.\nModifiers are applied in the order they appear in the array."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\nimport { background, cornerRadius, shadow, frame, padding, fixedSize } from '@expo/ui/swift-ui/modifiers';\n\n\n Hello World\n\n```"}]}]},"type":{"type":"array","elementType":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}},"inheritedFrom":{"type":"reference","name":"CommonViewModifierProps.modifiers"}},{"name":"scrollEnabled","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Makes the form scrollable."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"testID","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Used to locate this view in end-to-end tests."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"CommonViewModifierProps.testID"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]},{"name":"Form","variant":"declaration","kind":64,"signatures":[{"name":"Form","variant":"signature","kind":4096,"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"FormProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
+{"schemaVersion":"2.0","name":"expo-ui/swift-ui/form","variant":"project","kind":1,"children":[{"name":"FormProps","variant":"declaration","kind":256,"children":[{"name":"children","variant":"declaration","kind":1024,"comment":{"summary":[{"kind":"text","text":"The content of the form."}]},"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.ReactNode"},"name":"ReactNode","package":"@types/react","qualifiedName":"React.ReactNode"}},{"name":"modifiers","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Array of view modifiers to apply to this view.\nModifiers are applied in the order they appear in the array."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\nimport { background, cornerRadius, shadow, frame, padding, fixedSize } from '@expo/ui/swift-ui/modifiers';\n\n\n Hello World\n\n```"}]}]},"type":{"type":"array","elementType":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}},"inheritedFrom":{"type":"reference","name":"CommonViewModifierProps.modifiers"}},{"name":"testID","variant":"declaration","kind":1024,"flags":{"isOptional":true,"isInherited":true},"comment":{"summary":[{"kind":"text","text":"Used to locate this view in end-to-end tests."}]},"type":{"type":"intrinsic","name":"string"},"inheritedFrom":{"type":"reference","name":"CommonViewModifierProps.testID"}}],"extendedTypes":[{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]},{"name":"Form","variant":"declaration","kind":64,"signatures":[{"name":"Form","variant":"signature","kind":4096,"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"FormProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/host.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/host.json
index d87721ff082fd6..42d0a5206c6d4b 100644
--- a/docs/public/static/data/unversioned/expo-ui/swift-ui/host.json
+++ b/docs/public/static/data/unversioned/expo-ui/swift-ui/host.json
@@ -1 +1 @@
-{"schemaVersion":"2.0","name":"expo-ui/swift-ui/host","variant":"project","kind":1,"children":[{"name":"HostProps","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"children","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.ReactNode"},"name":"React.ReactNode","package":"@types/react"}},{"name":"colorScheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The color scheme of the host view."}]},"type":{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/Utilities/Appearance.d.ts","qualifiedName":"ColorSchemeName"},"name":"ColorSchemeName","package":"react-native"}},{"name":"ignoreSafeAreaKeyboardInsets","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the SwiftUI content will not perform keyboard avoidance behaviour when keyboard is shown.\nCan be only set once on mount."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"layoutDirection","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The layout direction for the SwiftUI content.\nDefaults to the current locale direction from I18nManager."}]},"type":{"type":"union","types":[{"type":"literal","value":"leftToRight"},{"type":"literal","value":"rightToLeft"}]}},{"name":"matchContents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When true, the host view will update its size in the React Native view tree to match the content's layout from SwiftUI.\nCan be only set once on mount."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"boolean"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"onLayoutContent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Callback function that is triggered when the SwiftUI content completes its layout.\nProvides the current dimensions of the content, which may change as the content updates."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"event","variant":"param","kind":32768,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"nativeEvent","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}}]}}}],"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"style","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"StyleProp"},"typeArguments":[{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheetTypes.d.ts","qualifiedName":"ViewStyle"},"name":"ViewStyle","package":"react-native"}],"name":"StyleProp","package":"react-native"}},{"name":"useViewportSizeMeasurement","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When true and no explicit size is provided, the host will use the viewport size as the proposed size for SwiftUI layout.\nThis is particularly useful for SwiftUI views that need to fill their available space, such as "},{"kind":"code","text":"`Form`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]}},{"name":"Host","variant":"declaration","kind":64,"signatures":[{"name":"Host","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"A hosting component for SwiftUI views."}]},"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"HostProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
+{"schemaVersion":"2.0","name":"expo-ui/swift-ui/host","variant":"project","kind":1,"children":[{"name":"HostProps","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"children","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.ReactNode"},"name":"React.ReactNode","package":"@types/react"}},{"name":"colorScheme","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The color scheme of the host view."}]},"type":{"type":"union","types":[{"type":"literal","value":"light"},{"type":"literal","value":"dark"}]}},{"name":"ignoreSafeAreaKeyboardInsets","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When "},{"kind":"code","text":"`true`"},{"kind":"text","text":", the SwiftUI content will not perform keyboard avoidance behaviour when keyboard is shown.\nCan be only set once on mount."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"layoutDirection","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The layout direction for the SwiftUI content.\nDefaults to the current locale direction from I18nManager."}]},"type":{"type":"union","types":[{"type":"literal","value":"leftToRight"},{"type":"literal","value":"rightToLeft"}]}},{"name":"matchContents","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When true, the host view will update its size in the React Native view tree to match the content's layout from SwiftUI.\nCan be only set once on mount."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"boolean"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}]}},{"name":"onLayoutContent","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Callback function that is triggered when the SwiftUI content completes its layout.\nProvides the current dimensions of the content, which may change as the content updates."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"event","variant":"param","kind":32768,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"nativeEvent","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}}]}}}],"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"style","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"StyleProp"},"typeArguments":[{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheetTypes.d.ts","qualifiedName":"ViewStyle"},"name":"ViewStyle","package":"react-native"}],"name":"StyleProp","package":"react-native"}},{"name":"useViewportSizeMeasurement","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"When true and no explicit size is provided, the host will use the viewport size as the proposed size for SwiftUI layout.\nThis is particularly useful for SwiftUI views that need to fill their available space, such as "},{"kind":"code","text":"`Form`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}}]}},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]}},{"name":"Host","variant":"declaration","kind":64,"signatures":[{"name":"Host","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"A hosting component for SwiftUI views."}]},"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"HostProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/linearprogress.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/linearprogress.json
deleted file mode 100644
index e3c660b56b5683..00000000000000
--- a/docs/public/static/data/unversioned/expo-ui/swift-ui/linearprogress.json
+++ /dev/null
@@ -1 +0,0 @@
-{"schemaVersion":"2.0","name":"expo-ui/swift-ui/linearprogress","variant":"project","kind":1,"children":[{"name":"ProgressProps","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Progress color."}]},"type":{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"ColorValue"},"name":"ColorValue","package":"react-native"}},{"name":"countsDown","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether the progress counts down instead of up."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"false"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"progress","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The current progress value of the slider. This is a number between "},{"kind":"code","text":"`0`"},{"kind":"text","text":" and "},{"kind":"code","text":"`1`"},{"kind":"text","text":"."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"literal","value":null}]}},{"name":"timerInterval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The lower and upper bounds for automatic timer progress."}]},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/Progress/index.tsx","qualifiedName":"ClosedRangeDate"},"name":"ClosedRangeDate","package":"@expo/ui"}},{"name":"variant","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The style of the progress indicator."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"'circular'"}]}]},"type":{"type":"union","types":[{"type":"literal","value":"linear"},{"type":"literal","value":"circular"}]}}]}},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]}},{"name":"Progress","variant":"declaration","kind":64,"signatures":[{"name":"Progress","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Renders a "},{"kind":"code","text":"`Progress`"},{"kind":"text","text":" component."}]},"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"ProgressProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/modifiers.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/modifiers.json
index 814ef3632ddd92..d37f9c0fe47d7f 100644
--- a/docs/public/static/data/unversioned/expo-ui/swift-ui/modifiers.json
+++ b/docs/public/static/data/unversioned/expo-ui/swift-ui/modifiers.json
@@ -1 +1 @@
-{"schemaVersion":"2.0","name":"expo-ui/swift-ui/modifiers","variant":"project","kind":1,"children":[{"name":"Color","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"ColorValue"},"name":"ColorValue","package":"react-native"},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/types.ts","qualifiedName":"NamedColor"},"name":"NamedColor","package":"@expo/ui"}]}},{"name":"DatePickerStyleType","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"compact"},{"type":"literal","value":"graphical"},{"type":"literal","value":"wheel"}]}},{"name":"PickerStyleType","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"inline"},{"type":"literal","value":"menu"},{"type":"literal","value":"navigationLink"},{"type":"literal","value":"palette"},{"type":"literal","value":"segmented"},{"type":"literal","value":"wheel"}]}},{"name":"Shape","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.roundedRectangle","package":"@expo/ui","qualifiedName":"__object.roundedRectangle"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.capsule","package":"@expo/ui","qualifiedName":"__object.capsule"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.rectangle","package":"@expo/ui","qualifiedName":"__object.rectangle"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.ellipse","package":"@expo/ui","qualifiedName":"__object.ellipse"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.circle","package":"@expo/ui","qualifiedName":"__object.circle"}}],"name":"ReturnType","package":"typescript"}]}},{"name":"Animation","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"default","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"},"defaultValue":"..."},{"name":"easeIn","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"easeInOut","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"easeOut","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"interpolatingSpring","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"InterpolatingSpringAnimationParams"},"name":"InterpolatingSpringAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"linear","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"spring","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"SpringAnimationParams"},"name":"SpringAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."}]}},"defaultValue":"..."},{"name":"shapes","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"capsule","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"}]}}]}}}],"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.roundedCornerStyle"},{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'capsule'"}]}}}]}},"defaultValue":"..."},{"name":"circle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'circle'"}]}}}]}},"defaultValue":"..."},{"name":"ellipse","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'ellipse'"}]}}}]}},"defaultValue":"..."},{"name":"rectangle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'rectangle'"}]}}}]}},"defaultValue":"..."},{"name":"roundedRectangle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"cornerSize","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"}]}}]}}}],"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.cornerRadius"},{"name":"cornerSize","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.cornerSize"},{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.roundedCornerStyle"},{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'roundedRectangle'"}]}}}]}},"defaultValue":"..."}]}},"defaultValue":"..."},{"name":"accessibilityHint","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityHint","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility hint for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilityhint(_:))."}]}]},"parameters":[{"name":"hint","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility hint."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"accessibilityLabel","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityLabel","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility label for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilitylabel(_:))."}]}]},"parameters":[{"name":"label","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility label."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"accessibilityValue","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityValue","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility value for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilityvalue(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility value."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"allowsTightening","variant":"declaration","kind":64,"signatures":[{"name":"allowsTightening","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets whether text in this view can compress the space between characters when necessary to fit text in a line"}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/allowstightening(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"animation","variant":"declaration","kind":64,"signatures":[{"name":"animation","variant":"signature","kind":4096,"parameters":[{"name":"animationObject","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}},{"name":"animatedValue","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"boolean"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"aspectRatio","variant":"declaration","kind":64,"signatures":[{"name":"aspectRatio","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets aspect ratio constraint."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/aspectratio(_:contentmode:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Width/height aspect ratio and content mode."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"contentMode","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"fill"},{"type":"literal","value":"fit"}]}},{"name":"ratio","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"background","variant":"declaration","kind":64,"signatures":[{"name":"background","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the background of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/background(_:alignment:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The background color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"shape","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Optional shape to clip the background. If not provided, the background will fill the entire view."}]},"type":{"type":"reference","name":"Shape","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"backgroundOverlay","variant":"declaration","kind":64,"signatures":[{"name":"backgroundOverlay","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a background behind the view."}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Background color and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"badge","variant":"declaration","kind":64,"signatures":[{"name":"badge","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Generates a badge for the view from a localized string key."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/badge(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Text view to display as a badge. Set the value to nil to hide the badge."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"badgeProminence","variant":"declaration","kind":64,"signatures":[{"name":"badgeProminence","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"The prominence to apply to badges associated with this environment."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/badgeprominence(_:))."}]}]},"parameters":[{"name":"badgeType","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Select the type of badge"}]},"type":{"type":"union","types":[{"type":"literal","value":"standard"},{"type":"literal","value":"increased"},{"type":"literal","value":"decreased"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"blur","variant":"declaration","kind":64,"signatures":[{"name":"blur","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies blur to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/blur(radius:opaque:))."}]}]},"parameters":[{"name":"radius","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The blur radius."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"border","variant":"declaration","kind":64,"signatures":[{"name":"border","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a border to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/border(_:width:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The border parameters. Color and width."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"width","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"brightness","variant":"declaration","kind":64,"signatures":[{"name":"brightness","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the brightness of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/brightness(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Brightness adjustment (-1 to 1)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"buttonStyle","variant":"declaration","kind":64,"signatures":[{"name":"buttonStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the button style for button views."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/buttonstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The button style."}]},"type":{"type":"union","types":[{"type":"literal","value":"bordered"},{"type":"literal","value":"borderless"},{"type":"literal","value":"automatic"},{"type":"literal","value":"borderedProminent"},{"type":"literal","value":"glass"},{"type":"literal","value":"glassProminent"},{"type":"literal","value":"plain"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"clipped","variant":"declaration","kind":64,"signatures":[{"name":"clipped","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Clips content to bounds."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipped(antialiased:))."}]}]},"parameters":[{"name":"clipped","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether to clip content."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"clipShape","variant":"declaration","kind":64,"signatures":[{"name":"clipShape","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Clips the view to a specific shape."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipshape(_:style:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The clipping shape."}]},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"}]}},{"name":"cornerRadius","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Corner radius for rounded rectangle (default: 8)"}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"colorInvert","variant":"declaration","kind":64,"signatures":[{"name":"colorInvert","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Inverts the colors of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/colorinvert())."}]}]},"parameters":[{"name":"inverted","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether to invert colors."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"containerShape","variant":"declaration","kind":64,"signatures":[{"name":"containerShape","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the container shape for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/containershape(_:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A shape configuration from the shapes API"}]},"type":{"type":"reference","name":"Shape","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"contrast","variant":"declaration","kind":64,"signatures":[{"name":"contrast","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the contrast of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contrast(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Contrast multiplier (0 to infinity, 1 = normal)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"controlSize","variant":"declaration","kind":64,"signatures":[{"name":"controlSize","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the size of controls within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/controlsize(_:))."}]}]},"parameters":[{"name":"size","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The control size."}]},"type":{"type":"union","types":[{"type":"literal","value":"small"},{"type":"literal","value":"mini"},{"type":"literal","value":"regular"},{"type":"literal","value":"large"},{"type":"literal","value":"extraLarge"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"cornerRadius","variant":"declaration","kind":64,"signatures":[{"name":"cornerRadius","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies corner radius to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/cornerradius(_:antialiased:))."}]}]},"parameters":[{"name":"radius","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The corner radius value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"datePickerStyle","variant":"declaration","kind":64,"signatures":[{"name":"datePickerStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for the date picker."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/datepickerstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The style for the date picker."}]},"type":{"type":"reference","name":"DatePickerStyleType","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"disabled","variant":"declaration","kind":64,"signatures":[{"name":"disabled","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Disables or enables a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/disabled(_:))."}]}]},"parameters":[{"name":"disabled","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether the view should be disabled."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"fixedSize","variant":"declaration","kind":64,"signatures":[{"name":"fixedSize","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls fixed size behavior."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/fixedsize())."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether the view should use its ideal width or height."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"font","variant":"declaration","kind":64,"signatures":[{"name":"font","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the font properties of a view.\nSupports both custom font families and system fonts with weight and design options."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Custom font family\nCustom Font Text\n\n// System font with weight and design\nSystem Font Text\n```"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation for "},{"kind":"code","text":"`custom(_:size:)`"},{"kind":"text","text":"](https://developer.apple.com/documentation/swiftui/font/custom(_:size:)) and Official [SwiftUI documentation for "},{"kind":"code","text":"`system(size:weight:design:)`"},{"kind":"text","text":"](https://developer.apple.com/documentation/swiftui/font/system(size:weight:design:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The font configuration. When "},{"kind":"code","text":"`family`"},{"kind":"text","text":" is provided, it uses Font.custom().\nWhen "},{"kind":"code","text":"`family`"},{"kind":"text","text":" is not provided, it uses Font.system() with the specified weight and design."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"design","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font design for system fonts"}]},"type":{"type":"union","types":[{"type":"literal","value":"rounded"},{"type":"literal","value":"default"},{"type":"literal","value":"serif"},{"type":"literal","value":"monospaced"}]}},{"name":"family","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom font family name.\nIf provided, uses "},{"kind":"code","text":"`Font.custom()`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"size","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font size in points."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"weight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font weight for system fonts."}]},"type":{"type":"union","types":[{"type":"literal","value":"bold"},{"type":"literal","value":"light"},{"type":"literal","value":"black"},{"type":"literal","value":"regular"},{"type":"literal","value":"ultraLight"},{"type":"literal","value":"thin"},{"type":"literal","value":"medium"},{"type":"literal","value":"semibold"},{"type":"literal","value":"heavy"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"foregroundColor","variant":"declaration","kind":64,"signatures":[{"name":"foregroundColor","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the foreground color/tint of a view."}],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`foregroundStyle`"},{"kind":"text","text":" instead."}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/foregroundcolor(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The foreground color (hex string)."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"foregroundStyle","variant":"declaration","kind":64,"signatures":[{"name":"foregroundStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the foreground style of a view with comprehensive styling options.\n\nReplaces the deprecated "},{"kind":"code","text":"`foregroundColor`"},{"kind":"text","text":" modifier with enhanced capabilities including\ncolors, gradients, and semantic hierarchical styles that adapt to system appearance."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Simple usage\nRed Text\n\n// Adaptive hierarchical styling\n\n Supporting Text\n\n\n// Linear gradient\n\n Gradient Text\n\n```"}]},{"tag":"@returns","content":[{"kind":"text","text":"A view modifier that applies the specified foreground style"}]},{"tag":"@since","content":[{"kind":"text","text":"iOS 15.0+ (hierarchical quinary requires iOS 16.0+)"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/foregroundstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The foreground style configuration. Can be:\n\n**Simple Color (string):**\n- Hex colors: "},{"kind":"code","text":"`'#FF0000'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#RGB'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#RRGGBB'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#AARRGGBB'`"},{"kind":"text","text":"\n- Named colors: "},{"kind":"code","text":"`'red'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'blue'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'green'`"},{"kind":"text","text":", and so on.\n\n**Explicit Color Object:**\n"},{"kind":"code","text":"```ts\n{ type: 'color', color: '#FF0000' }\n```"},{"kind":"text","text":"\n\n**Hierarchical Styles (Semantic):**\nAuto-adapting semantic styles that respond to light/dark mode and accessibility settings:\n"},{"kind":"code","text":"```ts\n{ type: 'hierarchical', style: 'primary' } // Most prominent (main content, headlines)\n{ type: 'hierarchical', style: 'secondary' } // Supporting text, subheadlines\n{ type: 'hierarchical', style: 'tertiary' } // Less important text, captions\n{ type: 'hierarchical', style: 'quaternary' } // Subtle text, disabled states\n{ type: 'hierarchical', style: 'quinary' } // Most subtle (iOS 16+, fallback to quaternary)\n```"},{"kind":"text","text":"\n\n**Linear Gradient:**\n"},{"kind":"code","text":"```ts\n{\n type: 'linearGradient',\n colors: ['#FF0000', '#0000FF', '#00FF00'],\n startPoint: { x: 0, y: 0 }, // Top-left\n endPoint: { x: 1, y: 1 } // Bottom-right\n}\n```"},{"kind":"text","text":"\n\n**Radial Gradient:**\n"},{"kind":"code","text":"```ts\n{\n type: 'radialGradient',\n colors: ['#FF0000', '#0000FF'],\n center: { x: 0.5, y: 0.5 }, // Center of view\n startRadius: 0, // Inner radius\n endRadius: 100 // Outer radius\n}\n```"},{"kind":"text","text":"\n\n**Angular Gradient (Conic):**\n"},{"kind":"code","text":"```ts\n{\n type: 'angularGradient',\n colors: ['#FF0000', '#00FF00', '#0000FF'],\n center: { x: 0.5, y: 0.5 } // Rotation center\n}\n```"}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"color"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"style","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"primary"},{"type":"literal","value":"secondary"},{"type":"literal","value":"tertiary"},{"type":"literal","value":"quaternary"},{"type":"literal","value":"quinary"}]}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"hierarchical"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"endPoint","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"startPoint","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"linearGradient"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"center","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"endRadius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"startRadius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"radialGradient"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"center","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"angularGradient"}}]}}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"frame","variant":"declaration","kind":64,"signatures":[{"name":"frame","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the frame properties of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/frame(width:height:alignment:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The frame parameters. Width, height, minWidth, maxWidth, minHeight, maxHeight, idealWidth, idealHeight and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"topLeading"},{"type":"literal","value":"topTrailing"},{"type":"literal","value":"bottomLeading"},{"type":"literal","value":"bottomTrailing"}]}},{"name":"height","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"idealHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"idealWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"maxHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"maxWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"minHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"minWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"glassEffect","variant":"declaration","kind":64,"signatures":[{"name":"glassEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a glass effect to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/glasseffect(_:in:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The glass effect parameters. Variant, interactive, tint and shape."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"glass","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"interactive","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"tint","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"variant","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"clear"},{"type":"literal","value":"regular"},{"type":"literal","value":"identity"}]}}]}}},{"name":"shape","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"},{"type":"literal","value":"capsule"},{"type":"literal","value":"ellipse"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"glassEffectId","variant":"declaration","kind":64,"signatures":[{"name":"glassEffectId","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Associates an identity value to Liquid Glass effects defined within a "},{"kind":"code","text":"`GlassEffectContainer`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/glasseffectid(_:in:))."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The id of the glass effect."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"namespaceId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The namespace id of the glass effect. Use Namespace component to create a namespace."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"grayscale","variant":"declaration","kind":64,"signatures":[{"name":"grayscale","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Makes a view grayscale."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/grayscale(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Grayscale amount (0 to 1)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellAnchor","variant":"declaration","kind":64,"signatures":[{"name":"gridCellAnchor","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies a custom alignment anchor for a view that acts as a grid cell."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified anchor point to align its content."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 16+"}]},{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Using a preset anchor\n\n\n// Using a custom anchor point\n\n```"}]}]},"parameters":[{"name":"anchor","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The unit point that defines how to align the view within the bounds of its grid cell."}]},"type":{"type":"union","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"anchor","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"topLeading"},{"type":"literal","value":"topTrailing"},{"type":"literal","value":"bottomLeading"},{"type":"literal","value":"bottomTrailing"},{"type":"literal","value":"zero"}]}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"preset"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"points","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"custom"}}]}}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellColumns","variant":"declaration","kind":64,"signatures":[{"name":"gridCellColumns","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Tells a view that acts as a cell in a grid to span the specified number of columns."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that occupies the specified number of columns in a grid row."}]}]},"parameters":[{"name":"count","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The number of columns that the view should consume when placed in a grid row."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellUnsizedAxes","variant":"declaration","kind":64,"signatures":[{"name":"gridCellUnsizedAxes","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks grid layouts not to offer the view extra size in the specified axes."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that doesn’t ask an enclosing grid for extra size in one or more axes."}]}]},"parameters":[{"name":"axes","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The dimensions in which the grid shouldn’t offer the view a share of any available space. This prevents a flexible view like a Spacer, Divider, or Color from defining the size of a row or column."}]},"type":{"type":"union","types":[{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridColumnAlignment","variant":"declaration","kind":64,"signatures":[{"name":"gridColumnAlignment","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Overrides the default horizontal alignment of the grid column that the view appears in."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified horizontal alignment, and that causes all cells in the same column of a grid to use the same alignment."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 16+"}]}]},"parameters":[{"name":"alignment","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The HorizontalAlignment guide to use for the grid column that the view appears in."}]},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"headerProminence","variant":"declaration","kind":64,"signatures":[{"name":"headerProminence","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the header prominence for this view."}]},"parameters":[{"name":"prominence","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The prominence to apply."}]},"type":{"type":"union","types":[{"type":"literal","value":"standard"},{"type":"literal","value":"increased"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"hidden","variant":"declaration","kind":64,"signatures":[{"name":"hidden","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Hides or shows a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/hidden(_:))."}]}]},"parameters":[{"name":"hidden","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether the view should be hidden."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"hueRotation","variant":"declaration","kind":64,"signatures":[{"name":"hueRotation","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a hue rotation to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/huerotation(_:))."}]}]},"parameters":[{"name":"angle","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Hue rotation angle in degrees."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"ignoreSafeArea","variant":"declaration","kind":64,"signatures":[{"name":"ignoreSafeArea","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Allows a view to ignore safe area constraints."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ignoressafearea(_:edges:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The safe area regions to ignore and the edges to expand into."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"edges","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"all"},{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}},{"name":"regions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"all"},{"type":"literal","value":"container"},{"type":"literal","value":"keyboard"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"kerning","variant":"declaration","kind":64,"signatures":[{"name":"kerning","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the spacing, or kerning, between characters for the text in this view."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"0"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/kerning(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"labelsHidden","variant":"declaration","kind":64,"signatures":[{"name":"labelsHidden","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Hides the labels of any controls contained within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/labelshidden())."}]}]},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"labelStyle","variant":"declaration","kind":64,"signatures":[{"name":"labelStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for labels within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/labelstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The label style."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"iconOnly"},{"type":"literal","value":"titleAndIcon"},{"type":"literal","value":"titleOnly"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"layoutPriority","variant":"declaration","kind":64,"signatures":[{"name":"layoutPriority","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets layout priority for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/layoutpriority(_:))."}]}]},"parameters":[{"name":"priority","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Layout priority value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"lineSpacing","variant":"declaration","kind":64,"signatures":[{"name":"lineSpacing","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"The distance in points between the bottom of one line fragment and the top of the next."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/linespacing(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The amount of space between the bottom of one line and the top of the next line in points. This value is always nonnegative. Otherwise, the default value will be used."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowBackground","variant":"declaration","kind":64,"signatures":[{"name":"listRowBackground","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the background of a row."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowbackground(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The row color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowInsets","variant":"declaration","kind":64,"signatures":[{"name":"listRowInsets","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an inset to the rows in a list."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowinsets(_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The inset to apply to the rows in a list."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"bottom","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"leading","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"top","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"trailing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowSeparator","variant":"declaration","kind":64,"signatures":[{"name":"listRowSeparator","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls the visibility of the separator for a list row."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowseparator(_:edges:))."}]}]},"parameters":[{"name":"visibility","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The visibility to apply."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"visible"},{"type":"literal","value":"hidden"}]}},{"name":"edges","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The edges where the separator visibility applies."}]},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"all"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listSectionMargins","variant":"declaration","kind":64,"signatures":[{"name":"listSectionMargins","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Allows a view to ignore safe area constraints."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"iOS 26+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listsectionmargins(_:_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The margins to apply to the section in a list."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"edges","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"all"},{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}},{"name":"length","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listSectionSpacing","variant":"declaration","kind":64,"signatures":[{"name":"listSectionSpacing","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the spacing between adjacent sections."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 17.0+"}]}]},"parameters":[{"name":"spacing","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The spacing to apply."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"literal","value":"default"},{"type":"literal","value":"compact"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"mask","variant":"declaration","kind":64,"signatures":[{"name":"mask","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a mask to the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/mask(_:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The masking shape."}]},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"}]}},{"name":"cornerRadius","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Corner radius for rounded rectangle (default: "},{"kind":"code","text":"`8`"},{"kind":"text","text":")."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"matchedGeometryEffect","variant":"declaration","kind":64,"signatures":[{"name":"matchedGeometryEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a matched geometry effect to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/matchedgeometryeffect(id:in:properties:anchor:issource:))."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The id of the view."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"namespaceId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The namespace id of the view. Use Namespace component to create a namespace."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"menuActionDismissBehavior","variant":"declaration","kind":64,"signatures":[{"name":"menuActionDismissBehavior","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls the dismissal behavior of menu actions."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.4+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 17.0+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/menuactiondismissbehavior(_:))."}]}]},"parameters":[{"name":"behavior","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The menu action dismiss behavior."}]},"type":{"type":"union","types":[{"type":"literal","value":"enabled"},{"type":"literal","value":"disabled"},{"type":"literal","value":"automatic"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"multilineTextAlignment","variant":"declaration","kind":64,"signatures":[{"name":"multilineTextAlignment","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"An alignment position for text along the horizontal axis."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/multilinetextalignment(_:))."}]}]},"parameters":[{"name":"alignment","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A value that you use to align multiple lines of text within a view."}]},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"offset","variant":"declaration","kind":64,"signatures":[{"name":"offset","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an offset (translation) to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/offset(x:y:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The offset parameters: "},{"kind":"code","text":"`x`"},{"kind":"text","text":" and "},{"kind":"code","text":"`y`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onAppear","variant":"declaration","kind":64,"signatures":[{"name":"onAppear","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds an onAppear modifier that calls a function when the view appears."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/onlongpressgesture(minimumduration:perform:onpressingchanged:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when the view appears."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onDisappear","variant":"declaration","kind":64,"signatures":[{"name":"onDisappear","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds an onDisappear modifier that calls a function when the view disappears."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ondisappear(perform:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when the view disappears."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onLongPressGesture","variant":"declaration","kind":64,"signatures":[{"name":"onLongPressGesture","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a long press gesture recognizer."}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when long pressed."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"minimumDuration","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Minimum duration for long press (default: 0.5s)"}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onTapGesture","variant":"declaration","kind":64,"signatures":[{"name":"onTapGesture","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a tap gesture recognizer."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ontapgesture(count:perform:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when tapped."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"opacity","variant":"declaration","kind":64,"signatures":[{"name":"opacity","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the opacity of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/opacity(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Opacity value between 0 and 1."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"overlay","variant":"declaration","kind":64,"signatures":[{"name":"overlay","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Overlays another view on top."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/overlay(_:alignment:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Overlay color and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"padding","variant":"declaration","kind":64,"signatures":[{"name":"padding","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets padding on a view.\nSupports individual edges or shorthand properties."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/padding(_:_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The padding parameters: "},{"kind":"code","text":"`top`"},{"kind":"text","text":", "},{"kind":"code","text":"`bottom`"},{"kind":"text","text":", "},{"kind":"code","text":"`leading`"},{"kind":"text","text":", "},{"kind":"code","text":"`trailing`"},{"kind":"text","text":", "},{"kind":"code","text":"`horizontal`"},{"kind":"text","text":", "},{"kind":"code","text":"`vertical`"},{"kind":"text","text":" and "},{"kind":"code","text":"`all`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"all","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"bottom","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"leading","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"top","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"trailing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"pickerStyle","variant":"declaration","kind":64,"signatures":[{"name":"pickerStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for the picker."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/pickerstyle)."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The style for the picker."}]},"type":{"type":"reference","name":"PickerStyleType","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"refreshable","variant":"declaration","kind":64,"signatures":[{"name":"refreshable","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Marks a view as refreshable. Adds pull-to-refresh functionality."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/refreshable(action:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Async function to call when refresh is triggered."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"rotationEffect","variant":"declaration","kind":64,"signatures":[{"name":"rotationEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies rotation transformation."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/rotationeffect(_:anchor:))."}]}]},"parameters":[{"name":"angle","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Rotation angle in degrees."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"saturation","variant":"declaration","kind":64,"signatures":[{"name":"saturation","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the saturation of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/saturation(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Saturation multiplier (0 to infinity, 1 = normal)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scaleEffect","variant":"declaration","kind":64,"signatures":[{"name":"scaleEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies scaling transformation."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scaleeffect(_:anchor:))."}]}]},"parameters":[{"name":"scale","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Scale factor (1.0 = normal size)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scrollContentBackground","variant":"declaration","kind":64,"signatures":[{"name":"scrollContentBackground","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies the visibility of the background for scrollable views within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrollcontentbackground(_:))."}]}]},"parameters":[{"name":"visible","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The visibility of the background."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"visible"},{"type":"literal","value":"hidden"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scrollDismissesKeyboard","variant":"declaration","kind":64,"signatures":[{"name":"scrollDismissesKeyboard","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls how the keyboard is dismissed when scrolling."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldismisseskeyboard(_:))."}]}]},"parameters":[{"name":"mode","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The keyboard dismiss mode."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"never"},{"type":"literal","value":"interactively"},{"type":"literal","value":"immediately"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"shadow","variant":"declaration","kind":64,"signatures":[{"name":"shadow","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a shadow to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/shadow(color:radius:x:y:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The shadow parameters: "},{"kind":"code","text":"`radius`"},{"kind":"text","text":", offset ("},{"kind":"code","text":"`x`"},{"kind":"text","text":", "},{"kind":"code","text":"`y`"},{"kind":"text","text":") and "},{"kind":"code","text":"`color`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"radius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"x","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"strikethrough","variant":"declaration","kind":64,"signatures":[{"name":"strikethrough","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a strikethrough to the text."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/text/strikethrough(_:color:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Controls whether the strikethrough is visible ("},{"kind":"code","text":"`true`"},{"kind":"text","text":" to show, "},{"kind":"code","text":"`false`"},{"kind":"text","text":" to hide)."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"isActive","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"boolean"}},{"name":"pattern","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/index.ts","qualifiedName":"LinePattern"},"name":"LinePattern","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"submitLabel","variant":"declaration","kind":64,"signatures":[{"name":"submitLabel","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies the label to display in the keyboard's return key. For example, "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified submit label."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 15+"}]},{"tag":"@example","content":[{"kind":"code","text":"```tsx\n\n```"}]}]},"parameters":[{"name":"submitLabel","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The label to display in the keyboard's return key."}]},"type":{"type":"union","types":[{"type":"literal","value":"join"},{"type":"literal","value":"search"},{"type":"literal","value":"continue"},{"type":"literal","value":"done"},{"type":"literal","value":"go"},{"type":"literal","value":"next"},{"type":"literal","value":"return"},{"type":"literal","value":"route"},{"type":"literal","value":"send"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"tag","variant":"declaration","kind":64,"signatures":[{"name":"tag","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets a tag on a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/tag(_:includeoptional:))."}]}]},"parameters":[{"name":"tag","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The tag to set on the view."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textCase","variant":"declaration","kind":64,"signatures":[{"name":"textCase","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets a transform for the case of the text contained in this view when displayed."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"\"lowercase\""}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textcase(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"literal","value":"lowercase"},{"type":"literal","value":"uppercase"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textFieldStyle","variant":"declaration","kind":64,"signatures":[{"name":"textFieldStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the text field style for text field views."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textfieldstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The text field style."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"plain"},{"type":"literal","value":"roundedBorder"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textSelection","variant":"declaration","kind":64,"signatures":[{"name":"textSelection","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls whether people can select text within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textselection(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Enable selection"}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"tint","variant":"declaration","kind":64,"signatures":[{"name":"tint","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the tint color of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/tint(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The tint color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"toggleStyle","variant":"declaration","kind":64,"signatures":[{"name":"toggleStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for toggles within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/togglestyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The toggle style."}]},"type":{"type":"union","types":[{"type":"literal","value":"switch"},{"type":"literal","value":"button"},{"type":"literal","value":"automatic"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"truncationMode","variant":"declaration","kind":64,"signatures":[{"name":"truncationMode","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the truncation mode for lines of text that are too long to fit in the available space."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/truncationmode(_:))."}]}]},"parameters":[{"name":"mode","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The truncation mode that specifies where to truncate the text within the text view, if needed.\nYou can truncate at the beginning, middle, or end of the text view."}]},"type":{"type":"union","types":[{"type":"literal","value":"head"},{"type":"literal","value":"middle"},{"type":"literal","value":"tail"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"underline","variant":"declaration","kind":64,"signatures":[{"name":"underline","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an underline to the text."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/underline(_:pattern:color:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Controls whether the underline is visible ("},{"kind":"code","text":"`true`"},{"kind":"text","text":" to show, "},{"kind":"code","text":"`false`"},{"kind":"text","text":" to hide)."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"isActive","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"boolean"}},{"name":"pattern","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/index.ts","qualifiedName":"LinePattern"},"name":"LinePattern","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"zIndex","variant":"declaration","kind":64,"signatures":[{"name":"zIndex","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the z-index (display order) of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/zindex(_:))."}]}]},"parameters":[{"name":"index","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The z-index value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
+{"schemaVersion":"2.0","name":"expo-ui/swift-ui/modifiers","variant":"project","kind":1,"children":[{"name":"Color","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reference","target":{"packageName":"react-native","packagePath":"Libraries/StyleSheet/StyleSheet.d.ts","qualifiedName":"ColorValue"},"name":"ColorValue","package":"react-native"},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/types.ts","qualifiedName":"NamedColor"},"name":"NamedColor","package":"@expo/ui"}]}},{"name":"DatePickerStyleType","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"compact"},{"type":"literal","value":"graphical"},{"type":"literal","value":"wheel"}]}},{"name":"PickerStyleType","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"inline"},{"type":"literal","value":"menu"},{"type":"literal","value":"navigationLink"},{"type":"literal","value":"palette"},{"type":"literal","value":"segmented"},{"type":"literal","value":"wheel"}]}},{"name":"ProgressViewStyleType","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"linear"},{"type":"literal","value":"circular"}]}},{"name":"Shape","variant":"declaration","kind":2097152,"type":{"type":"union","types":[{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.roundedRectangle","package":"@expo/ui","qualifiedName":"__object.roundedRectangle"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.capsule","package":"@expo/ui","qualifiedName":"__object.capsule"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.rectangle","package":"@expo/ui","qualifiedName":"__object.rectangle"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.ellipse","package":"@expo/ui","qualifiedName":"__object.ellipse"}}],"name":"ReturnType","package":"typescript"},{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"ReturnType"},"typeArguments":[{"type":"query","queryType":{"type":"reference","name":"shapes.circle","package":"@expo/ui","qualifiedName":"__object.circle"}}],"name":"ReturnType","package":"typescript"}]}},{"name":"Animation","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"default","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"},"defaultValue":"..."},{"name":"easeIn","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"easeInOut","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"easeOut","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"interpolatingSpring","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"InterpolatingSpringAnimationParams"},"name":"InterpolatingSpringAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"linear","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"TimingAnimationParams"},"name":"TimingAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."},{"name":"spring","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"SpringAnimationParams"},"name":"SpringAnimationParams","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}}]}},"defaultValue":"..."}]}},"defaultValue":"..."},{"name":"shapes","variant":"declaration","kind":32,"flags":{"isConst":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"capsule","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"}]}}]}}}],"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.roundedCornerStyle"},{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'capsule'"}]}}}]}},"defaultValue":"..."},{"name":"circle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'circle'"}]}}}]}},"defaultValue":"..."},{"name":"ellipse","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'ellipse'"}]}}}]}},"defaultValue":"..."},{"name":"rectangle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'rectangle'"}]}}}]}},"defaultValue":"..."},{"name":"roundedRectangle","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"parameters":[{"name":"params","variant":"param","kind":32768,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"cornerSize","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"}]}}]}}}],"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.cornerRadius"},{"name":"cornerSize","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"height","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.cornerSize"},{"name":"roundedCornerStyle","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"circular"},{"type":"literal","value":"continuous"},{"type":"intrinsic","name":"undefined"}]},"defaultValue":"params.roundedCornerStyle"},{"name":"shape","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"},"defaultValue":"'roundedRectangle'"}]}}}]}},"defaultValue":"..."}]}},"defaultValue":"..."},{"name":"accessibilityHint","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityHint","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility hint for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilityhint(_:))."}]}]},"parameters":[{"name":"hint","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility hint."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"accessibilityLabel","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityLabel","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility label for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilitylabel(_:))."}]}]},"parameters":[{"name":"label","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility label."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"accessibilityValue","variant":"declaration","kind":64,"signatures":[{"name":"accessibilityValue","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets accessibility value for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/accessibilityvalue(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The accessibility value."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"allowsTightening","variant":"declaration","kind":64,"signatures":[{"name":"allowsTightening","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets whether text in this view can compress the space between characters when necessary to fit text in a line"}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/allowstightening(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"animation","variant":"declaration","kind":64,"signatures":[{"name":"animation","variant":"signature","kind":4096,"parameters":[{"name":"animationObject","variant":"param","kind":32768,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/animation/types.ts","qualifiedName":"ChainableAnimationType"},"name":"ChainableAnimationType","package":"@expo/ui"}},{"name":"animatedValue","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"intrinsic","name":"boolean"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"aspectRatio","variant":"declaration","kind":64,"signatures":[{"name":"aspectRatio","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets aspect ratio constraint."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/aspectratio(_:contentmode:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Width/height aspect ratio and content mode."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"contentMode","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"fill"},{"type":"literal","value":"fit"}]}},{"name":"ratio","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"background","variant":"declaration","kind":64,"signatures":[{"name":"background","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the background of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/background(_:alignment:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The background color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"shape","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Optional shape to clip the background. If not provided, the background will fill the entire view."}]},"type":{"type":"reference","name":"Shape","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"backgroundOverlay","variant":"declaration","kind":64,"signatures":[{"name":"backgroundOverlay","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a background behind the view."}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Background color and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"badge","variant":"declaration","kind":64,"signatures":[{"name":"badge","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Generates a badge for the view from a localized string key."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/badge(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Text view to display as a badge. Set the value to nil to hide the badge."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"badgeProminence","variant":"declaration","kind":64,"signatures":[{"name":"badgeProminence","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"The prominence to apply to badges associated with this environment."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/badgeprominence(_:))."}]}]},"parameters":[{"name":"badgeType","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Select the type of badge"}]},"type":{"type":"union","types":[{"type":"literal","value":"standard"},{"type":"literal","value":"increased"},{"type":"literal","value":"decreased"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"blur","variant":"declaration","kind":64,"signatures":[{"name":"blur","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies blur to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/blur(radius:opaque:))."}]}]},"parameters":[{"name":"radius","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The blur radius."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"border","variant":"declaration","kind":64,"signatures":[{"name":"border","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a border to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/border(_:width:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The border parameters. Color and width."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"width","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"brightness","variant":"declaration","kind":64,"signatures":[{"name":"brightness","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the brightness of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/brightness(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Brightness adjustment (-1 to 1)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"buttonStyle","variant":"declaration","kind":64,"signatures":[{"name":"buttonStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the button style for button views."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/buttonstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The button style."}]},"type":{"type":"union","types":[{"type":"literal","value":"bordered"},{"type":"literal","value":"borderless"},{"type":"literal","value":"automatic"},{"type":"literal","value":"borderedProminent"},{"type":"literal","value":"glass"},{"type":"literal","value":"glassProminent"},{"type":"literal","value":"plain"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"clipped","variant":"declaration","kind":64,"signatures":[{"name":"clipped","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Clips content to bounds."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipped(antialiased:))."}]}]},"parameters":[{"name":"clipped","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether to clip content."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"clipShape","variant":"declaration","kind":64,"signatures":[{"name":"clipShape","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Clips the view to a specific shape."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/clipshape(_:style:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The clipping shape."}]},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"}]}},{"name":"cornerRadius","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Corner radius for rounded rectangle (default: 8)"}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"colorInvert","variant":"declaration","kind":64,"signatures":[{"name":"colorInvert","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Inverts the colors of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/colorinvert())."}]}]},"parameters":[{"name":"inverted","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether to invert colors."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"containerShape","variant":"declaration","kind":64,"signatures":[{"name":"containerShape","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the container shape for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/containershape(_:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A shape configuration from the shapes API"}]},"type":{"type":"reference","name":"Shape","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"contrast","variant":"declaration","kind":64,"signatures":[{"name":"contrast","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the contrast of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/contrast(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Contrast multiplier (0 to infinity, 1 = normal)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"controlSize","variant":"declaration","kind":64,"signatures":[{"name":"controlSize","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the size of controls within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/controlsize(_:))."}]}]},"parameters":[{"name":"size","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The control size."}]},"type":{"type":"union","types":[{"type":"literal","value":"small"},{"type":"literal","value":"mini"},{"type":"literal","value":"regular"},{"type":"literal","value":"large"},{"type":"literal","value":"extraLarge"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"cornerRadius","variant":"declaration","kind":64,"signatures":[{"name":"cornerRadius","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies corner radius to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/cornerradius(_:antialiased:))."}]}]},"parameters":[{"name":"radius","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The corner radius value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"datePickerStyle","variant":"declaration","kind":64,"signatures":[{"name":"datePickerStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for the date picker."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/datepickerstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The style for the date picker."}]},"type":{"type":"reference","name":"DatePickerStyleType","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"disabled","variant":"declaration","kind":64,"signatures":[{"name":"disabled","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Disables or enables a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/disabled(_:))."}]}]},"parameters":[{"name":"disabled","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether the view should be disabled."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"fixedSize","variant":"declaration","kind":64,"signatures":[{"name":"fixedSize","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls fixed size behavior."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/fixedsize())."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Whether the view should use its ideal width or height."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"font","variant":"declaration","kind":64,"signatures":[{"name":"font","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the font properties of a view.\nSupports both custom font families and system fonts with weight and design options."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Custom font family\nCustom Font Text\n\n// System font with weight and design\nSystem Font Text\n```"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation for "},{"kind":"code","text":"`custom(_:size:)`"},{"kind":"text","text":"](https://developer.apple.com/documentation/swiftui/font/custom(_:size:)) and Official [SwiftUI documentation for "},{"kind":"code","text":"`system(size:weight:design:)`"},{"kind":"text","text":"](https://developer.apple.com/documentation/swiftui/font/system(size:weight:design:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The font configuration. When "},{"kind":"code","text":"`family`"},{"kind":"text","text":" is provided, it uses Font.custom().\nWhen "},{"kind":"code","text":"`family`"},{"kind":"text","text":" is not provided, it uses Font.system() with the specified weight and design."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"design","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font design for system fonts"}]},"type":{"type":"union","types":[{"type":"literal","value":"rounded"},{"type":"literal","value":"default"},{"type":"literal","value":"serif"},{"type":"literal","value":"monospaced"}]}},{"name":"family","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Custom font family name.\nIf provided, uses "},{"kind":"code","text":"`Font.custom()`"},{"kind":"text","text":"."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"size","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font size in points."}]},"type":{"type":"intrinsic","name":"number"}},{"name":"weight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Font weight for system fonts."}]},"type":{"type":"union","types":[{"type":"literal","value":"bold"},{"type":"literal","value":"light"},{"type":"literal","value":"black"},{"type":"literal","value":"regular"},{"type":"literal","value":"ultraLight"},{"type":"literal","value":"thin"},{"type":"literal","value":"medium"},{"type":"literal","value":"semibold"},{"type":"literal","value":"heavy"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"foregroundColor","variant":"declaration","kind":64,"signatures":[{"name":"foregroundColor","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the foreground color/tint of a view."}],"blockTags":[{"tag":"@deprecated","content":[{"kind":"text","text":"Use "},{"kind":"code","text":"`foregroundStyle`"},{"kind":"text","text":" instead."}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/foregroundcolor(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The foreground color (hex string)."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"foregroundStyle","variant":"declaration","kind":64,"signatures":[{"name":"foregroundStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the foreground style of a view with comprehensive styling options.\n\nReplaces the deprecated "},{"kind":"code","text":"`foregroundColor`"},{"kind":"text","text":" modifier with enhanced capabilities including\ncolors, gradients, and semantic hierarchical styles that adapt to system appearance."}],"blockTags":[{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Simple usage\nRed Text\n\n// Adaptive hierarchical styling\n\n Supporting Text\n\n\n// Linear gradient\n\n Gradient Text\n\n```"}]},{"tag":"@returns","content":[{"kind":"text","text":"A view modifier that applies the specified foreground style"}]},{"tag":"@since","content":[{"kind":"text","text":"iOS 15.0+ (hierarchical quinary requires iOS 16.0+)"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/foregroundstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The foreground style configuration. Can be:\n\n**Simple Color (string):**\n- Hex colors: "},{"kind":"code","text":"`'#FF0000'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#RGB'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#RRGGBB'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'#AARRGGBB'`"},{"kind":"text","text":"\n- Named colors: "},{"kind":"code","text":"`'red'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'blue'`"},{"kind":"text","text":", "},{"kind":"code","text":"`'green'`"},{"kind":"text","text":", and so on.\n\n**Explicit Color Object:**\n"},{"kind":"code","text":"```ts\n{ type: 'color', color: '#FF0000' }\n```"},{"kind":"text","text":"\n\n**Hierarchical Styles (Semantic):**\nAuto-adapting semantic styles that respond to light/dark mode and accessibility settings:\n"},{"kind":"code","text":"```ts\n{ type: 'hierarchical', style: 'primary' } // Most prominent (main content, headlines)\n{ type: 'hierarchical', style: 'secondary' } // Supporting text, subheadlines\n{ type: 'hierarchical', style: 'tertiary' } // Less important text, captions\n{ type: 'hierarchical', style: 'quaternary' } // Subtle text, disabled states\n{ type: 'hierarchical', style: 'quinary' } // Most subtle (iOS 16+, fallback to quaternary)\n```"},{"kind":"text","text":"\n\n**Linear Gradient:**\n"},{"kind":"code","text":"```ts\n{\n type: 'linearGradient',\n colors: ['#FF0000', '#0000FF', '#00FF00'],\n startPoint: { x: 0, y: 0 }, // Top-left\n endPoint: { x: 1, y: 1 } // Bottom-right\n}\n```"},{"kind":"text","text":"\n\n**Radial Gradient:**\n"},{"kind":"code","text":"```ts\n{\n type: 'radialGradient',\n colors: ['#FF0000', '#0000FF'],\n center: { x: 0.5, y: 0.5 }, // Center of view\n startRadius: 0, // Inner radius\n endRadius: 100 // Outer radius\n}\n```"},{"kind":"text","text":"\n\n**Angular Gradient (Conic):**\n"},{"kind":"code","text":"```ts\n{\n type: 'angularGradient',\n colors: ['#FF0000', '#00FF00', '#0000FF'],\n center: { x: 0.5, y: 0.5 } // Rotation center\n}\n```"}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"string"}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"color"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"style","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"primary"},{"type":"literal","value":"secondary"},{"type":"literal","value":"tertiary"},{"type":"literal","value":"quaternary"},{"type":"literal","value":"quinary"}]}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"hierarchical"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"endPoint","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"startPoint","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"linearGradient"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"center","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"endRadius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"startRadius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"radialGradient"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"center","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"colors","variant":"declaration","kind":1024,"type":{"type":"array","elementType":{"type":"intrinsic","name":"string"}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"angularGradient"}}]}}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"frame","variant":"declaration","kind":64,"signatures":[{"name":"frame","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the frame properties of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/frame(width:height:alignment:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The frame parameters. Width, height, minWidth, maxWidth, minHeight, maxHeight, idealWidth, idealHeight and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"topLeading"},{"type":"literal","value":"topTrailing"},{"type":"literal","value":"bottomLeading"},{"type":"literal","value":"bottomTrailing"}]}},{"name":"height","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"idealHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"idealWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"maxHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"maxWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"minHeight","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"minWidth","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"width","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"glassEffect","variant":"declaration","kind":64,"signatures":[{"name":"glassEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a glass effect to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/glasseffect(_:in:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The glass effect parameters. Variant, interactive, tint and shape."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"cornerRadius","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"glass","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"interactive","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"boolean"}},{"name":"tint","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"variant","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"clear"},{"type":"literal","value":"regular"},{"type":"literal","value":"identity"}]}}]}}},{"name":"shape","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"},{"type":"literal","value":"capsule"},{"type":"literal","value":"ellipse"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"glassEffectId","variant":"declaration","kind":64,"signatures":[{"name":"glassEffectId","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Associates an identity value to Liquid Glass effects defined within a "},{"kind":"code","text":"`GlassEffectContainer`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/glasseffectid(_:in:))."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The id of the glass effect."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"namespaceId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The namespace id of the glass effect. Use Namespace component to create a namespace."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"grayscale","variant":"declaration","kind":64,"signatures":[{"name":"grayscale","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Makes a view grayscale."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/grayscale(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Grayscale amount (0 to 1)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellAnchor","variant":"declaration","kind":64,"signatures":[{"name":"gridCellAnchor","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies a custom alignment anchor for a view that acts as a grid cell."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified anchor point to align its content."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 16+"}]},{"tag":"@example","content":[{"kind":"code","text":"```tsx\n// Using a preset anchor\n\n\n// Using a custom anchor point\n\n```"}]}]},"parameters":[{"name":"anchor","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The unit point that defines how to align the view within the bounds of its grid cell."}]},"type":{"type":"union","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"anchor","variant":"declaration","kind":1024,"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"topLeading"},{"type":"literal","value":"topTrailing"},{"type":"literal","value":"bottomLeading"},{"type":"literal","value":"bottomTrailing"},{"type":"literal","value":"zero"}]}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"preset"}}]}},{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"points","variant":"declaration","kind":1024,"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}}]}}},{"name":"type","variant":"declaration","kind":1024,"type":{"type":"literal","value":"custom"}}]}}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellColumns","variant":"declaration","kind":64,"signatures":[{"name":"gridCellColumns","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Tells a view that acts as a cell in a grid to span the specified number of columns."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that occupies the specified number of columns in a grid row."}]}]},"parameters":[{"name":"count","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The number of columns that the view should consume when placed in a grid row."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridCellUnsizedAxes","variant":"declaration","kind":64,"signatures":[{"name":"gridCellUnsizedAxes","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Asks grid layouts not to offer the view extra size in the specified axes."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that doesn’t ask an enclosing grid for extra size in one or more axes."}]}]},"parameters":[{"name":"axes","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The dimensions in which the grid shouldn’t offer the view a share of any available space. This prevents a flexible view like a Spacer, Divider, or Color from defining the size of a row or column."}]},"type":{"type":"union","types":[{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"gridColumnAlignment","variant":"declaration","kind":64,"signatures":[{"name":"gridColumnAlignment","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Overrides the default horizontal alignment of the grid column that the view appears in."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified horizontal alignment, and that causes all cells in the same column of a grid to use the same alignment."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 16+"}]}]},"parameters":[{"name":"alignment","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The HorizontalAlignment guide to use for the grid column that the view appears in."}]},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"headerProminence","variant":"declaration","kind":64,"signatures":[{"name":"headerProminence","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the header prominence for this view."}]},"parameters":[{"name":"prominence","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The prominence to apply."}]},"type":{"type":"union","types":[{"type":"literal","value":"standard"},{"type":"literal","value":"increased"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"hidden","variant":"declaration","kind":64,"signatures":[{"name":"hidden","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Hides or shows a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/hidden(_:))."}]}]},"parameters":[{"name":"hidden","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether the view should be hidden."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"hueRotation","variant":"declaration","kind":64,"signatures":[{"name":"hueRotation","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a hue rotation to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/huerotation(_:))."}]}]},"parameters":[{"name":"angle","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Hue rotation angle in degrees."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"ignoreSafeArea","variant":"declaration","kind":64,"signatures":[{"name":"ignoreSafeArea","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Allows a view to ignore safe area constraints."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ignoressafearea(_:edges:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The safe area regions to ignore and the edges to expand into."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"edges","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"all"},{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}},{"name":"regions","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"all"},{"type":"literal","value":"container"},{"type":"literal","value":"keyboard"}]}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"kerning","variant":"declaration","kind":64,"signatures":[{"name":"kerning","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the spacing, or kerning, between characters for the text in this view."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"0"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/kerning(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"labelsHidden","variant":"declaration","kind":64,"signatures":[{"name":"labelsHidden","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Hides the labels of any controls contained within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/labelshidden())."}]}]},"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"labelStyle","variant":"declaration","kind":64,"signatures":[{"name":"labelStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for labels within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/labelstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The label style."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"iconOnly"},{"type":"literal","value":"titleAndIcon"},{"type":"literal","value":"titleOnly"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"layoutPriority","variant":"declaration","kind":64,"signatures":[{"name":"layoutPriority","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets layout priority for the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/layoutpriority(_:))."}]}]},"parameters":[{"name":"priority","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Layout priority value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"lineSpacing","variant":"declaration","kind":64,"signatures":[{"name":"lineSpacing","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"The distance in points between the bottom of one line fragment and the top of the next."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/linespacing(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The amount of space between the bottom of one line and the top of the next line in points. This value is always nonnegative. Otherwise, the default value will be used."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowBackground","variant":"declaration","kind":64,"signatures":[{"name":"listRowBackground","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the background of a row."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowbackground(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The row color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowInsets","variant":"declaration","kind":64,"signatures":[{"name":"listRowInsets","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an inset to the rows in a list."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowinsets(_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The inset to apply to the rows in a list."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"bottom","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"leading","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"top","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"trailing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listRowSeparator","variant":"declaration","kind":64,"signatures":[{"name":"listRowSeparator","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls the visibility of the separator for a list row."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listrowseparator(_:edges:))."}]}]},"parameters":[{"name":"visibility","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The visibility to apply."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"visible"},{"type":"literal","value":"hidden"}]}},{"name":"edges","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The edges where the separator visibility applies."}]},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"all"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listSectionMargins","variant":"declaration","kind":64,"signatures":[{"name":"listSectionMargins","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Allows a view to ignore safe area constraints."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"iOS 26+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/listsectionmargins(_:_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The margins to apply to the section in a list."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"edges","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"},{"type":"literal","value":"all"},{"type":"literal","value":"horizontal"},{"type":"literal","value":"vertical"}]}},{"name":"length","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"listSectionSpacing","variant":"declaration","kind":64,"signatures":[{"name":"listSectionSpacing","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the spacing between adjacent sections."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 17.0+"}]}]},"parameters":[{"name":"spacing","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The spacing to apply."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"literal","value":"default"},{"type":"literal","value":"compact"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"mask","variant":"declaration","kind":64,"signatures":[{"name":"mask","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a mask to the view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/mask(_:))."}]}]},"parameters":[{"name":"shape","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The masking shape."}]},"type":{"type":"union","types":[{"type":"literal","value":"circle"},{"type":"literal","value":"rectangle"},{"type":"literal","value":"roundedRectangle"}]}},{"name":"cornerRadius","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Corner radius for rounded rectangle (default: "},{"kind":"code","text":"`8`"},{"kind":"text","text":")."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"matchedGeometryEffect","variant":"declaration","kind":64,"signatures":[{"name":"matchedGeometryEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a matched geometry effect to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/matchedgeometryeffect(id:in:properties:anchor:issource:))."}]}]},"parameters":[{"name":"id","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The id of the view."}]},"type":{"type":"intrinsic","name":"string"}},{"name":"namespaceId","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The namespace id of the view. Use Namespace component to create a namespace."}]},"type":{"type":"intrinsic","name":"string"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"menuActionDismissBehavior","variant":"declaration","kind":64,"signatures":[{"name":"menuActionDismissBehavior","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls the dismissal behavior of menu actions."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.4+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 17.0+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/menuactiondismissbehavior(_:))."}]}]},"parameters":[{"name":"behavior","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The menu action dismiss behavior."}]},"type":{"type":"union","types":[{"type":"literal","value":"enabled"},{"type":"literal","value":"disabled"},{"type":"literal","value":"automatic"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"multilineTextAlignment","variant":"declaration","kind":64,"signatures":[{"name":"multilineTextAlignment","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"An alignment position for text along the horizontal axis."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/multilinetextalignment(_:))."}]}]},"parameters":[{"name":"alignment","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"A value that you use to align multiple lines of text within a view."}]},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"offset","variant":"declaration","kind":64,"signatures":[{"name":"offset","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an offset (translation) to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/offset(x:y:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The offset parameters: "},{"kind":"code","text":"`x`"},{"kind":"text","text":" and "},{"kind":"code","text":"`y`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"x","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onAppear","variant":"declaration","kind":64,"signatures":[{"name":"onAppear","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds an onAppear modifier that calls a function when the view appears."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/onlongpressgesture(minimumduration:perform:onpressingchanged:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when the view appears."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onDisappear","variant":"declaration","kind":64,"signatures":[{"name":"onDisappear","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds an onDisappear modifier that calls a function when the view disappears."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ondisappear(perform:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when the view disappears."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onLongPressGesture","variant":"declaration","kind":64,"signatures":[{"name":"onLongPressGesture","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a long press gesture recognizer."}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when long pressed."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}},{"name":"minimumDuration","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"Minimum duration for long press (default: 0.5s)"}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"onTapGesture","variant":"declaration","kind":64,"signatures":[{"name":"onTapGesture","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a tap gesture recognizer."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/ontapgesture(count:perform:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Function to call when tapped."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"intrinsic","name":"void"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"opacity","variant":"declaration","kind":64,"signatures":[{"name":"opacity","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the opacity of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/opacity(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Opacity value between 0 and 1."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"overlay","variant":"declaration","kind":64,"signatures":[{"name":"overlay","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Overlays another view on top."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/overlay(_:alignment:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Overlay color and alignment."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"alignment","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"union","types":[{"type":"literal","value":"center"},{"type":"literal","value":"top"},{"type":"literal","value":"bottom"},{"type":"literal","value":"leading"},{"type":"literal","value":"trailing"}]}},{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"padding","variant":"declaration","kind":64,"signatures":[{"name":"padding","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets padding on a view.\nSupports individual edges or shorthand properties."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/padding(_:_:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The padding parameters: "},{"kind":"code","text":"`top`"},{"kind":"text","text":", "},{"kind":"code","text":"`bottom`"},{"kind":"text","text":", "},{"kind":"code","text":"`leading`"},{"kind":"text","text":", "},{"kind":"code","text":"`trailing`"},{"kind":"text","text":", "},{"kind":"code","text":"`horizontal`"},{"kind":"text","text":", "},{"kind":"code","text":"`vertical`"},{"kind":"text","text":" and "},{"kind":"code","text":"`all`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"all","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"bottom","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"horizontal","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"leading","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"top","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"trailing","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"vertical","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"pickerStyle","variant":"declaration","kind":64,"signatures":[{"name":"pickerStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for the picker."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/pickerstyle)."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The style for the picker."}]},"type":{"type":"reference","name":"PickerStyleType","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"progressViewStyle","variant":"declaration","kind":64,"signatures":[{"name":"progressViewStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for the progress view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/progressviewstyle)."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The style for the progress view."}]},"type":{"type":"reference","name":"ProgressViewStyleType","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"refreshable","variant":"declaration","kind":64,"signatures":[{"name":"refreshable","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Marks a view as refreshable. Adds pull-to-refresh functionality."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/refreshable(action:))."}]}]},"parameters":[{"name":"handler","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Async function to call when refresh is triggered."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"signatures":[{"name":"__type","variant":"signature","kind":4096,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Promise"},"typeArguments":[{"type":"intrinsic","name":"void"}],"name":"Promise","package":"typescript"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"rotationEffect","variant":"declaration","kind":64,"signatures":[{"name":"rotationEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies rotation transformation."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/rotationeffect(_:anchor:))."}]}]},"parameters":[{"name":"angle","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Rotation angle in degrees."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"saturation","variant":"declaration","kind":64,"signatures":[{"name":"saturation","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adjusts the saturation of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/saturation(_:))."}]}]},"parameters":[{"name":"amount","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Saturation multiplier (0 to infinity, 1 = normal)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scaleEffect","variant":"declaration","kind":64,"signatures":[{"name":"scaleEffect","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies scaling transformation."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scaleeffect(_:anchor:))."}]}]},"parameters":[{"name":"scale","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Scale factor (1.0 = normal size)."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scrollContentBackground","variant":"declaration","kind":64,"signatures":[{"name":"scrollContentBackground","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies the visibility of the background for scrollable views within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrollcontentbackground(_:))."}]}]},"parameters":[{"name":"visible","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The visibility of the background."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"visible"},{"type":"literal","value":"hidden"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scrollDisabled","variant":"declaration","kind":64,"signatures":[{"name":"scrollDisabled","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Disables or enables scrolling in scrollable views."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldisabled(_:))."}]}]},"parameters":[{"name":"disabled","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Whether scrolling should be disabled (default: true)."}]},"type":{"type":"intrinsic","name":"boolean"},"defaultValue":"true"}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"scrollDismissesKeyboard","variant":"declaration","kind":64,"signatures":[{"name":"scrollDismissesKeyboard","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls how the keyboard is dismissed when scrolling."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldismisseskeyboard(_:))."}]}]},"parameters":[{"name":"mode","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The keyboard dismiss mode."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"never"},{"type":"literal","value":"interactively"},{"type":"literal","value":"immediately"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"shadow","variant":"declaration","kind":64,"signatures":[{"name":"shadow","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Adds a shadow to a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/SwiftUI/View/shadow(color:radius:x:y:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The shadow parameters: "},{"kind":"code","text":"`radius`"},{"kind":"text","text":", offset ("},{"kind":"code","text":"`x`"},{"kind":"text","text":", "},{"kind":"code","text":"`y`"},{"kind":"text","text":") and "},{"kind":"code","text":"`color`"},{"kind":"text","text":"."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"radius","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"number"}},{"name":"x","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}},{"name":"y","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"intrinsic","name":"number"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"strikethrough","variant":"declaration","kind":64,"signatures":[{"name":"strikethrough","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies a strikethrough to the text."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/text/strikethrough(_:color:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Controls whether the strikethrough is visible ("},{"kind":"code","text":"`true`"},{"kind":"text","text":" to show, "},{"kind":"code","text":"`false`"},{"kind":"text","text":" to hide)."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"isActive","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"boolean"}},{"name":"pattern","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/index.ts","qualifiedName":"LinePattern"},"name":"LinePattern","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"submitLabel","variant":"declaration","kind":64,"signatures":[{"name":"submitLabel","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Specifies the label to display in the keyboard's return key. For example, "},{"kind":"code","text":"`'done'`"},{"kind":"text","text":"."}],"blockTags":[{"tag":"@returns","content":[{"kind":"text","text":"A view that uses the specified submit label."}]},{"tag":"@platform","content":[{"kind":"text","text":"iOS 15+"}]},{"tag":"@example","content":[{"kind":"code","text":"```tsx\n\n```"}]}]},"parameters":[{"name":"submitLabel","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The label to display in the keyboard's return key."}]},"type":{"type":"union","types":[{"type":"literal","value":"join"},{"type":"literal","value":"search"},{"type":"literal","value":"continue"},{"type":"literal","value":"done"},{"type":"literal","value":"go"},{"type":"literal","value":"next"},{"type":"literal","value":"return"},{"type":"literal","value":"route"},{"type":"literal","value":"send"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"tag","variant":"declaration","kind":64,"signatures":[{"name":"tag","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets a tag on a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/tag(_:includeoptional:))."}]}]},"parameters":[{"name":"tag","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The tag to set on the view."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"string"},{"type":"intrinsic","name":"number"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textCase","variant":"declaration","kind":64,"signatures":[{"name":"textCase","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets a transform for the case of the text contained in this view when displayed."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"\"lowercase\""}]},{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textcase(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"type":{"type":"union","types":[{"type":"literal","value":"lowercase"},{"type":"literal","value":"uppercase"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textFieldStyle","variant":"declaration","kind":64,"signatures":[{"name":"textFieldStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the text field style for text field views."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textfieldstyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The text field style."}]},"type":{"type":"union","types":[{"type":"literal","value":"automatic"},{"type":"literal","value":"plain"},{"type":"literal","value":"roundedBorder"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"textSelection","variant":"declaration","kind":64,"signatures":[{"name":"textSelection","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Controls whether people can select text within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/textselection(_:))."}]}]},"parameters":[{"name":"value","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Enable selection"}]},"type":{"type":"intrinsic","name":"boolean"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"tint","variant":"declaration","kind":64,"signatures":[{"name":"tint","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the tint color of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/tint(_:))."}]}]},"parameters":[{"name":"color","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The tint color (hex string). For example, "},{"kind":"code","text":"`#FF0000`"},{"kind":"text","text":"."}]},"type":{"type":"reference","name":"Color","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"toggleStyle","variant":"declaration","kind":64,"signatures":[{"name":"toggleStyle","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the style for toggles within this view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/togglestyle(_:))."}]}]},"parameters":[{"name":"style","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The toggle style."}]},"type":{"type":"union","types":[{"type":"literal","value":"switch"},{"type":"literal","value":"button"},{"type":"literal","value":"automatic"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"truncationMode","variant":"declaration","kind":64,"signatures":[{"name":"truncationMode","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the truncation mode for lines of text that are too long to fit in the available space."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/truncationmode(_:))."}]}]},"parameters":[{"name":"mode","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The truncation mode that specifies where to truncate the text within the text view, if needed.\nYou can truncate at the beginning, middle, or end of the text view."}]},"type":{"type":"union","types":[{"type":"literal","value":"head"},{"type":"literal","value":"middle"},{"type":"literal","value":"tail"}]}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"underline","variant":"declaration","kind":64,"signatures":[{"name":"underline","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Applies an underline to the text."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/underline(_:pattern:color:))."}]}]},"parameters":[{"name":"params","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"Controls whether the underline is visible ("},{"kind":"code","text":"`true`"},{"kind":"text","text":" to show, "},{"kind":"code","text":"`false`"},{"kind":"text","text":" to hide)."}]},"type":{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"color","variant":"declaration","kind":1024,"flags":{"isOptional":true},"type":{"type":"reference","name":"Color","package":"@expo/ui"}},{"name":"isActive","variant":"declaration","kind":1024,"type":{"type":"intrinsic","name":"boolean"}},{"name":"pattern","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/index.ts","qualifiedName":"LinePattern"},"name":"LinePattern","package":"@expo/ui"}}]}}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]},{"name":"zIndex","variant":"declaration","kind":64,"signatures":[{"name":"zIndex","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Sets the z-index (display order) of a view."}],"blockTags":[{"tag":"@see","content":[{"kind":"text","text":"Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/zindex(_:))."}]}]},"parameters":[{"name":"index","variant":"param","kind":32768,"comment":{"summary":[{"kind":"text","text":"The z-index value."}]},"type":{"type":"intrinsic","name":"number"}}],"type":{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/modifiers/createModifier.ts","qualifiedName":"ModifierConfig"},"name":"ModifierConfig","package":"@expo/ui"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/docs/public/static/data/unversioned/expo-ui/swift-ui/progressview.json b/docs/public/static/data/unversioned/expo-ui/swift-ui/progressview.json
new file mode 100644
index 00000000000000..955a504799016e
--- /dev/null
+++ b/docs/public/static/data/unversioned/expo-ui/swift-ui/progressview.json
@@ -0,0 +1 @@
+{"schemaVersion":"2.0","name":"expo-ui/swift-ui/progressview","variant":"project","kind":1,"children":[{"name":"ClosedRangeDate","variant":"declaration","kind":2097152,"children":[{"name":"lower","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}},{"name":"upper","variant":"declaration","kind":1024,"type":{"type":"reference","target":{"packageName":"typescript","packagePath":"lib/lib.es5.d.ts","qualifiedName":"Date"},"name":"Date","package":"typescript"}}]},{"name":"ProgressViewProps","variant":"declaration","kind":2097152,"type":{"type":"intersection","types":[{"type":"reflection","declaration":{"name":"__type","variant":"declaration","kind":65536,"children":[{"name":"children","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A label describing the progress view's purpose."}]},"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.ReactNode"},"name":"React.ReactNode","package":"@types/react"}},{"name":"countsDown","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"A Boolean value that determines whether the view empties or fills as time passes. If true (the default), the view empties."}],"blockTags":[{"tag":"@default","content":[{"kind":"text","text":"true"}]},{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]}]},"type":{"type":"intrinsic","name":"boolean"}},{"name":"timerInterval","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The lower and upper bounds for automatic timer progress."}],"blockTags":[{"tag":"@platform","content":[{"kind":"text","text":"ios 16.0+"}]},{"tag":"@platform","content":[{"kind":"text","text":"tvos 16.0+"}]}]},"type":{"type":"reference","name":"ClosedRangeDate","package":"@expo/ui"}},{"name":"value","variant":"declaration","kind":1024,"flags":{"isOptional":true},"comment":{"summary":[{"kind":"text","text":"The current progress value. A value between "},{"kind":"code","text":"`0`"},{"kind":"text","text":" and "},{"kind":"code","text":"`1`"},{"kind":"text","text":".\nWhen "},{"kind":"code","text":"`undefined`"},{"kind":"text","text":", the progress view displays an indeterminate indicator."}]},"type":{"type":"union","types":[{"type":"intrinsic","name":"number"},{"type":"literal","value":null}]}}]}},{"type":"reference","target":{"packageName":"@expo/ui","packagePath":"src/swift-ui/types.ts","qualifiedName":"CommonViewModifierProps"},"name":"CommonViewModifierProps","package":"@expo/ui"}]}},{"name":"ProgressView","variant":"declaration","kind":64,"signatures":[{"name":"ProgressView","variant":"signature","kind":4096,"comment":{"summary":[{"kind":"text","text":"Renders a SwiftUI "},{"kind":"code","text":"`ProgressView`"},{"kind":"text","text":" component."}]},"parameters":[{"name":"props","variant":"param","kind":32768,"type":{"type":"reference","name":"ProgressViewProps","package":"@expo/ui"}}],"type":{"type":"reference","target":{"packageName":"@types/react","packagePath":"index.d.ts","qualifiedName":"React.JSX.Element"},"name":"Element","package":"@types/react","qualifiedName":"React.JSX.Element"}}]}],"packageName":"@expo/ui"}
\ No newline at end of file
diff --git a/packages/expo-brownfield/plugin/templates/ios/BrownfieldAppDelegate.swift b/packages/expo-brownfield/plugin/templates/ios/BrownfieldAppDelegate.swift
index 3b50a9e48af856..ef88fb59d151b1 100644
--- a/packages/expo-brownfield/plugin/templates/ios/BrownfieldAppDelegate.swift
+++ b/packages/expo-brownfield/plugin/templates/ios/BrownfieldAppDelegate.swift
@@ -1,6 +1,6 @@
import UIKit
-@objc(BrownfieldAppDelegate)
+@objc
open class BrownfieldAppDelegate: UIResponder, UIApplicationDelegate {
private var expoWrapper: ExpoAppDelegateWrapper? {
ReactNativeHostManager.shared.expoDelegateWrapper
diff --git a/packages/expo-brownfield/plugin/templates/ios/ReactNativeViewController.swift b/packages/expo-brownfield/plugin/templates/ios/ReactNativeViewController.swift
index d56f34f2bd0618..ae1141b4d6eeef 100644
--- a/packages/expo-brownfield/plugin/templates/ios/ReactNativeViewController.swift
+++ b/packages/expo-brownfield/plugin/templates/ios/ReactNativeViewController.swift
@@ -23,10 +23,6 @@ public class ReactNativeViewController: UIViewController {
fatalError("init(coder:) has not been implemented")
}
- deinit {
- NotificationCenter.default.removeObserver(self)
- }
-
override public func viewDidLoad() {
super.viewDidLoad()
diff --git a/packages/expo-ui/CHANGELOG.md b/packages/expo-ui/CHANGELOG.md
index 54dee97a6c6a61..67b8657b04ada5 100644
--- a/packages/expo-ui/CHANGELOG.md
+++ b/packages/expo-ui/CHANGELOG.md
@@ -16,6 +16,8 @@
- [iOS] Replace `onStateChange` event with `onIsExpandedChange` in `DisclosureGroup` ([#41726](https://github.com/expo/expo/pull/41726) by [@intergalacticspacehighway](https://github.com/intergalacticspacehighway))
- [iOS] Replace `onValueChange` event with `onSelectionChange` in `ColorPicker`. ([#41725](https://github.com/expo/expo/pull/41725) by [@nishan](https://github.com/intergalacticspacehighway))
- [iOS] Use constructor for `title` prop instead of a custom `Text` in `Section`. Replace `collapsible` prop with `isExpanded` prop ([#41722](https://github.com/expo/expo/pull/41722) by [@nishan](https://github.com/intergalacticspacehighway))
+- [iOS] Remove `scrollEnabled` prop from Form. Use `scrollDisabled` modifier instead. ([#41728](https://github.com/expo/expo/pull/41728) by [@nishan](https://github.com/intergalacticspacehighway))
+- [iOS] - Replace `Progress` with `ProgressView` ([#42019](https://github.com/expo/expo/pull/42019) by [@nishan](https://github.com/intergalacticspacehighway))
### 🎉 New features
diff --git a/packages/expo-ui/build/swift-ui/Form/index.d.ts b/packages/expo-ui/build/swift-ui/Form/index.d.ts
index be28ad78e056a4..234f456ab2b6fc 100644
--- a/packages/expo-ui/build/swift-ui/Form/index.d.ts
+++ b/packages/expo-ui/build/swift-ui/Form/index.d.ts
@@ -1,13 +1,9 @@
import { type CommonViewModifierProps } from '../types';
export interface FormProps extends CommonViewModifierProps {
- children: React.ReactNode;
/**
- * Makes the form scrollable.
- * @default true
- * @platform ios 16.0+
- * @platform tvos 16.0+
+ * The content of the form.
*/
- scrollEnabled?: boolean;
+ children: React.ReactNode;
}
export declare function Form(props: FormProps): import("react").JSX.Element;
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/Form/index.d.ts.map b/packages/expo-ui/build/swift-ui/Form/index.d.ts.map
index 31315b5a2b4175..383f8cde1d0b13 100644
--- a/packages/expo-ui/build/swift-ui/Form/index.d.ts.map
+++ b/packages/expo-ui/build/swift-ui/Form/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Form/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,SAAU,SAAQ,uBAAuB;IACxD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAaD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,+BAEpC"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Form/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,SAAU,SAAQ,uBAAuB;IACxD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAaD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,+BAEpC"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/Host/index.d.ts b/packages/expo-ui/build/swift-ui/Host/index.d.ts
index f54e6d266e2df0..8dee310c99ad28 100644
--- a/packages/expo-ui/build/swift-ui/Host/index.d.ts
+++ b/packages/expo-ui/build/swift-ui/Host/index.d.ts
@@ -1,4 +1,4 @@
-import { type ColorSchemeName, StyleProp, ViewStyle } from 'react-native';
+import { StyleProp, ViewStyle } from 'react-native';
import { type CommonViewModifierProps } from '../types';
export type HostProps = {
/**
@@ -29,7 +29,7 @@ export type HostProps = {
/**
* The color scheme of the host view.
*/
- colorScheme?: ColorSchemeName;
+ colorScheme?: 'light' | 'dark';
/**
* The layout direction for the SwiftUI content.
* Defaults to the current locale direction from I18nManager.
diff --git a/packages/expo-ui/build/swift-ui/Host/index.d.ts.map b/packages/expo-ui/build/swift-ui/Host/index.d.ts.map
index 29432f9511ef78..1982e325b03f39 100644
--- a/packages/expo-ui/build/swift-ui/Host/index.d.ts.map
+++ b/packages/expo-ui/build/swift-ui/Host/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Host/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAe,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGvF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAEvE;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAEtF;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAEhD;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,GAAG,uBAAuB,CAAC;AAM5B;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,+BA4BpC"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Host/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAEvE;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAEtF;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAEhD;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,GAAG,uBAAuB,CAAC;AAM5B;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,+BA4BpC"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/Progress/index.d.ts b/packages/expo-ui/build/swift-ui/Progress/index.d.ts
deleted file mode 100644
index d492fe331497a5..00000000000000
--- a/packages/expo-ui/build/swift-ui/Progress/index.d.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { ColorValue } from 'react-native';
-import { type CommonViewModifierProps } from '../types';
-type ClosedRangeDate = {
- lower: Date;
- upper: Date;
-};
-export type ProgressProps = {
- /**
- * The current progress value of the slider. This is a number between `0` and `1`.
- */
- progress?: number | null;
- /**
- * Progress color.
- */
- color?: ColorValue;
- /**
- * The style of the progress indicator.
- * @default 'circular'
- */
- variant?: 'linear' | 'circular';
- /**
- * The lower and upper bounds for automatic timer progress.
- */
- timerInterval?: ClosedRangeDate;
- /**
- * Whether the progress counts down instead of up.
- * @default false
- */
- countsDown?: boolean;
-} & CommonViewModifierProps;
-/**
- * Renders a `Progress` component.
- */
-export declare function Progress(props: ProgressProps): import("react").JSX.Element;
-export {};
-//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/Progress/index.d.ts.map b/packages/expo-ui/build/swift-ui/Progress/index.d.ts.map
deleted file mode 100644
index d7d165a06d544a..00000000000000
--- a/packages/expo-ui/build/swift-ui/Progress/index.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/Progress/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,KAAK,eAAe,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,uBAAuB,CAAC;AAW5B;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAiB5C"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts b/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts
new file mode 100644
index 00000000000000..c22cfdfbdbb291
--- /dev/null
+++ b/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts
@@ -0,0 +1,34 @@
+import { type CommonViewModifierProps } from '../types';
+export type ClosedRangeDate = {
+ lower: Date;
+ upper: Date;
+};
+export type ProgressViewProps = {
+ /**
+ * The current progress value. A value between `0` and `1`.
+ * When `undefined`, the progress view displays an indeterminate indicator.
+ */
+ value?: number | null;
+ /**
+ * The lower and upper bounds for automatic timer progress.
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ */
+ timerInterval?: ClosedRangeDate;
+ /**
+ * A Boolean value that determines whether the view empties or fills as time passes. If `true`, which is the default, the view empties.
+ * @default true
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ */
+ countsDown?: boolean;
+ /**
+ * A label describing the progress view's purpose.
+ */
+ children?: React.ReactNode;
+} & CommonViewModifierProps;
+/**
+ * Renders a SwiftUI `ProgressView` component.
+ */
+export declare function ProgressView(props: ProgressViewProps): import("react").JSX.Element;
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts.map b/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts.map
new file mode 100644
index 00000000000000..4c61acc2354cb2
--- /dev/null
+++ b/packages/expo-ui/build/swift-ui/ProgressView/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/ProgressView/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,uBAAuB,CAAC;AAW5B;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,+BAiBpD"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/index.d.ts b/packages/expo-ui/build/swift-ui/index.d.ts
index 0fc1f59cb23458..adcfc985f2da71 100644
--- a/packages/expo-ui/build/swift-ui/index.d.ts
+++ b/packages/expo-ui/build/swift-ui/index.d.ts
@@ -17,7 +17,7 @@ export * from './Layout';
export * from './List';
export * from './Menu';
export * from './Picker';
-export * from './Progress';
+export * from './ProgressView';
export * from './Section';
export * from './ShareLink';
export * from './Slider';
diff --git a/packages/expo-ui/build/swift-ui/index.d.ts.map b/packages/expo-ui/build/swift-ui/index.d.ts.map
index 2a58f428ed0fca..32f6c42d8a354f 100644
--- a/packages/expo-ui/build/swift-ui/index.d.ts.map
+++ b/packages/expo-ui/build/swift-ui/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swift-ui/index.tsx"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/modifiers/index.d.ts b/packages/expo-ui/build/swift-ui/modifiers/index.d.ts
index 853792fded1926..ebddf85063bdad 100644
--- a/packages/expo-ui/build/swift-ui/modifiers/index.d.ts
+++ b/packages/expo-ui/build/swift-ui/modifiers/index.d.ts
@@ -7,6 +7,7 @@ import { background } from './background';
import { containerShape } from './containerShape';
import { createModifier, ModifierConfig } from './createModifier';
import { datePickerStyle } from './datePickerStyle';
+import { progressViewStyle } from './progressViewStyle';
import type { Color } from './types';
/**
* Sets the spacing between adjacent sections.
@@ -392,6 +393,14 @@ export declare const textFieldStyle: (style: "automatic" | "plain" | "roundedBor
* @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldismisseskeyboard(_:)).
*/
export declare const scrollDismissesKeyboard: (mode: "automatic" | "never" | "interactively" | "immediately") => ModifierConfig;
+/**
+ * Disables or enables scrolling in scrollable views.
+ * @param disabled - Whether scrolling should be disabled (default: true).
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldisabled(_:)).
+ */
+export declare const scrollDisabled: (disabled?: boolean) => ModifierConfig;
/**
* Controls the dismissal behavior of menu actions.
* @param behavior - The menu action dismiss behavior.
@@ -711,7 +720,7 @@ export declare const submitLabel: (submitLabel: "continue" | "done" | "go" | "jo
* This provides type safety for the modifiers array.
* @hidden
*/
-export type BuiltInModifier = ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType;
+export type BuiltInModifier = ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType | ReturnType;
/**
* Main ViewModifier type that supports both built-in and 3rd party modifiers.
* 3rd party modifiers should return ModifierConfig objects with their own type strings.
@@ -748,4 +757,5 @@ export type * from './types';
export * from './tag';
export * from './pickerStyle';
export * from './datePickerStyle';
+export * from './progressViewStyle';
//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/modifiers/index.d.ts.map b/packages/expo-ui/build/swift-ui/modifiers/index.d.ts.map
index 62c1b6fea17f52..d3e60928cc56a0 100644
--- a/packages/expo-ui/build/swift-ui/modifiers/index.d.ts.map
+++ b/packages/expo-ui/build/swift-ui/modifiers/index.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts b/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts
new file mode 100644
index 00000000000000..f390282152924e
--- /dev/null
+++ b/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts
@@ -0,0 +1,8 @@
+export type ProgressViewStyleType = 'automatic' | 'linear' | 'circular';
+/**
+ * Sets the style for the progress view.
+ * @param style - The style for the progress view.
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/progressviewstyle).
+ */
+export declare const progressViewStyle: (style: ProgressViewStyleType) => import("./createModifier").ModifierConfig;
+//# sourceMappingURL=progressViewStyle.d.ts.map
\ No newline at end of file
diff --git a/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts.map b/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts.map
new file mode 100644
index 00000000000000..71e21a5332e4d2
--- /dev/null
+++ b/packages/expo-ui/build/swift-ui/modifiers/progressViewStyle.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"progressViewStyle.d.ts","sourceRoot":"","sources":["../../../src/swift-ui/modifiers/progressViewStyle.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,qBAAqB,8CACd,CAAC"}
\ No newline at end of file
diff --git a/packages/expo-ui/ios/FormView.swift b/packages/expo-ui/ios/FormView.swift
index 6be5cf9e96d6be..aadb0c9b56c8f8 100644
--- a/packages/expo-ui/ios/FormView.swift
+++ b/packages/expo-ui/ios/FormView.swift
@@ -4,21 +4,14 @@ import SwiftUI
import ExpoModulesCore
internal final class FormViewProps: UIBaseViewProps {
- @Field var scrollEnabled: Bool = true
}
internal struct FormView: ExpoSwiftUI.View {
@ObservedObject var props: FormViewProps
var body: some View {
- let form = Form {
+ Form {
Children()
}
-
- if #available(iOS 16.0, tvOS 16.0, *) {
- form.scrollDisabled(!props.scrollEnabled)
- } else {
- form
- }
}
}
diff --git a/packages/expo-ui/ios/List.swift b/packages/expo-ui/ios/List.swift
index 50e134100926b2..6a5d462c7fcac2 100644
--- a/packages/expo-ui/ios/List.swift
+++ b/packages/expo-ui/ios/List.swift
@@ -45,7 +45,6 @@ struct ListView: ExpoSwiftUI.View {
.onChange(of: selection) { selection in
handleSelectionChange(selection: selection)
}
- .modifier(ScrollDisabledModifier(scrollEnabled: props.scrollEnabled))
.environment(\.editMode, $editModeEnabled)
if #available(iOS 16.0, tvOS 16.0, *) {
list.scrollDisabled(!props.scrollEnabled)
@@ -106,15 +105,3 @@ struct ListStyleModifer: ViewModifier {
}
}
}
-
-struct ScrollDisabledModifier: ViewModifier {
- let scrollEnabled: Bool
-
- func body(content: Content) -> some View {
- if #available(iOS 16.0, tvOS 16.0, *) {
- content.scrollDisabled(!scrollEnabled)
- } else {
- content
- }
- }
-}
diff --git a/packages/expo-ui/ios/Modifiers/ProgressViewStyleModifier.swift b/packages/expo-ui/ios/Modifiers/ProgressViewStyleModifier.swift
new file mode 100644
index 00000000000000..5f3fb6b3fe49c6
--- /dev/null
+++ b/packages/expo-ui/ios/Modifiers/ProgressViewStyleModifier.swift
@@ -0,0 +1,35 @@
+// Copyright 2026-present 650 Industries. All rights reserved.
+
+import ExpoModulesCore
+import SwiftUI
+
+internal enum ProgressViewStyleType: String, Enumerable {
+ case automatic
+ case linear
+ case circular
+
+ @ViewBuilder
+ func apply(to content: Content) -> some View {
+ switch self {
+ case .linear:
+ content.progressViewStyle(.linear)
+ case .circular:
+ content.progressViewStyle(.circular)
+ default:
+ content.progressViewStyle(.automatic)
+ }
+ }
+}
+
+internal struct ProgressViewStyleModifier: ViewModifier, Record {
+ @Field var style: ProgressViewStyleType?
+
+ @ViewBuilder
+ func body(content: Content) -> some View {
+ if let style = style {
+ style.apply(to: content)
+ } else {
+ content
+ }
+ }
+}
diff --git a/packages/expo-ui/ios/Modifiers/ScrollDisabledModifier.swift b/packages/expo-ui/ios/Modifiers/ScrollDisabledModifier.swift
new file mode 100644
index 00000000000000..5bc9dfc026ae22
--- /dev/null
+++ b/packages/expo-ui/ios/Modifiers/ScrollDisabledModifier.swift
@@ -0,0 +1,16 @@
+// Copyright 2015-present 650 Industries. All rights reserved.
+
+import ExpoModulesCore
+import SwiftUI
+
+internal struct ScrollDisabledModifier: ViewModifier, Record {
+ @Field var disabled: Bool = true
+
+ func body(content: Content) -> some View {
+ if #available(iOS 16.0, tvOS 16.0, *) {
+ content.scrollDisabled(disabled)
+ } else {
+ content
+ }
+ }
+}
diff --git a/packages/expo-ui/ios/Modifiers/ViewModifierRegistry.swift b/packages/expo-ui/ios/Modifiers/ViewModifierRegistry.swift
index 18f0347030cf6e..0996839011b3a5 100644
--- a/packages/expo-ui/ios/Modifiers/ViewModifierRegistry.swift
+++ b/packages/expo-ui/ios/Modifiers/ViewModifierRegistry.swift
@@ -1756,5 +1756,13 @@ extension ViewModifierRegistry {
register("datePickerStyle") { params, appContext, _ in
return try DatePickerStyleModifier(from: params, appContext: appContext)
}
+
+ register("scrollDisabled") { params, appContext, _ in
+ return try ScrollDisabledModifier(from: params, appContext: appContext)
+ }
+
+ register("progressViewStyle") { params, appContext, _ in
+ return try ProgressViewStyleModifier(from: params, appContext: appContext)
+ }
}
}
diff --git a/packages/expo-ui/ios/ProgressView.swift b/packages/expo-ui/ios/ProgressView.swift
index 856af33911ef51..e6d46c6fe7723e 100644
--- a/packages/expo-ui/ios/ProgressView.swift
+++ b/packages/expo-ui/ios/ProgressView.swift
@@ -3,40 +3,26 @@
import ExpoModulesCore
import SwiftUI
-internal enum ProgressVariant: String, Enumerable {
- case circular
- case linear
-}
-
final class ClosedRangeDate: Record {
@Field var lower: Date?
@Field var upper: Date?
}
-public final class ProgressProps: UIBaseViewProps {
- @Field var variant: ProgressVariant = .circular
+public final class ProgressViewProps: UIBaseViewProps {
@Field var timerInterval: ClosedRangeDate?
@Field var countsDown: Bool?
- @Field var progress: Double?
- @Field var color: Color?
+ @Field var value: Double?
}
public struct ProgressView: ExpoSwiftUI.View {
- @ObservedObject public var props: ProgressProps
+ @ObservedObject public var props: ProgressViewProps
- public init(props: ProgressProps) {
+ public init(props: ProgressViewProps) {
self.props = props
}
public var body: some View {
progressView
- .tint(props.color)
- .if(props.variant == .circular) {
- $0.progressViewStyle(.circular)
- }
- .if(props.variant == .linear) {
- $0.progressViewStyle(.linear)
- }
}
@ViewBuilder
@@ -46,9 +32,17 @@ public struct ProgressView: ExpoSwiftUI.View {
let upper = timerInterval.upper,
lower <= upper,
#available(iOS 16.0, tvOS 16.0, *) {
- SwiftUI.ProgressView(timerInterval: ClosedRange(uncheckedBounds: (lower: lower, upper: upper)), countsDown: props.countsDown ?? true)
+ SwiftUI.ProgressView(timerInterval: ClosedRange(uncheckedBounds: (lower: lower, upper: upper)), countsDown: props.countsDown ?? true) {
+ Children()
+ }
+ } else if let value = props.value {
+ SwiftUI.ProgressView(value: value) {
+ Children()
+ }
} else {
- SwiftUI.ProgressView(value: props.progress)
+ SwiftUI.ProgressView {
+ Children()
+ }
}
}
}
diff --git a/packages/expo-ui/src/swift-ui/Form/index.tsx b/packages/expo-ui/src/swift-ui/Form/index.tsx
index a9fbf48273f5bd..937e24066948fb 100644
--- a/packages/expo-ui/src/swift-ui/Form/index.tsx
+++ b/packages/expo-ui/src/swift-ui/Form/index.tsx
@@ -4,15 +4,10 @@ import { createViewModifierEventListener } from '../modifiers/utils';
import { type CommonViewModifierProps } from '../types';
export interface FormProps extends CommonViewModifierProps {
- children: React.ReactNode;
-
/**
- * Makes the form scrollable.
- * @default true
- * @platform ios 16.0+
- * @platform tvos 16.0+
+ * The content of the form.
*/
- scrollEnabled?: boolean;
+ children: React.ReactNode;
}
const FormNativeView: React.ComponentType = requireNativeView('ExpoUI', 'FormView');
diff --git a/packages/expo-ui/src/swift-ui/Host/index.tsx b/packages/expo-ui/src/swift-ui/Host/index.tsx
index ed1a30bc34411a..d9515b9edea7e6 100644
--- a/packages/expo-ui/src/swift-ui/Host/index.tsx
+++ b/packages/expo-ui/src/swift-ui/Host/index.tsx
@@ -1,5 +1,5 @@
import { requireNativeView } from 'expo';
-import { type ColorSchemeName, I18nManager, StyleProp, ViewStyle } from 'react-native';
+import { I18nManager, StyleProp, ViewStyle } from 'react-native';
import { createViewModifierEventListener } from '../modifiers/utils';
import { type CommonViewModifierProps } from '../types';
@@ -28,7 +28,7 @@ export type HostProps = {
/**
* The color scheme of the host view.
*/
- colorScheme?: ColorSchemeName;
+ colorScheme?: 'light' | 'dark';
/**
* The layout direction for the SwiftUI content.
diff --git a/packages/expo-ui/src/swift-ui/Progress/index.tsx b/packages/expo-ui/src/swift-ui/Progress/index.tsx
deleted file mode 100644
index a3a0d7030c1f37..00000000000000
--- a/packages/expo-ui/src/swift-ui/Progress/index.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { requireNativeView } from 'expo';
-import { ColorValue } from 'react-native';
-
-import { createViewModifierEventListener } from '../modifiers/utils';
-import { type CommonViewModifierProps } from '../types';
-
-type ClosedRangeDate = { lower: Date; upper: Date };
-type ClosedRangeInternal = { lower: number; upper: number };
-
-export type ProgressProps = {
- /**
- * The current progress value of the slider. This is a number between `0` and `1`.
- */
- progress?: number | null;
- /**
- * Progress color.
- */
- color?: ColorValue;
- /**
- * The style of the progress indicator.
- * @default 'circular'
- */
- variant?: 'linear' | 'circular';
- /**
- * The lower and upper bounds for automatic timer progress.
- */
- timerInterval?: ClosedRangeDate;
- /**
- * Whether the progress counts down instead of up.
- * @default false
- */
- countsDown?: boolean;
-} & CommonViewModifierProps;
-
-type NativeProgressProps = Omit & {
- timerInterval?: ClosedRangeInternal;
-};
-
-const NativeProgressView: React.ComponentType = requireNativeView(
- 'ExpoUI',
- 'ProgressView'
-);
-
-/**
- * Renders a `Progress` component.
- */
-export function Progress(props: ProgressProps) {
- const { modifiers, timerInterval, ...restProps } = props;
- return (
-
- );
-}
diff --git a/packages/expo-ui/src/swift-ui/ProgressView/index.tsx b/packages/expo-ui/src/swift-ui/ProgressView/index.tsx
new file mode 100644
index 00000000000000..3f415c47e72b78
--- /dev/null
+++ b/packages/expo-ui/src/swift-ui/ProgressView/index.tsx
@@ -0,0 +1,62 @@
+import { requireNativeView } from 'expo';
+
+import { createViewModifierEventListener } from '../modifiers/utils';
+import { type CommonViewModifierProps } from '../types';
+
+export type ClosedRangeDate = { lower: Date; upper: Date };
+
+export type ProgressViewProps = {
+ /**
+ * The current progress value. A value between `0` and `1`.
+ * When `undefined`, the progress view displays an indeterminate indicator.
+ */
+ value?: number | null;
+ /**
+ * The lower and upper bounds for automatic timer progress.
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ */
+ timerInterval?: ClosedRangeDate;
+ /**
+ * A Boolean value that determines whether the view empties or fills as time passes. If `true`, which is the default, the view empties.
+ * @default true
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ */
+ countsDown?: boolean;
+ /**
+ * A label describing the progress view's purpose.
+ */
+ children?: React.ReactNode;
+} & CommonViewModifierProps;
+
+type NativeProgressViewProps = Omit & {
+ timerInterval?: { lower: number; upper: number };
+};
+
+const NativeProgressView: React.ComponentType = requireNativeView(
+ 'ExpoUI',
+ 'ProgressView'
+);
+
+/**
+ * Renders a SwiftUI `ProgressView` component.
+ */
+export function ProgressView(props: ProgressViewProps) {
+ const { modifiers, timerInterval, ...restProps } = props;
+ return (
+
+ );
+}
diff --git a/packages/expo-ui/src/swift-ui/index.tsx b/packages/expo-ui/src/swift-ui/index.tsx
index 575293337d6856..68037052f6f98e 100644
--- a/packages/expo-ui/src/swift-ui/index.tsx
+++ b/packages/expo-ui/src/swift-ui/index.tsx
@@ -17,7 +17,7 @@ export * from './Layout';
export * from './List';
export * from './Menu';
export * from './Picker';
-export * from './Progress';
+export * from './ProgressView';
export * from './Section';
export * from './ShareLink';
export * from './Slider';
diff --git a/packages/expo-ui/src/swift-ui/modifiers/index.ts b/packages/expo-ui/src/swift-ui/modifiers/index.ts
index f11cc1ea308b6a..5117e420e9d0dc 100644
--- a/packages/expo-ui/src/swift-ui/modifiers/index.ts
+++ b/packages/expo-ui/src/swift-ui/modifiers/index.ts
@@ -10,6 +10,7 @@ import { background } from './background';
import { containerShape } from './containerShape';
import { createModifier, ModifierConfig } from './createModifier';
import { datePickerStyle } from './datePickerStyle';
+import { progressViewStyle } from './progressViewStyle';
import type { Color } from './types';
const ExpoUI = requireNativeModule('ExpoUI');
@@ -493,6 +494,16 @@ export const scrollDismissesKeyboard = (
mode: 'automatic' | 'never' | 'interactively' | 'immediately'
) => createModifier('scrollDismissesKeyboard', { mode });
+/**
+ * Disables or enables scrolling in scrollable views.
+ * @param disabled - Whether scrolling should be disabled (default: true).
+ * @platform ios 16.0+
+ * @platform tvos 16.0+
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/view/scrolldisabled(_:)).
+ */
+export const scrollDisabled = (disabled: boolean = true) =>
+ createModifier('scrollDisabled', { disabled });
+
/**
* Controls the dismissal behavior of menu actions.
* @param behavior - The menu action dismiss behavior.
@@ -919,6 +930,7 @@ export type BuiltInModifier =
| ReturnType
| ReturnType
| ReturnType
+ | ReturnType
| ReturnType
| ReturnType
| ReturnType
@@ -941,7 +953,8 @@ export type BuiltInModifier =
| ReturnType
| ReturnType
| ReturnType
- | ReturnType;
+ | ReturnType
+ | ReturnType;
/**
* Main ViewModifier type that supports both built-in and 3rd party modifiers.
@@ -991,3 +1004,4 @@ export type * from './types';
export * from './tag';
export * from './pickerStyle';
export * from './datePickerStyle';
+export * from './progressViewStyle';
diff --git a/packages/expo-ui/src/swift-ui/modifiers/progressViewStyle.ts b/packages/expo-ui/src/swift-ui/modifiers/progressViewStyle.ts
new file mode 100644
index 00000000000000..c6a763b9057098
--- /dev/null
+++ b/packages/expo-ui/src/swift-ui/modifiers/progressViewStyle.ts
@@ -0,0 +1,11 @@
+import { createModifier } from './createModifier';
+
+export type ProgressViewStyleType = 'automatic' | 'linear' | 'circular';
+
+/**
+ * Sets the style for the progress view.
+ * @param style - The style for the progress view.
+ * @see Official [SwiftUI documentation](https://developer.apple.com/documentation/swiftui/progressviewstyle).
+ */
+export const progressViewStyle = (style: ProgressViewStyleType) =>
+ createModifier('progressViewStyle', { style });
diff --git a/tools/src/commands/GenerateDocsAPIData.ts b/tools/src/commands/GenerateDocsAPIData.ts
index 00bf743bfb30d0..27b25f84f814b3 100644
--- a/tools/src/commands/GenerateDocsAPIData.ts
+++ b/tools/src/commands/GenerateDocsAPIData.ts
@@ -30,6 +30,7 @@ const uiPackagesMapping: Record = {
'expo-ui/swift-ui/circularprogress': ['swift-ui/Progress/index.tsx', 'expo-ui'],
'expo-ui/jetpack-compose/circularprogress': ['jetpack-compose/Progress/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/colorpicker': ['swift-ui/ColorPicker/index.tsx', 'expo-ui'],
+ 'expo-ui/swift-ui/form': ['swift-ui/Form/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/contextmenu': ['swift-ui/ContextMenu/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/disclosuregroup': ['swift-ui/DisclosureGroup/index.tsx', 'expo-ui'],
'expo-ui/jetpack-compose/contextmenu': ['jetpack-compose/ContextMenu/index.tsx', 'expo-ui'],
@@ -49,9 +50,9 @@ const uiPackagesMapping: Record = {
'expo-ui/swift-ui/toggle': ['swift-ui/Toggle/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/namespace': ['swift-ui/Namespace.tsx', 'expo-ui'],
'expo-ui/swift-ui/section': ['swift-ui/Section/index.tsx', 'expo-ui'],
- 'expo-ui/swift-ui/form': ['swift-ui/Form/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/divider': ['swift-ui/Divider/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/modifiers': ['swift-ui/modifiers/index.ts', 'expo-ui'],
+ 'expo-ui/swift-ui/progressview': ['swift-ui/ProgressView/index.tsx', 'expo-ui'],
'expo-ui/jetpack-compose/switch': ['jetpack-compose/Switch/index.tsx', 'expo-ui'],
'expo-ui/swift-ui/textfield': ['swift-ui/TextField/index.tsx', 'expo-ui'],
'expo-ui/jetpack-compose/textinput': ['jetpack-compose/TextInput/index.tsx', 'expo-ui'],