UNPKG

carbon-components-angular

Version:
2,326 lines 89.3 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 directive">
                   <div class="content-data">







<ol class="breadcrumb">
  <li class="breadcrumb-item">Directives</li>
  <li class="breadcrumb-item" >DialogDirective</li>
</ol>

<ul class="nav nav-tabs" role="tablist">
        <li class="nav-item">
            <a href="#info" 
                class="nav-link"
                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>
</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/dialog.directive.ts</code>
        </p>


            <p class="comment">
                <h3>Description</h3>
            </p>
            <p class="comment">
                <p>A generic directive that can be inherited from to create dialogs (for example, a tooltip or popover)</p>
<p>This class contains the relevant initialization code, specific templates, options, and additional inputs
should be specified in the derived class.</p>
<p>NOTE: All child classes should add <code>DialogService</code> as a provider, otherwise they will lose context that
the service relies on.</p>

            </p>


            <p class="comment">
                <h3>Implements</h3>
            </p>
            <p class="comment">
                        <code>OnInit</code>
                        <code>OnDestroy</code>
                        <code>OnChanges</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">Providers</td>
                        <td class="col-md-9">
                            <code>
                                DialogService
                            </code>
                        </td>
                    </tr>

                    <tr>
                        <td class="col-md-3">Selector</td>
                        <td class="col-md-9"><code>[cdsDialog], [ibmDialog]</code></td>
                    </tr>



                    <tr>
                        <td class="col-md-3">exportAs</td>
                        <td class="col-md-9"><code>dialog</code></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>
                                <a href="#dialogConfig" >dialogConfig</a>
                            </li>
                            <li>
                                    <span class="modifier">Static</span>
                                <a href="#dialogCounter" >dialogCounter</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#dialogRef" >dialogRef</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#hasPopup" >hasPopup</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#role" >role</a>
                            </li>
                            <li>
                                    <span class="modifier">Private</span>
                                <a href="#subscriptions" >subscriptions</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="#close" >close</a>
                            </li>
                            <li>
                                <a href="#ngOnChanges" >ngOnChanges</a>
                            </li>
                            <li>
                                <a href="#ngOnDestroy" >ngOnDestroy</a>
                            </li>
                            <li>
                                <a href="#ngOnInit" >ngOnInit</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#onDialogChanges" >onDialogChanges</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#onDialogInit" >onDialogInit</a>
                            </li>
                            <li>
                                <a href="#open" >open</a>
                            </li>
                            <li>
                                <a href="#toggle" >toggle</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#updateConfig" >updateConfig</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="#appendInline" >appendInline</a>
                            </li>
                            <li>
                                <a href="#cdsDialog" >cdsDialog</a>
                            </li>
                            <li>
                                <a href="#closeTrigger" >closeTrigger</a>
                            </li>
                            <li>
                                <a href="#data" >data</a>
                            </li>
                            <li>
                                <a href="#disabled" >disabled</a>
                            </li>
                            <li>
                                <a href="#gap" >gap</a>
                            </li>
                            <li>
                                <a href="#ibmDialog" class="deprecated-name">ibmDialog</a>
                            </li>
                            <li>
                                <a href="#isOpen" >isOpen</a>
                            </li>
                            <li>
                                <a href="#offset" >offset</a>
                            </li>
                            <li>
                                <a href="#placement" >placement</a>
                            </li>
                            <li>
                                <a href="#shouldClose" >shouldClose</a>
                            </li>
                            <li>
                                <a href="#title" >title</a>
                            </li>
                            <li>
                                <a href="#trigger" >trigger</a>
                            </li>
                            <li>
                                <a href="#wrapperClass" >wrapperClass</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="#isOpenChange" >isOpenChange</a>
                            </li>
                            <li>
                                <a href="#onClose" >onClose</a>
                            </li>
                            <li>
                                <a href="#onOpen" >onOpen</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <h6><b>HostBindings</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                <a href="#attr.aria-haspopup" >attr.aria-haspopup</a>
                            </li>
                            <li>
                                <a href="#attr.aria-owns" >attr.aria-owns</a>
                            </li>
                            <li>
                                <a href="#attr.role" >attr.role</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="#ibmDialog" >ibmDialog</a>
                                </li>
                                <li>
                                    <a href="#ariaOwns" >ariaOwns</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, viewContainerRef: ViewContainerRef, dialogService: <a href="../injectables/DialogService.html" target="_self">DialogService</a>, eventService: <a href="../injectables/EventService.html" target="_self">EventService</a>)</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="129" class="link-to-prism">src/dialog/dialog.directive.ts:129</a></div>
                            </td>
                        </tr>

                <tr>
                    <td class="col-md-4">
                            <div class="io-description"><p>Creates an instance of DialogDirective.</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>elementRef</td>
                                                  
                                                        <td>
                                                                    <code>ElementRef</code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>viewContainerRef</td>
                                                  
                                                        <td>
                                                                    <code>ViewContainerRef</code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>dialogService</td>
                                                  
                                                        <td>
                                                                        <code><a href="../injectables/DialogService.html" target="_self" >DialogService</a></code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>eventService</td>
                                                  
                                                        <td>
                                                                        <code><a href="../injectables/EventService.html" target="_self" >EventService</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="appendInline"></a>
                        <b>appendInline</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="86" class="link-to-prism">src/dialog/dialog.directive.ts:86</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Set to <code>true</code> to open the dialog next to the triggering component</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="cdsDialog"></a>
                        <b>cdsDialog</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>string | TemplateRef&lt;any&gt;</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="52" class="link-to-prism">src/dialog/dialog.directive.ts:52</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="closeTrigger"></a>
                        <b>closeTrigger</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>&quot;mouseout&quot; | &quot;mouseleave&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;mouseleave&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="66" class="link-to-prism">src/dialog/dialog.directive.ts:66</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Defines how the Dialog close event is triggered.</p>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseleave_event">See here</a>
