@expo/ui 56.0.18 → 56.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/expo/modules/ui/DatePickerView.kt +33 -8
- package/build/community/bottom-sheet/BottomSheet.android.d.ts.map +1 -1
- package/build/community/bottom-sheet/BottomSheet.ios.d.ts.map +1 -1
- package/build/community/bottom-sheet/scrollContextReset.d.ts +5 -0
- package/build/community/bottom-sheet/scrollContextReset.d.ts.map +1 -0
- package/build/community/datetime-picker/DateTimePicker.d.ts.map +1 -1
- package/build/community/datetime-picker/types.d.ts +2 -2
- package/build/community/datetime-picker/types.d.ts.map +1 -1
- package/build/community/masked-view/MaskedView.android.d.ts.map +1 -1
- package/build/community/masked-view/MaskedView.ios.d.ts.map +1 -1
- package/build/community/menu/types.d.ts +2 -2
- package/build/community/menu/types.d.ts.map +1 -1
- package/build/community/pager-view/types.d.ts +2 -2
- package/build/community/pager-view/types.d.ts.map +1 -1
- package/build/community/segmented-control/types.d.ts +2 -2
- package/build/community/segmented-control/types.d.ts.map +1 -1
- package/build/community/slider/types.d.ts +2 -2
- package/build/community/slider/types.d.ts.map +1 -1
- package/build/jetpack-compose/AlertDialog/index.d.ts +2 -2
- package/build/jetpack-compose/AlertDialog/index.d.ts.map +1 -1
- package/build/jetpack-compose/AnimatedVisibility/index.d.ts +2 -2
- package/build/jetpack-compose/AnimatedVisibility/index.d.ts.map +1 -1
- package/build/jetpack-compose/Badge/index.d.ts +2 -2
- package/build/jetpack-compose/Badge/index.d.ts.map +1 -1
- package/build/jetpack-compose/BadgedBox/index.d.ts +2 -2
- package/build/jetpack-compose/BadgedBox/index.d.ts.map +1 -1
- package/build/jetpack-compose/BasicAlertDialog/index.d.ts +2 -2
- package/build/jetpack-compose/BasicAlertDialog/index.d.ts.map +1 -1
- package/build/jetpack-compose/Box/index.d.ts +2 -2
- package/build/jetpack-compose/Box/index.d.ts.map +1 -1
- package/build/jetpack-compose/Button/index.d.ts +2 -2
- package/build/jetpack-compose/Button/index.d.ts.map +1 -1
- package/build/jetpack-compose/Card/index.d.ts +6 -6
- package/build/jetpack-compose/Card/index.d.ts.map +1 -1
- package/build/jetpack-compose/Carousel/index.d.ts +6 -6
- package/build/jetpack-compose/Carousel/index.d.ts.map +1 -1
- package/build/jetpack-compose/Checkbox/index.d.ts +4 -4
- package/build/jetpack-compose/Checkbox/index.d.ts.map +1 -1
- package/build/jetpack-compose/Chip/index.d.ts +8 -8
- package/build/jetpack-compose/Chip/index.d.ts.map +1 -1
- package/build/jetpack-compose/Column/index.d.ts +2 -2
- package/build/jetpack-compose/Column/index.d.ts.map +1 -1
- package/build/jetpack-compose/DatePicker/index.d.ts +6 -6
- package/build/jetpack-compose/DatePicker/index.d.ts.map +1 -1
- package/build/jetpack-compose/DockedSearchBar/index.d.ts +2 -2
- package/build/jetpack-compose/DockedSearchBar/index.d.ts.map +1 -1
- package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts +2 -2
- package/build/jetpack-compose/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/build/jetpack-compose/DropdownMenu/index.d.ts +2 -2
- package/build/jetpack-compose/DropdownMenu/index.d.ts.map +1 -1
- package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts +2 -2
- package/build/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.d.ts.map +1 -1
- package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts +2 -2
- package/build/jetpack-compose/ExposedDropdownMenuBox/index.d.ts.map +1 -1
- package/build/jetpack-compose/FloatingActionButton/index.d.ts +8 -6
- package/build/jetpack-compose/FloatingActionButton/index.d.ts.map +1 -1
- package/build/jetpack-compose/FlowRow/index.d.ts +2 -2
- package/build/jetpack-compose/FlowRow/index.d.ts.map +1 -1
- package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts +4 -4
- package/build/jetpack-compose/HorizontalFloatingToolbar/index.d.ts.map +1 -1
- package/build/jetpack-compose/HorizontalPager/index.d.ts +2 -2
- package/build/jetpack-compose/HorizontalPager/index.d.ts.map +1 -1
- package/build/jetpack-compose/Host/index.d.ts +2 -2
- package/build/jetpack-compose/Host/index.d.ts.map +1 -1
- package/build/jetpack-compose/Icon/index.d.ts +2 -2
- package/build/jetpack-compose/Icon/index.d.ts.map +1 -1
- package/build/jetpack-compose/IconButton/index.d.ts +2 -2
- package/build/jetpack-compose/IconButton/index.d.ts.map +1 -1
- package/build/jetpack-compose/LazyColumn/index.d.ts +2 -2
- package/build/jetpack-compose/LazyColumn/index.d.ts.map +1 -1
- package/build/jetpack-compose/LazyRow/index.d.ts +2 -2
- package/build/jetpack-compose/LazyRow/index.d.ts.map +1 -1
- package/build/jetpack-compose/ListItem/index.d.ts +2 -2
- package/build/jetpack-compose/ListItem/index.d.ts.map +1 -1
- package/build/jetpack-compose/LoadingIndicator/index.d.ts +2 -2
- package/build/jetpack-compose/LoadingIndicator/index.d.ts.map +1 -1
- package/build/jetpack-compose/ModalBottomSheet/index.d.ts +2 -2
- package/build/jetpack-compose/ModalBottomSheet/index.d.ts.map +1 -1
- package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts +2 -2
- package/build/jetpack-compose/MultiChoiceSegmentedButtonRow/index.d.ts.map +1 -1
- package/build/jetpack-compose/NavigationBar/index.d.ts +4 -4
- package/build/jetpack-compose/NavigationBar/index.d.ts.map +1 -1
- package/build/jetpack-compose/Progress/index.d.ts +9 -8
- package/build/jetpack-compose/Progress/index.d.ts.map +1 -1
- package/build/jetpack-compose/PullToRefreshBox/index.d.ts +4 -4
- package/build/jetpack-compose/PullToRefreshBox/index.d.ts.map +1 -1
- package/build/jetpack-compose/RadioButton/index.d.ts +2 -2
- package/build/jetpack-compose/RadioButton/index.d.ts.map +1 -1
- package/build/jetpack-compose/Row/index.d.ts +2 -2
- package/build/jetpack-compose/Row/index.d.ts.map +1 -1
- package/build/jetpack-compose/SearchBar/index.d.ts +2 -2
- package/build/jetpack-compose/SearchBar/index.d.ts.map +1 -1
- package/build/jetpack-compose/SegmentedButton/index.d.ts +2 -2
- package/build/jetpack-compose/SegmentedButton/index.d.ts.map +1 -1
- package/build/jetpack-compose/Shape/index.d.ts +2 -2
- package/build/jetpack-compose/Shape/index.d.ts.map +1 -1
- package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts +2 -2
- package/build/jetpack-compose/SingleChoiceSegmentedButtonRow/index.d.ts.map +1 -1
- package/build/jetpack-compose/Slider/index.d.ts +2 -2
- package/build/jetpack-compose/Slider/index.d.ts.map +1 -1
- package/build/jetpack-compose/Snackbar/index.d.ts +4 -4
- package/build/jetpack-compose/Snackbar/index.d.ts.map +1 -1
- package/build/jetpack-compose/Spacer/index.d.ts +2 -2
- package/build/jetpack-compose/Spacer/index.d.ts.map +1 -1
- package/build/jetpack-compose/Surface/index.d.ts +2 -2
- package/build/jetpack-compose/Surface/index.d.ts.map +1 -1
- package/build/jetpack-compose/Switch/index.d.ts +2 -2
- package/build/jetpack-compose/Switch/index.d.ts.map +1 -1
- package/build/jetpack-compose/SyncSwitch/index.d.ts +2 -2
- package/build/jetpack-compose/SyncSwitch/index.d.ts.map +1 -1
- package/build/jetpack-compose/Text/index.d.ts +2 -2
- package/build/jetpack-compose/Text/index.d.ts.map +1 -1
- package/build/jetpack-compose/TextField/BasicTextField.d.ts +2 -2
- package/build/jetpack-compose/TextField/BasicTextField.d.ts.map +1 -1
- package/build/jetpack-compose/TextField/TextField.d.ts +4 -4
- package/build/jetpack-compose/TextField/TextField.d.ts.map +1 -1
- package/build/jetpack-compose/ToggleButton/index.d.ts +2 -2
- package/build/jetpack-compose/ToggleButton/index.d.ts.map +1 -1
- package/build/jetpack-compose/Tooltip/index.d.ts +6 -6
- package/build/jetpack-compose/Tooltip/index.d.ts.map +1 -1
- package/build/swift-ui/AccessoryWidgetBackground/index.d.ts +2 -1
- package/build/swift-ui/AccessoryWidgetBackground/index.d.ts.map +1 -1
- package/build/swift-ui/Alert/index.d.ts +2 -2
- package/build/swift-ui/Alert/index.d.ts.map +1 -1
- package/build/swift-ui/BottomSheet/index.d.ts +2 -2
- package/build/swift-ui/BottomSheet/index.d.ts.map +1 -1
- package/build/swift-ui/Button/index.d.ts +2 -2
- package/build/swift-ui/Button/index.d.ts.map +1 -1
- package/build/swift-ui/Chart/index.d.ts +2 -2
- package/build/swift-ui/Chart/index.d.ts.map +1 -1
- package/build/swift-ui/ColorPicker/index.d.ts +2 -2
- package/build/swift-ui/ColorPicker/index.d.ts.map +1 -1
- package/build/swift-ui/ConfirmationDialog/index.d.ts +2 -2
- package/build/swift-ui/ConfirmationDialog/index.d.ts.map +1 -1
- package/build/swift-ui/ContextMenu/types.d.ts +4 -4
- package/build/swift-ui/ContextMenu/types.d.ts.map +1 -1
- package/build/swift-ui/DatePicker/index.d.ts +2 -2
- package/build/swift-ui/DatePicker/index.d.ts.map +1 -1
- package/build/swift-ui/Divider/index.d.ts +2 -1
- package/build/swift-ui/Divider/index.d.ts.map +1 -1
- package/build/swift-ui/Gauge/index.d.ts +2 -2
- package/build/swift-ui/Gauge/index.d.ts.map +1 -1
- package/build/swift-ui/GlassEffectContainer/index.d.ts +2 -2
- package/build/swift-ui/GlassEffectContainer/index.d.ts.map +1 -1
- package/build/swift-ui/Grid/index.d.ts +2 -2
- package/build/swift-ui/Grid/index.d.ts.map +1 -1
- package/build/swift-ui/HStack/index.d.ts +2 -2
- package/build/swift-ui/HStack/index.d.ts.map +1 -1
- package/build/swift-ui/Host/index.d.ts +9 -3
- package/build/swift-ui/Host/index.d.ts.map +1 -1
- package/build/swift-ui/Label/index.d.ts +2 -2
- package/build/swift-ui/Label/index.d.ts.map +1 -1
- package/build/swift-ui/LabeledContent/index.d.ts +2 -2
- package/build/swift-ui/LabeledContent/index.d.ts.map +1 -1
- package/build/swift-ui/LazyHStack/index.d.ts +2 -2
- package/build/swift-ui/LazyHStack/index.d.ts.map +1 -1
- package/build/swift-ui/LazyVStack/index.d.ts +2 -2
- package/build/swift-ui/LazyVStack/index.d.ts.map +1 -1
- package/build/swift-ui/Link/index.d.ts +2 -2
- package/build/swift-ui/Link/index.d.ts.map +1 -1
- package/build/swift-ui/List/ListForEach.d.ts +2 -2
- package/build/swift-ui/List/ListForEach.d.ts.map +1 -1
- package/build/swift-ui/Mask/index.d.ts +2 -2
- package/build/swift-ui/Mask/index.d.ts.map +1 -1
- package/build/swift-ui/Menu/types.d.ts +2 -2
- package/build/swift-ui/Menu/types.d.ts.map +1 -1
- package/build/swift-ui/Namespace.d.ts +2 -2
- package/build/swift-ui/Namespace.d.ts.map +1 -1
- package/build/swift-ui/Overlay/index.d.ts +2 -2
- package/build/swift-ui/Overlay/index.d.ts.map +1 -1
- package/build/swift-ui/Popover/index.d.ts +2 -2
- package/build/swift-ui/Popover/index.d.ts.map +1 -1
- package/build/swift-ui/ProgressView/index.d.ts +2 -2
- package/build/swift-ui/ProgressView/index.d.ts.map +1 -1
- package/build/swift-ui/RNHostView.d.ts +2 -2
- package/build/swift-ui/RNHostView.d.ts.map +1 -1
- package/build/swift-ui/ScrollView/index.d.ts +2 -2
- package/build/swift-ui/ScrollView/index.d.ts.map +1 -1
- package/build/swift-ui/Section/index.d.ts +2 -2
- package/build/swift-ui/Section/index.d.ts.map +1 -1
- package/build/swift-ui/SecureField/index.d.ts +2 -2
- package/build/swift-ui/SecureField/index.d.ts.map +1 -1
- package/build/swift-ui/ShareLink/index.d.ts +2 -2
- package/build/swift-ui/ShareLink/index.d.ts.map +1 -1
- package/build/swift-ui/Slider/index.d.ts +2 -2
- package/build/swift-ui/Slider/index.d.ts.map +1 -1
- package/build/swift-ui/Stepper/index.d.ts +2 -2
- package/build/swift-ui/Stepper/index.d.ts.map +1 -1
- package/build/swift-ui/SwipeActions/index.d.ts +4 -4
- package/build/swift-ui/SwipeActions/index.d.ts.map +1 -1
- package/build/swift-ui/SyncToggle/index.d.ts +2 -2
- package/build/swift-ui/SyncToggle/index.d.ts.map +1 -1
- package/build/swift-ui/TabView/Tab.d.ts +2 -2
- package/build/swift-ui/TabView/Tab.d.ts.map +1 -1
- package/build/swift-ui/TabView/index.d.ts +2 -2
- package/build/swift-ui/TabView/index.d.ts.map +1 -1
- package/build/swift-ui/TextField/index.d.ts +2 -2
- package/build/swift-ui/TextField/index.d.ts.map +1 -1
- package/build/swift-ui/Toggle/index.d.ts +2 -2
- package/build/swift-ui/Toggle/index.d.ts.map +1 -1
- package/build/swift-ui/VStack/index.d.ts +2 -2
- package/build/swift-ui/VStack/index.d.ts.map +1 -1
- package/build/swift-ui/ZStack/index.d.ts +2 -2
- package/build/swift-ui/ZStack/index.d.ts.map +1 -1
- package/build/swift-ui/modifiers/index.d.ts +107 -1
- package/build/swift-ui/modifiers/index.d.ts.map +1 -1
- package/build/swift-ui/modifiers/presentationModifiers.d.ts +19 -0
- package/build/swift-ui/modifiers/presentationModifiers.d.ts.map +1 -1
- package/build/universal/Button/index.d.ts.map +1 -1
- package/build/universal/Checkbox/index.d.ts.map +1 -1
- package/build/universal/Collapsible/index.d.ts.map +1 -1
- package/build/universal/FieldGroup/FieldGroup.d.ts.map +1 -1
- package/build/universal/FieldGroup/FieldSection.d.ts.map +1 -1
- package/build/universal/Host/index.d.ts +1 -2
- package/build/universal/Host/index.d.ts.map +1 -1
- package/build/universal/Host/types.d.ts +16 -2
- package/build/universal/Host/types.d.ts.map +1 -1
- package/build/universal/ListItem/ListItem.android.d.ts.map +1 -1
- package/build/universal/ListItem/ListItem.ios.d.ts.map +1 -1
- package/build/universal/ListItem/types.d.ts +8 -0
- package/build/universal/ListItem/types.d.ts.map +1 -1
- package/build/universal/Picker/Picker.d.ts.map +1 -1
- package/build/universal/Slider/index.d.ts.map +1 -1
- package/build/universal/Switch/index.d.ts.map +1 -1
- package/build/universal/TextInput/index.d.ts.map +1 -1
- package/build/universal/hooks.d.ts +11 -0
- package/build/universal/hooks.d.ts.map +1 -1
- package/build/universal/keyboardEvent.fx.d.ts +2 -0
- package/build/universal/keyboardEvent.fx.d.ts.map +1 -0
- package/build/universal/webUtils.d.ts +66 -0
- package/build/universal/webUtils.d.ts.map +1 -0
- package/expo-module.config.json +1 -1
- package/ios/HostView.swift +15 -0
- package/ios/Modifiers/PresentationModifiers.swift +30 -0
- package/ios/Modifiers/ShapeTypes.swift +50 -0
- package/ios/Modifiers/ViewModifierRegistry.swift +259 -11
- package/ios/Modifiers/WidgetModifiers.swift +1 -1
- package/ios/RNHostView.swift +5 -0
- package/ios/TextFieldView.swift +29 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18-sources.jar → 56.0.20/expo.modules.ui-56.0.20-sources.jar} +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20-sources.jar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.module → 56.0.20/expo.modules.ui-56.0.20.module} +22 -22
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/{56.0.18/expo.modules.ui-56.0.18.pom → 56.0.20/expo.modules.ui-56.0.20.pom} +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha512 +1 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +4 -4
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +1 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +1 -1
- package/package.json +5 -9
- package/plugin/tsconfig.tsbuildinfo +1 -0
- package/src/State/index.fx.ts +4 -5
- package/src/community/bottom-sheet/BottomSheet.android.tsx +6 -1
- package/src/community/bottom-sheet/BottomSheet.ios.tsx +8 -4
- package/src/community/bottom-sheet/scrollContextReset.tsx +24 -0
- package/src/community/datetime-picker/DateTimePicker.tsx +9 -1
- package/src/community/datetime-picker/types.tsx +2 -2
- package/src/community/masked-view/MaskedView.android.tsx +5 -2
- package/src/community/masked-view/MaskedView.ios.tsx +5 -2
- package/src/community/menu/types.tsx +2 -2
- package/src/community/pager-view/types.tsx +2 -2
- package/src/community/segmented-control/types.tsx +2 -2
- package/src/community/slider/types.tsx +2 -2
- package/src/jetpack-compose/AlertDialog/index.tsx +2 -2
- package/src/jetpack-compose/AnimatedVisibility/index.tsx +2 -2
- package/src/jetpack-compose/Badge/index.tsx +2 -2
- package/src/jetpack-compose/BadgedBox/index.tsx +2 -2
- package/src/jetpack-compose/BasicAlertDialog/index.tsx +2 -2
- package/src/jetpack-compose/Box/index.tsx +2 -2
- package/src/jetpack-compose/Button/index.tsx +2 -2
- package/src/jetpack-compose/Card/index.tsx +6 -6
- package/src/jetpack-compose/Carousel/index.tsx +6 -6
- package/src/jetpack-compose/Checkbox/index.tsx +4 -4
- package/src/jetpack-compose/Chip/index.tsx +8 -8
- package/src/jetpack-compose/Column/index.tsx +2 -2
- package/src/jetpack-compose/DatePicker/index.tsx +6 -6
- package/src/jetpack-compose/DockedSearchBar/index.tsx +2 -2
- package/src/jetpack-compose/DropdownMenu/DropdownMenuItem.tsx +2 -2
- package/src/jetpack-compose/DropdownMenu/index.tsx +2 -2
- package/src/jetpack-compose/ExposedDropdownMenuBox/ExposedDropdownMenu.tsx +2 -2
- package/src/jetpack-compose/ExposedDropdownMenuBox/index.tsx +2 -2
- package/src/jetpack-compose/FloatingActionButton/index.tsx +6 -6
- package/src/jetpack-compose/FlowRow/index.tsx +2 -2
- package/src/jetpack-compose/HorizontalFloatingToolbar/index.tsx +4 -4
- package/src/jetpack-compose/HorizontalPager/index.tsx +2 -2
- package/src/jetpack-compose/Host/index.tsx +2 -2
- package/src/jetpack-compose/Icon/index.tsx +2 -2
- package/src/jetpack-compose/IconButton/index.tsx +2 -2
- package/src/jetpack-compose/LazyColumn/index.tsx +2 -2
- package/src/jetpack-compose/LazyRow/index.tsx +2 -2
- package/src/jetpack-compose/ListItem/index.tsx +2 -2
- package/src/jetpack-compose/LoadingIndicator/index.tsx +2 -2
- package/src/jetpack-compose/ModalBottomSheet/index.tsx +2 -2
- package/src/jetpack-compose/MultiChoiceSegmentedButtonRow/index.tsx +2 -2
- package/src/jetpack-compose/NavigationBar/index.tsx +4 -4
- package/src/jetpack-compose/Progress/index.tsx +7 -7
- package/src/jetpack-compose/PullToRefreshBox/index.tsx +4 -4
- package/src/jetpack-compose/RadioButton/index.tsx +2 -2
- package/src/jetpack-compose/Row/index.tsx +2 -2
- package/src/jetpack-compose/SearchBar/index.tsx +2 -2
- package/src/jetpack-compose/SegmentedButton/index.tsx +2 -2
- package/src/jetpack-compose/Shape/index.tsx +2 -2
- package/src/jetpack-compose/SingleChoiceSegmentedButtonRow/index.tsx +2 -2
- package/src/jetpack-compose/Slider/index.tsx +2 -2
- package/src/jetpack-compose/Snackbar/index.tsx +4 -4
- package/src/jetpack-compose/Spacer/index.tsx +2 -2
- package/src/jetpack-compose/Surface/index.tsx +2 -2
- package/src/jetpack-compose/Switch/index.tsx +2 -2
- package/src/jetpack-compose/SyncSwitch/index.tsx +2 -2
- package/src/jetpack-compose/Text/index.tsx +2 -2
- package/src/jetpack-compose/TextField/BasicTextField.tsx +2 -2
- package/src/jetpack-compose/TextField/TextField.tsx +4 -4
- package/src/jetpack-compose/ToggleButton/index.tsx +2 -2
- package/src/jetpack-compose/Tooltip/index.tsx +6 -6
- package/src/swift-ui/AccessoryWidgetBackground/index.tsx +1 -1
- package/src/swift-ui/Alert/index.tsx +2 -2
- package/src/swift-ui/BottomSheet/index.tsx +2 -2
- package/src/swift-ui/Button/index.tsx +2 -2
- package/src/swift-ui/Chart/index.tsx +2 -2
- package/src/swift-ui/ColorPicker/index.tsx +2 -2
- package/src/swift-ui/ConfirmationDialog/index.tsx +2 -2
- package/src/swift-ui/ContextMenu/types.ts +4 -4
- package/src/swift-ui/DatePicker/index.tsx +2 -2
- package/src/swift-ui/Divider/index.tsx +1 -1
- package/src/swift-ui/Gauge/index.tsx +2 -2
- package/src/swift-ui/GlassEffectContainer/index.tsx +2 -2
- package/src/swift-ui/Grid/index.tsx +2 -2
- package/src/swift-ui/HStack/index.tsx +2 -2
- package/src/swift-ui/Host/index.tsx +12 -3
- package/src/swift-ui/Label/index.tsx +2 -2
- package/src/swift-ui/LabeledContent/index.tsx +2 -2
- package/src/swift-ui/LazyHStack/index.tsx +2 -2
- package/src/swift-ui/LazyVStack/index.tsx +2 -2
- package/src/swift-ui/Link/index.tsx +2 -2
- package/src/swift-ui/List/ListForEach.tsx +2 -2
- package/src/swift-ui/Mask/index.tsx +2 -2
- package/src/swift-ui/Menu/types.ts +2 -2
- package/src/swift-ui/Namespace.tsx +2 -2
- package/src/swift-ui/Overlay/index.tsx +2 -2
- package/src/swift-ui/Popover/index.tsx +2 -2
- package/src/swift-ui/ProgressView/index.tsx +2 -2
- package/src/swift-ui/RNHostView.tsx +2 -2
- package/src/swift-ui/ScrollView/index.tsx +2 -2
- package/src/swift-ui/Section/index.tsx +2 -2
- package/src/swift-ui/SecureField/index.tsx +2 -2
- package/src/swift-ui/ShareLink/index.tsx +2 -2
- package/src/swift-ui/Slider/index.tsx +2 -2
- package/src/swift-ui/Stepper/index.tsx +2 -2
- package/src/swift-ui/SwipeActions/index.tsx +4 -4
- package/src/swift-ui/SyncToggle/index.tsx +2 -2
- package/src/swift-ui/TabView/Tab.tsx +2 -2
- package/src/swift-ui/TabView/index.tsx +2 -2
- package/src/swift-ui/TextField/index.tsx +2 -2
- package/src/swift-ui/Toggle/index.tsx +2 -2
- package/src/swift-ui/VStack/index.tsx +2 -2
- package/src/swift-ui/ZStack/index.tsx +2 -2
- package/src/swift-ui/modifiers/index.ts +161 -0
- package/src/swift-ui/modifiers/presentationModifiers.ts +22 -0
- package/src/ts-declarations/react-native-web.d.ts +31 -3
- package/src/universal/Button/index.tsx +83 -35
- package/src/universal/Checkbox/index.tsx +85 -30
- package/src/universal/Collapsible/index.tsx +5 -17
- package/src/universal/FieldGroup/FieldGroup.tsx +5 -15
- package/src/universal/FieldGroup/FieldSection.tsx +14 -31
- package/src/universal/Host/index.tsx +44 -30
- package/src/universal/Host/types.ts +17 -2
- package/src/universal/ListItem/ListItem.android.tsx +10 -2
- package/src/universal/ListItem/ListItem.ios.tsx +23 -6
- package/src/universal/ListItem/types.ts +10 -0
- package/src/universal/Picker/Picker.tsx +74 -29
- package/src/universal/Slider/index.tsx +90 -9
- package/src/universal/Switch/index.android.tsx +2 -2
- package/src/universal/Switch/index.tsx +77 -18
- package/src/universal/TextInput/index.tsx +49 -13
- package/src/universal/hooks.ts +25 -1
- package/src/universal/keyboardEvent.fx.ts +28 -0
- package/src/universal/webUtils.ts +245 -0
- package/CLAUDE.md +0 -54
- package/CONTRIBUTING.md +0 -30
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18-sources.jar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar +0 -0
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.aar.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.18/expo.modules.ui-56.0.18.pom.sha512 +0 -1
|
@@ -218,4 +218,34 @@ internal struct PresentationBackgroundModifier: ViewModifier, Record {
|
|
|
218
218
|
content
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// MARK: - Presentation Sizing
|
|
224
|
+
|
|
225
|
+
internal enum PresentationSizingOption: String, Enumerable {
|
|
226
|
+
case automatic
|
|
227
|
+
case fitted
|
|
228
|
+
case form
|
|
229
|
+
case page
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
internal struct PresentationSizingModifier: ViewModifier, Record {
|
|
233
|
+
@Field var sizing: PresentationSizingOption = .automatic
|
|
234
|
+
|
|
235
|
+
func body(content: Content) -> some View {
|
|
236
|
+
if #available(iOS 18.0, tvOS 18.0, macOS 15.0, *) {
|
|
237
|
+
switch sizing {
|
|
238
|
+
case .automatic:
|
|
239
|
+
content.presentationSizing(.automatic)
|
|
240
|
+
case .fitted:
|
|
241
|
+
content.presentationSizing(.fitted)
|
|
242
|
+
case .form:
|
|
243
|
+
content.presentationSizing(.form)
|
|
244
|
+
case .page:
|
|
245
|
+
content.presentationSizing(.page)
|
|
246
|
+
}
|
|
247
|
+
} else {
|
|
248
|
+
content
|
|
249
|
+
}
|
|
250
|
+
}
|
|
221
251
|
}
|
|
@@ -22,6 +22,56 @@ internal struct CornerSize: Record {
|
|
|
22
22
|
@Field var height: Int = 0
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
// MARK: - Stroke Style
|
|
26
|
+
|
|
27
|
+
internal enum StrokeLineCap: String, Enumerable {
|
|
28
|
+
case butt
|
|
29
|
+
case round
|
|
30
|
+
case square
|
|
31
|
+
|
|
32
|
+
func toCGLineCap() -> CGLineCap {
|
|
33
|
+
switch self {
|
|
34
|
+
case .butt: return .butt
|
|
35
|
+
case .round: return .round
|
|
36
|
+
case .square: return .square
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
internal enum StrokeLineJoin: String, Enumerable {
|
|
42
|
+
case miter
|
|
43
|
+
case round
|
|
44
|
+
case bevel
|
|
45
|
+
|
|
46
|
+
func toCGLineJoin() -> CGLineJoin {
|
|
47
|
+
switch self {
|
|
48
|
+
case .miter: return .miter
|
|
49
|
+
case .round: return .round
|
|
50
|
+
case .bevel: return .bevel
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
internal struct StrokeStyleConfig: Record {
|
|
56
|
+
@Field var lineWidth: CGFloat = 1
|
|
57
|
+
@Field var lineCap: StrokeLineCap = .butt
|
|
58
|
+
@Field var lineJoin: StrokeLineJoin = .miter
|
|
59
|
+
@Field var miterLimit: CGFloat = 10
|
|
60
|
+
@Field var dash: [CGFloat] = []
|
|
61
|
+
@Field var dashPhase: CGFloat = 0
|
|
62
|
+
|
|
63
|
+
func toStrokeStyle() -> StrokeStyle {
|
|
64
|
+
return StrokeStyle(
|
|
65
|
+
lineWidth: lineWidth,
|
|
66
|
+
lineCap: lineCap.toCGLineCap(),
|
|
67
|
+
lineJoin: lineJoin.toCGLineJoin(),
|
|
68
|
+
miterLimit: miterLimit,
|
|
69
|
+
dash: dash,
|
|
70
|
+
dashPhase: dashPhase
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
25
75
|
// MARK: - Shape Helper Functions
|
|
26
76
|
|
|
27
77
|
internal func makeCapsule(style: RoundedCornerStyle?) -> Capsule {
|
|
@@ -224,6 +224,61 @@ internal struct DisabledModifier: ViewModifier, Record {
|
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
internal enum RedactionReason: String, Enumerable {
|
|
228
|
+
case placeholder
|
|
229
|
+
case privacy
|
|
230
|
+
case invalidated
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
internal struct RedactedModifier: ViewModifier, Record {
|
|
234
|
+
@Field var reasons: [RedactionReason] = [.placeholder]
|
|
235
|
+
|
|
236
|
+
func body(content: Content) -> some View {
|
|
237
|
+
content.redacted(reason: resolveReasons())
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
private func resolveReasons() -> RedactionReasons {
|
|
241
|
+
var set: RedactionReasons = []
|
|
242
|
+
for reason in reasons {
|
|
243
|
+
switch reason {
|
|
244
|
+
case .placeholder: set.insert(.placeholder)
|
|
245
|
+
case .privacy: set.insert(.privacy)
|
|
246
|
+
case .invalidated:
|
|
247
|
+
if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
|
|
248
|
+
set.insert(.invalidated)
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return set
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
internal struct UnredactedModifier: ViewModifier, Record {
|
|
257
|
+
func body(content: Content) -> some View {
|
|
258
|
+
content.unredacted()
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
internal struct PrivacySensitiveModifier: ViewModifier, Record {
|
|
263
|
+
@Field var sensitive: Bool = true
|
|
264
|
+
|
|
265
|
+
func body(content: Content) -> some View {
|
|
266
|
+
content.privacySensitive(sensitive)
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
internal struct InvalidatableContentModifier: ViewModifier, Record {
|
|
271
|
+
@Field var invalidatable: Bool = true
|
|
272
|
+
|
|
273
|
+
func body(content: Content) -> some View {
|
|
274
|
+
if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
|
|
275
|
+
content.invalidatableContent(invalidatable)
|
|
276
|
+
} else {
|
|
277
|
+
content
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
227
282
|
internal struct ZIndexModifier: ViewModifier, Record {
|
|
228
283
|
@Field var index: Double = 0
|
|
229
284
|
|
|
@@ -318,6 +373,48 @@ internal struct ClipShapeModifier: ViewModifier, Record {
|
|
|
318
373
|
}
|
|
319
374
|
}
|
|
320
375
|
|
|
376
|
+
internal struct StrokeBorderModifier: ViewModifier, Record {
|
|
377
|
+
@Field var color: Color?
|
|
378
|
+
@Field var style: StrokeStyleConfig?
|
|
379
|
+
@Field var antialiased: Bool = true
|
|
380
|
+
@Field var shape: ShapeType = .rectangle
|
|
381
|
+
@Field var cornerRadius: CGFloat = 8
|
|
382
|
+
@Field var roundedCornerStyle: RoundedCornerStyle?
|
|
383
|
+
@Field var cornerSize: CornerSize?
|
|
384
|
+
|
|
385
|
+
func body(content: Content) -> some View {
|
|
386
|
+
content.overlay(strokeBorderView())
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
@ViewBuilder
|
|
390
|
+
private func strokeBorderView() -> some View {
|
|
391
|
+
let strokeStyle = (style ?? StrokeStyleConfig()).toStrokeStyle()
|
|
392
|
+
switch shape {
|
|
393
|
+
case .capsule:
|
|
394
|
+
applyStrokeBorder(makeCapsule(style: roundedCornerStyle), strokeStyle)
|
|
395
|
+
case .circle:
|
|
396
|
+
applyStrokeBorder(Circle(), strokeStyle)
|
|
397
|
+
case .containerRelativeShape:
|
|
398
|
+
applyStrokeBorder(ContainerRelativeShape(), strokeStyle)
|
|
399
|
+
case .ellipse:
|
|
400
|
+
applyStrokeBorder(Ellipse(), strokeStyle)
|
|
401
|
+
case .rectangle:
|
|
402
|
+
applyStrokeBorder(Rectangle(), strokeStyle)
|
|
403
|
+
case .roundedRectangle:
|
|
404
|
+
applyStrokeBorder(makeRoundedRectangle(cornerRadius: cornerRadius, cornerSize: cornerSize, style: roundedCornerStyle), strokeStyle)
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
@ViewBuilder
|
|
409
|
+
private func applyStrokeBorder<S: InsettableShape>(_ shape: S, _ strokeStyle: StrokeStyle) -> some View {
|
|
410
|
+
if let color {
|
|
411
|
+
shape.strokeBorder(color, style: strokeStyle, antialiased: antialiased)
|
|
412
|
+
} else {
|
|
413
|
+
shape.strokeBorder(style: strokeStyle, antialiased: antialiased)
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
321
418
|
internal struct OnTapGestureModifier: ViewModifier, Record {
|
|
322
419
|
var eventDispatcher: EventDispatcher?
|
|
323
420
|
|
|
@@ -518,6 +615,122 @@ internal struct AccessibilityHiddenModifier: ViewModifier, Record {
|
|
|
518
615
|
}
|
|
519
616
|
}
|
|
520
617
|
|
|
618
|
+
internal enum AccessibilityChildBehaviorType: String, Enumerable {
|
|
619
|
+
case ignore
|
|
620
|
+
case combine
|
|
621
|
+
case contain
|
|
622
|
+
|
|
623
|
+
func toNative() -> AccessibilityChildBehavior {
|
|
624
|
+
switch self {
|
|
625
|
+
case .ignore:
|
|
626
|
+
return .ignore
|
|
627
|
+
case .combine:
|
|
628
|
+
return .combine
|
|
629
|
+
case .contain:
|
|
630
|
+
return .contain
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
internal struct AccessibilityElementModifier: ViewModifier, Record {
|
|
636
|
+
@Field var children: AccessibilityChildBehaviorType = .ignore
|
|
637
|
+
|
|
638
|
+
func body(content: Content) -> some View {
|
|
639
|
+
content.accessibilityElement(children: children.toNative())
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
internal enum AccessibilityTraitType: String, Enumerable {
|
|
644
|
+
case isButton
|
|
645
|
+
case isHeader
|
|
646
|
+
case isImage
|
|
647
|
+
case isSelected
|
|
648
|
+
case isLink
|
|
649
|
+
case isModal
|
|
650
|
+
case isSummaryElement
|
|
651
|
+
case updatesFrequently
|
|
652
|
+
case startsMediaSession
|
|
653
|
+
case allowsDirectInteraction
|
|
654
|
+
case causesPageTurn
|
|
655
|
+
case isToggle
|
|
656
|
+
case playsSound
|
|
657
|
+
case isStaticText
|
|
658
|
+
case isSearchField
|
|
659
|
+
case isKeyboardKey
|
|
660
|
+
case isTabBar
|
|
661
|
+
|
|
662
|
+
func toNative() -> AccessibilityTraits? {
|
|
663
|
+
switch self {
|
|
664
|
+
case .isButton:
|
|
665
|
+
return .isButton
|
|
666
|
+
case .isHeader:
|
|
667
|
+
return .isHeader
|
|
668
|
+
case .isImage:
|
|
669
|
+
return .isImage
|
|
670
|
+
case .isSelected:
|
|
671
|
+
return .isSelected
|
|
672
|
+
case .isLink:
|
|
673
|
+
return .isLink
|
|
674
|
+
case .isModal:
|
|
675
|
+
return .isModal
|
|
676
|
+
case .isSummaryElement:
|
|
677
|
+
return .isSummaryElement
|
|
678
|
+
case .updatesFrequently:
|
|
679
|
+
return .updatesFrequently
|
|
680
|
+
case .startsMediaSession:
|
|
681
|
+
return .startsMediaSession
|
|
682
|
+
case .allowsDirectInteraction:
|
|
683
|
+
return .allowsDirectInteraction
|
|
684
|
+
case .causesPageTurn:
|
|
685
|
+
return .causesPageTurn
|
|
686
|
+
case .isToggle:
|
|
687
|
+
if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
|
|
688
|
+
return .isToggle
|
|
689
|
+
}
|
|
690
|
+
return nil
|
|
691
|
+
case .playsSound:
|
|
692
|
+
return .playsSound
|
|
693
|
+
case .isStaticText:
|
|
694
|
+
return .isStaticText
|
|
695
|
+
case .isSearchField:
|
|
696
|
+
return .isSearchField
|
|
697
|
+
case .isKeyboardKey:
|
|
698
|
+
return .isKeyboardKey
|
|
699
|
+
case .isTabBar:
|
|
700
|
+
if #available(iOS 17.0, tvOS 17.0, macOS 14.0, *) {
|
|
701
|
+
return .isTabBar
|
|
702
|
+
}
|
|
703
|
+
return nil
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
internal func combineAccessibilityTraits(_ traits: [AccessibilityTraitType]) -> AccessibilityTraits {
|
|
709
|
+
var combined: AccessibilityTraits = []
|
|
710
|
+
for trait in traits {
|
|
711
|
+
if let native = trait.toNative() {
|
|
712
|
+
combined.formUnion(native)
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
return combined
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
internal struct AccessibilityAddTraitsModifier: ViewModifier, Record {
|
|
719
|
+
@Field var traits: [AccessibilityTraitType] = []
|
|
720
|
+
|
|
721
|
+
func body(content: Content) -> some View {
|
|
722
|
+
content.accessibilityAddTraits(combineAccessibilityTraits(traits))
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
internal struct AccessibilityRemoveTraitsModifier: ViewModifier, Record {
|
|
727
|
+
@Field var traits: [AccessibilityTraitType] = []
|
|
728
|
+
|
|
729
|
+
func body(content: Content) -> some View {
|
|
730
|
+
content.accessibilityRemoveTraits(combineAccessibilityTraits(traits))
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
|
|
521
734
|
internal struct LayoutPriorityModifier: ViewModifier, Record {
|
|
522
735
|
@Field var priority: Double = 0
|
|
523
736
|
|
|
@@ -978,21 +1191,21 @@ internal struct HeaderProminence: ViewModifier, Record {
|
|
|
978
1191
|
}
|
|
979
1192
|
|
|
980
1193
|
internal struct ListRowInsets: ViewModifier, Record {
|
|
981
|
-
@Field var top: CGFloat
|
|
982
|
-
@Field var leading: CGFloat
|
|
983
|
-
@Field var bottom: CGFloat
|
|
984
|
-
@Field var trailing: CGFloat
|
|
1194
|
+
@Field var top: CGFloat?
|
|
1195
|
+
@Field var leading: CGFloat?
|
|
1196
|
+
@Field var bottom: CGFloat?
|
|
1197
|
+
@Field var trailing: CGFloat?
|
|
985
1198
|
|
|
986
1199
|
func body(content: Content) -> some View {
|
|
987
|
-
if top
|
|
1200
|
+
if top == nil && leading == nil && bottom == nil && trailing == nil {
|
|
1201
|
+
content
|
|
1202
|
+
} else {
|
|
988
1203
|
content.listRowInsets(.init(
|
|
989
|
-
top: top,
|
|
990
|
-
leading: leading,
|
|
991
|
-
bottom: bottom,
|
|
992
|
-
trailing: trailing
|
|
1204
|
+
top: top ?? 0,
|
|
1205
|
+
leading: leading ?? 0,
|
|
1206
|
+
bottom: bottom ?? 0,
|
|
1207
|
+
trailing: trailing ?? 0
|
|
993
1208
|
))
|
|
994
|
-
} else {
|
|
995
|
-
content
|
|
996
1209
|
}
|
|
997
1210
|
}
|
|
998
1211
|
}
|
|
@@ -1508,6 +1721,22 @@ extension ViewModifierRegistry {
|
|
|
1508
1721
|
return try DisabledModifier(from: params, appContext: appContext)
|
|
1509
1722
|
}
|
|
1510
1723
|
|
|
1724
|
+
register("redacted") { params, appContext, _ in
|
|
1725
|
+
return try RedactedModifier(from: params, appContext: appContext)
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
register("unredacted") { params, appContext, _ in
|
|
1729
|
+
return try UnredactedModifier(from: params, appContext: appContext)
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
register("privacySensitive") { params, appContext, _ in
|
|
1733
|
+
return try PrivacySensitiveModifier(from: params, appContext: appContext)
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
register("invalidatableContent") { params, appContext, _ in
|
|
1737
|
+
return try InvalidatableContentModifier(from: params, appContext: appContext)
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1511
1740
|
register("zIndex") { params, appContext, _ in
|
|
1512
1741
|
return try ZIndexModifier(from: params, appContext: appContext)
|
|
1513
1742
|
}
|
|
@@ -1539,6 +1768,9 @@ extension ViewModifierRegistry {
|
|
|
1539
1768
|
register("border") { params, appContext, _ in
|
|
1540
1769
|
return try BorderModifier(from: params, appContext: appContext)
|
|
1541
1770
|
}
|
|
1771
|
+
register("strokeBorder") { params, appContext, _ in
|
|
1772
|
+
return try StrokeBorderModifier(from: params, appContext: appContext)
|
|
1773
|
+
}
|
|
1542
1774
|
|
|
1543
1775
|
register("clipShape") { params, appContext, _ in
|
|
1544
1776
|
return try ClipShapeModifier(from: params, appContext: appContext)
|
|
@@ -1596,6 +1828,18 @@ extension ViewModifierRegistry {
|
|
|
1596
1828
|
return try AccessibilityHiddenModifier(from: params, appContext: appContext)
|
|
1597
1829
|
}
|
|
1598
1830
|
|
|
1831
|
+
register("accessibilityElement") { params, appContext, _ in
|
|
1832
|
+
return try AccessibilityElementModifier(from: params, appContext: appContext)
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
register("accessibilityAddTraits") { params, appContext, _ in
|
|
1836
|
+
return try AccessibilityAddTraitsModifier(from: params, appContext: appContext)
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
register("accessibilityRemoveTraits") { params, appContext, _ in
|
|
1840
|
+
return try AccessibilityRemoveTraitsModifier(from: params, appContext: appContext)
|
|
1841
|
+
}
|
|
1842
|
+
|
|
1599
1843
|
register("layoutPriority") { params, appContext, _ in
|
|
1600
1844
|
return try LayoutPriorityModifier(from: params, appContext: appContext)
|
|
1601
1845
|
}
|
|
@@ -1892,6 +2136,10 @@ extension ViewModifierRegistry {
|
|
|
1892
2136
|
return try PresentationBackgroundModifier(from: params, appContext: appContext)
|
|
1893
2137
|
}
|
|
1894
2138
|
|
|
2139
|
+
register("presentationSizing") { params, appContext, _ in
|
|
2140
|
+
return try PresentationSizingModifier(from: params, appContext: appContext)
|
|
2141
|
+
}
|
|
2142
|
+
|
|
1895
2143
|
register("listStyle") { params, appContext, _ in
|
|
1896
2144
|
return try ListStyleModifier(from: params, appContext: appContext)
|
|
1897
2145
|
}
|
|
@@ -61,7 +61,7 @@ internal struct ActivityBackgroundTintModifier: ViewModifier, Record {
|
|
|
61
61
|
@Field var color: Color?
|
|
62
62
|
|
|
63
63
|
func body(content: Content) -> some View {
|
|
64
|
-
#if !os(tvOS) && !os(macOS)
|
|
64
|
+
#if !os(tvOS) && !os(macOS) && !targetEnvironment(macCatalyst)
|
|
65
65
|
content.activityBackgroundTint(color)
|
|
66
66
|
#else
|
|
67
67
|
content
|
package/ios/RNHostView.swift
CHANGED
|
@@ -19,6 +19,11 @@ struct RNHostView: ExpoSwiftUI.View {
|
|
|
19
19
|
.onAppear {
|
|
20
20
|
ExpoUITouchHandlerHelper.createAndAttachTouchHandler(for: childUIView)
|
|
21
21
|
}
|
|
22
|
+
} else if props.matchContents {
|
|
23
|
+
// No hosted UIView (a pure SwiftUI child, e.g. Text/Image). Render it at its
|
|
24
|
+
// natural size instead of falling into the fill branch below, which would
|
|
25
|
+
// stretch a self-sizing SwiftUI view to fill its container.
|
|
26
|
+
Children()
|
|
22
27
|
} else {
|
|
23
28
|
Children()
|
|
24
29
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
package/ios/TextFieldView.swift
CHANGED
|
@@ -219,11 +219,39 @@ private struct StatefulSelectableTextField: View {
|
|
|
219
219
|
)
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
private var selectionBinding: Binding<SwiftUI.TextSelection?> {
|
|
223
|
+
if #available(iOS 26.0, macOS 26.0, tvOS 26.0, *) {
|
|
224
|
+
return $localSelection
|
|
225
|
+
}
|
|
226
|
+
return clampedSelectionBinding
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// iOS 18 SwiftUI can throw an out-of-bounds exception when selection becomes invalid after text is changed programmatically.
|
|
230
|
+
// Resetting to nil avoids passing SwiftUI the stale selection.
|
|
231
|
+
// https://github.com/expo/expo/issues/47434
|
|
232
|
+
// https://github.com/swiftlang/swift/issues/82359#issuecomment-3038538035
|
|
233
|
+
private var clampedSelectionBinding: Binding<SwiftUI.TextSelection?> {
|
|
234
|
+
Binding(
|
|
235
|
+
get: {
|
|
236
|
+
guard let selection = localSelection,
|
|
237
|
+
case let .selection(range) = selection.indices else {
|
|
238
|
+
return localSelection
|
|
239
|
+
}
|
|
240
|
+
let text = (state.value as? String) ?? ""
|
|
241
|
+
if range.lowerBound > text.endIndex || range.upperBound > text.endIndex {
|
|
242
|
+
return nil
|
|
243
|
+
}
|
|
244
|
+
return localSelection
|
|
245
|
+
},
|
|
246
|
+
set: { localSelection = $0 }
|
|
247
|
+
)
|
|
248
|
+
}
|
|
249
|
+
|
|
222
250
|
var body: some View {
|
|
223
251
|
TextField(
|
|
224
252
|
promptText == nil ? props.placeholder : "",
|
|
225
253
|
text: textBinding,
|
|
226
|
-
selection:
|
|
254
|
+
selection: selectionBinding,
|
|
227
255
|
prompt: promptText,
|
|
228
256
|
axis: swiftUIAxis
|
|
229
257
|
)
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e50d71fc4e05c0d5255ddfd0e92ede94
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
6abfcbf907f83e8fe7443a2e783fd2537c3935b2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1b9fff22820c7fb50e59d2033ae3199e9fa2c5c853138629a6e2767f50f7ab2f
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
50b75ddd02eccceb55f0e7985344e58796d0636802fd81e940f357ed55f87bbf889edebad6dc727c1a677082928b67e6453595aaf809ada12871779e5e313978
|
|
Binary file
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
944517fc36046ca971cf969760574fad
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4d91a04542a27e40a7866b4e63f804293ff372b1
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.aar.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.ui",
|
|
5
5
|
"module": "expo.modules.ui",
|
|
6
|
-
"version": "56.0.
|
|
6
|
+
"version": "56.0.20",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.ui-56.0.
|
|
28
|
-
"url": "expo.modules.ui-56.0.
|
|
29
|
-
"size":
|
|
30
|
-
"sha512": "
|
|
31
|
-
"sha256": "
|
|
32
|
-
"sha1": "
|
|
33
|
-
"md5": "
|
|
27
|
+
"name": "expo.modules.ui-56.0.20.aar",
|
|
28
|
+
"url": "expo.modules.ui-56.0.20.aar",
|
|
29
|
+
"size": 1941451,
|
|
30
|
+
"sha512": "33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66",
|
|
31
|
+
"sha256": "11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8",
|
|
32
|
+
"sha1": "4d91a04542a27e40a7866b4e63f804293ff372b1",
|
|
33
|
+
"md5": "944517fc36046ca971cf969760574fad"
|
|
34
34
|
}
|
|
35
35
|
]
|
|
36
36
|
},
|
|
@@ -141,13 +141,13 @@
|
|
|
141
141
|
],
|
|
142
142
|
"files": [
|
|
143
143
|
{
|
|
144
|
-
"name": "expo.modules.ui-56.0.
|
|
145
|
-
"url": "expo.modules.ui-56.0.
|
|
146
|
-
"size":
|
|
147
|
-
"sha512": "
|
|
148
|
-
"sha256": "
|
|
149
|
-
"sha1": "
|
|
150
|
-
"md5": "
|
|
144
|
+
"name": "expo.modules.ui-56.0.20.aar",
|
|
145
|
+
"url": "expo.modules.ui-56.0.20.aar",
|
|
146
|
+
"size": 1941451,
|
|
147
|
+
"sha512": "33c0e88d0bb46e4e00f4916b859f78327081ff3995fb3340e132489c0898a61229aad5989455279a06d2a52a0e8be4945942602d3a231fc5d0cd930bb8b04a66",
|
|
148
|
+
"sha256": "11705a42f0bda49ba0f6ca5f38214e9e98afea5ae6fe34954e06076cd8daf7e8",
|
|
149
|
+
"sha1": "4d91a04542a27e40a7866b4e63f804293ff372b1",
|
|
150
|
+
"md5": "944517fc36046ca971cf969760574fad"
|
|
151
151
|
}
|
|
152
152
|
]
|
|
153
153
|
},
|
|
@@ -161,13 +161,13 @@
|
|
|
161
161
|
},
|
|
162
162
|
"files": [
|
|
163
163
|
{
|
|
164
|
-
"name": "expo.modules.ui-56.0.
|
|
165
|
-
"url": "expo.modules.ui-56.0.
|
|
166
|
-
"size":
|
|
167
|
-
"sha512": "
|
|
168
|
-
"sha256": "
|
|
169
|
-
"sha1": "
|
|
170
|
-
"md5": "
|
|
164
|
+
"name": "expo.modules.ui-56.0.20-sources.jar",
|
|
165
|
+
"url": "expo.modules.ui-56.0.20-sources.jar",
|
|
166
|
+
"size": 94265,
|
|
167
|
+
"sha512": "50b75ddd02eccceb55f0e7985344e58796d0636802fd81e940f357ed55f87bbf889edebad6dc727c1a677082928b67e6453595aaf809ada12871779e5e313978",
|
|
168
|
+
"sha256": "1b9fff22820c7fb50e59d2033ae3199e9fa2c5c853138629a6e2767f50f7ab2f",
|
|
169
|
+
"sha1": "6abfcbf907f83e8fe7443a2e783fd2537c3935b2",
|
|
170
|
+
"md5": "e50d71fc4e05c0d5255ddfd0e92ede94"
|
|
171
171
|
}
|
|
172
172
|
]
|
|
173
173
|
}
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
506ab34d6cfc754edbccf770748383b8
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.module.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ee8c1079a5f05c3ae2ccb8277f6f7e546cc06d08
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
12afde2f9133828ede93ba2a33c1b416185823799b57305a6e68f9b933b824fe
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
acc1dc7bd429770a57363b473ad48c41e68a66998970f5897990d2423202117ad081bba36612492f21b116d90717032564fd956f52609009137ec6516cbcf3c9
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.ui</groupId>
|
|
11
11
|
<artifactId>expo.modules.ui</artifactId>
|
|
12
|
-
<version>56.0.
|
|
12
|
+
<version>56.0.20</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.ui</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.md5
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
806e61e498324369147e61e79261241f
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha1
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e9a7acc373156ff43f3edbc53067244a7e19ea5d
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha256
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
061b93e8346e7e159b65425cbe99e691440eab11bffc0ad4e1cc5e93df17c018
|
package/local-maven-repo/expo/modules/ui/expo.modules.ui/56.0.20/expo.modules.ui-56.0.20.pom.sha512
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a5239bc32e138cdeaf2697962bd1c64bd73dacaf68cd5bee1334b7fa4360c926b7ed5302309772f2fc729705bbd5acb0fdcddaf92df202e7b1ebaa08f8faf4b9
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<groupId>expo.modules.ui</groupId>
|
|
4
4
|
<artifactId>expo.modules.ui</artifactId>
|
|
5
5
|
<versioning>
|
|
6
|
-
<latest>56.0.
|
|
7
|
-
<release>56.0.
|
|
6
|
+
<latest>56.0.20</latest>
|
|
7
|
+
<release>56.0.20</release>
|
|
8
8
|
<versions>
|
|
9
|
-
<version>56.0.
|
|
9
|
+
<version>56.0.20</version>
|
|
10
10
|
</versions>
|
|
11
|
-
<lastUpdated>
|
|
11
|
+
<lastUpdated>20260703084627</lastUpdated>
|
|
12
12
|
</versioning>
|
|
13
13
|
</metadata>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
d40a2dd006f2832a4973fb04fd7c56cf
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
9b30a3c3c561658ca61eb7407afb6090f0efe50e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
bbc911556627e42b0533776eaeab975e59f80bb58162d3b1faf35008c9fa7e32
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
74d4e53a87fe6042a261f82c0de37c8d4922fa0812b4c58f48483e4fb871fbb77c5b126fcd6f6a21f9c18bc094e16d4b5576f241f29f279633e80e96e90d6012
|