Component library
Buttons component
Last updated 2 November 2026
Defines a clickable button.
Live demo
<ins-button></ins-button>Attributes
Button options
The ins-button options attribute expects a comma-separated string of option labels (e.g., options="Option 1, Option 2").
| FIELD ATTRIBUTE | TYPE | DEFAULT | OPTIONS | DESCRIPTION |
|---|---|---|---|---|
| color | string | blue | blue / green / positive / warning | Defines color of button |
| label | string | BUTTON | any | Defines label of button |
| icon | string | "" | Insites Font Icons | Defines icon of button |
| icon-right | string | "" | Insites Font Icons | Defines icon of button after the label |
| size | string | normal | normal, small, large | Defines size of button |
| data | string | "" | any | Defines data of button |
| type | string | "" | any | Defines type of button |
| options | string | "" | any value separated by comma | Defines dropdown options of button |
| options-only | boolean | false | true, false | Will only display the icon attribute of the button. Attributes icon and options are required to enable this mode. |
| dropdown | boolean | false | true, false | Makes the whole button show options on click |
| solid | boolean | false | true, false | Enables button to have solid display color |
| disabled | boolean | false | true, false | Disables button |
| cursor | string | "" | text, default | Defines appearance of cursor |
| text-transform | string | "" | uppercase, lowercase, none | Defines appearance of label |
| loading | boolean | false | true, false | Enables loading state of button |
Events
| EVENT | OBJECT | DESCRIPTION |
|---|---|---|
| insClick | label, data | Execute a script when button is clicked |
| insClickOption | label | Execute a script when button option is clicked |
Methods / API
Examples
Complete Example
<ins-button
label="NORMAL"
icon="icon-email-1"
icon-right="icon-heart"
solid
color="blue"
size="normal"
tooltip="This is a sample tooltip content. It also support html content.">
</ins-button>Default State
<ins-button></ins-button>Default State
<ins-button></ins-button>Direct Data Set
<ins-button
id="dsv">
</ins-button>
<script>
var dsv = document.getElementById('dsv')
dsv.addEventListener('didLoad', function(e){
dsv.label = 'Direct Set Data';
dsv.solid = true;
});
</script>Static Data Source
<ins-button
label="Open"
solid
color="positive"
size="normal">
</ins-button>Disabled State
<ins-button
disabled
solid
color="negative"
label="Delete">
</ins-button>Label Attribute
<ins-button
label="Label Change">
</ins-button>Color Attribute
<ins-button
color="positive">
</ins-button>Size Attribute
<ins-button
size="large">
</ins-button>Types - Default
<ins-button
label="TEXT"
color="blue"
size="normal">
</ins-button>Types - Normal
<ins-button
label="NORMAL"
solid
color="blue"
size="normal">
</ins-button>Types - Outlined
<ins-button
label="OUTLINED"
color="blue"
outlined
size="normal">
</ins-button>Types - Default with Icon
<ins-button
label="TEXT"
icon="icon-email-1"
color="blue"
size="normal">
</ins-button>Types - Normal with Icon
<ins-button
label="NORMAL"
icon="icon-email-1"
solid
color="blue"
size="normal">
</ins-button>Types - Outlined with Icon
<ins-button
label="OUTLINED"
icon="icon-email-1"
color="blue"
outlined
size="normal">
</ins-button>Types - Action Button
<ins-button
icon="icon-delete"
color="grey"
size="normal"
label="">
</ins-button>Types - Options Button
<ins-button
label="NORMAL"
icon="icon-email-1"
solid
color="blue"
size="normal"
options="Option 2, Option 3">
</ins-button>Options-Dropdown Button
<ins-button
label="NORMAL"
icon="icon-email-1"
solid
color="blue"
size="normal"
options="Option 2, Option 3" dropdown>
</ins-button>Sizes - Small
<ins-button
label="SMALL"
solid
color="blue"
size="small">
</ins-button>Sizes - Large
<ins-button
label="LARGE"
solid
color="blue"
size="large">
</ins-button>Colours - Primary
<ins-button label="TEXT" color="primary" size="normal"></ins-button>
<ins-button label="NORMAL" solid color="primary" size="normal"></ins-button>
<ins-button label="OUTLINED" color="primary" outlined size="normal"></ins-button>Colours - Positive
<ins-button
label="TEXT"
color="positive"
size="normal">
</ins-button>
<ins-button
label="NORMAL"
solid
color="positive"
size="normal">
</ins-button>
<ins-button
label="OUTLINED"
color="positive"
outlined
size="normal"></ins-button>Colours - Secondary
<ins-button
label="TEXT"
color="secondary"
size="normal">
</ins-button>
<ins-button
label="NORMAL"
solid
color="secondary"
size="normal">
</ins-button>
<ins-button
label="OUTLINED"
color="secondary"
outlined
size="normal">
</ins-button>Colours - Negative
<ins-button
label="TEXT"
color="negative"
size="normal">
</ins-button>
<ins-button
label="NORMAL"
solid
color="negative"
size="normal">
</ins-button>
<ins-button
label="OUTLINED"
color="negative"
outlined
size="normal">
</ins-button>Colours - Warning
<ins-button
label="TEXT"
color="warning"
size="normal">
</ins-button>
<ins-button
label="NORMAL"
solid
color="warning"
size="normal">
</ins-button>
<ins-button
label="OUTLINED"
color="warning"
outlined
size="normal">
</ins-button>Colours - Information 1
<ins-button label="TEXT" color="information-1" size="normal"></ins-button>
<ins-button label="NORMAL" solid color="information-1" size="normal"></ins-button>
<ins-button label="OUTLINED" color="information-1" outlined size="normal"></ins-button>Colours - Information 2
<ins-button
label="TEXT"
color="information-2"
size="normal">
</ins-button>
<ins-button
label="NORMAL"
solid
color="information-2"
size="normal">
</ins-button>
<ins-button
label="OUTLINED"
color="information-2"
outlined
size="normal">
</ins-button>Loading State - Default
<ins-button
label="OUTLINED"
color="blue"
solid
size="normal"
loading>
</ins-button>Loading State - Small
<ins-button
label="OUTLINED"
color="blue"
solid
size="small"
loading>
</ins-button>
Loading State - Large
<ins-button
label="OUTLINED"
color="blue"
solid
size="large"
loading>
</ins-button>Loading State - Button with Loading State
<ins-button
id="submitButton"
label="Loading button"
color="blue" solid>
</ins-button>
<script>
var submitButtonEl = document.getElementById('submitButton');
submitButtonEl.addEventListener('insClick', function(e){
submitButtonEl.loading = true;
setTimeout(() => {
submitButtonEl.loading = false;
}, 2000);
});
</script>insClick
<ins-button
id="onClickInsButton"
data="demo-data">
</ins-button>
<script>
const onClickInsButton = document.getElementById('onClickInsButton')
onClickInsButton.addEventListener('insClick', event => {
console.log(event.detail.label);
console.log(event.detail.data);
alert('Hello! I am an alert box!!');
});
</script>insClickOption
<ins-button
id="onClickInsButtonOption"
label="NORMAL"
solid
options="Option 2,Option 3">
</ins-button>
<script>
var button = document.getElementById('onClickInsButtonOption');
// Event handler to check button 'options' click
button.addEventListener('insClickOption', function(event) {
console.log(event.detail.label);
alert(event.detail.option);
});
// Event handler for 'main button' click
button.addEventListener('insClick', function(event) {
console.log(event.detail.label);
alert('Main Button Label ' + event.detail.label);
});
</script>Options Only Attribute
<ins-button
icon="icon-more-vertical"
options="Add,Edit,Delete,Archive,Restore"
options-only
outlined>
</ins-button>