for more on the difference between <code>mouseleave</code> and <code>mouseout</code>.</p>
<p>Defaults to <code>click</code> when <code>trigger</code> is set to <code>click</code>.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="data"></a>
                        <b>data</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>{}</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="90" class="link-to-prism">src/dialog/dialog.directive.ts:90</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Optional data for templates</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="disabled"></a>
                        <b>disabled</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="96" class="link-to-prism">src/dialog/dialog.directive.ts:96</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>This prevents the dialog from being toggled</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="gap"></a>
                        <b>gap</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>0</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="82" class="link-to-prism">src/dialog/dialog.directive.ts:82</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Spacing between the dialog and it&#39;s triggering element</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="ibmDialog"></a>
                        <b>ibmDialog</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>string | TemplateRef</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="48" class="link-to-prism">src/dialog/dialog.directive.ts:48</a></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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="92" class="link-to-prism">src/dialog/dialog.directive.ts:92</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="74" class="link-to-prism">src/dialog/dialog.directive.ts:74</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="placement"></a>
                        <b>placement</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;left&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="70" class="link-to-prism">src/dialog/dialog.directive.ts:70</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Placement of the dialog, usually relative to the element the directive is on.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="shouldClose"></a>
                        <b>shouldClose</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/function" target="_blank" >function</a></code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="100" class="link-to-prism">src/dialog/dialog.directive.ts:100</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>This input allows explicit control over how the dialog should close</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="title"></a>
                        <b>title</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;&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="43" class="link-to-prism">src/dialog/dialog.directive.ts:43</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Title for the dialog</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>&quot;click&quot; | &quot;hover&quot; | &quot;mouseenter&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;click&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="57" class="link-to-prism">src/dialog/dialog.directive.ts:57</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Defines how the Dialog is triggered.(Hover and click behave the same on mobile - both respond to a single tap).
