carbon-components-angular
Version:
Next generation components
1,263 lines (1,142 loc) • 69.3 kB
HTML
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>carbon-components-angular documentation</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
<link rel="stylesheet" href="../styles/dark.css">
<style>
footer.carbon {
position: absolute;
bottom: 0;
width: 100%;
z-index: 9999;
}
#root > div {
/*
* Subtracting the height of the footer to prevent
* overlaying the footer ontop of content
*/
height: calc(100vh - 48px);
}
</style>
</head>
<body>
<script>
// Blocking script to avoid flickering dark mode
// Dark mode toggle button
var useDark = window.matchMedia('(prefers-color-scheme: dark)');
var darkModeState = useDark.matches;
var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
function checkToggle(check) {
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
$darkModeToggleSwitchers[i].checked = check;
}
}
function toggleDarkMode(state) {
if (window.localStorage) {
localStorage.setItem('compodoc_darkmode-state', state);
}
checkToggle(state);
const hasClass = document.body.classList.contains('dark');
if (state) {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.add('dark');
}
if (!hasClass) {
document.body.classList.add('dark');
}
} else {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.remove('dark');
}
if (hasClass) {
document.body.classList.remove('dark');
}
}
}
useDark.addEventListener('change', function (evt) {
toggleDarkMode(evt.matches);
});
if (darkModeStateLocal) {
darkModeState = darkModeStateLocal === 'true';
}
toggleDarkMode(darkModeState);
</script>
<div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
<div class="d-flex">
<a href="../" class="navbar-brand">carbon-components-angular documentation</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="d-none d-md-block menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content component">
<div class="content-data">
<ol class="breadcrumb">
<li class="breadcrumb-item">Components</li>
<li class="breadcrumb-item"
>
OverflowMenu</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a href="#info" class="nav-link active"
role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
</li>
<li class="nav-item">
<a href="#source" class="nav-link"
role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
</li>
<li class="nav-item">
<a href="#styleData" class="nav-link"
role="tab" id="styleData-tab" data-bs-toggle="tab" data-link="style">Styles</a>
</li>
<li class="nav-item">
<a href="#tree" class="nav-link"
role="tab" id="tree-tab" data-bs-toggle="tab" data-link="dom-tree">DOM Tree</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="info"><p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/dialog/overflow-menu/overflow-menu.component.ts</code>
</p>
<p class="comment">
<h3>Description</h3>
</p>
<p class="comment">
<p>The OverFlow menu component encapsulates the OverFlowMenu directive, and the menu iconography into one convienent component.</p>
<p>Get started with importing the module:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">import { DialogModule } from 'carbon-components-angular';</code></pre></div><b>Example :</b><div><pre class="line-numbers"><code class="language-html"><cds-overflow-menu>
<cds-overflow-menu-option>Option 1</cds-overflow-menu-option>
<cds-overflow-menu-option>Option 2</cds-overflow-menu-option>
</cds-overflow-menu></code></pre></div><p><a href="../../?path=/story/components-overflow-menu--basic">See demo</a></p>
</p>
<p class="comment">
<h3>Extends</h3>
</p>
<p class="comment">
<code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</p>
<section data-compodoc="block-metadata">
<h3>Metadata</h3>
<table class="table table-sm table-hover metadata">
<tbody>
<tr>
<td class="col-md-3">encapsulation</td>
<td class="col-md-9"><code>ViewEncapsulation.None</code></td>
</tr>
<tr>
<td class="col-md-3">selector</td>
<td class="col-md-9"><code>cds-overflow-menu, ibm-overflow-menu</code></td>
</tr>
<tr>
<td class="col-md-3">styles</td>
<td class="col-md-9"><code>
.cds--overflow-menu--open {
opacity: 1
}
/*
Rotate the overflow menu container as well as the icon, since
we calculate our menu position based on the container, not the icon.
*/
.cds--data-table-v2 .cds--overflow-menu {
transform: rotate(90deg);
}
.cds--data-table-v2 .cds--overflow-menu__icon {
transform: rotate(180deg);
}
</code></td>
</tr>
<tr>
<td class="col-md-3">template</td>
<td class="col-md-9"><pre class="line-numbers"><code class="language-html"><cds-tooltip
class="cds--icon-tooltip"
[description]="description"
[caret]="caret"
[dropShadow]="dropShadow"
[highContrast]="highContrast"
[isOpen]="isOpen"
[align]="align"
[autoAlign]="autoAlign"
[enterDelayMs]="enterDelayMs"
[leaveDelayMs]="leaveDelayMs">
<button
cdsButton="ghost"
[cdsOverflowMenu]="options"
[ngClass]="{'cds--overflow-menu--open': open}"
class="cds--overflow-menu {{triggerClass}}"
[iconOnly]="true"
[attr.aria-label]="buttonLabel"
[flip]="flip"
[isOpen]="open"
(isOpenChange)="handleOpenChange($event)"
[offset]="offset"
[wrapperClass]="wrapperClass"
aria-haspopup="true"
type="button"
[placement]="placement">
<ng-template *ngIf="customTrigger; else defaultIcon" [ngTemplateOutlet]="customTrigger"></ng-template>
</button>
</cds-tooltip>
<ng-template #options>
<ng-content></ng-content>
</ng-template>
<ng-template #defaultIcon>
<svg cdsIcon="overflow-menu--vertical" size="16" class="cds--overflow-menu__icon"></svg>
</ng-template>
</code></pre></td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-index">
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Properties</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier"></span>
<a href="#overflowMenuDirective" >overflowMenuDirective</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#handleOpenChange" >handleOpenChange</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Inputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#buttonLabel" >buttonLabel</a>
</li>
<li>
<a href="#customTrigger" >customTrigger</a>
</li>
<li>
<a href="#description" >description</a>
</li>
<li>
<a href="#flip" >flip</a>
</li>
<li>
<a href="#offset" >offset</a>
</li>
<li>
<a href="#open" >open</a>
</li>
<li>
<a href="#placement" >placement</a>
</li>
<li>
<a href="#triggerClass" >triggerClass</a>
</li>
<li>
<a href="#wrapperClass" >wrapperClass</a>
</li>
<li>
<a href="#align" >align</a>
</li>
<li>
<a href="#autoAlign" >autoAlign</a>
</li>
<li>
<a href="#caret" >caret</a>
</li>
<li>
<a href="#dropShadow" >dropShadow</a>
</li>
<li>
<a href="#enterDelayMs" >enterDelayMs</a>
</li>
<li>
<a href="#highContrast" >highContrast</a>
</li>
<li>
<a href="#isOpen" >isOpen</a>
</li>
<li>
<a href="#leaveDelayMs" >leaveDelayMs</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Outputs</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#openChange" >openChange</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-constructor">
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(elementRef: ElementRef, i18n: <a href="../injectables/I18n.html" target="_self">I18n</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="121" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:121</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>elementRef</td>
<td>
<code>ElementRef</code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>i18n</td>
<td>
<code><a href="../injectables/I18n.html" target="_self" >I18n</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-inputs">
<h3 id="inputs">Inputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="buttonLabel"></a>
<b>buttonLabel</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.get().OVERFLOW_MENU.OVERFLOW</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="93" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:93</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="customTrigger"></a>
<b>customTrigger</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>TemplateRef<any></code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="107" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:107</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Sets the custom overflow menu trigger</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="description"></a>
<b>description</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.i18n.get().OVERFLOW_MENU.ICON_DESCRIPTION</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="95" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:95</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="flip"></a>
<b>flip</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="97" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:97</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="offset"></a>
<b>offset</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>literal type</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="112" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:112</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>This specifies any vertical and horizontal offset for the position of the dialog</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="open"></a>
<b>open</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="101" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:101</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="placement"></a>
<b>placement</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>"bottom" | "top" | "bottom,top" | "top,bottom"</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>"bottom"</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="99" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:99</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="triggerClass"></a>
<b>triggerClass</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>""</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="119" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:119</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>This appends additional classes to the overflow trigger/button.</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="wrapperClass"></a>
<b>wrapperClass</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>""</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="114" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:114</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="align"></a>
<b>align</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>"top" | "top-left" | "top-right" | "bottom" | "bottom-left" | "bottom-right" | "left" | "left-bottom" | "left-top" | "right" | "right-bottom" | "right-top"</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>"bottom"</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:32</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set popover alignment</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="autoAlign"></a>
<b>autoAlign</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:40</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p><strong>Experimental</strong>: Use floating-ui to position the tooltip
This is not toggleable - should be assigned once</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="caret"></a>
<b>caret</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>true</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:16</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>false</code> to hide caret</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="dropShadow"></a>
<b>dropShadow</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>true</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:20</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>false</code> to hide shadow</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="enterDelayMs"></a>
<b>enterDelayMs</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>100</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:44</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set delay before tooltip is shown</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="highContrast"></a>
<b>highContrast</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>true</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:24</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> to enable high contrast</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="isOpen"></a>
<b>isOpen</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>false</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:28</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set to <code>true</code> to have the popover open by default</p>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="leaveDelayMs"></a>
<b>leaveDelayMs</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>300</code>
</td>
</tr>
<tr>
<td class="col-md-4" colspan="2">
<div class="io-line">Inherited from <code><a href="../components/BaseIconButton.html" target="_self" >BaseIconButton</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <code><a href="../components/BaseIconButton.html#source" target="_self" >BaseIconButton:48</a></code>
</div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description"><p>Set delay when tooltip disappears</p>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-outputs">
<h3 id="outputs">Outputs</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="openChange"></a>
<b>openChange</b>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>EventEmitter</code>
</td>
</tr>
<tr>
<td class="col-md-2" colspan="2">
<div class="io-line">Defined in <a href="" data-line="103" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:103</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-methods">
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="handleOpenChange"></a>
<span class="name">
<span ><b>handleOpenChange</b></span>
<a href="#handleOpenChange"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>handleOpenChange(event: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank">boolean</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="127"
class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:127</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>event</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-properties">
<h3 id="inputs">
Properties
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="overflowMenuDirective"></a>
<span class="name">
<span class="modifier"></span>
<span ><b>overflowMenuDirective</b></span>
<a href="#overflowMenuDirective"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../directives/OverflowMenuDirective.html" target="_self" >OverflowMenuDirective</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Decorators : </b>
<br />
<code>
@ContentChild(OverflowMenuDirective)<br />
</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="121" class="link-to-prism">src/dialog/overflow-menu/overflow-menu.component.ts:121</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {
Component,
ContentChild,
ElementRef,
EventEmitter,
Input,
Output,
TemplateRef,
ViewEncapsulation
} from "@angular/core";
import { I18n } from "carbon-components-angular/i18n";
import { OverflowMenuDirective } from "./overflow-menu.directive";
import { BaseIconButton } from "carbon-components-angular/button";
/**
* The OverFlow menu component encapsulates the OverFlowMenu directive, and the menu iconography into one convienent component.
*
* Get started with importing the module:
*
* ```typescript
* import { DialogModule } from 'carbon-components-angular';
* ```
*
* ```html
* <cds-overflow-menu>
* <cds-overflow-menu-option>Option 1</cds-overflow-menu-option>
* <cds-overflow-menu-option>Option 2</cds-overflow-menu-option>
* </cds-overflow-menu>
* ```
*
* [See demo](../../?path=/story/components-overflow-menu--basic)
*/
@Component({
selector: "cds-overflow-menu, ibm-overflow-menu",
template: `
<cds-tooltip
class="cds--icon-tooltip"
[description]="description"
[caret]="caret"
[dropShadow]="dropShadow"
[highContrast]="highContrast"
[isOpen]="isOpen"
[align]="align"
[autoAlign]="autoAlign"
[enterDelayMs]="enterDelayMs"
[leaveDelayMs]="leaveDelayMs">
<button
cdsButton="ghost"
[cdsOverflowMenu]="options"
[ngClass]="{'cds--overflow-menu--open': open}"
class="cds--overflow-menu {{triggerClass}}"
[iconOnly]="true"
[attr.aria-label]="buttonLabel"
[flip]="flip"
[isOpen]="open"
(isOpenChange)="handleOpenChange($event)"
[offset]="offset"
[wrapperClass]="wrapperClass"
aria-haspopup="true"
type="button"
[placement]="placement">
<ng-template *ngIf="customTrigger; else defaultIcon" [ngTemplateOutlet]="customTrigger"></ng-template>
</button>
</cds-tooltip>
<ng-template #options>
<ng-content></ng-content>
</ng-template>
<ng-template #defaultIcon>
<svg cdsIcon="overflow-menu--vertical" size="16" class="cds--overflow-menu__icon"></svg>
</ng-template>
`,
styles: [`
.cds--overflow-menu--open {
opacity: 1
}
/*
Rotate the overflow menu container as well as the icon, since
we calculate our menu position based on the container, not the icon.
*/
.cds--data-table-v2 .cds--overflow-menu {
transform: rotate(90deg);
}
.cds--data-table-v2 .cds--overflow-menu__icon {
transform: rotate(180deg);
}
`],
encapsulation: ViewEncapsulation.None
})
export class OverflowMenu extends BaseIconButton {
@Input() buttonLabel = this.i18n.get().OVERFLOW_MENU.OVERFLOW;
@Input() description = this.i18n.get().OVERFLOW_MENU.ICON_DESCRIPTION;
@Input() flip = false;
@Input() placement: "bottom" | "top" | "bottom,top" | "top,bottom" = "bottom";
@Input() open = false;
@Output() openChange = new EventEmitter<boolean>();
/**
* Sets the custom overflow menu trigger
*/
@Input() customTrigger: TemplateRef<any>;
/**
* This specifies any vertical and horizontal offset for the position of the dialog
*/
@Input() offset: { x: number, y: number };
@Input() wrapperClass = "";
/**