UNPKG

carbon-components-angular

Version:
977 lines (869 loc) 56.1 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" > SideNav</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/ui-shell/sidenav/sidenav.component.ts</code> </p> <p class="comment"> <h3>Description</h3> </p> <p class="comment"> <p><code>Sidenav</code> is a fixed left navigation that may contain <code>SideNavItem</code>s or <code>SideNavMenu</code>s</p> <p><a href="../../?path=/story/components-ui-shell--side-navigation">See demo</a></p> </p> <section data-compodoc="block-metadata"> <h3>Metadata</h3> <table class="table table-sm table-hover metadata"> <tbody> <tr> <td class="col-md-3">encapsulation</td> <td class="col-md-9"><code>ViewEncapsulation.None</code></td> </tr> <tr> <td class="col-md-3">selector</td> <td class="col-md-9"><code>cds-sidenav, ibm-sidenav</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;nav class&#x3D;&quot;cds--side-nav__items&quot; [attr.aria-label]&#x3D;&quot;ariaLabel&quot;&gt; &lt;ng-content select&#x3D;&quot;cds-sidenav-header,ibm-sidenav-header&quot;&gt;&lt;/ng-content&gt; &lt;div role&#x3D;&quot;list&quot;&gt; &lt;div class&#x3D;&quot;cds--side-nav__header-navigation cds--side-nav__header-divider&quot;&gt; &lt;ng-container *ngFor&#x3D;&quot;let navigationItem of navigationItems&quot;&gt; &lt;cds-sidenav-item *ngIf&#x3D;&quot;navigationItem.type &#x3D;&#x3D;&#x3D; &#x27;item&#x27;&quot; [href]&#x3D;&quot;navigationItem.href&quot; [route]&#x3D;&quot;navigationItem.route&quot; [routeExtras]&#x3D;&quot;navigationItem.routeExtras&quot; [useRouter]&#x3D;&quot;useRouter&quot; [title]&#x3D;&quot;navigationItem.title&quot;&gt; {{ navigationItem.content }} &lt;/cds-sidenav-item&gt; &lt;cds-sidenav-menu *ngIf&#x3D;&quot;navigationItem.type &#x3D;&#x3D;&#x3D; &#x27;menu&#x27;&quot; [title]&#x3D;&quot;navigationItem.title&quot; [useRouter]&#x3D;&quot;useRouter&quot; [menuItems]&#x3D;&quot;navigationItem.menuItems&quot;&gt; &lt;/cds-sidenav-menu&gt; &lt;/ng-container&gt; &lt;/div&gt; &lt;ng-content&gt;&lt;/ng-content&gt; &lt;/div&gt; &lt;footer class&#x3D;&quot;cds--side-nav__footer&quot;&gt; &lt;button *ngIf&#x3D;&quot;allowExpansion&quot; class&#x3D;&quot;cds--side-nav__toggle&quot; type&#x3D;&quot;button&quot; [title]&#x3D;&quot;(expanded ? i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_CLOSE&#x27;) : i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_OPEN&#x27;)) | async&quot; (click)&#x3D;&quot;toggle()&quot;&gt; &lt;div class&#x3D;&quot;cds--side-nav__icon&quot;&gt; &lt;svg *ngIf&#x3D;&quot;expanded&quot; focusable&#x3D;&quot;false&quot; preserveAspectRatio&#x3D;&quot;xMidYMid meet&quot; style&#x3D;&quot;will-change: transform;&quot; xmlns&#x3D;&quot;http://www.w3.org/2000/svg&quot; width&#x3D;&quot;20&quot; height&#x3D;&quot;20&quot; viewBox&#x3D;&quot;0 0 32 32&quot; aria-hidden&#x3D;&quot;true&quot;&gt; &lt;path d&#x3D;&quot;M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z&quot;&gt;&lt;/path&gt; &lt;/svg&gt; &lt;svg *ngIf&#x3D;&quot;!expanded&quot; focusable&#x3D;&quot;false&quot; preserveAspectRatio&#x3D;&quot;xMidYMid meet&quot; style&#x3D;&quot;will-change: transform;&quot; xmlns&#x3D;&quot;http://www.w3.org/2000/svg&quot; width&#x3D;&quot;20&quot; height&#x3D;&quot;20&quot; viewBox&#x3D;&quot;0 0 32 32&quot; aria-hidden&#x3D;&quot;true&quot;&gt; &lt;path d&#x3D;&quot;M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z&quot;&gt;&lt;/path&gt; &lt;/svg&gt; &lt;/div&gt; &lt;span class&#x3D;&quot;cds--assistive-text&quot;&gt; {{(expanded ? i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_CLOSE&#x27;) : i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_OPEN&#x27;)) | async}} &lt;/span&gt; &lt;/button&gt; &lt;/footer&gt; &lt;/nav&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="#hostClass" >hostClass</a> </li> <li> <span class="modifier">Public</span> <a href="#i18n" >i18n</a> </li> <li> <span class="modifier"></span> <a href="#ux" >ux</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="#toggle" >toggle</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="#allowExpansion" >allowExpansion</a> </li> <li> <a href="#ariaLabel" >ariaLabel</a> </li> <li> <a href="#expanded" >expanded</a> </li> <li> <a href="#hidden" >hidden</a> </li> <li> <a href="#navigationItems" >navigationItems</a> </li> <li> <a href="#rail" >rail</a> </li> <li> <a href="#useRouter" >useRouter</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="#class.cds--side-nav" >class.cds--side-nav</a> </li> <li> <a href="#class.cds--side-nav__navigation" >class.cds--side-nav__navigation</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(i18n: <a href="../injectables/I18n.html" target="_self">I18n</a>)</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="109" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:109</a></div> </td> </tr> <tr> <td class="col-md-4"> <div> <b>Parameters :</b> <table class="params"> <thead> <tr> <td>Name</td> <td>Type</td> <td>Optional</td> </tr> </thead> <tbody> <tr> <td>i18n</td> <td> <code><a href="../injectables/I18n.html" target="_self" >I18n</a></code> </td> <td> No </td> </tr> </tbody> </table> </div> </td> </tr> </tbody> </table> </section> <section data-compodoc="block-inputs"> <h3 id="inputs">Inputs</h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="allowExpansion"></a> <b>allowExpansion</b> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>false</code> </td> </tr> <tr> <td class="col-md-2" colspan="2"> <div class="io-line">Defined in <a href="" data-line="97" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:97</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="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;Side navigation&quot;</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/ui-shell/sidenav/sidenav.component.ts:86</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="expanded"></a> <b>expanded</b> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>true</code> </td> </tr> <tr> <td class="col-md-2" colspan="2"> <div class="io-line">Defined in <a href="" data-line="90" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:90</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Controls the expanded (<code>true</code>) or collapsed (<code>false</code>) state when on a small screen.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="hidden"></a> <b>hidden</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="94" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:94</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Controls the hidden (<code>true</code>) or visible (<code>false</code>) state</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="navigationItems"></a> <b>navigationItems</b> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="../interfaces/NavigationItem.html" target="_self" >NavigationItem[]</a></code> </td> </tr> <tr> <td class="col-md-2" colspan="2"> <div class="io-line">Defined in <a href="" data-line="104" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:104</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>NavigationItems from the header navigation component which are displayed on the sidenav when the window innerWidth is small enough. Sidenav items and menus are created using the model used to create header navigation items.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="rail"></a> <b>rail</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="95" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:95</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="useRouter"></a> <b>useRouter</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="109" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:109</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Use the routerLink attribute on <a> tag for navigation instead of using event handlers</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="class.cds--side-nav"></a> <span class="name"> <span ><b>class.cds--side-nav</b></span> <a href="#class.cds--side-nav"><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="85" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:85</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="class.cds--side-nav__navigation"></a> <span class="name"> <span ><b>class.cds--side-nav__navigation</b></span> <a href="#class.cds--side-nav__navigation"><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="96" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:96</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="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()</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="113" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:113</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="hostClass"></a> <span class="name"> <span class="modifier"></span> <span ><b>hostClass</b></span> <a href="#hostClass"><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;class.cds--side-nav&#x27;)<br /> </code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="85" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:85</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="i18n"></a> <span class="name"> <span class="modifier">Public</span> <span ><b>i18n</b></span> <a href="#i18n"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="../injectables/I18n.html" target="_self" >I18n</a></code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="111" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:111</a></div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="ux"></a> <span class="name"> <span class="modifier"></span> <span ><b>ux</b></span> <a href="#ux"><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;class.cds--side-nav__navigation&#x27;)<br /> </code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="96" class="link-to-prism">src/ui-shell/sidenav/sidenav.component.ts:96</a></div> </td> </tr> </tbody> </table> </section> </div> <div class="tab-pane fade tab-source-code" id="source"> <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Component, HostBinding, Input, ViewEncapsulation } from &quot;@angular/core&quot;; import { I18n } from &quot;carbon-components-angular/i18n&quot;; import { NavigationItem } from &quot;../header/header-navigation-items.interface&quot;; /** * &#x60;Sidenav&#x60; is a fixed left navigation that may contain &#x60;SideNavItem&#x60;s or &#x60;SideNavMenu&#x60;s * * [See demo](../../?path&#x3D;/story/components-ui-shell--side-navigation) */ @Component({ selector: &quot;cds-sidenav, ibm-sidenav&quot;, template: &#x60; &lt;nav class&#x3D;&quot;cds--side-nav__items&quot; [attr.aria-label]&#x3D;&quot;ariaLabel&quot;&gt; &lt;ng-content select&#x3D;&quot;cds-sidenav-header,ibm-sidenav-header&quot;&gt;&lt;/ng-content&gt; &lt;div role&#x3D;&quot;list&quot;&gt; &lt;div class&#x3D;&quot;cds--side-nav__header-navigation cds--side-nav__header-divider&quot;&gt; &lt;ng-container *ngFor&#x3D;&quot;let navigationItem of navigationItems&quot;&gt; &lt;cds-sidenav-item *ngIf&#x3D;&quot;navigationItem.type &#x3D;&#x3D;&#x3D; &#x27;item&#x27;&quot; [href]&#x3D;&quot;navigationItem.href&quot; [route]&#x3D;&quot;navigationItem.route&quot; [routeExtras]&#x3D;&quot;navigationItem.routeExtras&quot; [useRouter]&#x3D;&quot;useRouter&quot; [title]&#x3D;&quot;navigationItem.title&quot;&gt; {{ navigationItem.content }} &lt;/cds-sidenav-item&gt; &lt;cds-sidenav-menu *ngIf&#x3D;&quot;navigationItem.type &#x3D;&#x3D;&#x3D; &#x27;menu&#x27;&quot; [title]&#x3D;&quot;navigationItem.title&quot; [useRouter]&#x3D;&quot;useRouter&quot; [menuItems]&#x3D;&quot;navigationItem.menuItems&quot;&gt; &lt;/cds-sidenav-menu&gt; &lt;/ng-container&gt; &lt;/div&gt; &lt;ng-content&gt;&lt;/ng-content&gt; &lt;/div&gt; &lt;footer class&#x3D;&quot;cds--side-nav__footer&quot;&gt; &lt;button *ngIf&#x3D;&quot;allowExpansion&quot; class&#x3D;&quot;cds--side-nav__toggle&quot; type&#x3D;&quot;button&quot; [title]&#x3D;&quot;(expanded ? i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_CLOSE&#x27;) : i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_OPEN&#x27;)) | async&quot; (click)&#x3D;&quot;toggle()&quot;&gt; &lt;div class&#x3D;&quot;cds--side-nav__icon&quot;&gt; &lt;svg *ngIf&#x3D;&quot;expanded&quot; focusable&#x3D;&quot;false&quot; preserveAspectRatio&#x3D;&quot;xMidYMid meet&quot; style&#x3D;&quot;will-change: transform;&quot; xmlns&#x3D;&quot;http://www.w3.org/2000/svg&quot; width&#x3D;&quot;20&quot; height&#x3D;&quot;20&quot; viewBox&#x3D;&quot;0 0 32 32&quot; aria-hidden&#x3D;&quot;true&quot;&gt; &lt;path d&#x3D;&quot;M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z&quot;&gt;&lt;/path&gt; &lt;/svg&gt; &lt;svg *ngIf&#x3D;&quot;!expanded&quot; focusable&#x3D;&quot;false&quot; preserveAspectRatio&#x3D;&quot;xMidYMid meet&quot; style&#x3D;&quot;will-change: transform;&quot; xmlns&#x3D;&quot;http://www.w3.org/2000/svg&quot; width&#x3D;&quot;20&quot; height&#x3D;&quot;20&quot; viewBox&#x3D;&quot;0 0 32 32&quot; aria-hidden&#x3D;&quot;true&quot;&gt; &lt;path d&#x3D;&quot;M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z&quot;&gt;&lt;/path&gt; &lt;/svg&gt; &lt;/div&gt; &lt;span class&#x3D;&quot;cds--assistive-text&quot;&gt; {{(expanded ? i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_CLOSE&#x27;) : i18n.get(&#x27;UI_SHELL.SIDE_NAV.TOGGLE_OPEN&#x27;)) | async}} &lt;/span&gt; &lt;/button&gt; &lt;/footer&gt; &lt;/nav&gt; &#x60;, encapsulation: ViewEncapsulation.None }) export class SideNav { @HostBinding(&quot;class.cds--side-nav&quot;) hostClass &#x3D; true; @Input() ariaLabel &#x3D; &quot;Side navigation&quot;; /** * Controls the expanded (&#x60;true&#x60;) or collapsed (&#x60;false&#x60;) state when on a small screen. */ @HostBinding(&quot;class.cds--side-nav--expanded&quot;) @Input() expanded &#x3D; true; /** * Controls the hidden (&#x60;true&#x60;) or visible (&#x60;false&#x60;) state */ @HostBinding(&quot;class.cds--side-nav--hidden&quot;) @Input() hidden &#x3D; false; @HostBinding(&quot;class.cds--side-nav--rail&quot;) @Input() rail &#x3D; false; @HostBinding(&quot;class.cds--side-nav__navigation&quot;) ux &#x3D; true; @Input() allowExpansion &#x3D; false; /** * NavigationItems from the header navigation component which are displayed on the sidenav when the window * innerWidth is small enough. Sidenav items and menus are created using the model used to create header * navigation items. */ @Input() navigationItems: NavigationItem[]; /** * Use the routerLink attribute on &lt;a&gt; tag for navigation instead of using event handlers */ @Input() useRouter &#x3D; false; constructor(public i18n: I18n) { } toggle() { this.expanded &#x3D; !this.expanded; } } </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><nav class="cds--side-nav__items" [attr.aria-label]="ariaLabel"> <ng-content select="cds-sidenav-header,ibm-sidenav-header"></ng-content> <div role="list"> <div class="cds--side-nav__header-navigation cds--side-nav__header-divider"> <ng-container *ngFor="let navigationItem of navigationItems"> <cds-sidenav-item *ngIf="navigationItem.type === \'item\'" [href]="navigationItem.href" [route]="navigationItem.route" [routeExtras]="navigationItem.routeExtras" [useRouter]="useRouter" [title]="navigationItem.title"> {{ navigationItem.content }} </cds-sidenav-item> <cds-sidenav-menu *ngIf="navigationItem.type === \'menu\'" [title]="navigationItem.title" [useRouter]="useRouter" [menuItems]="navigationItem.menuItems"> </cds-sidenav-menu> </ng-container> </div> <ng-content></ng-content> </div> <footer class="cds--side-nav__footer"> <button *ngIf="allowExpansion" class="cds--side-nav__toggle" type="button" [title]="(expanded ? i18n.get(\'UI_SHELL.SIDE_NAV.TOGGLE_CLOSE\') : i18n.get(\'UI_SHELL.SIDE_NAV.TOGGLE_OPEN\')) | async" (click)="toggle()"> <div class="cds--side-nav__icon"> <svg *ngIf="expanded" focusable="false" preserveAspectRatio="xMidYMid meet" style="will-change: transform;" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 32 32" aria-hidden="true"> <path d="M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4l6.6 6.6L8 22.6 9.4 24l6.6-6.6 6.6 6.6 1.4-1.4-6.6-6.6L24 9.4z"></path> </svg> <svg *ngIf="!expanded" focusable="false" preserveAspectRatio="xMidYMid meet" style="will-change: transform;" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 32 32" aria-hidden="true"> <path d="M22 16L12 26l-1.4-1.4 8.6-8.6-8.6-8.6L12 6z"></path> </svg> </div> <span class="cds--assistive-text"> {{(expanded ? i18n.get(\'UI_SHELL.SIDE_NAV.TOGGLE_CLOSE\') : i18n.get(\'UI_SHELL.SIDE_NAV.TOGGLE_OPEN\')) | async}} </span> </button> </footer></nav> </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