CX Company Virtual Assistant chat view


3.4.78 days ago3 years agoMinified + gzip package size for @cxco/ui-chat in KB



The @CXCO/UI-CHAT is the "view" layer of the project.

It contains HyperApp for handling the state management and the view manipulation. exposes the install method to be installed as a plugin.

Working with this package

While in development > npm run dev. To build: > npm run build.

Overriding CSS

For basic customization modern browsers can use CSS variables (Check the compatibility table).

    /* Global scoped variables */
    .cxco {  
        --cxco-primary-h: 254; /* Hue */
        --cxco-primary-s: 100%; /* Saturation */
        --cxco-primary-l: 53%; /* Lightness */ 
        --cxco-neutral-h: 0;
        --cxco-neutral-s: 0%;
        --cxco-neutral-l: 75%;
        --cxco-font-size: 16px;

Old Browsers need to override the specific classes:

    .cxco .cxco-c-bubble {
        max-width: 80%;
        border-radius: 1rem;
        margin: 0;
        padding: 1rem;

There are more classes that you can override, inspect the ChatBot with the developer tools (F12) and be creative. Don't forget to send us a screenshot of your best creation!

Layout modes

The DCI comes in three different layouts: 'default', 'compact' and 'inline'. The 'default' and 'compact' style modes define two different ways to show the Chatbot in it's 'sticky' form. The 'inline' layout injects the DCI in the DIV element defined by the parentSelector setting. When the parentSelector is not defined the DCI is added to the body of the page.

Sticky Mode

In this mode the DCI will be placed in a fixed position, in the bottom right corner of the screen. It will have a closing button so that it can be minimized. Clicking the Avatar will open/minimize the DCI.

Inline Mode

When using the DCI in the 'inline' mode is a good practice to define the parentSelector as well, so that you can have control on where it's injected. In this mode the DCI will try to ocupy 100% of the height and width. For a better User Experience please make sure it's parent container has at least 350px height. In this mode the DCI cannot be minimized and can only be hidden using the cxco.push interface.

Build Process

> npm run build babelifies and copies files to lib folder.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.