Do not add focusable elements if trigger is <code>hover</code> or <code>mouseenter</code>.</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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="78" class="link-to-prism">src/dialog/dialog.directive.ts:78</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Classes to add to the dialog container</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="isOpenChange"></a>
                        <b>isOpenChange</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="116" class="link-to-prism">src/dialog/dialog.directive.ts:116</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Emits an event when the state of <code>isOpen</code> changes. Allows <code>isOpen</code> to be double bound</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="onClose"></a>
                        <b>onClose</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>EventEmitter&lt;any&gt;</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="108" class="link-to-prism">src/dialog/dialog.directive.ts:108</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Emits an event when the dialog is closed</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="onOpen"></a>
                        <b>onOpen</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>EventEmitter&lt;any&gt;</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/dialog.directive.ts:112</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Emits an event when the dialog is opened</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
</section>
            <section data-compodoc="block-properties">
    <h3>HostBindings</h3>    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="attr.aria-haspopup"></a>
                    <span class="name">
                        <span ><b>attr.aria-haspopup</b></span>
                        <a href="#attr.aria-haspopup"><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/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">
                                <div class="io-line">Defined in <a href="" data-line="119" class="link-to-prism">src/dialog/dialog.directive.ts:119</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="attr.aria-owns"></a>
                    <span class="name">
                        <span ><b>attr.aria-owns</b></span>
                        <a href="#attr.aria-owns"><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">
                                <div class="io-line">Defined in <a href="" data-line="120" class="link-to-prism">src/dialog/dialog.directive.ts:120</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="attr.role"></a>
                    <span class="name">
                        <span ><b>attr.role</b></span>
                        <a href="#attr.role"><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;button&quot;</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="118" class="link-to-prism">src/dialog/dialog.directive.ts:118</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="close"></a>
                    <span class="name">
                        <span ><b>close</b></span>
                        <a href="#close"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>close(meta: <a href="../interfaces/CloseMeta.html" target="_self">CloseMeta</a>)</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Helper method to close the dialogRef.</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Default value</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>meta</td>
                                            <td>
                                                            <code><a href="../interfaces/CloseMeta.html" target="_self" >CloseMeta</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>

                                            <td>
                                                    <code>{ reason: CloseReasons.interaction }</code>
                                            </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="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(changes: SimpleChanges)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="148"
                                    class="link-to-prism">src/dialog/dialog.directive.ts:148</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>changes</td>
                                            <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="252"
                                    class="link-to-prism">src/dialog/dialog.directive.ts:252</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>When the host dies, kill the popover.</p>
<ul>
<li>Useful for use in a modal or similar.</li>
</ul>
</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="ngOnInit"></a>
                    <span class="name">
                        <span ><b>ngOnInit</b></span>
                        <a href="#ngOnInit"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnInit()</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Sets the config object and binds events for hovering or clicking before
running code from child class.</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="onDialogChanges"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>onDialogChanges</b></span>
                        <a href="#onDialogChanges"><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>onDialogChanges(_changes: SimpleChanges)</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Empty method for child to override and specify additional on changes steps.
run after DialogDirective completes it&#39;s ngOnChanges.</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>_changes</td>
                                            <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="onDialogInit"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>onDialogInit</b></span>
                        <a href="#onDialogInit"><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>onDialogInit()</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Empty method for child classes to override and specify additional init steps.
Run after DialogDirective completes it&#39;s ngOnInit.</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="open"></a>
                    <span class="name">
                        <span ><b>open</b></span>
                        <a href="#open"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>open(component?)</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Helper method to call dialogService &#39;open&#39;.</p>
