UNPKG

carbon-components-angular

Version:
1,627 lines 74 kB
<!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"
  >
  Modal</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="#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/modal/modal.component.ts</code>
</p>


    <p class="comment">
        <h3>Description</h3>
    </p>
    <p class="comment">
        <p>Component to create modals for presenting content.</p>
<p><a href="../../?path=/story/components-modal--basic">See demo</a></p>
<p>Using a modal in your application requires <code>cds-placeholder</code> which would generally be
placed near the end of your app component template (app.component.ts or app.component.html) as:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-html">&lt;cds-placeholder&gt;&lt;/cds-placeholder&gt;</code></pre></div><p>A more complete example for <code>Modal</code> is given as follows:</p>
<p>Example modal definition:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">&#64;Component({
selector: &quot;app-sample-modal&quot;,
template: `
&lt;cds-modal size=&quot;xl&quot; (overlaySelected)=&quot;closeModal()&quot;&gt;
&lt;cds-modal-header (closeSelect)=&quot;closeModal()&quot;&gt;Header text&lt;/cds-modal-header&gt;
&lt;section class=&quot;modal-body&quot;&gt;
&lt;h1&gt;Sample modal works.&lt;/h1&gt;
&lt;button class=&quot;btn--icon-link&quot; nPopover=&quot;Hello there&quot; title=&quot;Popover title&quot; placement=&quot;right&quot; appendInline=&quot;true&quot;&gt;
&lt;svg cdsIcon=&quot;info&quot; size=&quot;sm&quot;&gt;&lt;/svg&gt;
&lt;/button&gt;
{{modalText}}
&lt;/section&gt;
&lt;cds-modal-footer&gt;&lt;button cdsButton=&quot;primary&quot; (click)=&quot;closeModal()&quot;&gt;Close&lt;/button&gt;&lt;/cds-modal-footer&gt;
&lt;/cds-modal&gt;`,
styleUrls: [&quot;./sample-modal.component.scss&quot;]
})
export class SampleModal extends BaseModal {
modalText: string;
constructor(protected injector: Injector) {
super();
this.modalText = this.injector.get(&quot;modalText&quot;);
}
}</code></pre></div><p>Example of opening the modal:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">&#64;Component({
selector: &quot;app-modal-demo&quot;,
template: `
&lt;button cdsButton=&quot;primary&quot; (click)=&quot;openModal(&#39;drill&#39;)&quot;&gt;Drill-down modal&lt;/button&gt;
&lt;cds-placeholder&gt;&lt;/cds-placeholder&gt;`
})
export class ModalDemo {
openModal() {
this.modalService.create({component: SampleModal, inputs: {modalText: &quot;Hello universe.&quot;}});
}
}</code></pre></div>
    </p>


    <p class="comment">
        <h3>Implements</h3>
    </p>
    <p class="comment">
                <code>AfterViewInit</code>
                <code>OnChanges</code>
                <code>OnDestroy</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">selector</td>
                <td class="col-md-9"><code>cds-modal, ibm-modal</code></td>
            </tr>





            <tr>
                <td class="col-md-3">template</td>
                <td class="col-md-9"><pre class="line-numbers"><code class="language-html">&lt;cds-overlay
	[theme]&#x3D;&quot;theme&quot;
	[open]&#x3D;&quot;open&quot;
	(overlaySelect)&#x3D;&quot;overlaySelected.emit()&quot;&gt;
	&lt;div
		class&#x3D;&quot;cds--modal-container&quot;
		[ngClass]&#x3D;&quot;{
			&#x27;cds--modal-container--xs&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;xs&#x27;,
			&#x27;cds--modal-container--sm&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;sm&#x27;,
			&#x27;cds--modal-container--md&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;md&#x27;,
			&#x27;cds--modal-container--lg&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;lg&#x27;
		}&quot;
		role&#x3D;&quot;dialog&quot;
		aria-modal&#x3D;&quot;true&quot;
		style&#x3D;&quot;z-index:1;&quot;
		[attr.aria-label]&#x3D;&quot;ariaLabel&quot;
		#modal&gt;
		&lt;ng-content&gt;&lt;/ng-content&gt;
	&lt;/div&gt;
&lt;/cds-overlay&gt;
	</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="#modal" >modal</a>
                            </li>
                            <li>
                                    <span class="modifier">Public</span>
                                <a href="#modalService" >modalService</a>
                            </li>
                            <li>
                                <a href="#selectorPrimaryFocus" >selectorPrimaryFocus</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>
                                    <span class="modifier">Protected</span>
                                <a href="#focusInitialElement" >focusInitialElement</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#handleKeyboardEvent" >handleKeyboardEvent</a>
                            </li>
                            <li>
                                <a href="#ngAfterViewInit" >ngAfterViewInit</a>
                            </li>
                            <li>
                                <a href="#ngOnChanges" >ngOnChanges</a>
                            </li>
                            <li>
                                <a href="#ngOnDestroy" >ngOnDestroy</a>
                            </li>
                            <li>
                                    <span class="modifier">Private</span>
                                <a href="#updateScrollbar" >updateScrollbar</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="#ariaLabel" >ariaLabel</a>
                            </li>
                            <li>
                                <a href="#hasScrollingContent" >hasScrollingContent</a>
                            </li>
                            <li>
                                <a href="#open" >open</a>
                            </li>
                            <li>
                                <a href="#size" >size</a>
                            </li>
                            <li>
                                <a href="#theme" >theme</a>
                            </li>
                            <li>
                                <a href="#trigger" >trigger</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="#close" >close</a>
                            </li>
                            <li>
                                <a href="#overlaySelected" >overlaySelected</a>
                            </li>
                        </ul>
                    </td>
                </tr>


                <tr>
                    <td class="col-md-4">
                        <h6><b>HostListeners</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                <a href="#keydown" >keydown</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                    <tr>
                        <td class="col-md-4">
                            <h6><b>Accessors</b></h6>
                        </td>
                    </tr>
                    <tr>
                        <td class="col-md-4">
                            <ul class="index-list">
                                <li>
                                    <a href="#shouldShowScrollbar" >shouldShowScrollbar</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(modalService: <a href="../injectables/BaseModalService.html" target="_self">BaseModalService</a>, document: Document, renderer: Renderer2)</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="152" class="link-to-prism">src/modal/modal.component.ts:152</a></div>
                            </td>
                        </tr>

                <tr>
                    <td class="col-md-4">
                            <div class="io-description"><p>Creates an instance of <code>Modal</code>.</p>
