https://github.com/JetBrains/kotlin-wrappers
Kotlin wrappers for popular JavaScript libraries
https://github.com/JetBrains/kotlin-wrappers
css kotlin kotlin-js react react-router-dom styled-components
Last synced: 30 days ago
JSON representation
Kotlin wrappers for popular JavaScript libraries
- Host: GitHub
- URL: https://github.com/JetBrains/kotlin-wrappers
- Owner: JetBrains
- License: apache-2.0
- Created: 2017-06-03T13:46:54.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-10T20:16:27.000Z (about 1 month ago)
- Last Synced: 2025-03-10T20:41:56.989Z (about 1 month ago)
- Topics: css, kotlin, kotlin-js, react, react-router-dom, styled-components
- Language: Kotlin
- Homepage:
- Size: 26.5 MB
- Stars: 1,420
- Watchers: 29
- Forks: 168
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-kotlin - kotlin-wrappers - Kotlin wrappers for popular JavaScript libraries (Libraries)
README
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[](https://github.com/JetBrains/kotlin-wrappers/actions)
[](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-wrappers-bom)
[](http://kotlinlang.org)
[](https://kotlinlang.slack.com/messages/react/)# Kotlin Wrappers
This repository hosts a number of [Kotlin](https://kotlinlang.org) wrappers for popular JavaScript libraries.
To learn more please refer to the [API Reference](https://jetbrains.github.io/kotlin-wrappers/).
| Library name | API | README | Note | Version |
|:---------------------------------------------|:----------------------------------------------------------------------------------------|:---------------------------------------------------------|:--------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `kotlin-actions-toolkit` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-toolkit) | [README](kotlin-actions-toolkit/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-toolkit/) |
| `kotlin-ajv` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-ajv) | [README](kotlin-ajv/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-ajv/) |
| `kotlin-browser` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-browser) | [README](kotlin-browser/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-browser/) |
| `kotlin-cesium-engine` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-cesium-engine) | [README](kotlin-cesium-engine/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-cesium-engine/) |
| `kotlin-cesium-widgets` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-cesium-widgets) | [README](kotlin-cesium-widgets/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-cesium-widgets/) |
| `kotlin-css` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-css) | [README](kotlin-css/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-css/) |
| `kotlin-cssom-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-cssom-core) | [README](kotlin-cssom-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-cssom-core/) |
| `kotlin-csstype` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-csstype) | [README](kotlin-csstype/README.md) | [guide](./docs/guide/csstype.md) | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-csstype/) |
| `kotlin-electron` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-electron) | [README](kotlin-electron/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-electron/) |
| `kotlin-emotion` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion) | [README](kotlin-emotion/README.md) | [guide](./docs/guide/emotion.md) | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion/) |
| `kotlin-js` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-js) | [README](kotlin-js/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-js/) |
| `kotlin-js-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-js-core) | [README](kotlin-js-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-js-core/) |
| `kotlin-mui-material` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-material) | [README](kotlin-mui-material/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-mui-material/) |
| `kotlin-mui-base` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-base) | [README](kotlin-mui-base/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-mui-base/) |
| `kotlin-mui-icons-material` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-icons-material) | [README](kotlin-mui-icons-material/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-mui-icons-material/) |
| `kotlin-mui-lab` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-lab) | [README](kotlin-mui-lab/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-mui-lab/) |
| `kotlin-mui-system` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-system) | [README](kotlin-mui-system/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-mui-system/) |
| `kotlin-muix-date-pickers` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-muix-date-pickers) | [README](kotlin-muix-date-pickers/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-muix-date-pickers/) |
| `kotlin-muix-tree-view` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-muix-tree-view) | [README](kotlin-muix-tree-view/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-muix-tree-view/) |
| `kotlin-node` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-node) | [README](kotlin-node/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-node/) |
| `kotlin-null-writable` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-null-writable) | [README](kotlin-null-writable/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-null-writable/) |
| `kotlin-popperjs-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-popperjs-core) | [README](kotlin-popperjs-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-popperjs-core/) |
| `kotlin-prantlf-jsonlint` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-prantlf-jsonlint) | [README](kotlin-prantlf-jsonlint/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-prantlf-jsonlint/) |
| `kotlin-preact-signals-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-preact-signals-core) | [README](kotlin-preact-signals-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-preact-signals-core/) |
| `kotlin-preact-signals-react` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-preact-signals-react) | [README](kotlin-preact-signals-react/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-preact-signals-react/) |
| `kotlin-react` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react) | [README](kotlin-react/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react/) |
| `kotlin-react-beautiful-dnd` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-beautiful-dnd) | [README](kotlin-react-beautiful-dnd/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-beautiful-dnd/) |
| `kotlin-react-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-core) | [README](kotlin-react-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-core/) |
| `kotlin-react-dom` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-dom) | [README](kotlin-react-dom/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-dom/) |
| `kotlin-react-dom-legacy`archived | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-dom-legacy) | [README](kotlin-react-dom-legacy/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-dom-legacy/) |
| `kotlin-react-dom-test-utils` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-dom-test-utils) | [README](kotlin-react-dom-test-utils/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-dom-test-utils/) |
| `kotlin-react-legacy`archived | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-legacy) | [README](kotlin-react-legacy/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-legacy/) |
| `kotlin-react-router` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-router) | [README](kotlin-react-router/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-router/) |
| `kotlin-react-popper` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-popper) | [README](kotlin-react-popper/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-popper/) |
| `kotlin-react-select` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-select) | [README](kotlin-react-select/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-select/) |
| `kotlin-react-use` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-react-use) | [README](kotlin-react-use/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-react-use/) |
| `kotlin-semver` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-semver) | [README](kotlin-semver/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-semver/) |
| `kotlin-styled-next` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-styled-next) | [README](kotlin-styled-next/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-styled-next/) |
| `kotlin-tanstack-query-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-query-core) | [README](kotlin-tanstack-query-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-query-core/) |
| `kotlin-tanstack-react-query` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-react-query) | [README](kotlin-tanstack-react-query/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-react-query/) |
| `kotlin-tanstack-react-query-devtools` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-react-query-devtools) | [README](kotlin-tanstack-react-query-devtools/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-react-query-devtools/) |
| `kotlin-tanstack-react-table` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-react-table) | [README](kotlin-tanstack-react-table/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-react-table/) |
| `kotlin-tanstack-react-virtual` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-react-virtual) | [README](kotlin-tanstack-react-virtual/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-react-virtual/) |
| `kotlin-tanstack-table-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-table-core) | [README](kotlin-tanstack-table-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-table-core/) |
| `kotlin-tanstack-virtual-core` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-tanstack-virtual-core) | [README](kotlin-tanstack-virtual-core/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-tanstack-virtual-core/) |
| `kotlin-typescript` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-typescript) | [README](kotlin-typescript/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-typescript/) |
| `kotlin-vercel-ncc` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-vercel-ncc) | [README](kotlin-vercel-ncc/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-vercel-ncc/) |
| `kotlin-web` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-web) | [README](kotlin-web/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-web/) |
| `kotlin-wrappers-bom` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-wrappers-bom) | [README](kotlin-wrappers-bom/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-wrappers-bom/) |
| `kotlin-yaml` | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-yaml) | [README](kotlin-yaml/README.md) | | [](https://mvnrepository.com/artifact/org.jetbrains.kotlin-wrappers/kotlin-yaml/) |Artifacts are published to Maven Central, see the corresponding README files for package coordinates.
**All packages require JDK 11 to be installed.**
## Using In Your Projects
Use Kotlin Wrappers' version catalog.
Just declare `kotlin-wrappers-catalog` in root `settings.gradle.kts` and specify the modules you need:
```kotlin
// root `settings.gradle.kts`
dependencyResolutionManagement {
repositories {
mavenCentral()
}versionCatalogs {
create("kotlinWrappers") {
val wrappersVersion = "2025.3.13"
from("org.jetbrains.kotlin-wrappers:kotlin-wrappers-catalog:$wrappersVersion")
}
}
}// build.gradle.kts
dependencies {
jsMainImplementation(kotlinWrappers.emotion)
jsMainImplementation(kotlinWrappers.react)
jsMainImplementation(kotlinWrappers.reactDom)
jsMainImplementation(kotlinWrappers.tanstack.reactTable)
// other wrappers
}
```## Examples
1. [Internal examples](examples/README.md)
2. [Building Web Applications with React and Kotlin/JS](https://play.kotlinlang.org/hands-on/Building%20Web%20Applications%20with%20React%20and%20Kotlin%20JS/01_Introduction),
a tutorial by JetBrains.3. An [example of using Material UI](https://github.com/karakum-team/kotlin-mui-showcase).
Follow these examples to learn how to start developing your Kotlin/JS apps. Good luck and have fun!
## Contributing
Contributions to this project are welcome! Please see the open
[issues](https://github.com/JetBrains/kotlin-wrappers/issues) or chat with us on
the [#javascript](https://kotlinlang.slack.com/messages/javascript/) channel in our
[Slack](https://slack.kotlinlang.org/).