Skip to content

Component library

Drawer component

Last updated 2 November 2026

Creates a side drawer element.

Live demo

NOTE: If you are using iframes, your 'ins-drawer' should be placed outside of the 'iframe'. Use parent to select your element.

<ins-button 
  label="Open Inner" 
  solid color="blue" 
  id="openDrawerEl">
</ins-button>

<ins-button 
  label="Open Outer" 
  solid 
  color="blue" 
  id="openOuterDrawerEl">
</ins-button>

<!-- Drawer inside iframe -->

<ins-drawer 
  label="Inner Drawer" 
  custom-width="550px" 
  position="left" 
  icon="icon-star" 
  id="drawerEl">

  <h4>Hello World</h4>

  <p>You can add any HTML element here. Use <code>custom-width</code> attribute to set your custom width.</p>

  <ins-input 
    label="Name">
  </ins-input>

  <ins-input 
    label="Email">
  </ins-input>

  <div style="text-align: right;">

    <ins-button 
      solid 
      color="blue" 
      label="Save">
    </ins-button>

  </div>

</ins-drawer>

<script>
  // this button opens the <ins-drawer> inside of the iframe
  document.getElementById('openDrawerEl').addEventListener('insClick', function() {
    document.getElementById('drawerEl').setDrawerState(true);
  });
  // this button opens the <ins-drawer> outside of the iframe
  document.getElementById('openOuterDrawerEl').addEventListener('insClick', function () {
    parent.document.getElementById('drawerOutsideEl').setDrawerState(true);
  });
</script>

Attributes

Properties

FIELD ATTRIBUTE TYPE DEFAULT OPTIONS DESCRIPTION
label string "" any Defines drawer heading text
icon string "" any Defines heading icon CSS class
is-open boolean false true, false Open / Close the drawer element
position string right left, right Defines drawer placement
sticky-header boolean true true, false Make heading sticky on top of the drawer element
show-header boolean true true, false Show / Hide drawer heading
bordered boolean true true, false Defines heading has border bottom
custom-width string "420px" any Defines custom width of drawer
no-padding boolean false true, false Defines drawer body has padding
backdrop-can-close boolean true true, false Click on backdrop closes the drawer
show-close-button boolean true true, false Show / Hide drawer close button

Events

EVENT OBJECT DESCRIPTION
insToggle status, label Emit drawer element details on change state.

Methods

FUNCTION PARAMETERS RETURN DESCRIPTION
setDrawerState boolean n/a Open / Close drawer element

Examples

Event Example

<ins-button 
  label="Open" 
  solid 
  color="blue" 
  id="openEventDrawer">
</ins-button>

<ins-drawer 
  label="Sample" 
  show-header="false" 
  id="eventDrawerEl">
  
  <h4>Hello World</h4>

  <p>This drawer sample has no heading.</p>

  <p>See console log for event data.</p>
 
 <hr>

  <p>
    This is a sample content.
  </p>

</ins-drawer>

<script>
  // button event to open drawer
  document.getElementById('openEventDrawer').addEventListener('insClick', function () {
    document.getElementById('eventDrawerEl').setDrawerState(true);
  });
  // Drawer event listener
  document.getElementById('eventDrawerEl').addEventListener('toggleDrawer', function (event) {
    console.log("Toggle Drawer", event.detail)
  });
</script>

Complete Sample

<ins-button 
  id="toggleButton" 
  label="Open">
</ins-button>

<ins-notifications 
  id="sample-notification">

<ins-notifications-item 
  event-type="Task Completed" 
  heading="Heading" 
  duration="5 mins ago" 
  desc="This is a sample content."
  link="/" link-label="View Task" 
  icon="icon-check" 
  status="green">

</ins-notifications-item>

</ins-notifications>

<script>
    var insNotificationsEl = document.getElementById('sample-notification');
    var toggleButton = document.getElementById('toggleButton');
    toggleButton.addEventListener('click', function () {
      insNotificationsEl.toggleNotificationshandler();
    });
</script>