</div>
                            <div>
                                    <b>Parameters :</b>
                                    <table class="params">
                                        <thead>
                                            <tr>
                                                <td>Name</td>
                                                    <td>Type</td>
                                                <td>Optional</td>
                                            </tr>
                                        </thead>
                                        <tbody>
                                                <tr>
                                                        <td>modalService</td>
                                                  
                                                        <td>
                                                                        <code><a href="../injectables/BaseModalService.html" target="_self" >BaseModalService</a></code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>document</td>
                                                  
                                                        <td>
                                                                    <code>Document</code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>renderer</td>
                                                  
                                                        <td>
                                                                    <code>Renderer2</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="ariaLabel"></a>
                        <b>ariaLabel</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>&quot;default&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="116" class="link-to-prism">src/modal/modal.component.ts:116</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Label for the modal.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="hasScrollingContent"></a>
                        <b>hasScrollingContent</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>null</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="134" class="link-to-prism">src/modal/modal.component.ts:134</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Specify whether the modal contains scrolling content. This property overrides the automatic
detection of the existence of scrolling content. Set this property to <code>true</code> to force
overflow indicator to show up or to <code>false</code> to force overflow indicator to disappear.
It is set to <code>null</code> by default which indicates not to override automatic detection.</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="121" class="link-to-prism">src/modal/modal.component.ts:121</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Controls the visibility of the modal when used directly in a template</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="size"></a>
                        <b>size</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>&quot;xs&quot; | &quot;sm&quot; | &quot;md&quot; | &quot;lg&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;md&quot;</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/modal/modal.component.ts:107</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Size of the modal to display.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="theme"></a>
                        <b>theme</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>&quot;default&quot; | &quot;danger&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;default&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="111" class="link-to-prism">src/modal/modal.component.ts:111</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Classification of the modal.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="trigger"></a>
                        <b>trigger</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>HTMLElement</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="126" class="link-to-prism">src/modal/modal.component.ts:126</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>The element that triggers the modal, which should receive focus when the modal closes</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="close"></a>
                        <b>close</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="143" class="link-to-prism">src/modal/modal.component.ts:143</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>To emit the closing event of the modal window.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="overlaySelected"></a>
                        <b>overlaySelected</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="139" class="link-to-prism">src/modal/modal.component.ts:139</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Emits event when click occurs within <code>n-overlay</code> element. This is to track click events occurring outside bounds of the <code>Modal</code> object.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
</section>

    <section data-compodoc="block-methods">
    <h3>HostListeners</h3>    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="keydown"></a>
                    <span class="name">
                        <span ><b>keydown</b></span>
                        <a href="#keydown"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                    <i>Arguments : </i><code>'$event' </code>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>keydown(event: KeyboardEvent)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="195"
                                    class="link-to-prism">src/modal/modal.component.ts:195</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handle keyboard events to close modal and tab through the content within the modal.</p>
