# Drawer >> Overview ||10 A combination of a button (the invoker) and a chunk of 'extra content'. This web component can be extended with an animation to disclose the extra content. There are three slots available respectively; `invoker` to specify the drawer's invoker, `headline` for the optional headline and `content` for the content of the drawer. Through the `position` property, the drawer can be placed on the `top`, `left` or `right` of the viewport. ```js script import { html } from '@mdjs/mdjs-preview'; import '@lion/ui/define/lion-drawer.js'; import '@lion/ui/define/lion-icon.js'; import { icons } from '@lion/ui/icon.js'; import { demoStyle } from './src/demoStyle.js'; icons.addIconResolver('lion', (iconset, name) => { switch (iconset) { case 'misc': return import('../icon/assets/iconset-misc.js').then(module => module[name]); default: throw new Error(`Unknown iconset ${iconset}`); } }); ``` ```js preview-story export const main = () => html`
Headline