This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Modifiers
SwiftUI view modifiers for customizing component appearance and behavior.
SwiftUI view modifiers that allow you to customize the appearance and behavior of UI components.
Installation
If you are installing this in an existing React Native app, make sure to install expo in your project.
Usage
Modifiers are applied to components using the modifiers prop with an array syntax. You can combine multiple modifiers to create complex styling and behavior.
import { Text, Host, VStack } from '@expo/ui/swift-ui'; import { background, cornerRadius, padding, shadow, foregroundColor, onTapGesture, } from '@expo/ui/swift-ui/modifiers'; function ModifiersExample() { const [isEnabled, setIsEnabled] = useState(false); return ( <Host style={{ flex: 1 }}> <VStack spacing={20}> {/* Basic styling modifiers */} <Text modifiers={[ background('#FF6B6B'), cornerRadius(12), padding({ all: 16 }), foregroundColor('#FFFFFF'), ]}> Basic styled text </Text> {/* Complex combination with shadow and interaction */} <Text modifiers={[ background('#4ECDC4'), cornerRadius(16), padding({ horizontal: 20, vertical: 12 }), shadow({ radius: 4, x: 0, y: 2, color: '#4ECDC440' }), onTapGesture(() => console.log('Tapped!')), ]}> Styled with shadow and tap gesture </Text> {/* Conditional modifiers using spread operator */} <Text modifiers={[ background('#9B59B6'), cornerRadius(8), padding({ all: 14 }), ...(isEnabled ? [shadow({ radius: 6, y: 3 }), scaleEffect(1.02)] : [grayscale(0.5), opacity(0.7)]), ]}> Conditional styling </Text> </VStack> </Host> ); }
You can also create custom modifiers that work with any Expo UI component. See the Extending with SwiftUI guide for details.
API
import { background, cornerRadius, padding, shadow, foregroundColor, onTapGesture } from '@expo/ui/swift-ui/modifiers';
Constants
Built-in animation presets for the animation modifier.
Presets:
- Timing presets (
easeInOut,easeIn,easeOut,linear) acceptTimingAnimationParams. springacceptsSpringAnimationParams.interpolatingSpringacceptsInterpolatingSpringAnimationParams.- Chaining returns
ChainableAnimationType.
Example
import { Host, VStack } from '@expo/ui/swift-ui'; import { animation, Animation } from '@expo/ui/swift-ui/modifiers'; function Example() { const [isExpanded, setIsExpanded] = useState(false); return ( <Host style={{ flex: 1 }}> <VStack modifiers={[animation(Animation.spring({ duration: 0.8 }), isExpanded)]}> //... </VStack> </Host> ); }
Shape builders for modifiers that accept shapes, such as background and containerShape.
Shapes: roundedRectangle, capsule, rectangle, ellipse, circle, containerRelativeShape.
Example
import { background, shapes } from '@expo/ui/swift-ui/modifiers'; import { Text, Host } from '@expo/ui/swift-ui'; function Example() { return ( <Host> <Text modifiers={[ background('#000', shapes.roundedRectangle({ cornerRadius: 12 })), ]} > Hello, world! </Text> </Host> ); }
Hooks
Fires when the scroll geometry changes — i.e., on every scroll update and on container/content size changes. Use to drive continuous progress UI such as page indicators, parallax, or fractional offsets.
If the callback is marked with the 'worklet' directive, it runs
synchronously on the UI thread (no JS-thread round-trip); otherwise it is
delivered asynchronously as a regular JS event. Both paths share the same
native modifier — the worklet variant is automatically wrapped in a
WorkletCallback shared object whose lifetime is managed by the hook.
This is a hook because the worklet path requires a stable shared-object
reference across renders. Call it at the top of your component, then
include the returned modifier in your modifiers array.
Apply to a SwiftUI ScrollView (and other scrollable views). On iOS below
18.0 the modifier is a no-op.
ModifierConfig | nullSee: Official SwiftUI documentation.
Example
const geometryModifier = useScrollGeometryChange((g) => { 'worklet'; progress.value = g.contentOffsetX / g.containerWidth; }); <ScrollView modifiers={[geometryModifier]} />
Methods
Adds the given accessibility traits to the view.
ModifierConfigSee: Official SwiftUI documentation.
Controls how a view's child accessibility elements are exposed, mirroring SwiftUI's
accessibilityElement(children:). It creates a new accessibility element (or modifies
the existing one) and applies the chosen behavior to the subtree.
Complements accessibilityHidden, which hides a single leaf, by acting on the whole subtree.
ModifierConfigSee: Official SwiftUI documentation.
Marks the view as decoratively-named so VoiceOver and other assistive technologies skip it during element traversal. Useful for hero icons or presentational imagery that's already described by adjacent text.
ModifierConfigSee: Official SwiftUI documentation.
Sets an accessibility identifier for the view.
Unlike accessibilityLabel, this value is for UI testing and is not visible
to the user. UI testing tools such as XCUITest read it to locate the view, so
prefer a stable, machine-readable identifier here.
ModifierConfigSee: Official SwiftUI documentation.
Sets alternative spoken phrases that Voice Control uses to refer to the view.
Each label is read as a Text element on iOS. For example, an "End" button
might offer "Hang up" so users can trigger it by saying that phrase.
ModifierConfigSee: Official SwiftUI documentation.
Removes the given accessibility traits from the view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the background tint color for a Live Activity.
ModifierConfigSee: Official SwiftUI documentation.
Sets whether text in this view can compress the space between characters when necessary to fit text in a line
ModifierConfigSee: Official SwiftUI documentation.
Disables autocorrection for text input views.
ModifierConfigSee: Official SwiftUI documentation.
Generates a badge for the view from a localized string key.
ModifierConfigSee: Official SwiftUI documentation.
The prominence to apply to badges associated with this environment.
ModifierConfigSee: Official SwiftUI documentation.
Makes text bold.
When applied to Text, it works on all iOS/tvOS versions. When used on regular views, it requires iOS 16.0+/tvOS 16.0+.
ModifierConfigSee: Official SwiftUI documentation.
Sets the border shape used by buttons within this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the container background of the enclosing container using a view.
ModifierConfigSee: Official SwiftUI documentation.
Positions this view within an invisible frame with a size relative to the nearest container.
ModifierConfigSee: Official SwiftUI documentation.
Defines the content shape for hit-testing purposes.
This modifier is essential for making entire view areas (including Spacer or empty space)
interactive. Without it, only visible elements like Text or Image respond to tap gestures.
ModifierConfigSee: Official SwiftUI documentation.
Example
import { HStack, List, Section, Spacer, Text } from "@expo/ui/swift-ui"; import { contentShape, onTapGesture } from "@expo/ui/swift-ui/modifiers"; import { shapes } from "@expo/ui/swift-ui/modifiers"; function InteractiveRow() { return ( <List> <Section title="Settings"> <HStack modifiers={[ contentShape(shapes.rectangle()), onTapGesture(() => console.log("Row tapped!")) ]} > <Text>Label</Text> <Spacer /> <Text>Value</Text> </HStack> </Section> </List> ); }
Sets the content transition type for a view.
Useful for animating changes in text content, especially numeric text.
Use with the animation modifier to animate the transition when the content changes.
ModifierConfigSee: Official SwiftUI documentation.
Example
<Text modifiers={[contentTransition('numericText'), animation(Animation.default, count)]}> {count.toString()} </Text>
Sets the size of controls within this view.
ModifierConfigSee: Official SwiftUI documentation.
Factory function to create modifier configuration objects. This is used by all built-in modifier functions and can be used by 3rd party libraries to create custom modifiers.
ModifierConfigA ModifierConfig object that can be passed in the modifiers prop array.
Example
// In a 3rd party package import { createModifier } from '@expo/ui/swift-ui/modifiers'; export const blurEffect = (params: { radius: number; style?: string }) => createModifier('blurEffect', params);
Sets the default anchor point for a scroll view's content.
ModifierConfigSee: Official SwiftUI documentation.
Sets the default anchor point for a scroll view for a specific role.
Pass null to opt out of a specific role while keeping anchors for other roles.
ModifierConfigSee: Official SwiftUI documentation.
Disables the delete action for a view in a list.
Apply to items within a ForEach to prevent them from being deleted.
ModifierConfigSee: Official SwiftUI documentation.
Sets or constrains the Dynamic Type size within the view, overriding the value inherited from the system.
Four variants matching SwiftUI's dynamicTypeSize(_:):
dynamicTypeSize('large')— fixes the Dynamic Type size to a single valuedynamicTypeSize({ max: 'accessibility3' })— caps growth at a ceiling (...accessibility3)dynamicTypeSize({ min: 'large' })— sets a floor (large...)dynamicTypeSize({ min: 'large', max: 'accessibility3' })— clamps to a range (large...accessibility3)
min and max are independent: pass either or both. Set it on a <Host> to
cascade the constraint to every descendant through the SwiftUI environment.
Keep min at or below max, or the range traps natively, like SwiftUI.
Per Apple's guidance, prefer capping at an accessibility size over disabling
Dynamic Type entirely.
ModifierConfigSee: Official SwiftUI documentation.
Example
// Cap how large text in a tight layout can grow <Host modifiers={[dynamicTypeSize({ max: 'accessibility3' })]}>...</Host>
Sets or constrains the Dynamic Type size within the view, overriding the value inherited from the system.
Four variants matching SwiftUI's dynamicTypeSize(_:):
dynamicTypeSize('large')— fixes the Dynamic Type size to a single valuedynamicTypeSize({ max: 'accessibility3' })— caps growth at a ceiling (...accessibility3)dynamicTypeSize({ min: 'large' })— sets a floor (large...)dynamicTypeSize({ min: 'large', max: 'accessibility3' })— clamps to a range (large...accessibility3)
min and max are independent: pass either or both. Set it on a <Host> to
cascade the constraint to every descendant through the SwiftUI environment.
Keep min at or below max, or the range traps natively, like SwiftUI.
Per Apple's guidance, prefer capping at an accessibility size over disabling
Dynamic Type entirely.
ModifierConfigSee: Official SwiftUI documentation.
Example
// Cap how large text in a tight layout can grow <Host modifiers={[dynamicTypeSize({ max: 'accessibility3' })]}>...</Host>
Sets the font properties of a view.
Pass textStyle to scale with the user's Dynamic Type setting. Combine
it with family to scale a custom font.
ModifierConfigSee: Official SwiftUI documentation for
system(_:design:weight:), andcustom(_:size:relativeTo:).
Example
// Scales with Dynamic Type <Text modifiers={[font({ textStyle: 'largeTitle', weight: 'bold' })]}>Hello</Text> // Custom font that scales relative to the body text style <Text modifiers={[font({ textStyle: 'body', family: 'Helvetica', size: 18 })]}>Hi</Text> // Fixed-size system font (no Dynamic Type scaling) <Text modifiers={[font({ weight: 'bold', design: 'rounded', size: 16 })]}>Static</Text>
Deprecated: Use
foregroundStyleinstead.
Sets the foreground style of a view with comprehensive styling options.
Replaces the deprecated foregroundColor modifier with enhanced capabilities including
colors, gradients, and semantic hierarchical styles that adapt to system appearance.
ModifierConfigA view modifier that applies the specified foreground style
See: Official SwiftUI documentation.
Example
// Simple usage <Text modifiers={[foregroundStyle('#FF0000')]}>Red Text</Text> // Adaptive hierarchical styling <Text modifiers={[foregroundStyle({ type: 'hierarchical', style: 'secondary' })]}> Supporting Text </Text> // Linear gradient <Text modifiers={[foregroundStyle({ type: 'linearGradient', colors: ['#FF6B35', '#F7931E', '#FFD23F'], startPoint: { x: 0, y: 0 }, endPoint: { x: 1, y: 0 } })]}> Gradient Text </Text>
Associates an identity value to Liquid Glass effects defined within a GlassEffectContainer.
ModifierConfigSee: Official SwiftUI documentation.
Specifies a custom alignment anchor for a view that acts as a grid cell.
ModifierConfigA view that uses the specified anchor point to align its content.
Example
// Using a preset anchor <Rectangle modifiers={[ gridCellAnchor({ type: 'preset', anchor: 'center' }), ]} /> // Using a custom anchor point <Rectangle modifiers={[ gridCellAnchor({ type: 'custom', points: { x: 0.3, y: 0.8 } }), ]} />
Tells a view that acts as a cell in a grid to span the specified number of columns.
ModifierConfigA view that occupies the specified number of columns in a grid row.
Asks grid layouts not to offer the view extra size in the specified axes.
ModifierConfigA view that doesn’t ask an enclosing grid for extra size in one or more axes.
Overrides the default horizontal alignment of the grid column that the view appears in.
ModifierConfigA view that uses the specified horizontal alignment, and that causes all cells in the same column of a grid to use the same alignment.
Attaches a stable identifier to a view so it can be referenced by scroll target bindings.
Use with scrollTargetLayout() on the containing stack and the scrollPosition modifier on a scrollable container.
ModifierConfigSee: Official SwiftUI documentation.
Allows a view to ignore safe area constraints.
ModifierConfigSee: Official SwiftUI documentation.
Scales SF Symbols within this view relative to the surrounding text, using one of the standard sizes.
ModifierConfigSee: Official SwiftUI documentation.
Sets the style for the page index view inside a TabView. SwiftUI only
ships a .page index view style, so no style selector is exposed.
ModifierConfigSee: Official SwiftUI documentation.
Disables interactive dismissal of a sheet.
ModifierConfigSee: Official SwiftUI documentation.
Marks the view's content as invalidatable. It is restyled with the "pending
update" appearance only when the invalidated redaction reason is applied to
an ancestor (for example redacted('invalidated')). Maps to SwiftUI's
invalidatableContent(_:).
ModifierConfigSee: Official SwiftUI documentation.
Makes text italic.
When applied to Text, it works on all iOS/tvOS versions. When used on regular views, it requires iOS 16.0+/tvOS 16.0+.
ModifierConfigSee: Official SwiftUI documentation.
Sets the spacing, or kerning, between characters for the text in this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the keyboard type for text input views.
ModifierConfigSee: Official SwiftUI documentation.
Hides the labels of any controls contained within this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the style for labels within this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the total line height for text in this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the line limit for text in the view.
Four variants matching SwiftUI:
lineLimit()— no line limit (unlimited lines)lineLimit(5)— max 5 lineslineLimit(5, { reservesSpace: true })— max 5 lines, reserves height even when empty (iOS 16+, tvOS 16+)lineLimit({ min: 3, max: 8 })— range of 3 to 8 lines (iOS 16+, tvOS 16+)
ModifierConfigSee: Official SwiftUI documentation.
Sets the line limit for text in the view.
Four variants matching SwiftUI:
lineLimit()— no line limit (unlimited lines)lineLimit(5)— max 5 lineslineLimit(5, { reservesSpace: true })— max 5 lines, reserves height even when empty (iOS 16+, tvOS 16+)lineLimit({ min: 3, max: 8 })— range of 3 to 8 lines (iOS 16+, tvOS 16+)
ModifierConfigSee: Official SwiftUI documentation.
Sets the line limit for text in the view.
Four variants matching SwiftUI:
lineLimit()— no line limit (unlimited lines)lineLimit(5)— max 5 lineslineLimit(5, { reservesSpace: true })— max 5 lines, reserves height even when empty (iOS 16+, tvOS 16+)lineLimit({ min: 3, max: 8 })— range of 3 to 8 lines (iOS 16+, tvOS 16+)
ModifierConfigSee: Official SwiftUI documentation.
The distance in points between the bottom of one line fragment and the top of the next.
ModifierConfigSee: Official SwiftUI documentation.
Controls the visibility of the separator for a list row.
ModifierConfigSee: Official SwiftUI documentation.
Sets the vertical spacing between adjacent rows in a list.
ModifierConfigSee: Official SwiftUI documentation.
Allows a view to ignore safe area constraints.
ModifierConfigSee: Official SwiftUI documentation.
Sets the spacing between adjacent sections.
ModifierConfigAdds a luminance to alpha effect to this view.
ModifierConfigSee: Official SwiftUI documentation.
Controls the dismissal behavior of menu actions.
ModifierConfigSee: Official SwiftUI documentation.
Sets the preferred order of items for menus presented from this view.
With the default automatic order, a menu that opens upward displays its items
in reverse. Pass fixed to always keep the order the items were provided in.
ModifierConfigSee: Official SwiftUI documentation.
Sets the minimum amount that text in this view scales down to fit in the available space.
Use this modifier if the text you place in a view doesn't fit and it's okay if the text shrinks
to accommodate. For example, a label with a minimum scale factor of 0.5 draws its text in a
font size as small as half of the actual font if needed.
ModifierConfigSee: Official SwiftUI documentation.
Modifies the fonts of all child views to use fixed-width digits, if possible, while leaving other characters proportionally spaced.
When applied to Text, modifies the text view's font to use fixed-width digits, while leaving other characters proportionally spaced.
ModifierConfigSee: Official SwiftUI documentation.
Disables the move action for a view in a list.
Apply to items within a ForEach to prevent them from being moved.
ModifierConfigSee: Official SwiftUI documentation.
An alignment position for text along the horizontal axis.
ModifierConfigSee: Official SwiftUI documentation.
Applies an offset (translation) to a view.
ModifierConfigSee: Official SwiftUI documentation.
Adds an onAppear modifier that calls a function when the view appears.
ModifierConfigSee: Official SwiftUI documentation.
Adds an onDisappear modifier that calls a function when the view disappears.
ModifierConfigSee: Official SwiftUI documentation.
Calls the handler whenever the view's geometry changes, with its position and size.
x and y are in the global coordinate space (relative to the window); all values are in points.
ModifierConfigSee: Official SwiftUI documentation.
Adds a long press gesture recognizer.
ModifierConfigFires when SwiftUI's scroll phase changes (e.g., the user begins dragging,
the scroll view starts decelerating, or scrolling settles to idle). The
second argument is the scroll geometry sampled at the phase transition,
useful for reading the final offset on settle without subscribing to
per-frame onScrollGeometryChange.
Apply to a SwiftUI ScrollView (and other scrollable views). On iOS below
18.0 the modifier is a no-op.
ModifierConfigSee: Official SwiftUI documentation.
Adds an action to perform when the user submits a value to this view (e.g. pressing return in a text field).
ModifierConfigSee: Official SwiftUI documentation.
Sets padding on a view. Supports individual edges or shorthand properties.
ModifierConfigSee: Official SwiftUI documentation.
Sets the background of a sheet presentation. Paints the entire sheet chrome
including the drag-indicator zone and home-indicator safe-area inset, which
a regular background() modifier cannot reach.
ModifierConfigSee: Official SwiftUI documentation.
Controls interaction with the content behind a sheet.
ModifierConfigSee: Official SwiftUI documentation.
Sets the available heights for a sheet presentation.
ModifierConfigSee: Official SwiftUI documentation.
Controls the visibility of the drag indicator on a sheet.
ModifierConfigSee: Official SwiftUI documentation.
Marks the view as containing sensitive, private data, redacted only when the
privacy redaction reason is applied to an ancestor (for example redacted('privacy')).
It has no effect on its own and does not auto-redact screenshots. Maps to
SwiftUI's privacySensitive(_:).
ModifierConfigSee: Official SwiftUI documentation.
Adds a redaction reason to this view hierarchy, replacing rendered content
with placeholders. Useful for skeleton loading states. Maps to SwiftUI's
redacted(reason:).
placeholder redacts the whole subtree; privacy and invalidated redact
only descendants marked privacySensitive() or invalidatableContent().
Reasons are additive and can be combined in an array; use unredacted() to
exempt a subtree. The invalidated reason requires iOS 17+.
ModifierConfigSee: Official SwiftUI documentation.
Marks a view as refreshable. Adds pull-to-refresh functionality.
ModifierConfigSee: Official SwiftUI documentation.
Sets the mode by which SwiftUI resizes an image to fit its space.
ModifierConfigSee: Official SwiftUI documentation.
Specifies the visibility of the background for scrollable views within this view.
ModifierConfigSee: Official SwiftUI documentation.
Disables or enables scrolling in scrollable views.
ModifierConfigSee: Official SwiftUI documentation.
Controls how the keyboard is dismissed when scrolling.
ModifierConfigSee: Official SwiftUI documentation.
Controls the visibility of scroll indicators for scrollable views.
Mirrors SwiftUI's scrollIndicators(_:axes:) modifier.
ModifierConfigSee: Official SwiftUI documentation.
Binds the leading scroll target of a scrollable container to an observable native state.
Reading state.value returns the id of the leading scroll target. Writing to it scrolls
the container to the matching view. Pair with scrollTargetLayout() on the content
container and id() on each target. Works on ScrollView, LazyVStack, LazyHStack,
and other scrollable containers.
On iOS below 17.0, the modifier is a no-op.
ModifierConfigSee: Official SwiftUI documentation.
Example
const activeID = useNativeState<string | null>(null); <ScrollView modifiers={[ scrollPosition(activeID, { anchor: 'center', onChange: (newID) => console.log('leading target:', newID), }), ]}> <VStack modifiers={[scrollTargetLayout()]}> {items.map((item) => ( <Text key={item.id} modifiers={[id(item.id)]}>{item.text}</Text> ))} </VStack> </ScrollView>
Sets the scroll snapping behavior for scrollable views.
Use with scrollTargetLayout on the content container.
ModifierConfigSee: Official SwiftUI documentation.
Configures a layout container as a scroll target layout for view-aligned snapping.
Apply to VStack or HStack inside a ScrollView.
ModifierConfigSee: Official SwiftUI documentation.
Strokes an inset border along the view's shape.
ModifierConfigSee: Official SwiftUI documentation.
Specifies the label to display in the keyboard's return key. For example, 'done'.
ModifierConfigA view that uses the specified submit label.
Example
<TextField modifiers={[ submitLabel('search'), ]} />
Applies an SF Symbol effect to a view.
ModifierConfigSee: Official SwiftUI documentation.
Example
const trigger = useNativeState(0); <Image systemName="bell.fill" modifiers={[symbolEffect({ effect: 'bounce', direction: 'up' }, { value: trigger })]} />
Sets a transform for the case of the text contained in this view when displayed.
ModifierConfigSee: Official SwiftUI documentation.
Sets the text content type for input text, which the system uses to offer suggestions (like autofill) while the user enters text.
ModifierConfigSee: Official SwiftUI documentation.
Sets the text field style for text field views.
ModifierConfigSee: Official SwiftUI documentation.
Sets how often the shift key in the keyboard is automatically enabled.
ModifierConfigSee: Official SwiftUI documentation.
Controls whether people can select text within this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the style for toggles within this view.
ModifierConfigSee: Official SwiftUI documentation.
Sets the truncation mode for lines of text that are too long to fit in the available space.
ModifierConfigSee: Official SwiftUI documentation.
Removes any redaction reason inherited from an ancestor redacted(...) for
this subtree. The counterpart to redacted; use it to exempt specific content
from a redacted parent. Maps to SwiftUI's unredacted().
ModifierConfigSee: Official SwiftUI documentation.
Specifies how to render an Image when using the WidgetKit/WidgetRenderingMode/accented mode.
ModifierConfigSee: Official SwiftUI documentation.
Sets the URL to open in the containing app when the user clicks the widget. Widgets support one widgetURL modifier in their view hierarchy. If multiple views have widgetURL modifiers, the behavior is undefined.
ModifierConfigSee: Official SwiftUI documentation.
Sets the z-index (display order) of a view.
ModifierConfigSee: Official SwiftUI documentation.
Event subscriptions
Creates a modifier with an event listener.
ModifierConfigInterfaces
Base interface for all view modifiers. All modifiers must have a type field and can include arbitrary parameters.
Types
Literal type: string
The set of accessibility traits that can be added to or removed from a view
with accessibilityAddTraits and accessibilityRemoveTraits.
See: Official SwiftUI documentation.
Acceptable values are: 'isButton' | 'isHeader' | 'isImage' | 'isSelected' | 'isLink' | 'isModal' | 'isSummaryElement' | 'updatesFrequently' | 'startsMediaSession' | 'allowsDirectInteraction' | 'causesPageTurn' | 'isToggle' | 'playsSound' | 'isStaticText' | 'isSearchField' | 'isKeyboardKey' | 'isTabBar'
Literal type: string
Acceptable values are: 'widget' | 'navigation' | 'navigationSplitView'
Literal type: string
Acceptable values are: 'automatic' | 'compact' | 'graphical' | 'wheel'
Literal type: union
Equatable primitive accepted as a discrete effect trigger.
Acceptable values are: number | string | boolean
Literal type: string
A standard size for Dynamic Type, from xSmall through the five
accessibility sizes. Mirrors SwiftUI's DynamicTypeSize.
Acceptable values are: 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge' | 'xxLarge' | 'xxxLarge' | 'accessibility1' | 'accessibility2' | 'accessibility3' | 'accessibility4' | 'accessibility5'
Type: object shaped as below:
Or object shaped as below:
Or object shaped as below:
Or object shaped as below:
Literal type: string
Acceptable values are: 'automatic' | 'circular' | 'circularCapacity' | 'linear' | 'linearCapacity'
Literal type: string
Acceptable values are: 'automatic' | 'plain' | 'inset' | 'insetGrouped' | 'grouped' | 'sidebar'
Observable state shared between JavaScript and native views (Jetpack Compose on Android and SwiftUI on iOS).
Type: SharedObject extended by:
Literal type: string
Acceptable values are: 'automatic' | 'always' | 'never' | 'interactive'
Literal type: string
Acceptable values are: 'automatic' | 'always' | 'never'
Literal type: string
Acceptable values are: 'automatic' | 'inline' | 'menu' | 'navigationLink' | 'palette' | 'segmented' | 'wheel'
Presentation background interaction type.
Type: 'automatic' or 'enabled' or 'disabled' or object shaped as below:
Presentation detent type for controlling sheet heights.
'medium': System medium height (approximately half screen)'large': System large height (full screen){ fraction: number }: Fraction of screen height (0-1, for example, 0.4 equals 40% of screen){ height: number }: Fixed height in points
Type: 'medium' or 'large' or object shaped as below:
Or object shaped as below:
Literal type: string
Sizing behavior for a sheet presentation.
'automatic': The system default sizing.'fitted': Sizes the sheet to fit its content.'form': A compact, centered form sheet.'page': A larger page sheet.
Acceptable values are: 'automatic' | 'fitted' | 'form' | 'page'
Literal type: string
Acceptable values are: 'automatic' | 'linear' | 'circular'
Literal type: ReturnType
Acceptable values are: ReturnType<shapes.roundedRectangle> | ReturnType<shapes.capsule> | ReturnType<shapes.rectangle> | ReturnType<shapes.ellipse> | ReturnType<shapes.circle> | ReturnType<shapes.containerRelativeShape>
The characteristics of a stroke that traces a path.
See: Official SwiftUI documentation.
Literal type: union
Acceptable values are: AppearSymbolEffect | BounceSymbolEffect | BreatheSymbolEffect | DisappearSymbolEffect | DrawOffSymbolEffect | DrawOnSymbolEffect | PulseSymbolEffect | RotateSymbolEffect | ScaleSymbolEffect | VariableColorSymbolEffect | WiggleSymbolEffect
Configuration for the tabViewStyle modifier.
'page'— swipeable horizontal pager with optional dot indicators.'automatic'— SwiftUI's default tab-bar style.'sidebarAdaptable'— iOS 18+. Sidebar on iPad/Mac, bottom bar on iPhone.
Type: object shaped as below:
Or object shaped as below:
Or object shaped as below: