1. Install the plugin
Kolibri Design System (KDS) is a Vue plugin. Register it in your application alongside scripts that are needed for its full functioning:
import KThemePlugin from 'kolibri-design-system/lib/KThemePlugin';
import trackInputModality from 'kolibri-design-system/lib/styles/trackInputModality';
import trackMediaType from 'kolibri-design-system/lib/styles/trackMediaType';
Vue.use(KThemePlugin);
trackInputModality();
trackMediaType();
-
Makes theme values available in two forms: as reactive objects on every Vue instance
(
$themeBrand,$themeTokens,$themePalette,$computedClass) for use in JavaScript, and as CSS variables (--tokens-*,--brand-*,--palette-*) emitted to a<style>tag with#k-theme-css-variablesin the document head for use in style blocks. Both stay in sync when the theme changes viasetBrandColors()orsetTokenMapping(). See Colors . -
Provides
$coreOutline,$inputModality,$mediaType, and$isPrintcomputed properties as well as$printmethod to all Vue instances. - Globally registers all KDS Vue components.
-
Inserts assertive and polite ARIA live regions
#k-live-regionto an application's document body (see useKLiveRegion ). -
Inserts the overlay container element
#k-overlayto an application's document body (seeKOverlayor search forappendToOverlayprop on components).
2. Register global styles
Import KDS styles in the main application stylesheet:
@import '~kolibri-design-system/lib/styles/common';
common.scss registers both the global styles, such as the page background, text
color, focus outline, text selection, and print styles, and the
helper styles
. The helper styles are also a public entry point of their own. An application that doesn't
need the global layer can import
~kolibri-design-system/lib/styles/helper-styles instead.
3. Initialize theme
Until this section is better documented, refer to Kolibri's initializeTheme.js.