<ul>
<li>Enforce accessibility by updating an aria attr for nativeElement.</li>
</ul>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>component</td>

                                            <td>
                                                    Yes
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="../components/Dialog.html" target="_self" >ComponentRef&lt;Dialog&gt;</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="toggle"></a>
                    <span class="name">
                        <span ><b>toggle</b></span>
                        <a href="#toggle"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>toggle(meta: <a href="../interfaces/CloseMeta.html" target="_self">CloseMeta</a>)</code>
                </td>
            </tr>


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


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Helper method to toggle the open state of the dialog</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Default value</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>meta</td>
                                            <td>
                                                            <code><a href="../interfaces/CloseMeta.html" target="_self" >CloseMeta</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>

                                            <td>
                                                    <code>{ reason: CloseReasons.interaction }</code>
                                            </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="updateConfig"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>updateConfig</b></span>
                        <a href="#updateConfig"><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>updateConfig()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="323"
                                    class="link-to-prism">src/dialog/dialog.directive.ts:323</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="dialogConfig"></a>
                    <span class="name">
                        <span ><b>dialogConfig</b></span>
                        <a href="#dialogConfig"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../interfaces/DialogConfig.html" target="_self" >DialogConfig</a></code>

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

            <tr>
                <td class="col-md-4">
                    <div class="io-description"><p>Config object passed to the rendered component</p>
</div>
                </td>
            </tr>

        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="dialogCounter"></a>
                    <span class="name">
                            <span class="modifier">Static</span>
                        <span ><b>dialogCounter</b></span>
                        <a href="#dialogCounter"><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/number" target="_blank" >number</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>0</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="39" class="link-to-prism">src/dialog/dialog.directive.ts:39</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="dialogRef"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>dialogRef</b></span>
                        <a href="#dialogRef"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../components/Dialog.html" target="_self" >ComponentRef&lt;Dialog&gt;</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/dialog.directive.ts:127</a></div>
                        </td>
                    </tr>

            <tr>
                <td class="col-md-4">
                    <div class="io-description"><p>Keeps a reference to the currently opened dialog</p>
