Card Count Group
- It will repeat the Cards to display heading with rolling numbers. 
Features/Functionality
- Click functionality on each card.
- It will repeat in horizontal direction but if the width of outer div is small, it will wrap.
- Click event callback will be called on click.
- If click callback is not there, right arrow icon will not visible.
- Component is responsive.
- It is cross browser compatible. (IE11, Edge, Firefox, chrome).
Basic Usage
Dependencies
- jquery
- font-awesome
- shared styles
- shared scripts
HTML Structure
<require from="{user_path}/card_groups/card_group"></require>
<cst-card-count-group ext-items.bind="{extItems}" options.bind="{options}" other-info.bind="{otherInfo}" ext-disabled.bind="{disabled}" evt-click-callback.bind="{evtClickCallback}"></cst-card-count-group>
Bindable Properties
| Property | Data Type | Required | Description | 
|---|---|---|---|
| extItems | array | Yes | External change data to be passed to component. | 
| options | object | No | Basic component options | 
| otherInfo | any | No | Extra info to be passed on event. | 
| extDisabled | boolean | No | Disables any functionality on component. | 
| evtClickCallback | method | No | Method to be called on click event. | 
| evtIconClickCallback | method | No | Method to be called on icon click event. | 
Structure of bindable properties
extItems
extItems = [
    {
        title: '',                  
        count: '',              //Max 10 digit
        totalCount: '',         //Max 10 digit
        icons: [
            {
                id: '',         
                name:'',
                tooltip:'',
                superscript: '',
                subscript: ''
            }
        ]
    },...
]
options
options = {
    propTitle: '',              // This is the key of extItems object, which we consider as title. Default value = 'title'.
    propCount: '',              // This is the key of extItems object, which we consider as count. Default value = 'count'.
    propTotalCount: '',         // This is the key of extItems object, which we consider as totalCount. Default value = 'totalCount'.
    propIconId:'',              // This is the key of extItems.icons object, which we consider as consider as id. Default value = 'id'
    propIconName: '',           // This is the key of extItems.icons object, which we consider as consider as name. Default value = 'name'
    propIconTooltip: '',        // This is the key of extItems.icons object, which we consider as consider as tooltip. Default value = 'tooltip'
    propIconSuperscript = '',   // This is the key of extItems.icons object, which we consider as consider as superscript. Default value = 'superscript'
    propIconSubscript = '',     // This is the key of extItems.icons object, which we consider as consider as subscript. Default value = 'subscript'
    pageLabel: {},              // Override page labels
    pageColorData: {}           // Override css colour porperty
}
evtClickCallback
evtClickCallback(_event,_info);
_info = {
    overrideContext: overrideContext,
    otherInfo: otherInfo,
    value: item
}
evtCardIconClickCallback
evtCardIconClickCallback(_event,_info);
_info = {
    overrideContext: overrideContext,
    value: {
        data: _info.value,
        cardValue: _info.otherInfo
    }
}
CSS Overrinding
- Following classes are given to override CSS:- .cst-card-count-group-container-override : Container Class
- .cst-card-count-group-element-override: Element Class
 
Note
- While giving the classes in page, give them in nested structure.
Rules
Component measurements

** box-sizing: border-box is used. So width and height will be dimensions + padding.
Working Example
HTML
<template>
  <require from="./components/card_count_groups/card_count_groups"></require>
  <div>
       <cst-card-count-group ext-items.bind="items" options.bind="options" other-info.bind="otherInfo" ext-disabled.bind="disabled" evt-click-callback.bind="evtClickCallback"></cst-card-count-group>
  </div>
</template>
CSS
.cst-ex-card-count{
    .cst-card-count-group-element-override {
        margin-right : 20px !important;
    }
    .cst-card-count-group-container-override {
        justify-content: center !important;
    }
}
JS
class MyCls{
    constructor(){
        this.items = [
                {
                    title : 'Total match',
                    count : 240,
                    detail : ''
                },
                {
                    title : 'Win',
                    count : 190,
                    detail : ''
                },
                {
                    title : 'Lose,
                    count : 40,
                    detail : ''
                },
                {
                    title : 'Draw',
                    count : 10,
                    detail : ''
                }  
        ];
        this.options = {
            propTitle : 'title',
            propCount : 'count',
            propDetail: 'detail'
        };
        this.otherInfo = null;
        this.disabled = false;
    }
    evtClickCallback(_event,_info){
        console.log(_event);
        console.log(_info);
    }
}
export { MyCls }
Example Screen Shots
Desktop
IE
Tab
Mobile

Demo Link
Mark down usage  
https://guides.github.com/features/mastering-markdown/
| Version | Date | Developed By | Information Classification | Reviewed By | Approved By | 
|---|---|---|---|---|---|
| 1.0 | 25-10-2019 | Tarun | INTERNAL | Prasan |