Home

Awesome

JetBrains team project CI CI-K2.1 Maven Central Kotlin Slack channel

Kotlin Wrappers

This repository hosts a number of Kotlin wrappers for popular JavaScript libraries.

To learn more please refer to the API Reference.

Library nameAPIREADMENoteVersion
kotlin-actions-toolkitAPIREADMEMaven Central
kotlin-browserAPIREADMEMaven Central
kotlin-cesium-engineAPIREADMEMaven Central
kotlin-cesium-widgetsAPIREADMEMaven Central
kotlin-cssAPIREADMEMaven Central
kotlin-cssom-coreAPIREADMEMaven Central
kotlin-csstypeAPIREADMEguideMaven Central
kotlin-electronAPIREADMEMaven Central
kotlin-emotionAPIREADMEguideMaven Central
kotlin-jsAPIREADMEMaven Central
kotlin-mui-materialAPIREADMEMaven Central
kotlin-mui-baseAPIREADMEMaven Central
kotlin-mui-icons-materialAPIREADMEMaven Central
kotlin-mui-labAPIREADMEMaven Central
kotlin-mui-systemAPIREADMEMaven Central
kotlin-muix-date-pickersAPIREADMEMaven Central
kotlin-muix-tree-viewAPIREADMEMaven Central
kotlin-nodeAPIREADMEMaven Central
kotlin-null-writableAPIREADMEMaven Central
kotlin-popperjs-coreAPIREADMEMaven Central
kotlin-preact-signals-coreAPIREADMEMaven Central
kotlin-preact-signals-reactAPIREADMEMaven Central
kotlin-reactAPIREADMEMaven Central
kotlin-react-beautiful-dndAPIREADMEMaven Central
kotlin-react-coreAPIREADMEMaven Central
kotlin-react-domAPIREADMEMaven Central
kotlin-react-dom-legacy<sup>archived</sup>APIREADMEMaven Central
kotlin-react-dom-test-utilsAPIREADMEMaven Central
kotlin-react-legacy<sup>archived</sup>APIREADMEMaven Central
kotlin-react-routerAPIREADMEMaven Central
kotlin-react-router-domAPIREADMEMaven Central
kotlin-react-popperAPIREADMEMaven Central
kotlin-react-selectAPIREADMEMaven Central
kotlin-react-useAPIREADMEMaven Central
kotlin-remix-run-routerAPIREADMEMaven Central
kotlin-semverAPIREADMEMaven Central
kotlin-styled-nextAPIREADMEMaven Central
kotlin-tanstack-query-coreAPIREADMEMaven Central
kotlin-tanstack-react-queryAPIREADMEMaven Central
kotlin-tanstack-react-query-devtoolsAPIREADMEMaven Central
kotlin-tanstack-react-tableAPIREADMEMaven Central
kotlin-tanstack-react-virtualAPIREADMEMaven Central
kotlin-tanstack-table-coreAPIREADMEMaven Central
kotlin-tanstack-virtual-coreAPIREADMEMaven Central
kotlin-typescriptAPIREADMEMaven Central
kotlin-vercel-nccAPIREADMEMaven Central
kotlin-webAPIREADMEMaven Central
kotlin-wrappers-bomAPIREADMEMaven Central

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:

// root `settings.gradle.kts`
dependencyResolutionManagement {
    repositories {
        mavenCentral()
    }

    versionCatalogs {
        create("kotlinWrappers") {
            val wrappersVersion = "0.0.1-pre.823"
            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

  2. Building Web Applications with React and Kotlin/JS, a tutorial by JetBrains.

  3. An example of using react-table that shows how to use react-table with hooks API.

  4. An example of using Material UI.

  5. ByteLegend: an open-source, real-world HTML5 MMORPG game.

Follow these examples to learn how to start developing your React apps with Kotlin. Good luck and have fun!

Contributing

Contributions to this project are welcome! Please see the open issues or chat with us on the #react channel in our Slack.