</div>
                </td>
            </tr>

        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="hasPopup"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>hasPopup</b></span>
                        <a href="#hasPopup"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>true</code>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <b>Decorators : </b>
                        <br />
                        <code>
                            @HostBinding(&#x27;attr.aria-haspopup&#x27;)<br />
                        </code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="119" class="link-to-prism">src/dialog/dialog.directive.ts:119</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="role"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>role</b></span>
                        <a href="#role"><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;button&quot;</code>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <b>Decorators : </b>
                        <br />
                        <code>
                            @HostBinding(&#x27;attr.role&#x27;)<br />
                        </code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="118" class="link-to-prism">src/dialog/dialog.directive.ts:118</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="subscriptions"></a>
                    <span class="name">
                            <span class="modifier">Private</span>
                        <span ><b>subscriptions</b></span>
                        <a href="#subscriptions"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>Subscription[]</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>[]</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="129" class="link-to-prism">src/dialog/dialog.directive.ts:129</a></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="ibmDialog"></a>
                        <span class="name"><b>ibmDialog</b><a href="#ibmDialog"><span class="icon ion-ios-link"></span></a></span>
                    </td>
                </tr>


                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>set</b><code>ibmDialog(body: string | TemplateRef<any>)</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="48" class="link-to-prism">src/dialog/dialog.directive.ts:48</a></div>
                                </td>
                            </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-description"><p>Dialog body content.</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>body</td>
                                                    
                                                            <td>
                                                                        <code>string | TemplateRef&lt;any&gt;</code>
                                                            </td>
                                                    
                                                        <td>
                                                                No
                                                        </td>
                                                        
                                                    </tr>
                                            </tbody>
                                        </table>
                                </div>
                                <div>
                                </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="ariaOwns"></a>
                        <span class="name"><b>ariaOwns</b><a href="#ariaOwns"><span class="icon ion-ios-link"></span></a></span>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>get</b><code>ariaOwns()</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="120" class="link-to-prism">src/dialog/dialog.directive.ts:120</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 {
	Directive,
	Input,
	Output,
	EventEmitter,
	OnInit,
	OnDestroy,
	ElementRef,
	TemplateRef,
	ViewContainerRef,
	OnChanges,
	HostBinding,
	SimpleChanges,
	ComponentRef
} from &quot;@angular/core&quot;;
import { DialogService } from &quot;./dialog.service&quot;;
import { CloseMeta, CloseReasons, DialogConfig } from &quot;./dialog-config.interface&quot;;
import { EventService } from &quot;carbon-components-angular/utils&quot;;
import { Dialog } from &quot;./dialog.component&quot;;
import { fromEvent, Subscription } from &quot;rxjs&quot;;

/**
 * A generic directive that can be inherited from to create dialogs (for example, a tooltip or popover)
 *
 * This class contains the relevant initialization code, specific templates, options, and additional inputs
 * should be specified in the derived class.
 *
 * NOTE: All child classes should add &#x60;DialogService&#x60; as a provider, otherwise they will lose context that
 * the service relies on.
 */
@Directive({
	selector: &quot;[cdsDialog], [ibmDialog]&quot;,
	exportAs: &quot;dialog&quot;,
	providers: [
		DialogService
	]
})
export class DialogDirective implements OnInit, OnDestroy, OnChanges {
	static dialogCounter &#x3D; 0;
	/**
	 * Title for the dialog
	 */
	@Input() title &#x3D; &quot;&quot;;
	/**
	 * @deprecated as of v5, use &#x60;cdsDialog&#x60; instead
	 * Dialog body content.
	 */
	@Input() set ibmDialog(body: string | TemplateRef&lt;any&gt;) {
		this.cdsDialog &#x3D; body;
	}

	@Input() cdsDialog: string | TemplateRef&lt;any&gt;;
	/**
	 * Defines how the Dialog is triggered.(Hover and click behave the same on mobile - both respond to a single tap).
	 * Do not add focusable elements if trigger is &#x60;hover&#x60; or &#x60;mouseenter&#x60;.
	 */
	@Input() trigger: &quot;click&quot; | &quot;hover&quot; | &quot;mouseenter&quot; &#x3D; &quot;click&quot;;
	/**
	 * Defines how the Dialog close event is triggered.
	 *
	 * [See here](https://developer.mozilla.org/en-US/docs/Web/API/Element/mouseleave_event)
	 * for more on the difference between &#x60;mouseleave&#x60; and &#x60;mouseout&#x60;.
	 *
	 * Defaults to &#x60;click&#x60; when &#x60;trigger&#x60; is set to &#x60;click&#x60;.
	 */
	@Input() closeTrigger: &quot;mouseout&quot; | &quot;mouseleave&quot; &#x3D; &quot;mouseleave&quot;;
	/**
	 * Placement of the dialog, usually relative to the element the directive is on.
	 */
	@Input() placement &#x3D; &quot;left&quot;;
	/**
	 * This specifies any vertical and horizontal offset for the position of the dialog
	 */
	@Input() offset: { x: number, y: number };
	/**
	 * Classes to add to the dialog container
	 */
	@Input() wrapperClass: string;
	/**
	 * Spacing between the dialog and it&#x27;s triggering element
	 */
	@Input() gap &#x3D; 0;
	/**
	 * Set to &#x60;true&#x60; to open the dialog next to the triggering component
	 */
	@Input() appendInline &#x3D; false;
	/**
	 * Optional data for templates
	 */
	@Input() data &#x3D; {};

	@Input() @HostBinding(&quot;attr.aria-expanded&quot;) isOpen &#x3D; false;
	/**
	 * This prevents the dialog from being toggled
	 */
	@Input() disabled &#x3D; false;
	/**
	 * This input allows explicit control over how the dialog should close
	 */
	@Input() shouldClose: (meta: CloseMeta) &#x3D;&gt; boolean;
	/**
	 * Config object passed to the rendered component
	 */
	dialogConfig: DialogConfig;
	/**
	 * Emits an event when the dialog is closed
	 */
	@Output() onClose: EventEmitter&lt;any&gt; &#x3D; new EventEmitter();
	/**
	 * Emits an event when the dialog is opened
	 */
	@Output() onOpen: EventEmitter&lt;any&gt; &#x3D; new EventEmitter();
	/**
	 * Emits an event when the state of &#x60;isOpen&#x60; changes. Allows &#x60;isOpen&#x60; to be double bound
	 */
	@Output() isOpenChange &#x3D; new EventEmitter&lt;boolean&gt;();

	@HostBinding(&quot;attr.role&quot;) role &#x3D; &quot;button&quot;;
	@HostBinding(&quot;attr.aria-haspopup&quot;) hasPopup &#x3D; true;
	@HostBinding(&quot;attr.aria-owns&quot;) get ariaOwns(): string {
		return this.isOpen ? this.dialogConfig.compID : null;
	}

	/**
	 * Keeps a reference to the currently opened dialog
	 */
	protected dialogRef: ComponentRef&lt;Dialog&gt;;

	private subscriptions: Subscription[] &#x3D; [];

	/**
	 * Creates an instance of DialogDirective.
	 * @param elementRef
	 * @param viewContainerRef
	 * @param dialogService
	 * @param eventService
	 */
	constructor(
		protected elementRef: ElementRef,
		protected viewContainerRef: ViewContainerRef,
		protected dialogService: DialogService,
		/**
		 * Deprecated as of v5
		 */
		protected eventService: EventService
	) {}

	ngOnChanges(changes: SimpleChanges) {
		// set the config object (this can [and should!] be added to in child classes depending on what they need)
		this.dialogConfig &#x3D; {
			title: this.title,
			content: this.cdsDialog,
			placement: this.placement,
			parentRef: this.elementRef,
			gap: this.gap,
			trigger: this.trigger,
			closeTrigger: this.closeTrigger,
			shouldClose: this.shouldClose || (() &#x3D;&gt; true),
			appendInline: this.appendInline,
			wrapperClass: this.wrapperClass,
			data: this.data,
			offset: this.offset,
			disabled: this.disabled
		};

		if (changes.isOpen) {
			if (changes.isOpen.currentValue) {
				this.open();
			} else if (!changes.isOpen.firstChange) {
				this.close({
					reason: CloseReasons.programmatic
				});
			}
		}

		// Run any code a child class may need.
		this.onDialogChanges(changes);
		this.updateConfig();
	}

	/**
	 * Sets the config object and binds events for hovering or clicking before
	 * running code from child class.
	 */
	ngOnInit() {
		// fix for safari hijacking clicks
		this.dialogService.singletonClickListen();

		const element: HTMLElement &#x3D; this.elementRef.nativeElement;

		this.subscriptions.push(
			fromEvent(element, &quot;keydown&quot;).subscribe((event: KeyboardEvent) &#x3D;&gt; {
				if (event.target &#x3D;&#x3D;&#x3D; this.dialogConfig.parentRef.nativeElement &amp;&amp;
					(event.key &#x3D;&#x3D;&#x3D; &quot;Tab&quot; || event.key &#x3D;&#x3D;&#x3D; &quot;Tab&quot; &amp;&amp; event.shiftKey) ||
					event.key &#x3D;&#x3D;&#x3D; &quot;Escape&quot;) {
					this.close({
						reason: CloseReasons.interaction,
						target: event.target
					});
				}
			})
		);

		// bind events for hovering or clicking the host
		if (this.trigger &#x3D;&#x3D;&#x3D; &quot;hover&quot; || this.trigger &#x3D;&#x3D;&#x3D; &quot;mouseenter&quot;) {
			this.subscriptions.push(
				fromEvent(element, &quot;mouseenter&quot;).subscribe(() &#x3D;&gt; this.open()),
				fromEvent(element, this.closeTrigger).subscribe((event) &#x3D;&gt; {
					this.close({
						reason: CloseReasons.interaction,
						target: event.target
					});
				}),
				fromEvent(element, &quot;focus&quot;).subscribe(() &#x3D;&gt; this.open()),
				fromEvent(element, &quot;blur&quot;).subscribe((event) &#x3D;&gt; {
					this.close({
						reason: CloseReasons.interaction,
						target: event.target
					});
				})
			);
		} else {
			this.subscriptions.push(
				fromEvent(element, &quot;click&quot;).subscribe((event) &#x3D;&gt; {
					this.toggle({
						reason: CloseReasons.interaction,
						target: event.target
					});
				}),
				fromEvent(element, &quot;keydown&quot;).subscribe((event: KeyboardEvent) &#x3D;&gt; {
					if (event.key &#x3D;&#x3D;&#x3D; &quot;Enter&quot; || event.key &#x3D;&#x3D;&#x3D; &quot; &quot;) {
						setTimeout(() &#x3D;&gt; {
							this.open();
						});
					}
				})
			);
		}

		DialogDirective.dialogCounter++;
		this.dialogConfig.compID &#x3D; &quot;dialog-&quot; + DialogDirective.dialogCounter;

		// run any code a child class may need
		this.onDialogInit();
		this.updateConfig();
	}

	/**
	 * When the host dies, kill the popover.
	 * - Useful for use in a modal or similar.
	 */
	ngOnDestroy() {
		this.close({
			reason: CloseReasons.destroyed
		});
		this.subscriptions.forEach((subscription) &#x3D;&gt; subscription.unsubscribe());
	}

	/**
	 * Helper method to call dialogService &#x27;open&#x27;.
	 * - Enforce accessibility by updating an aria attr for nativeElement.
	 */
	open(component?) {
		// don&#x27;t allow dialogs to be opened if they&#x27;re already open
		if (this.dialogRef || this.disabled) { return; }

		// actually open the dialog, emit events, and set the open state
		this.dialogRef &#x3D; this.dialogService.open(this.viewContainerRef, this.dialogConfig, component);
		this.isOpen &#x3D; true;
		this.onOpen.emit();
		this.isOpenChange.emit(true);

		// Handles emitting all the close events to clean everything up
		// Also enforce accessibility on close by updating an aria attr on the nativeElement.
		const subscription &#x3D; this.dialogRef.instance.close.subscribe((meta: CloseMeta) &#x3D;&gt; {
			if (!this.dialogRef) { return; }
			if (this.dialogConfig.shouldClose &amp;&amp; this.dialogConfig.shouldClose(meta)) {
				// close the dialog, emit events, and clear out the open states
				this.dialogService.close(this.dialogRef);
				this.dialogRef &#x3D; null;
				this.isOpen &#x3D; false;
				this.onClose.emit();
				this.isOpenChange.emit(false);
				subscription.unsubscribe();
			}
		});

		return this.dialogRef;
	}

	/**
	 * Helper method to toggle the open state of the dialog
	 */
	toggle(meta: CloseMeta &#x3D; { reason: CloseReasons.interaction }) {
		if (!this.isOpen) {
			this.open();
		} else {
			this.close(meta);
		}
	}

	/**
	 * Helper method to close the dialogRef.
	 */
	close(meta: CloseMeta &#x3D; { reason: CloseReasons.interaction }) {
		if (this.dialogRef) {
			this.dialogRef.instance.doClose(meta);
		}
	}

	/**
	 * Empty method for child classes to override and specify additional init steps.
	 * Run after DialogDirective completes it&#x27;s ngOnInit.
	 */
	protected onDialogInit() {}

	/**
	 * Empty method for child to override and specify additional on changes steps.
	 * run after DialogDirective completes it&#x27;s ngOnChanges.
	 */
	protected onDialogChanges(_changes: SimpleChanges) {}

	protected updateConfig() {}
}
</code></pre>
    </div>

</div>














                   </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 = 'directive';
            var COMPODOC_CURRENT_PAGE_URL = 'DialogDirective.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>