Widget is composed of 2 components:
Engagement: the part that is visibile before starting a chat (e.g. a button, a sidebar, etc)
Interaction: the part visibile after the engagement. It includes data collections and chat panel
Style
For both the components, the widget style is implemented using CSS and HTML file.
CTLive built-in engagement widgets are:
Sidebar: a small tag on the left side of the screen
Button: a button over the page in the right down corner
popup: a dialog in the middle of the page
CTLive Interactive bilt-in widget is only one
Logic
Widget Logic implemented in a dedicated JS file.
It defines a Javascript class (WIDGET) implementing a Finite State Machine(FSM). It’s used to implement the whole life cycle of the widget, from activation to termination. CTLive states
To implement a different FSM, WIDGET class is extensible overriding methods that you’d like to change.