@vonage/vvd-scheme
TypeScript icon, indicating that this package has built-in type declarations

2.45.0 • Public • Published

Vivid Scheme

Scheme provides color context to Vivid components & applications. It is an integral part of packages, which are subject to the scheme's color tokens.

Scheme Featured Image

This package is imported and executed by default in all core dependent packages but can also be consumed on its own. By default, (if not explicitly defined otherwise by the consumer) scheme will result in the user's preferred os option (light|dark|auto)

Each scheme will provide the same exact color tokens to support main context and its alternating - contrasting - context (e.g. sidenav, top-bar etc'...). Once imported and set, these tokens are reflected as CSS variables.

Scheme graph

Scheme will apply main context on body selector and will never apply alternate unless explicitly set. To also be able to modify HTML scopes manually in apps, we include the following css selectors:

main
  • body
  • .vvd-scheme-main
  • ::part(vvd-scheme-main) - for elements within a shadow tree with a matching part attribute
alternate
  • .vvd-scheme-alternate
  • ::part(vvd-scheme-alternate) - for elements within a shadow tree with a matching part attribute

Installation

yarn add @vonage/vvd-scheme

or

npm i @vonage/vvd-scheme

Consumption

<script type="module" src="../node_modules/@vonage/scheme/vvd-scheme.js"></script>

or

import scheme from '@vonage/vvd-scheme';

As colors are critical identities of our style, it's advised to include a link type:modulepreload to hint the browser of the module importance, its high priority and preemptively fetch it.

<script rel="modulepreload" src="../node_modules/@vonage/scheme/vvd-scheme.js"></script>

Features:

Name Description
set a method to set the scheme. options: light, dark, syncWithOsSettings (defaults to syncWithOsSettings)
eventBus acts as EventTarget to polyfill the absence of element. can be hooked and callback upon selection - eventBus.addEventListener('vvd-scheme-select', console.log);
getSelectedScheme get current applied scheme (light, dark)
getSelectedSchemeOption get current option (light, dark, syncWithOsSettings)

Theme Switch

Scheme is nicely paired with the vwc-theme-switch UI component that toggles the available options.

Dependencies (2)

Dev Dependencies (4)

Package Sidebar

Install

npm i @vonage/vvd-scheme

Weekly Downloads

806

Version

2.45.0

License

ISC

Unpacked Size

168 kB

Total Files

39

Last publish

Collaborators

  • aviadhouri.va
  • keichenblat
  • daniel-sapir
  • ekatz
  • llihovodov
  • tabdullah
  • jmoramunoz2
  • sailusha
  • hilakl
  • leppelin
  • molszewski_v
  • twilliams253
  • abolles
  • lallen2
  • yonatan.kra
  • jtiet
  • kpaxian
  • vonage-frontier
  • vonage_client_media_processing
  • or.cpc
  • jeffswartz
  • rhainer
  • deliajolt
  • raulkg
  • liranbin
  • javiermolsanz
  • v-kpheng
  • vgai-dev
  • web-il
  • iceberg-team
  • yinon
  • unified_portal
  • vreporter-npm
  • vbcbe
  • voxip_team
  • yuri.guller
  • idanvon
  • nexmo-devrel
  • vvd
  • vonagemeetings
  • vonage-jenkins
  • maikthomas
  • germangol
  • arivonage