> For the complete documentation index, see [llms.txt](https://kvision.gitbook.io/kvision-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kvision.gitbook.io/kvision-guide/1.-getting-started-1/modules.md).

# Modules

KVision consists of both required and optional functionality. Modules can be added as dependencies in `build.gradle.kts` file.&#x20;

All modules which include CSS stylesheets require explicit initialization. This also applies to the core module. This initialization ensures a predictable order in which all styles will be applied. The initialization is performed by adding dedicated module objects as parameters to the `startApplication()` function.

```kotlin
fun main() {
    startApplication(
        ::App,
        js("import.meta.webpackHot").unsafeCast<Hot?>(),
        BootstrapModule,
        BootstrapCssModule,
        FontAwesomeModule,
        TomSelectModule,
        DatetimeModule,
        BootstrapUploadModule,
        CoreModule
    )
}
```

{% hint style="info" %}
Some modules include more than one, optional initializers. E.g. `kvision-tabulator` module includes mandatory `TabulatorModule` but also `TabulatorCssBootstrapModule` , `TabulatorCssBulmaModule`, `TabulatorCssMaterializeModule`, `TabulatorCssMidnightModule`, `TabulatorCssModernModule`, `TabulatorCssSemanticModule`, `TabulatorCssSimpleModule` and `TabulatorCssStandardModule` for all CSS styles supported by the Tabulator component.
{% endhint %}

This is the current list of available modules.

| Module                                                                                                   | Description                                                                                                                                                                                                                                            |
| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| kvision                                                                                                  | Core module required for all applications.                                                                                                                                                                                                             |
| [kvision-bootstrap](/kvision-guide/3.-optional-ui-functionality-via-modules/bootstrap.md)                | <p>Bootstrap based components.</p><p>Can be omitted for applications, which use only the core functionality of the framework.</p><p><em>See</em> <a href="/pages/-LEiKNaOmWdFcHSD0mV6"><em>Theming</em></a> <em>chapter for more information.</em></p> |
| kvision-tailwindcss                                                                                      | [TailwindCSS](https://tailwindcss.com/) support.                                                                                                                                                                                                       |
| kvision-bootstrap-upload                                                                                 | Bootstrap based upload form component.                                                                                                                                                                                                                 |
| kvision-bootstrap-icons                                                                                  | [Bootstrap Icons](https://icons.getbootstrap.com/) support.                                                                                                                                                                                            |
| kvision-datetime                                                                                         | Date and time picker form components.                                                                                                                                                                                                                  |
| kvision-tom-select                                                                                       | Select and typeahead (autocomplete) components based on [Tom Select](https://tom-select.js.org/) library.                                                                                                                                              |
| [kvision-fontawesome](/kvision-guide/2.-frontend-development-guide/icons-and-images.md)                  | [Font Awesome](https://fontawesome.com) support.                                                                                                                                                                                                       |
| [kvision-handlebars](/kvision-guide/3.-optional-ui-functionality-via-modules/handlebars.js-templates.md) | [Handlebars.js](https://handlebarsjs.com/) templates support for text components.                                                                                                                                                                      |
| [kvision-i18n](/kvision-guide/2.-frontend-development-guide/internationalization.md)                     | Internationalization support.                                                                                                                                                                                                                          |
| kvision-imask                                                                                            | Text input mask support powered by [Imask.js](https://imask.js.org/)                                                                                                                                                                                   |
| kvision-richtext                                                                                         | Rich text form component.                                                                                                                                                                                                                              |
| kvision-chart                                                                                            | [Chart](/kvision-guide/3.-optional-ui-functionality-via-modules/charts.md) component.                                                                                                                                                                  |
| [kvision-tabulator](/kvision-guide/3.-optional-ui-functionality-via-modules/tabulator-tables.md)         | [Tabulator](/kvision-guide/3.-optional-ui-functionality-via-modules/tabulator-tables.md) component.                                                                                                                                                    |
| kvision-pace                                                                                             | [Pace](https://codebyzach.github.io/pace/) automatic page loader.                                                                                                                                                                                      |
| kvision-ballast                                                                                          | Integration with [Ballast](https://copper-leaf.github.io/ballast/) state management framework                                                                                                                                                          |
| [kvision-redux-kotlin](/kvision-guide/3.-optional-ui-functionality-via-modules/using-redux.md)           | <p><a href="https://reduxkotlin.org/">ReduxKotlin</a> state container.</p><p>See <a href="/pages/-LaCmnOV4gc9_SeUUiqy">Using Redux</a> chapter for more information.</p>                                                                               |
| [kvision-react](/kvision-guide/4.-integrating-with-javascript-libraries/using-react-components.md)       | Support for using React components in KVision applications.                                                                                                                                                                                            |
| kvision-maps                                                                                             | <p>A basic module with the <code>Maps</code> component, based on <a href="https://leafletjs.com/">Leaflet</a> library. </p><p>PR welcomed!</p>                                                                                                         |
| kvision-material                                                                                         | [Material Web](https://github.com/material-components/material-web) based components.                                                                                                                                                                  |
| kvision-toastify                                                                                         | Toast messages.                                                                                                                                                                                                                                        |
| kvision-print                                                                                            | Printing support with [Print.js](https://printjs.crabbly.com/) library.                                                                                                                                                                                |
| kvision-routing-navigo                                                                                   | Routing module based on [Navigo 7](https://github.com/krasimir/navigo/blob/master/README_v7.md) library.                                                                                                                                               |
| [kvision-routing-navigo-ng](/kvision-guide/3.-optional-ui-functionality-via-modules/js-routing.md)       | Routing module based on [Navigo 8+](https://github.com/krasimir/navigo) library.                                                                                                                                                                       |
| kvision-routing-ballast                                                                                  | Routing module based on [Ballast](https://copper-leaf.github.io/ballast/) framework.                                                                                                                                                                   |
| [kvision-jquery](/kvision-guide/3.-optional-ui-functionality-via-modules/jquery-bindings.md)             | [jQuery](https://jquery.com/) bindings, events and animations.                                                                                                                                                                                         |
| [kvision-rest](/kvision-guide/3.-optional-ui-functionality-via-modules/using-rest-services.md)           | Configurable REST/HTTP client.                                                                                                                                                                                                                         |
| [kvision-state](/kvision-guide/2.-frontend-development-guide/working-with-state.md)                      | State bindings and observable data structures.                                                                                                                                                                                                         |
| kvision-state-flow                                                                                       | Extensions for Kotlin coroutines `Flow`, `StateFlow` and `SharedFlow`.                                                                                                                                                                                 |
| kvision-signal                                                                                           | Integration with the [Signal](https://github.com/Fenrur/Signal) reactive state library                                                                                                                                                                 |
| [kvision-select-remote](/kvision-guide/5.-fullstack-development-guide/select-remote.md)                  | Select form component tailored for fullstack applications.                                                                                                                                                                                             |
| kvision-tom-select-remote                                                                                | Select and typeahead (autocomplete) form components tailored for fullstack applications                                                                                                                                                                |
| [kvision-tabulator-remote](/kvision-guide/5.-fullstack-development-guide/remote-tabulator.md)            | Tabulator component tailored for fullstack applications                                                                                                                                                                                                |
| kvision-common-types                                                                                     | KVision common types definitions.                                                                                                                                                                                                                      |
| kvision-common-remote                                                                                    | <p>KVision common module for fullstack applications, with remote services definitions.</p><p><em>See:</em> <a href="/pages/-MjRFdXuvCqX7FOSJxen">Full Stack Development Guide</a></p>                                                                  |
