JetBrains / kotlin-wrappers

Kotlin wrappers for popular JavaScript libraries
Apache License 2.0
1.36k stars 160 forks source link
css kotlin kotlin-js react react-router-dom styled-components

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 name API README Note Version
kotlin-actions-toolkit API README Maven Central
kotlin-browser API README Maven Central
kotlin-cesium-engine API README Maven Central
kotlin-cesium-widgets API README Maven Central
kotlin-css API README Maven Central
kotlin-cssom-core API README Maven Central
kotlin-csstype API README guide Maven Central
kotlin-electron API README Maven Central
kotlin-emotion API README guide Maven Central
kotlin-js API README Maven Central
kotlin-mui-material API README Maven Central
kotlin-mui-base API README Maven Central
kotlin-mui-icons-material API README Maven Central
kotlin-mui-lab API README Maven Central
kotlin-mui-system API README Maven Central
kotlin-muix-date-pickers API README Maven Central
kotlin-muix-tree-view API README Maven Central
kotlin-node API README Maven Central
kotlin-null-writable API README Maven Central
kotlin-popperjs-core API README Maven Central
kotlin-preact-signals-core API README Maven Central
kotlin-preact-signals-react API README Maven Central
kotlin-react API README Maven Central
kotlin-react-beautiful-dnd API README Maven Central
kotlin-react-core API README Maven Central
kotlin-react-dom API README Maven Central
kotlin-react-dom-legacyarchived API README Maven Central
kotlin-react-dom-test-utils API README Maven Central
kotlin-react-legacyarchived API README Maven Central
kotlin-react-router API README Maven Central
kotlin-react-router-dom API README Maven Central
kotlin-react-popper API README Maven Central
kotlin-react-select API README Maven Central
kotlin-react-use API README Maven Central
kotlin-remix-run-router API README Maven Central
kotlin-semver API README Maven Central
kotlin-styled-next API README Maven Central
kotlin-tanstack-query-core API README Maven Central
kotlin-tanstack-react-query API README Maven Central
kotlin-tanstack-react-query-devtools API README Maven Central
kotlin-tanstack-react-table API README Maven Central
kotlin-tanstack-react-virtual API README Maven Central
kotlin-tanstack-table-core API README Maven Central
kotlin-tanstack-virtual-core API README Maven Central
kotlin-typescript API README Maven Central
kotlin-vercel-ncc API README Maven Central
kotlin-web API README Maven Central
kotlin-wrappers-bom API README Maven 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.838"
            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.