</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="focusInitialElement"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>focusInitialElement</b></span>
                        <a href="#focusInitialElement"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>focusInitialElement()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="237"
                                    class="link-to-prism">src/modal/modal.component.ts:237</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <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>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="handleKeyboardEvent"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>handleKeyboardEvent</b></span>
                        <a href="#handleKeyboardEvent"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>handleKeyboardEvent(event: KeyboardEvent)</code>
                </td>
            </tr>

            <tr>
                <td class="col-md-4">
                    <b>Decorators : </b>
                    <br />
                    <code>@HostListener(&#x27;keydown&#x27;, [&#x27;$event&#x27;])<br /></code>
                </td>
            </tr>

                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="195"
                                    class="link-to-prism">src/modal/modal.component.ts:195</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handle keyboard events to close modal and tab through the content within the modal.</p>
</div>

                            <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>KeyboardEvent</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>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngAfterViewInit"></a>
                    <span class="name">
                        <span ><b>ngAfterViewInit</b></span>
                        <a href="#ngAfterViewInit"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngAfterViewInit()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="186"
                                    class="link-to-prism">src/modal/modal.component.ts:186</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Set document focus to be on the modal component after it is initialized.</p>
</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>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngOnChanges"></a>
                    <span class="name">
                        <span ><b>ngOnChanges</b></span>
                        <a href="#ngOnChanges"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnChanges(undefined: SimpleChanges)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="163"
                                    class="link-to-prism">src/modal/modal.component.ts:163</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>
                                                        <code>SimpleChanges</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>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngOnDestroy"></a>
                    <span class="name">
                        <span ><b>ngOnDestroy</b></span>
                        <a href="#ngOnDestroy"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnDestroy()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="233"
                                    class="link-to-prism">src/modal/modal.component.ts:233</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <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>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="updateScrollbar"></a>
                    <span class="name">
                            <span class="modifier">Private</span>
                        <span ><b>updateScrollbar</b></span>
                        <a href="#updateScrollbar"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>updateScrollbar()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="248"
                                    class="link-to-prism">src/modal/modal.component.ts:248</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <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>
                </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="modal"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>modal</b></span>
                        <a href="#modal"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>ElementRef</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <b>Decorators : </b>
                        <br />
                        <code>
                            @ViewChild(&#x27;modal&#x27;, {static: true})<br />
                        </code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="147" class="link-to-prism">src/modal/modal.component.ts:147</a></div>
                        </td>
                    </tr>

            <tr>
                <td class="col-md-4">
                    <div class="io-description"><p>Maintains a reference to the view DOM element of the <code>Modal</code>.</p>
</div>
                </td>
            </tr>

        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="modalService"></a>
                    <span class="name">
                            <span class="modifier">Public</span>
                        <span ><b>modalService</b></span>
                        <a href="#modalService"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../injectables/BaseModalService.html" target="_self" >BaseModalService</a></code>

                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="158" class="link-to-prism">src/modal/modal.component.ts:158</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="selectorPrimaryFocus"></a>
                    <span class="name">
                        <span ><b>selectorPrimaryFocus</b></span>
                        <a href="#selectorPrimaryFocus"><span class="icon ion-ios-link"></span></a>
                    </span>
                </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>&quot;[modal-primary-focus]&quot;</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="152" class="link-to-prism">src/modal/modal.component.ts:152</a></div>
                        </td>
                    </tr>

            <tr>
                <td class="col-md-4">
                    <div class="io-description"><p>An element should have &#39;modal-primary-focus&#39; as an attribute to receive initial focus within the <code>Modal</code> component.</p>
</div>
                </td>
            </tr>

        </tbody>
    </table>
</section>

    <section data-compodoc="block-accessors">
    <h3 id="accessors">
        Accessors
    </h3>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="shouldShowScrollbar"></a>
                        <span class="name"><b>shouldShowScrollbar</b><a href="#shouldShowScrollbar"><span class="icon ion-ios-link"></span></a></span>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>get</b><code>shouldShowScrollbar()</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="220" class="link-to-prism">src/modal/modal.component.ts:220</a></div>
                                </td>
                            </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-description"><p>This detects whether or not the modal contains scrolling content.</p>
<p>To force trigger a detection (ie. on window resize), change or reset the value of the modal content.</p>
<p>Use the <code>hasScrollingContent</code> input to manually override the overflow indicator.</p>
</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 {
	AfterViewInit,
	Component,
	EventEmitter,
	HostListener,
	Input,
	Output,
	ElementRef,
	ViewChild,
	SimpleChanges,
	OnChanges,
	Renderer2,
	Inject,
	OnDestroy
} from &quot;@angular/core&quot;;
import { DOCUMENT } from &quot;@angular/common&quot;;
import { cycleTabs, getFocusElementList } from &quot;carbon-components-angular/common&quot;;
import { BaseModalService } from &quot;./base-modal.service&quot;;

/**
 * Component to create modals for presenting content.
 *
 * [See demo](../../?path&#x3D;/story/components-modal--basic)
 *
 * Using a modal in your application requires &#x60;cds-placeholder&#x60; which would generally be
 * placed near the end of your app component template (app.component.ts or app.component.html) as:
 *
&#x60;&#x60;&#x60;html
&lt;cds-placeholder&gt;&lt;/cds-placeholder&gt;
&#x60;&#x60;&#x60;
 *
 * A more complete example for &#x60;Modal&#x60; is given as follows:
 *
 * Example modal definition:
 *
&#x60;&#x60;&#x60;typescript
@Component({
	selector: &quot;app-sample-modal&quot;,
	template: &#x60;
				&lt;cds-modal size&#x3D;&quot;xl&quot; (overlaySelected)&#x3D;&quot;closeModal()&quot;&gt;
					&lt;cds-modal-header (closeSelect)&#x3D;&quot;closeModal()&quot;&gt;Header text&lt;/cds-modal-header&gt;
						&lt;section class&#x3D;&quot;modal-body&quot;&gt;
							&lt;h1&gt;Sample modal works.&lt;/h1&gt;
							&lt;button class&#x3D;&quot;btn--icon-link&quot; nPopover&#x3D;&quot;Hello there&quot; title&#x3D;&quot;Popover title&quot; placement&#x3D;&quot;right&quot; appendInline&#x3D;&quot;true&quot;&gt;
								&lt;svg cdsIcon&#x3D;&quot;info&quot; size&#x3D;&quot;sm&quot;&gt;&lt;/svg&gt;
							&lt;/button&gt;
							{{modalText}}
						&lt;/section&gt;
					&lt;cds-modal-footer&gt;&lt;button cdsButton&#x3D;&quot;primary&quot; (click)&#x3D;&quot;closeModal()&quot;&gt;Close&lt;/button&gt;&lt;/cds-modal-footer&gt;
				&lt;/cds-modal&gt;&#x60;,
	styleUrls: [&quot;./sample-modal.component.scss&quot;]
})
export class SampleModal extends BaseModal {
	modalText: string;
	constructor(protected injector: Injector) {
		super();
		this.modalText &#x3D; this.injector.get(&quot;modalText&quot;);
	}
}
&#x60;&#x60;&#x60;
 *
 * Example of opening the modal:
 *
&#x60;&#x60;&#x60;typescript
@Component({
	selector: &quot;app-modal-demo&quot;,
	template: &#x60;
				&lt;button cdsButton&#x3D;&quot;primary&quot; (click)&#x3D;&quot;openModal(&#x27;drill&#x27;)&quot;&gt;Drill-down modal&lt;/button&gt;
				&lt;cds-placeholder&gt;&lt;/cds-placeholder&gt;&#x60;
})
export class ModalDemo {
	openModal() {
		this.modalService.create({component: SampleModal, inputs: {modalText: &quot;Hello universe.&quot;}});
	}
}
&#x60;&#x60;&#x60;
 */
@Component({
	selector: &quot;cds-modal, ibm-modal&quot;,
	template: &#x60;
		&lt;cds-overlay
			[theme]&#x3D;&quot;theme&quot;
			[open]&#x3D;&quot;open&quot;
			(overlaySelect)&#x3D;&quot;overlaySelected.emit()&quot;&gt;
			&lt;div
				class&#x3D;&quot;cds--modal-container&quot;
				[ngClass]&#x3D;&quot;{
					&#x27;cds--modal-container--xs&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;xs&#x27;,
					&#x27;cds--modal-container--sm&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;sm&#x27;,
					&#x27;cds--modal-container--md&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;md&#x27;,
					&#x27;cds--modal-container--lg&#x27;: size &#x3D;&#x3D;&#x3D; &#x27;lg&#x27;
				}&quot;
				role&#x3D;&quot;dialog&quot;
				aria-modal&#x3D;&quot;true&quot;
				style&#x3D;&quot;z-index:1;&quot;
				[attr.aria-label]&#x3D;&quot;ariaLabel&quot;
				#modal&gt;
				&lt;ng-content&gt;&lt;/ng-content&gt;
			&lt;/div&gt;
		&lt;/cds-overlay&gt;
	&#x60;
})
export class Modal implements AfterViewInit, OnChanges, OnDestroy {
	/**
	 * Size of the modal to display.
	 */
	@Input() size: &quot;xs&quot; | &quot;sm&quot;| &quot;md&quot; | &quot;lg&quot; &#x3D; &quot;md&quot;;
	/**
	 * Classification of the modal.
	 */
	@Input() theme: &quot;default&quot; | &quot;danger&quot; &#x3D; &quot;default&quot;;

	/**
	 * Label for the modal.
	 */
	@Input() ariaLabel &#x3D; &quot;default&quot;;

	/**
	 * Controls the visibility of the modal when used directly in a template
	 */
	@Input() open &#x3D; false;

	/**
	 * The element that triggers the modal, which should receive focus when the modal closes
	 */
	@Input() trigger: HTMLElement;

	/**
	 * Specify whether the modal contains scrolling content. This property overrides the automatic
	 * detection of the existence of scrolling content. Set this property to &#x60;true&#x60; to force
	 * overflow indicator to show up or to &#x60;false&#x60; to force overflow indicator to disappear.
	 * It is set to &#x60;null&#x60; by default which indicates not to override automatic detection.
	 */
	@Input() hasScrollingContent: boolean &#x3D; null;

	/**
	 * Emits event when click occurs within &#x60;n-overlay&#x60; element. This is to track click events occurring outside bounds of the &#x60;Modal&#x60; object.
	 */
	@Output() overlaySelected &#x3D; new EventEmitter();
	/**
	 * To emit the closing event of the modal window.
	 */
	@Output() close &#x3D; new EventEmitter();
	/**
	 * Maintains a reference to the view DOM element of the &#x60;Modal&#x60;.
	 */
	@ViewChild(&quot;modal&quot;, { static: true }) modal: ElementRef;

	/**
	 * An element should have &#x27;modal-primary-focus&#x27; as an attribute to receive initial focus within the &#x60;Modal&#x60; component.
	 */
	selectorPrimaryFocus &#x3D; &quot;[modal-primary-focus]&quot;;

	/**
	 * Creates an instance of &#x60;Modal&#x60;.
	 */
	constructor(
		public modalService: BaseModalService,
		@Inject(DOCUMENT) private document: Document,
		private renderer: Renderer2
	) { }

	ngOnChanges({ open, hasScrollingContent }: SimpleChanges) {
		if (open) {
			if (open.currentValue) {
				// &#x60;100&#x60; is just enough time to allow the modal
				// to become visible, so that we can set focus
				setTimeout(() &#x3D;&gt; this.focusInitialElement(), 100);
				// Prevent scrolling on open
				this.renderer.addClass(this.document.body, &quot;cds--body--with-modal-open&quot;);
			} else if (!open.currentValue) {
				// Enable scrolling on close
				this.renderer.removeClass(this.document.body, &quot;cds--body--with-modal-open&quot;);
			} else if (this.trigger) {
				this.trigger.focus();
			}
		}
		if (hasScrollingContent) {
			this.updateScrollbar();
		}
	}

	/**
	 * Set document focus to be on the modal component after it is initialized.
	 */
	ngAfterViewInit() {
		this.focusInitialElement();
		this.updateScrollbar();
	}

	/**
	 * Handle keyboard events to close modal and tab through the content within the modal.
	 */
	@HostListener(&quot;keydown&quot;, [&quot;$event&quot;])
	handleKeyboardEvent(event: KeyboardEvent) {
		switch (event.key) {
			case &quot;Escape&quot;: {
				event.stopImmediatePropagation();  // prevents events being fired for multiple modals if more than 2 open
				// Manually close modal
				this.open &#x3D; false;
				this.close.emit();
				this.modalService.destroy();  // destroy top (latest) modal
				break;
			}

			case &quot;Tab&quot;: {
				cycleTabs(event, this.modal.nativeElement);
				break;
			}
		}
	}

	/**
	 * This detects whether or not the modal contains scrolling content.
	 *
	 * To force trigger a detection (ie. on window resize), change or reset the value of the modal content.
	 *
	 * Use the &#x60;hasScrollingContent&#x60; input to manually override the overflow indicator.
	 */
	get shouldShowScrollbar() {
		const modalContent &#x3D; this.modal ? this.modal.nativeElement.querySelector(&quot;.cds--modal-content&quot;) : null;
		if (modalContent) {
			// get rounded value from height to match integer returned from scrollHeight
			const modalContentHeight &#x3D; Math.ceil(modalContent.getBoundingClientRect().height);
			const modalContentScrollHeight &#x3D; modalContent.scrollHeight;
			return modalContentScrollHeight &gt; modalContentHeight;
		} else {
			return false;
		}
	}

	// Remove class preventing scrolling
	ngOnDestroy() {
		this.renderer.removeClass(this.document.body, &quot;cds--body--with-modal-open&quot;);
	}

	protected focusInitialElement() {
		const primaryFocusElement &#x3D; this.modal.nativeElement.querySelector(this.selectorPrimaryFocus);
		if (primaryFocusElement &amp;&amp; primaryFocusElement.focus) {
			setTimeout(() &#x3D;&gt; primaryFocusElement.focus());
		} else if (getFocusElementList(this.modal.nativeElement).length &gt; 0) {
			setTimeout(() &#x3D;&gt; getFocusElementList(this.modal.nativeElement)[0].focus());
		} else {
			setTimeout(() &#x3D;&gt; this.modal.nativeElement.focus());
		}
	}

	private updateScrollbar() {
		const modalContent &#x3D; this.modal ? this.modal.nativeElement.querySelector(&quot;.cds--modal-content&quot;) : null;
		const showScrollbar &#x3D; this.hasScrollingContent !&#x3D;&#x3D; null ? this.hasScrollingContent : this.shouldShowScrollbar;
		if (modalContent) {
			if (showScrollbar) {
				this.renderer.addClass(modalContent, &quot;cds--modal-scroll-content&quot;);
			} else {
				this.renderer.removeClass(modalContent, &quot;cds--modal-scroll-content&quot;);
			}
		}
	}
}
</code></pre>
    </div>



    <div class="tab-pane fade " id="tree">
        <div id="tree-container"></div>
        <div class="tree-legend">
            <div class="title">
                <b>Legend</b>
            </div>
            <div>
                <div class="color htmlelement"></div><span>Html element</span>
            </div>
            <div>
                <div class="color component"></div><span>Component</span>
            </div>
            <div>
                <div class="color directive"></div><span>Html element with directive</span>
            </div>
        </div>
    </div>

    
</div>

<script src="../js/libs/vis.min.js"></script>
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
        var COMPONENT_TEMPLATE = '<div><cds-overlay	[theme]="theme"	[open]="open"	(overlaySelect)="overlaySelected.emit()">	<div		class="cds--modal-container"		[ngClass]="{			\'cds--modal-container--xs\': size === \'xs\',			\'cds--modal-container--sm\': size === \'sm\',			\'cds--modal-container--md\': size === \'md\',			\'cds--modal-container--lg\': size === \'lg\'		}"		role="dialog"		aria-modal="true"		style="z-index:1;"		[attr.aria-label]="ariaLabel"		#modal>		<ng-content></ng-content>	</div></cds-overlay>	</div>'
    var COMPONENTS = [{'name': 'Accordion', 'selector': 'cds-accordion, ibm-accordion'},{'name': 'AccordionItem', 'selector': 'cds-accordion-item, ibm-accordion-item'},{'name': 'ActionableNotification', 'selector': 'cds-actionable-notification, ibm-actionable-notification'},{'name': 'AlertModal', 'selector': 'cds-alert-modal, ibm-alert-modal'},{'name': 'BaseIconButton', 'selector': ''},{'name': 'BaseNotification', 'selector': ''},{'name': 'BaseTabHeader', 'selector': ''},{'name': 'Breadcrumb', 'selector': 'cds-breadcrumb, ibm-breadcrumb'},{'name': 'BreadcrumbItemComponent', 'selector': 'cds-breadcrumb-item, ibm-breadcrumb-item'},{'name': 'ButtonSet', 'selector': 'cds-button-set, ibm-button-set'},{'name': 'Checkbox', 'selector': 'cds-checkbox, ibm-checkbox'},{'name': 'ClickableTile', 'selector': 'cds-clickable-tile, ibm-clickable-tile'},{'name': 'CodeSnippet', 'selector': 'cds-code-snippet, ibm-code-snippet'},{'name': 'ComboBox', 'selector': 'cds-combo-box, ibm-combo-box'},{'name': 'ComboButtonComponent', 'selector': 'cds-combo-button'},{'name': 'ContainedList', 'selector': 'cds-contained-list, ibm-contained-list'},{'name': 'ContainedListItem', 'selector': 'cds-contained-list-item, ibm-contained-list-item'},{'name': 'ContentSwitcher', 'selector': 'cds-content-switcher, ibm-content-switcher'},{'name': 'ContextMenuComponent', 'selector': 'cds-menu, cds-context-menu, ibm-context-menu'},{'name': 'ContextMenuDividerComponent', 'selector': 'cds-menu-divider, cds-context-menu-divider, ibm-context-menu-divider'},{'name': 'ContextMenuGroupComponent', 'selector': 'cds-menu-group, cds-context-menu-group, ibm-context-menu-group'},{'name': 'ContextMenuItemComponent', 'selector': 'cds-menu-item, cds-context-menu-item, ibm-context-menu-item'},{'name': 'DatePicker', 'selector': 'cds-date-picker, ibm-date-picker'},{'name': 'DatePickerInput', 'selector': 'cds-date-picker-input, ibm-date-picker-input'},{'name': 'Dialog', 'selector': 'cds-dialog, ibm-dialog'},{'name': 'Documentation', 'selector': 'cds-documentation'},{'name': 'Dropdown', 'selector': 'cds-dropdown, ibm-dropdown'},{'name': 'DropdownList', 'selector': 'cds-dropdown-list, ibm-dropdown-list'},{'name': 'ExpandableTile', 'selector': 'cds-expandable-tile, ibm-expandable-tile'},{'name': 'FileComponent', 'selector': 'cds-file, ibm-file'},{'name': 'FileUploader', 'selector': 'cds-file-uploader, ibm-file-uploader'},{'name': 'Hamburger', 'selector': 'cds-hamburger, ibm-hamburger'},{'name': 'Header', 'selector': 'cds-header, ibm-header'},{'name': 'HeaderAction', 'selector': 'cds-header-action, ibm-header-action'},{'name': 'HeaderGlobal', 'selector': 'cds-header-global, ibm-header-global'},{'name': 'HeaderItem', 'selector': 'cds-header-item, ibm-header-item'},{'name': 'HeaderMenu', 'selector': 'cds-header-menu, ibm-header-menu'},{'name': 'HeaderNavigation', 'selector': 'cds-header-navigation, ibm-header-navigation'},{'name': 'IconButton', 'selector': 'cds-icon-button, ibm-icon-button'},{'name': 'InlineLoading', 'selector': 'cds-inline-loading, ibm-inline-loading'},{'name': 'Label', 'selector': 'cds-label, ibm-label'},{'name': 'ListColumn', 'selector': 'cds-list-column, ibm-list-column'},{'name': 'ListHeader', 'selector': 'cds-list-header, ibm-list-header'},{'name': 'ListRow', 'selector': 'cds-list-row, ibm-list-row'},{'name': 'Loading', 'selector': 'cds-loading, ibm-loading'},{'name': 'MenuButtonComponent', 'selector': 'cds-menu-button'},{'name': 'Modal', 'selector': 'cds-modal, ibm-modal'},{'name': 'ModalFooter', 'selector': 'cds-modal-footer, ibm-modal-footer'},{'name': 'ModalHeader', 'selector': 'cds-modal-header, ibm-modal-header'},{'name': 'Notification', 'selector': 'cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification'},{'name': 'NumberComponent', 'selector': 'cds-number, ibm-number'},{'name': 'OverflowMenu', 'selector': 'cds-overflow-menu, ibm-overflow-menu'},{'name': 'OverflowMenuCustomPane', 'selector': 'cds-overflow-custom-menu-pane, ibm-overflow-custom-menu-pane'},{'name': 'OverflowMenuOption', 'selector': 'cds-overflow-menu-option, ibm-overflow-menu-option'},{'name': 'OverflowMenuPane', 'selector': 'cds-overflow-menu-pane, ibm-overflow-menu-pane'},{'name': 'Overlay', 'selector': 'cds-overlay, ibm-overlay'},{'name': 'Pagination', 'selector': 'cds-pagination, ibm-pagination'},{'name': 'PaginationNav', 'selector': 'cds-pagination-nav, ibm-pagination-navm'},{'name': 'PaginationNavItem', 'selector': 'cds-pagination-nav-item, ibm-pagination-nav-item'},{'name': 'PaginationOverflow', 'selector': 'cds-pagination-overflow, ibm-pagination-overflow'},{'name': 'Panel', 'selector': 'cds-panel, ibm-panel'},{'name': 'PasswordInputLabelComponent', 'selector': 'cds-password-label, ibm-password-label'},{'name': 'Placeholder', 'selector': 'cds-placeholder, ibm-placeholder'},{'name': 'PopoverContent', 'selector': 'cds-popover-content, ibm-popover-content'},{'name': 'ProgressBar', 'selector': 'cds-progress-bar, ibm-progress-bar'},{'name': 'ProgressIndicator', 'selector': 'cds-progress-indicator, ibm-progress-indicator'},{'name': 'Radio', 'selector': 'cds-radio, ibm-radio'},{'name': 'RadioGroup', 'selector': 'cds-radio-group, ibm-radio-group'},{'name': 'Search', 'selector': 'cds-search, ibm-search'},{'name': 'Select', 'selector': 'cds-select, ibm-select'},{'name': 'SelectionTile', 'selector': 'cds-selection-tile, ibm-selection-tile'},{'name': 'SideNav', 'selector': 'cds-sidenav, ibm-sidenav'},{'name': 'SideNavItem', 'selector': 'cds-sidenav-item, ibm-sidenav-item'},{'name': 'SideNavMenu', 'selector': 'cds-sidenav-menu, ibm-sidenav-menu'},{'name': 'SkeletonPlaceholder', 'selector': 'cds-skeleton-placeholder, ibm-skeleton-placeholder'},{'name': 'SkeletonText', 'selector': 'cds-skeleton-text, ibm-skeleton-text'},{'name': 'Slider', 'selector': 'cds-slider, ibm-slider'},{'name': 'StructuredList', 'selector': 'cds-structured-list, ibm-structured-list'},{'name': 'SwitcherList', 'selector': 'cds-switcher-list, ibm-switcher-list'},{'name': 'SwitcherListItem', 'selector': 'cds-switcher-list-item, ibm-switcher-list-item'},{'name': 'Tab', 'selector': 'cds-tab, ibm-tab'},{'name': 'TabHeaderGroup', 'selector': 'cds-tab-header-group, ibm-tab-header-group'},{'name': 'TabHeaders', 'selector': 'cds-tab-headers, ibm-tab-headers'},{'name': 'Table', 'selector': 'cds-table, ibm-table'},{'name': 'TableBody', 'selector': '[cdsTableBody], [ibmTableBody]'},{'name': 'TableCheckbox', 'selector': '[cdsTableCheckbox], [ibmTableCheckbox]'},{'name': 'TableContainer', 'selector': 'cds-table-container, ibm-table-container'},{'name': 'TableData', 'selector': '[cdsTableData], [ibmTableData]'},{'name': 'TableExpandButton', 'selector': '[cdsTableExpandButton], [ibmTableExpandButton]'},{'name': 'TableExpandedRow', 'selector': '[cdsTableExpandedRow], [ibmTableExpandedRow]'},{'name': 'TableHead', 'selector': '[cdsTableHead], [ibmTableHead]'},{'name': 'TableHeadCell', 'selector': '[cdsTableHeadCell], [ibmTableHeadCell]'},{'name': 'TableHeadCheckbox', 'selector': '[cdsTableHeadCheckbox], [ibmTableHeadCheckbox]'},{'name': 'TableHeader', 'selector': 'cds-table-header, ibm-table-header'},{'name': 'TableHeadExpand', 'selector': '[cdsTableHeadExpand], [ibmTableHeadExpand]'},{'name': 'TableRadio', 'selector': '[cdsTableRadio], [ibmTableRadio]'},{'name': 'TableRowComponent', 'selector': '[cdsTableRow], [ibmTableRow]'},{'name': 'TableToolbar', 'selector': 'cds-table-toolbar, ibm-table-toolbar'},{'name': 'TableToolbarActions', 'selector': 'cds-table-toolbar-actions, ibm-table-toolbar-actions'},{'name': 'TableToolbarContent', 'selector': 'cds-table-toolbar-content, ibm-table-toolbar-content'},{'name': 'TableToolbarSearch', 'selector': 'cds-table-toolbar-search, ibm-table-toolbar-search'},{'name': 'Tabs', 'selector': 'cds-tabs, ibm-tabs'},{'name': 'TabSkeleton', 'selector': 'cds-tabs-skeleton, ibm-tabs-skeleton'},{'name': 'Tag', 'selector': 'cds-tag, ibm-tag'},{'name': 'TagFilter', 'selector': 'cds-tag-filter, ibm-tag-filter'},{'name': 'TagOperationalComponent', 'selector': 'cds-tag-operational, ibm-tag-operational'},{'name': 'TagSelectableComponent', 'selector': 'cds-tag-selectable, ibm-tag-selectable'},{'name': 'TextareaLabelComponent', 'selector': 'cds-textarea-label, ibm-textarea-label'},{'name': 'TextInputLabelComponent', 'selector': 'cds-text-label, ibm-text-label'},{'name': 'Tile', 'selector': 'cds-tile, ibm-tile'},{'name': 'TileGroup', 'selector': 'cds-tile-group, ibm-tile-group'},{'name': 'TimePicker', 'selector': 'cds-timepicker, ibm-timepicker'},{'name': 'TimePickerSelect', 'selector': 'cds-timepicker-select, ibm-timepicker-select'},{'name': 'Toast', 'selector': 'cds-toast, ibm-toast'},{'name': 'Toggle', 'selector': 'cds-toggle, ibm-toggle'},{'name': 'Toggletip', 'selector': 'cds-toggletip, ibm-toggletip'},{'name': 'Tooltip', 'selector': 'cds-tooltip, ibm-tooltip'},{'name': 'TooltipDefinition', 'selector': 'cds-tooltip-definition, ibm-tooltip-definition'},{'name': 'TreeNodeComponent', 'selector': 'cds-tree-node'},{'name': 'TreeViewComponent', 'selector': 'cds-tree-view'}];
    var DIRECTIVES = [{'name': 'AbstractDropdownView', 'selector': '[cdsAbstractDropdownView], [ibmAbstractDropdownView]'},{'name': 'ActionableButton', 'selector': '[cdsActionableButton], [ibmActionableButton]'},{'name': 'ActionableSubtitle', 'selector': '[cdsActionableSubtitle], [ibmActionableSubtitle]'},{'name': 'ActionableTitle', 'selector': '[cdsActionableTitle], [ibmActionableTitle]'},{'name': 'BaseModal', 'selector': '[cdsBaseModal], [ibmBaseModal]'},{'name': 'Button', 'selector': '[cdsButton], [ibmButton]'},{'name': 'ClickableTileIconDirective', 'selector': '[cdsClickableTileIcon], [ibmClickableTileIcon]'},{'name': 'ColumnDirective', 'selector': '[cdsCol], [ibmCol]'},{'name': 'ContentSwitcherOption', 'selector': '[cdsContentOption], [ibmContentOption]'},{'name': 'DialogDirective', 'selector': '[cdsDialog], [ibmDialog]'},{'name': 'ExpandableTileAboveFoldDirective', 'selector': '[cdsAboveFold], [ibmAboveFold]'},{'name': 'ExpandableTileBelowFoldDirective', 'selector': '[cdsBelowFold], [ibmBelowFold]'},{'name': 'ExpandedRowHover', 'selector': '[cdsExpandedRowHover], [ibmExpandedRowHover]'},{'name': 'GridDirective', 'selector': '[cdsGrid], [ibmGrid]'},{'name': 'IconDirective', 'selector': '[cdsIcon], [ibmIcon]'},{'name': 'LayerDirective', 'selector': '[cdsLayer], [ibmLayer]'},{'name': 'Link', 'selector': '[cdsLink], [ibmLink]'},{'name': 'LinkIconDirective', 'selector': '[ibmLinkIcon], [cdsLinkIcon]'},{'name': 'List', 'selector': '[cdsList], [ibmList]'},{'name': 'ListItemDirective', 'selector': '[cdsListItem], [ibmListItem]'},{'name': 'ModalContent', 'selector': '[cdsModalContent], [ibmModalContent]'},{'name': 'ModalContentText', 'selector': '[cdsModalContentText], [ibmModalContentText]'},{'name': 'ModalHeaderHeading', 'selector': '[cdsModalHeaderHeading], [ibmModalHeaderHeading]'},{'name': 'ModalHeaderLabel', 'selector': '[cdsModalHeaderLabel], [ibmModalHeaderLabel]'},{'name': 'NotificationSubtitle', 'selector': '[cdsNotificationSubtitle], [ibmNotificationSubtitle]'},{'name': 'NotificationTitle', 'selector': '[cdsNotificationTitle], [ibmNotificationTitle]'},{'name': 'OptGroup', 'selector': 'optgroup'},{'name': 'Option', 'selector': 'option'},{'name': 'OverflowMenuDirective', 'selector': '[cdsOverflowMenu], [ibmOverflowMenu]'},{'name': 'PasswordInput', 'selector': '[cdsPassword], [ibmPassword]'},{'name': 'PopoverContainer', 'selector': '[cdsPopover], [ibmPopover]'},{'name': 'RouterLinkExtendedDirective', 'selector': '[routerLink]'},{'name': 'RowDirective', 'selector': '[cdsRow], [ibmRow]'},{'name': 'ScrollableList', 'selector': '[cdsScrollableList], [ibmScrollableList]'},{'name': 'StackDirective', 'selector': '[cdsStack], [ibmStack]'},{'name': 'TabHeader', 'selector': '[cdsTabHeader], [ibmTabHeader]'},{'name': 'TableDirective', 'selector': '[cdsTable], [ibmTable]'},{'name': 'TableHeadCellLabel', 'selector': '[cdsTableHeadCellLabel], [ibmTableHeadCellLabel]'},{'name': 'TableHeaderDescription', 'selector': '[cdsTableHeaderDescription], [ibmTableHeaderDescription]'},{'name': 'TableHeaderTitle', 'selector': '[cdsTableHeaderTitle], [ibmTableHeaderTitle]'},{'name': 'TagIconDirective', 'selector': '[cdsTagIcon], [ibmTagIcon]'},{'name': 'TextArea', 'selector': '[cdsTextArea], [ibmTextArea]'},{'name': 'TextInput', 'selector': '[cdsText], [ibmText]'},{'name': 'ThemeDirective', 'selector': '[cdsTheme], [ibmTheme]'},{'name': 'ToastCaption', 'selector': '[cdsToastCaption], [ibmToastCaption]'},{'name': 'ToastSubtitle', 'selector': '[cdsToastSubtitle], [ibmToastSubtitle]'},{'name': 'ToastTitle', 'selector': '[cdsToastTitle], [ibmToastTitle]'},{'name': 'ToggletipAction', 'selector': '[cdsToggletipAction], [ibmToggletipAction]'},{'name': 'ToggletipButton', 'selector': '[cdsToggletipButton], [ibmToggletipButton]'},{'name': 'ToggletipContent', 'selector': '[cdsToggletipContent], [ibmToggletipContent]'},{'name': 'ToggletipLabel', 'selector': '[cdsToggletipLabel], [ibmToggletipLabel]'}];
    var ACTUAL_COMPONENT = {'name': 'Modal'};
</script>
<script src="../js/tree.js"></script>

















                   </div><div class="search-results">
    <div class="has-results">
        <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
        <ul class="search-results-list"></ul>
    </div>
    <div class="no-results">
        <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
    </div>
</div>
</div>
               <!-- END CONTENT -->
           </div>
       </div>

          <label class="dark-mode-switch">
               <input type="checkbox">
               <span class="slider">
                    <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
                    <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
                    </svg>
               </span>
          </label>

       <script>
            var COMPODOC_CURRENT_PAGE_DEPTH = 1;
            var COMPODOC_CURRENT_PAGE_CONTEXT = 'component';
            var COMPODOC_CURRENT_PAGE_URL = 'Modal.html';
            var MAX_SEARCH_RESULTS = 15;
       </script>

       <script>
               $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
               checkToggle(darkModeState);
               if ($darkModeToggleSwitchers.length > 0) {
                    for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
                         $darkModeToggleSwitchers[i].addEventListener('change', function (event) {
                              darkModeState = !darkModeState;
                              toggleDarkMode(darkModeState);
                         });
                    }
               }
          </script>

       <script src="../js/libs/custom-elements.min.js"></script>
       <script src="../js/libs/lit-html.js"></script>

       <script src="../js/menu-wc.js" defer></script>
       <script nomodule src="../js/menu-wc_es5.js" defer></script>

       <script src="../js/libs/bootstrap-native.js"></script>

       <script src="../js/libs/es6-shim.min.js"></script>
       <script src="../js/libs/EventDispatcher.js"></script>
       <script src="../js/libs/promise.min.js"></script>
       <script src="../js/libs/zepto.min.js"></script>

       <script src="../js/compodoc.js"></script>

       <script src="../js/tabs.js"></script>
       <script src="../js/menu.js"></script>
       <script src="../js/libs/clipboard.min.js"></script>
       <script src="../js/libs/prism.js"></script>
       <script src="../js/sourceCode.js"></script>
          <script src="../js/search/search.js"></script>
          <script src="../js/search/lunr.min.js"></script>
          <script src="../js/search/search-lunr.js"></script>
          <script src="../js/search/search_index.js"></script>
       <script src="../js/lazy-load-graphs.js"></script>


    

	<footer class="carbon">
		<dds-footer-container key="footer" disable-locale-button="true" size="micro" />
	</footer>

	<script
		key="8"
		type="module"
		src="https://1.www.s81c.com/common/carbon-for-ibm-dotcom/tag/v1/latest/footer.min.js">
	</script>

	<!-- Storybook override -->
	<script>
		document.title = "Carbon Components Angular";
	</script>

	<script
		src="//1.www.s81c.com/common/stats/ibm-common.js"
		type="text/javascript"
		async="async">
	</script>
</body>
</html>