react-highlighter-ts
Version:
a TypeScript rewrite of the package react-highlighter
72 lines (48 loc) • 1.92 kB
Markdown
[](https://www.npmjs.com/package/react-highlighter-ts)
# react-highlighter-ts
This is a TypeScript rewrite of the npm package
[`react-highligher`](https://github.com/helior/react-highlighter), which has no
type support, has very out of date dependencies, and seems to be abandoned (no
activity since 2018).
## Version note
Starting with version 18.0.0, this library's major version number will be pinned to the compatible major version of React.
For React version 17.x compatability, install version `^2.2.0`.
## Usage
The API for this package is identical to that of the original package,
`react-highlighter`.
```tsx
import * as React from "react";
import { Highlight } from "react-highlighter-ts";
export const Example = () => (
<Highlight search="hello">Hello, World!</Highlight>
);
```
See [generated type
documentation](https://chadlavi.github.io/react-highlighter-ts/) for details on
properties accepted by `<Highlight>`.
### Styling
By default, this library wraps matches in an html `<mark>` tag, and does not
style it. Most browsers style the `<mark>` tag by giving it a yellow background
and black text. You can style your matches by providing a pre-styled
element type to `matchElement`, passing a CSS class to `matchClass`, or passing
CSS rules to `matchStyle`.
### Migrating from `react-highlighter`
You should be able to migrate directly from `react-highlighter` to
`react-highlighter-ts` without any changes in your source code besides adjusting
your imports.
## Contributing
See something amiss? Please open a PR.
## Development setup
This library does not use any global dependencies, so a simple `npm install`
should suffice.
## Testing
Tests have been adapted from the original `react-highlighter` codebase. Tests
use Jest + Enzyme.
```sh
npm run test
```
or to watch file changes:
```sh
npm run test:watch
```