Skip to content

Repository files navigation

ooui-react logo

ooui-react

A React implementation of the OOUI component library.

npm React TypeScript docs by rspress License

中文 | English | Documentation

A React implementation of the OOUI component library. Rewritten from scratch, with no runtime dependency on oojs-ui.

Features

  • No bundled styles: Output DOM structure, class names, and attributes match the original; styles are supplied by the consumer from OOUI, fitting MediaWiki sites.
  • Behavior consistent with the original: Keyboard, focus, a11y, and edge cases are verified item by item against the original, so interaction semantics stay consistent.
  • TypeScript support: Written entirely in TypeScript with complete type definitions.
  • Preact compatible: Effectively reduces bundle size.
  • Tree shaking: Supports on-demand imports.

Usage

npm install ooui-react
import { Button } from "ooui-react";

<Button onClick={() => console.log("clicked")}>Click me</Button>

For style imports, MediaWiki integration, and more, see the Usage guide.

Contributing

Contributions from everyone are welcome. See CONTRIBUTING.md for the contribution guide.

License

MIT © BearBin

Acknowledgments

This project is a React implementation of OOUI. Portions of its API design, CSS class names and behavior contracts are derived from OOUI, which is licensed under the MIT License, Copyright 2011-2025 OOUI Team and other contributors.

About

React reimplementation of OOUI components / OOUI 组件库的 React 实现

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages