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: 15 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-04-25T14:26:11.000Z (18 days ago)
- Last Synced: 2025-04-28T12:13:45.066Z (15 days ago)
- Topics: css, kotlin, kotlin-js, react, react-router-dom, styled-components
- Language: Kotlin
- Homepage:
- Size: 28.5 MB
- Stars: 1,469
- Watchers: 29
- Forks: 172
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[](https://github.com/JetBrains/kotlin-wrappers/actions)
[](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-wrappers-bom)
[](http://kotlinlang.org)
[](https://kotlinlang.org/docs/js-project-setup.html)
[](https://kotlinlang.org/docs/wasm-get-started.html)
[](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 | Targets | API | README | Note | Version |
|:---------------------------------------------|:------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------|:---------------------------------------------------------|:--------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `kotlin-actions-artifact` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-artifact) | [README](kotlin-actions-artifact/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-artifact/) |
| `kotlin-actions-cache` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-cache) | [README](kotlin-actions-cache/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-cache/) |
| `kotlin-actions-core` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-core) | [README](kotlin-actions-core/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-core/) |
| `kotlin-actions-exec` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-exec) | [README](kotlin-actions-exec/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-exec/) |
| `kotlin-actions-github` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-github) | [README](kotlin-actions-github/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-github/) |
| `kotlin-actions-glob` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-glob) | [README](kotlin-actions-glob/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-glob/) |
| `kotlin-actions-http-client` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-http-client) | [README](kotlin-actions-http-client/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-http-client/) |
| `kotlin-actions-io` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-io) | [README](kotlin-actions-io/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-io/) |
| `kotlin-actions-tool-cache` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-actions-tool-cache) | [README](kotlin-actions-tool-cache/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-actions-tool-cache/) |
| `kotlin-ajv` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-ajv) | [README](kotlin-ajv/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-ajv/) |
| `kotlin-browser` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-browser) | [README](kotlin-browser/README.md) | | [](https://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-csstype/) |
| `kotlin-electron` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-electron) | [README](kotlin-electron/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-electron/) |
| `kotlin-emotion-cache` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion-cache) | [README](kotlin-emotion-cache/README.md) | [guide](./docs/guide/emotion.md) | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion-cache/) |
| `kotlin-emotion-css` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion-css) | [README](kotlin-emotion-css/README.md) | [guide](./docs/guide/emotion.md) | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion-css/) |
| `kotlin-emotion-react` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion-react) | [README](kotlin-emotion-react/README.md) | [guide](./docs/guide/emotion.md) | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion-react/) |
| `kotlin-emotion-styled` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion-styled) | [README](kotlin-emotion-styled/README.md) | [guide](./docs/guide/emotion.md) | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion-styled/) |
| `kotlin-emotion-utils` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-emotion-utils) | [README](kotlin-emotion-utils/README.md) | [guide](./docs/guide/emotion.md) | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-emotion-utils/) |
| `kotlin-js` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-js) | [README](kotlin-js/README.md) | | [](https://search.maven.org/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://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-js-core/) |
| `kotlin-jszip` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-jszip) | [README](kotlin-jszip/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-jszip/) |
| `kotlin-mui-material` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-mui-material) | [README](kotlin-mui-material/README.md) | | [](https://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/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://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-wrappers-bom/) |
| `kotlin-wrappers-catalog` |  | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-wrappers-catalog) | [README](kotlin-wrappers-catalog/README.md) | | [](https://search.maven.org/artifact/org.jetbrains.kotlin-wrappers/kotlin-wrappers-catalog/) |
| `kotlin-yaml` |   | [API](https://jetbrains.github.io/kotlin-wrappers/kotlin-yaml) | [README](kotlin-yaml/README.md) | | [](https://search.maven.org/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.4.16"
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/).