Return a React inert prop value that works under both React 18 and React 19.
React 19 treats inert as a boolean attribute. React 18 does not know about inert and ignores inert={ true }, so the prop has to be the string 'true' instead. This package returns the value that the running React version will render as the inert HTML attribute.
Installation
Install the module
npm install @wordpress/react-inert-value --save
Usage
inertValue
import { inertValue } from '@wordpress/react-inert-value';
<div inert={ inertValue( true ) } />;
API
inertValue
Returns a value for the inert prop that the running version of React renders as the inert HTML attribute.
React 19 handles inert as a boolean attribute, while React 18 knows nothing about inert and ignores inert={ true }, so it has to be given the string 'true' instead.
The return type describes what React 19 types accept. React 18 doesn’t support inert HTML attribute at all, so a TypeScript call site still needs a @ts-expect-error annotation.
Inspired by the helper of the same name in the Base UI library.
Parameters
- value
boolean: Boolean value for theinertprop.
Returns
boolean | undefined: The actual value to pass to theinertprop.
Contributing to this package
This is an individual package that’s part of the Gutenberg project. The project is organized as a monorepo. It’s made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to npm and used by WordPress as well as other software projects.
To find out more about contributing to this package or Gutenberg as a whole, please read the project’s main contributor guide.