Update dependency react-native-web to ~0.19.0 #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~0.13.12
->~0.19.0
Release Notes
necolas/react-native-web (react-native-web)
v0.19.13
Compare Source
v0.19.12
Compare Source
v0.19.11
Compare Source
v0.19.10
Compare Source
v0.19.9
Compare Source
v0.19.8
Compare Source
v0.19.7
Compare Source
v0.19.6
Compare Source
v0.19.5
Compare Source
v0.19.4
Compare Source
v0.19.3
Compare Source
v0.19.2
Compare Source
v0.19.1
Compare Source
v0.19.0
: 0.19Compare Source
Best compatibility:
react-native@>=0.71
React 18 support
createRoot
support.Animated
to support React 18, including newAnimatedColor
node.ScrollView
to Class component for React 18 support.New features
'button'
and'paragraph'
role to equivalent semantic HTML elements.aria-*
props.role
prop.id
prop.tabIndex
prop (only values0
and-1
).PointerEvent
props.pointerEvents
style.userSelect
style.insetInline
.)<Image>
support fortintColor
prop.<TextInput>
support forenterKeyHint
prop.<TextInput>
support forinputMode
prop.<TextInput>
support forreadOnly
prop.<TextInput>
support forrows
prop.Deprecations
Touchable*
components. UsePressable
.Button
component. UsePressable
.StyleSheet.compose()
. Use style array syntax.accessibility*
props. Usearia-*
androle
props.nativeId
prop. Useid
prop.focusable
props. UsetabIndex
prop.pointerEvents
prop. UsepointerEvents
style.selectable
prop. UseuserSelect
style.fontVariant
style array values. Use space-separated string values.textAlignVertical
style. UseverticalAlign
style.transform
style array values. Use space-separated string functions.<Image>
styleresizeMode
. UseresizeMode
prop.<Image>
styletintColor
. UsetintColor
prop.<TextInput>
propkeyboardType
. UseinputMode
prop.<TextInput>
propreturnKeyType
. UseenterKeyHint
prop.<TextInput>
propeditable
. UsereadOnly
prop.<TextInput>
propnumberOfLines
. Userows
prop.BackHandler
API.Breaking changes
setNativeProps
API.AppState.removeListener
API.<Text>
isposition:relative
by default.InteractionManager
.Fixes
Animated
now works with compiled styles.textAlign
.v0.18.12
Compare Source
v0.18.11
Compare Source
v0.18.10
Compare Source
v0.18.9
Compare Source
v0.18.8
Compare Source
v0.18.7
Compare Source
v0.18.6
Compare Source
v0.18.5
Compare Source
v0.18.4
Compare Source
v0.18.3
Compare Source
v0.18.2
Compare Source
v0.18.1
Compare Source
v0.18.0
: 0.18Compare Source
Breaking changes
StyleSheet.create()
is now the identify function, returning the input style objects. Previously, it replaced styles with numeric ids. This improves compatibility with React Native, but accessing the returned style objects at runtime is still not recommended as it can prevent static extraction to CSS. (#2068)StyleSheet.getSheet()
can be used on the server to retrieve the current style sheet as a CSS string. (#2196)I18nManager
is now a mock API included only for compatibility with React Native. The ability to flip left/right properties or values has now been removed entirely (use start/end instead). See below for new localization APIs.StyleSheet.create()
.accessible
,accessibilityState
, andaccessibilityValue
props have been removed.:focus-visible
polyfill has been removed, as by default modern browsers no longer show focus rings for pointer interactions.unstable_createElement
API has changed. Children are no longer accepted as the 3rd argument, they must be included in the props as the 2nd argument. The 3rd argument is now an options object with a field to set the expected writing direction ({ writingDirection }
).New features
dir
orlang
prop on a component. By default, layouts are rendering RTL. To render RTL you must setdir="rtl"
on an outer element rendered by React.useLocaleContext
is a new export API. Use it to query a component's locale and writing direction context for fine-grained control over localized layout.StyleSheet.flatten
cannot work with extracted styles. (See below for more details.)Fixes
CheckBox
andSwitch
elements. (#2242)Linking.openURL
supportstarget
value. (#2277)Notes
StyleSheet runtime
StyleSheet
has been rewritten to better separate the runtime from the compiler. The performance of the new merging runtime is on par with using css-modules. The core runtime is a standalone package called styleQ; refer to the styleQ documentation for more details.The performance of inline styles has also been significantly improved, although
StyleSheet
still has to perform extra work to transform non-standard React Native styles and polyfill logical styles.The
StyleSheet
import is now a standalone module.StyleSheet
itself is a function that can be called to resolve styles to DOMclassName
andstyle
values, e.g.,StyleSheet extraction
One of the benefits behind the new architecture is that
StyleSheet
can resolve compiled styles that conform to the expected format, whether they are produced by the built-in compiler or an external source. However, this is not yet recommended, as explained below.Style compilers must produce annotated objects that are treated as class name maps, and classes are de-duplicated based on whether they share the same key, e.g.,
This is the first step towards allowing 3rd party tools to extract styles to static CSS files, and optionally dropping the client-side compiler, without needing to integrate deeply with the
StyleSheet
runtime or having to modify props/prop values in the source code, i.e., only theStyleSheet.create()
call needs transforming by the compiler.The existence of the
StyleSheet.flatten()
API is a problem for build-time compiling of some styles. Components that flatten styles (e.g.,Animated
,Image
) expect to be able to work with the source styles, and use the source values at runtime. A compiler that aims to extract all styles and have no runtime transform would also need to disallow the use ofStyleSheet.flatten()
entirely. A future release of React Native for Web may remove use ofStyleSheet.flatten
from internal implementations, but cannot prevent this API from being used in product code or 3rd party packages.v0.17.7
Compare Source
v0.17.6
Compare Source
v0.17.5
Compare Source
v0.17.4
Compare Source
v0.17.3
Compare Source
v0.17.2
Compare Source
v0.17.1
Compare Source
v0.17.0
Compare Source
Accessibility improvements and breaking changes to unstable APIs.
Breaking changes
accessibilityRole="menuitem"
. It no longer adds elements to the tab flow.View
andText
withaccessibilityRole="link"
. Only requires addition ofhref
prop.unstable_createElement
element-type inference usinghref
. Fixes use with svg elements.unstable_createElement
keyboard shim foronClick
. It no longer invokesonClick
duringonKeyDown
for keyboard interactions on elements that are not natively interactive.Fixes
Pressable
support for keyboard interactions if element is unmounted during interaction.ProgressBar
&Switch
rendering in Windows High Contrast modeText
preserves white-space ifnumberOfLines={1}
.v0.16.5
Compare Source
v0.16.4
Compare Source
v0.16.3
Compare Source
v0.16.2
Compare Source
v0.16.1
Compare Source
v0.16.0
: 0.16Compare Source
This release includes Flow type exports, updates vendored modules, and miscellaneous bug fixes.
Breaking changes
Animated
&VirtualizedList
have been updated from React Native.Dimensions
has changed the source ofwindow
dimensions and works more reliably in Safari.NativeEventEmitter
no longer inherits fromEventEmitter
and does not include theremoveSubscription
method.New features
v0.15.7
Compare Source
v0.15.6
Compare Source
v0.15.5
Compare Source
v0.15.4
Compare Source
v0.15.3
Compare Source
v0.15.2
Compare Source
v0.15.1
Compare Source
v0.15.0
Compare Source
This release introduces improved accessibility features and new documentation. It includes relatively minor breaking changes.
Breaking changes
I18nManager
API has removed theisRTL
anddoLeftAndRightSwapInRTL
properties. They must now be accessed using thegetConstants()
method, which returns an object with the same properties. This was an undocumented breaking change in a previous version of React Native.focusable
prop now determines whether an element appears in the keyboard tab flow.hrefAttrs
prop has been added toText
andView
. The value is an object withrel
,target
, anddownload
properties. This replaces the undocumentedrel
andtarget
props.rel="noopener"
to anchors has been removed.Linking.openURL(url)
API now opens the url in new tab.Linking
API now includes theaddEventListener
methods.importantForAccessibility
prop has been removed. UseaccessibilityHidden
instead.data-focusable
attribute has also been removed from rendered DOM nodes.disabled
prop has been removed fromView
andText
; useaccessibilityDisabled
instead.New features
onHoverIn
andonHoverOut
props.accessibility*
props. The undocumented support foraria-*
prop forwarding remains and will be removed in a future version.accessibilityRole
values are mapped to HTML element equivalents.aspectRatio
property is now available in browsers with support.Deprecations
accessible
prop is deprecated and will be removed in the next minor release. React Native for Web will follow React Native for Windows/macOS in removing this prop. Usefocusable
instead.Documentation
This release will include a rewrite of the documentation site and interactive examples.
https://necolas.github.io/react-native-web/
The examples will be embedded in relevant pages via a Next.js-powered codesandbox, making it easy for people to fork the example app from their browsers.
v0.14.13
Compare Source
v0.14.12
Compare Source
v0.14.11
Compare Source
v0.14.10
Compare Source
v0.14.9
Compare Source
v0.14.8
Compare Source
v0.14.7
Compare Source
v0.14.6
Compare Source
v0.14.5
Compare Source
v0.14.4
Compare Source
v0.14.3
Compare Source
v0.14.2
Compare Source
v0.14.1
Compare Source
v0.14.0
Compare Source
This is a relatively small release that introduces a couple of new features and makes a change to the default
flexBasis
value ofView
. There are no breaking API changes and it should be straight-forward to upgrade from 0.13. Thank you to Twitter Engineering and everyone else who tested and helped to improve the 0.14 release.Breaking changes
Default flex-basis value of Views
React Native has an implementation of flexbox that does not quite follow the W3C spec for flexbox. Previously, React Native for Web attempted to replicate the React Native rendering by setting
flexBasis
to0%
. However, this created its own problems where views could collapse down to0px
in height on the web. This patch sets the defaultflexBasis
back toauto
. This will occasionally cause different rendering inconsistencies with React Native, which can be addressed by making changes small to existing React Native styles to set theflexBasis
back to0%
or the desired percentage. And ultimately, Yoga 2 intends to correct its flexbox implementation and this will make its way into React Native eventually.Fix #1640, #1604, #1264
New features
Modal implementation
A
Modal
implementation using CSS animations and ARIA, courtesy of @imnotjames. When the modal is open the rest of the app is hidden from screen readers viaaria-modal
. Focus is contained within the modal. When the Escape key is pressed, theonRequestClose
function is called on the top-most modal.Fix #1020
Pressable support for hover state
The
Pressable
component state now includeshover
, which scoped is scoped to aPressable
instance and does not bubble to ancestor Pressables. This behavior aligns with the behavior of the focus and press states.Fix #1708
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.