Browser compatibility
Understanding React GUI browser compatibility.
React GUI is designed and tested for recent mobile and desktop browsers, for touch and mouse and keyboard interactions.
The browsers with known support include:
- Chrome 60+
- Safari 11+ / iOS Safari 11+
- Edge 12+
- Firefox ESR+
- Opera
If specific exports have a different browser support expectation, it will be documented with that export.
JavaScript #
Your application may need to polyfill Promise
, Object.assign
, Array.from
, and ResizeObserver
as necessary for your desired browser support.
Events #
Modern browsers support the PointerEvent
API which is best suited to developing modern, multi-modality UX. React GUI uses PointerEvent
whenever possible with fallbacks to MouseEvent
and TouchEvent
when unsupported.
CSS #
All CSS properties and values are supported. Vendor prefixes are automatically provided where necessary. For example, if you use the following style:
const style = {
transform: 'rotate(90deg)'
}
The resulting CSS is:
.r-transform-24jds {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
Certain CSS properties are not supported across all browsers, but are polyfilled by React GUI. For example, if you use the following style:
const style = {
lineClamp: 1
}
The resulting CSS is:
@supports (line-clamp:1) {
.r-lineClamp-d5gds {
line-clamp: 1;
}
}
@supports not (line-clamp:1) {
.r-lineClamp-d5gds {
display: -webkit-box;
-webkit-line-clamp: 1;
// etc
}
}