{"remainingRequest":"/Users/jaslan/Development/nifi-fds/node_modules/html-loader/index.js!/Users/jaslan/Development/nifi-fds/webapp/components/flow-design-system/fds-demo.html","dependencies":[{"path":"/Users/jaslan/Development/nifi-fds/webapp/components/flow-design-system/fds-demo.html","mtime":1563293960490},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/jaslan/Development/nifi-fds/node_modules/html-loader/index.js","mtime":1516207864000}],"contextDependencies":[],"result":["module.exports = \"<!--\\nLicensed to the Apache Software Foundation (ASF) under one or more\\ncontributor license agreements.  See the NOTICE file distributed with\\nthis work for additional information regarding copyright ownership.\\nThe ASF licenses this file to You under the Apache License, Version 2.0\\n(the \\\"License\\\"); you may not use this file except in compliance with\\nthe License.  You may obtain a copy of the License at\\n\\nhttp://www.apache.org/licenses/LICENSE-2.0\\n\\nUnless required by applicable law or agreed to in writing, software\\ndistributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\nSee the License for the specific language governing permissions and\\nlimitations under the License.\\n-->\\n\\n<mat-sidenav-container>\\n    <mat-sidenav #sidenav mode=\\\"over\\\" position=\\\"end\\\" opened=\\\"false\\\">\\n        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between center\\\">\\n            <p>You can also open a dialog from a side nav.</p>\\n            <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"openDialog()\\\">Show simple dialog</button>\\n        </div>\\n    </mat-sidenav>\\n    <div id=\\\"fds-demo\\\">\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Apache NiFi Flow Design System</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content class=\\\"pad-top-sm\\\">\\n                <p>With the Apache NiFi Flow Design System module, we get an atomic, reusable component platform for Apache NiFi and its sub-projects to consume, while collaborating in an open source model. This module packages the <a class=\\\"link\\\" href=\\\"https://material.angular.io/components\\\" target=\\\"_blank\\\">Angular Material</a> module as well as the <a class=\\\"link\\\" href=\\\"https://teradata.github.io/covalent/#/components\\\" target=\\\"_blank\\\">Teradata Covalent</a> module. These modules have been themed to match the FDS color palette.</p>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Setup</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p>Import the FDS Core NgModule into your AppModule</p>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n        <![CDATA[\\n        var ngCore = require('@angular/core');\\n        var fdsCore = require('flow-design-system/core');\\n        // other imports\\n          ...\\n        new ngCore.NgModule({\\n            imports: [\\n                fdsCore,\\n                // (optional) Additional imports\\n              ],\\n              ...\\n        })\\n        ]]>\\n    </pre>\\n                <p>The core FDS styles also need to be included in your `index.html` like:</p>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n        <![CDATA[\\n        <link href=\\\"../node_modules/flow-design-system/core/common/styles/css/flow-design-system.css\\\" rel=\\\"stylesheet\\\">\\n        ]]>\\n    </pre>\\n                <p>Or, if you are using the Angular CLI you will need to add a new entry to the \\\"styles\\\" list in .angular-cli.json.</p>\\n                <p>JSON:</p>\\n                <pre lang=\\\"json\\\">\\n        <![CDATA[\\n        \\\"styles\\\": [\\n            \\\"../node_modules/flow-design-system/core/common/styles/flow-design-system.scss\\\"\\n        ]\\n        ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Typography</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p class=\\\"mat-body-1\\\">FDS provides typography CSS classes you can use to create visual consistency across your application. Optionally style tags with the classes shown below:</p>\\n                <div layout-align=\\\"center end\\\">\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-display-4</code>\\n                        <span class=\\\"mat-display-4\\\">Display 4</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-display-3</code>\\n                        <span class=\\\"mat-display-3\\\">Display 3</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-display-2</code>\\n                        <span class=\\\"mat-display-2\\\">Display 2</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-display-1</code>\\n                        <span class=\\\"mat-display-1\\\">Display 1</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-headline</code>\\n                        <span class=\\\"mat-headline\\\">Headline</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-title</code>\\n                        <span class=\\\"mat-title\\\">Title</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.md-subhead</code>\\n                        <span class=\\\"md-subhead\\\">Subhead</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.link</code>\\n                        <span class=\\\"link\\\">Link</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-body-1</code>\\n                        <span class=\\\"mat-body-1\\\">Body 1</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-body-2</code>\\n                        <span class=\\\"mat-body-2\\\">Body 2</span>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                        <code flex=\\\"15\\\">.mat-caption</code>\\n                        <span class=\\\"mat-caption\\\">Caption</span>\\n                    </div>\\n                </div>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n    <pre lang=\\\"html\\\">\\n    <![CDATA[\\n        <span class=\\\"mat-display-4\\\">Display 4</span>\\n        <span class=\\\"mat-display-3\\\">Display 3</span>\\n        <span class=\\\"mat-display-2\\\">Display 2</span>\\n        <span class=\\\"mat-display-1\\\">Display 1</span>\\n        <span class=\\\"mat-headline\\\">Headline</span>\\n        <span class=\\\"md-title\\\">Title</span>\\n        <span class=\\\"md-subhead\\\">Subhead</span>\\n        <span class=\\\"link\\\">Link</span>\\n        <span class=\\\"mat-body-1\\\">Body 1</span>\\n        <span class=\\\"mat-body-2\\\">Body 2</span>\\n        <span class=\\\"mat-caption\\\">Caption</span>\\n    ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Raised Buttons</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p>Tip: Use UPPERCASE text for 1-2 words, and Titlecase text for 3+ words.</p>\\n                <button mat-raised-button color=\\\"primary\\\">Primary</button>\\n                <button mat-raised-button color=\\\"accent\\\">Accent</button>\\n                <button mat-raised-button color=\\\"warn\\\">Warn</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\">FDS Primary</button>\\n                <button mat-raised-button color=\\\"fds-secondary\\\">FDS Secondary</button>\\n                <button mat-raised-button color=\\\"fds-regular\\\">FDS regular</button>\\n                <button mat-raised-button color=\\\"fds-warn\\\">FDS warn</button>\\n                <button mat-raised-button color=\\\"fds-critical\\\">FDS critical</button>\\n                <button mat-raised-button disabled color=\\\"primary\\\">Primary</button>\\n                <button mat-raised-button disabled color=\\\"accent\\\">Accent</button>\\n                <button mat-raised-button disabled color=\\\"warn\\\">Warn</button>\\n                <button mat-raised-button disabled color=\\\"fds-primary\\\">FDS primary</button>\\n                <button mat-raised-button disabled color=\\\"fds-secondary\\\">FDS Secondary</button>\\n                <button mat-raised-button disabled color=\\\"fds-regular\\\">FDS regular</button>\\n                <button mat-raised-button disabled color=\\\"fds-warn\\\">FDS warn</button>\\n                <button mat-raised-button disabled color=\\\"fds-critical\\\">FDS critical</button>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n    <![CDATA[\\n                    <!-- Themed Raised Buttons -->\\n        <button mat-raised-button color=\\\"primary\\\">Primary</button>\\n        <button mat-raised-button color=\\\"accent\\\">Secondary</button>\\n        <button mat-raised-button color=\\\"warn\\\">warn</button>\\n        <button mat-raised-button color=\\\"fds-primary\\\">FDS Primary</button>\\n        <button mat-raised-button color=\\\"fds-secondary\\\">FDS Secondary</button>\\n        <button mat-raised-button color=\\\"fds-regular\\\">FDS regular</button>\\n        <button mat-raised-button color=\\\"fds-warn\\\">FDS warn</button>\\n        <button mat-raised-button color=\\\"fds-critical\\\">FDS critical</button>\\n                    <!-- Disabled Raised Buttons -->\\n        <button mat-raised-button disabled color=\\\"primary\\\">Primary</button>\\n        <button mat-raised-button disabled color=\\\"accent\\\">Secondary</button>\\n        <button mat-raised-button disabled color=\\\"warn\\\">warn</button>\\n        <button mat-raised-button disabled color=\\\"fds-primary\\\">FDS primary</button>\\n        <button mat-raised-button disabled color=\\\"fds-secondary\\\">FDS Secondary</button>\\n        <button mat-raised-button disabled color=\\\"fds-regular\\\">FDS regular</button>\\n        <button mat-raised-button disabled color=\\\"fds-warn\\\">FDS warn</button>\\n        <button mat-raised-button disabled color=\\\"fds-critical\\\">FDS critical</button>\\n    ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Flat Buttons</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <mat-card-actions>\\n                    <button mat-button>Default</button>\\n                    <button mat-button color=\\\"primary\\\">Primary</button>\\n                    <button mat-button color=\\\"accent\\\">Secondary</button>\\n                    <button mat-button color=\\\"warn\\\">Warn</button>\\n                    <button mat-button disabled>Disabled Default</button>\\n                    <button mat-button disabled color=\\\"primary\\\">Disabled Primary</button>\\n                    <button mat-button disabled color=\\\"accent\\\">Disabled Secondary</button>\\n                    <button mat-button disabled color=\\\"warn\\\">Disabled Warn</button>\\n                </mat-card-actions>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n    <![CDATA[\\n                    <!-- Themed Flat Buttons -->\\n        <button mat-button>Default</button>\\n        <button mat-button color=\\\"primary\\\">Primary</button>\\n        <button mat-button color=\\\"accent\\\">Secondary</button>\\n        <button mat-button color=\\\"warn\\\">warn</button>\\n                    <!-- Disabled Flat Buttons -->\\n        <button mat-button disabled>disabled Default</button>\\n        <button mat-button disabled color=\\\"primary\\\">disabled primary</button>\\n        <button mat-button disabled color=\\\"accent\\\">disabled Secondary</button>\\n        <button mat-button disabled color=\\\"warn\\\">disabled warn</button>\\n    ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Fab Buttons</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <mat-card-actions class=\\\"pad-left-sm\\\">\\n                    <button mat-mini-fab color=\\\"primary\\\">P</button>\\n                    <button mat-mini-fab color=\\\"accent\\\">A</button>\\n                    <button mat-mini-fab color=\\\"warn\\\">W</button>\\n                    <button mat-mini-fab disabled color=\\\"primary\\\">P</button>\\n                    <button mat-mini-fab disabled color=\\\"accent\\\">A</button>\\n                    <button mat-mini-fab disabled color=\\\"warn\\\">W</button>\\n                </mat-card-actions>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n    <![CDATA[\\n                    <!-- Themed Fab Buttons -->\\n        <button mat-mini-fab color=\\\"primary\\\">P</button>\\n        <button mat-mini-fab color=\\\"accent\\\">A</button>\\n        <button mat-mini-fab color=\\\"warn\\\">W</button>\\n                    <!-- Disabled Fab Buttons -->\\n        <button mat-mini-fab disabled color=\\\"primary\\\">P</button>\\n        <button mat-mini-fab disabled color=\\\"accent\\\">A</button>\\n        <button mat-mini-fab disabled color=\\\"warn\\\">W</button>\\n    ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Button Toggles</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <mat-button-toggle-group name=\\\"alignment\\\">\\n                    <mat-button-toggle value=\\\"left\\\">\\n                        <mat-icon>format_align_left</mat-icon>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle value=\\\"center\\\">\\n                        <mat-icon>format_align_center</mat-icon>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle value=\\\"right\\\">\\n                        <mat-icon>format_align_right</mat-icon>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle value=\\\"justify\\\">\\n                        <mat-icon>format_align_justify</mat-icon>\\n                    </mat-button-toggle>\\n                </mat-button-toggle-group>\\n                <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n                <mat-button-toggle-group name=\\\"onOffToggle\\\" class=\\\"on-off-toggle-group\\\">\\n                    <mat-button-toggle value=\\\"on\\\" [checked]=\\\"true\\\">\\n                        ON\\n                    </mat-button-toggle>\\n                    <mat-button-toggle value=\\\"off\\\" class=\\\"off-toggle\\\">\\n                        OFF\\n                    </mat-button-toggle>\\n                </mat-button-toggle-group>\\n                <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n                <mat-button-toggle-group fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"expansion-panel-filter-toggle-group\\\" multiple>\\n                    <mat-button-toggle>\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">34</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Assets</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle>\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">300</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Extensions</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle>\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">5000</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Flows</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle>\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">0</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Certifications</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                </mat-button-toggle-group>\\n                <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n                <mat-button-toggle-group name=\\\"fds-administration-perspective\\\" fxLayout=\\\"row\\\" class=\\\"tab-toggle-group\\\">\\n                    <mat-button-toggle value=\\\"general\\\" class=\\\"uppercase\\\">\\n                        general\\n                    </mat-button-toggle>\\n                    <div fxLayout=\\\"row\\\" class=\\\"pad-left-md\\\"></div>\\n                    <mat-button-toggle value=\\\"users\\\" class=\\\"uppercase\\\">\\n                        Users\\n                    </mat-button-toggle>\\n                    <div fxLayout=\\\"row\\\" class=\\\"pad-left-md\\\"></div>\\n                    <mat-button-toggle value=\\\"workflow\\\" class=\\\"uppercase\\\">\\n                        Workflow\\n                    </mat-button-toggle>\\n                </mat-button-toggle-group>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n         <mat-button-toggle-group name=\\\"alignment\\\">\\n            <mat-button-toggle value=\\\"left\\\">\\n                <mat-icon>format_align_left</mat-icon>\\n            </mat-button-toggle>\\n            <mat-button-toggle value=\\\"center\\\">\\n                <mat-icon>format_align_center</mat-icon>\\n            </mat-button-toggle>\\n            <mat-button-toggle value=\\\"right\\\">\\n                <mat-icon>format_align_right</mat-icon>\\n            </mat-button-toggle>\\n            <mat-button-toggle value=\\\"justify\\\">\\n                <mat-icon>format_align_justify</mat-icon>\\n            </mat-button-toggle>\\n        </mat-button-toggle-group>\\n        <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n        <mat-button-toggle-group name=\\\"onOffToggle\\\" class=\\\"on-off-toggle-group\\\">\\n            <mat-button-toggle value=\\\"on\\\" [checked]=\\\"true\\\">\\n                ON\\n            </mat-button-toggle>\\n            <mat-button-toggle value=\\\"off\\\" class=\\\"off-toggle\\\">\\n                OFF\\n            </mat-button-toggle>\\n        </mat-button-toggle-group>\\n        <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n        <mat-button-toggle-group fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"expansion-panel-filter-toggle-group\\\" multiple>\\n            <mat-button-toggle>\\n                <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                    <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">34</div>\\n                    <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Assets</div>\\n                </div>\\n            </mat-button-toggle>\\n            <mat-button-toggle>\\n                <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                    <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">300</div>\\n                    <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Extensions</div>\\n                </div>\\n            </mat-button-toggle>\\n            <mat-button-toggle>\\n                <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                    <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">5000</div>\\n                    <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Flows</div>\\n                </div>\\n            </mat-button-toggle>\\n            <mat-button-toggle>\\n                <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                    <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">0</div>\\n                    <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Certifications</div>\\n                </div>\\n            </mat-button-toggle>\\n        </mat-button-toggle-group>\\n        <div fxLayout=\\\"row\\\" class=\\\"pad-top-md pad-bot-md\\\"></div>\\n        <mat-button-toggle-group name=\\\"fds-administration-perspective\\\" fxLayout=\\\"row\\\" class=\\\"tab-toggle-group\\\">\\n            <mat-button-toggle value=\\\"general\\\" class=\\\"uppercase\\\">\\n                general\\n            </mat-button-toggle>\\n            <div fxLayout=\\\"row\\\" class=\\\"pad-left-md\\\"></div>\\n            <mat-button-toggle value=\\\"users\\\" class=\\\"uppercase\\\">\\n                Users\\n            </mat-button-toggle>\\n            <div fxLayout=\\\"row\\\" class=\\\"pad-left-md\\\"></div>\\n            <mat-button-toggle value=\\\"workflow\\\" class=\\\"uppercase\\\">\\n                Workflow\\n            </mat-button-toggle>\\n        </mat-button-toggle-group>\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Input</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <form>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <input matInput placeholder=\\\"Company (disabled)\\\" disabled value=\\\"Google\\\">\\n                        </mat-form-field>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <input matInput disabled placeholder=\\\"First name\\\">\\n                        </mat-form-field>\\n                        <mat-form-field floatLabel=\\\"always\\\" flex>\\n                            <input matInput placeholder=\\\"Long Last Name That Will Be Truncated\\\">\\n                        </mat-form-field>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <div flex fxLayoutAlign=\\\"start center\\\">\\n                            <mat-form-field floatLabel=\\\"always\\\" flex>\\n                                <input matInput placeholder=\\\"Button Addon with dropdown\\\">\\n                            </mat-form-field>\\n                            <button class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"inputButtonDropdownAddonMenu\\\">\\n                                Select<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                            </button>\\n                            <mat-menu xPosition=\\\"before\\\" #inputButtonDropdownAddonMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                <button mat-menu-item> Refresh </button>\\n                                <button mat-menu-item> Settings </button>\\n                                <button mat-menu-item> Help </button>\\n                                <button mat-menu-item disabled> Sign Out </button>\\n                            </mat-menu>\\n                        </div>\\n                        <div flex fxLayoutAlign=\\\"start center\\\">\\n                            <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                                <input matInput placeholder=\\\"Button Addon\\\">\\n                            </mat-form-field>\\n                            <button class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                                Search\\n                            </button>\\n                        </div>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <div flex fxLayoutAlign=\\\"start center\\\">\\n                            <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                                <input disabled matInput placeholder=\\\"Button Addon with dropdown\\\">\\n                            </mat-form-field>\\n                            <button disabled class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                                Select<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                            </button>\\n                        </div>\\n                        <div flex fxLayoutAlign=\\\"start center\\\">\\n                            <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                                <input disabled matInput placeholder=\\\"Button Addon\\\">\\n                            </mat-form-field>\\n                            <button disabled class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                                Search\\n                            </button>\\n                        </div>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-form-field floatLabel=\\\"always\\\" flex>\\n                            <textarea matInput placeholder=\\\"Address\\\" value=\\\"1600 Amphitheatre Pkway\\\"></textarea>\\n                        </mat-form-field>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <textarea disabled value=\\\"Address 2 Value\\\" matInput placeholder=\\\"Address 2\\\"></textarea>\\n                        </mat-form-field>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <input matInput placeholder=\\\"City\\\">\\n                        </mat-form-field>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <input matInput placeholder=\\\"State\\\">\\n                        </mat-form-field>\\n                        <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                            <input matInput #postalCode maxlength=\\\"5\\\" placeholder=\\\"Postal Code\\\" value=\\\"94043\\\">\\n                            <mat-hint align=\\\"end\\\">{{postalCode.value.length}} / 5</mat-hint>\\n                        </mat-form-field>\\n                    </div>\\n                </form>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n    <![CDATA[\\n                    <!-- Inputs -->\\n        <form>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <input matInput placeholder=\\\"Company (disabled)\\\" disabled value=\\\"Google\\\">\\n                </mat-form-field>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <input matInput disabled placeholder=\\\"First name\\\">\\n                </mat-form-field>\\n                <mat-form-field floatLabel=\\\"always\\\" flex>\\n                    <input matInput placeholder=\\\"Long Last Name That Will Be Truncated\\\">\\n                </mat-form-field>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <div flex fxLayoutAlign=\\\"start center\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" flex>\\n                        <input matInput placeholder=\\\"Button Addon with dropdown\\\">\\n                    </mat-form-field>\\n                    <button class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"inputButtonDropdownAddonMenu\\\">\\n                        Select<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                    </button>\\n                    <mat-menu xPosition=\\\"before\\\" #inputButtonDropdownAddonMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                        <button mat-menu-item> Refresh </button>\\n                        <button mat-menu-item> Settings </button>\\n                        <button mat-menu-item> Help </button>\\n                        <button mat-menu-item disabled> Sign Out </button>\\n                    </mat-menu>\\n                </div>\\n                <div flex fxLayoutAlign=\\\"start center\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                        <input matInput placeholder=\\\"Button Addon\\\">\\n                    </mat-form-field>\\n                    <button class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                        Search\\n                    </button>\\n                </div>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <div flex fxLayoutAlign=\\\"start center\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                        <input disabled matInput placeholder=\\\"Button Addon with dropdown\\\">\\n                    </mat-form-field>\\n                    <button disabled class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                        Select<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                    </button>\\n                </div>\\n                <div flex fxLayoutAlign=\\\"start center\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                        <input disabled matInput placeholder=\\\"Button Addon\\\">\\n                    </mat-form-field>\\n                    <button disabled class=\\\"input-button\\\" color=\\\"fds-regular\\\" mat-raised-button>\\n                        Search\\n                    </button>\\n                </div>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-form-field floatLabel=\\\"always\\\" flex>\\n                    <textarea matInput placeholder=\\\"Address\\\" value=\\\"1600 Amphitheatre Pkway\\\"></textarea>\\n                </mat-form-field>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <textarea disabled value=\\\"Address 2 Value\\\" matInput placeholder=\\\"Address 2\\\"></textarea>\\n                </mat-form-field>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <input matInput placeholder=\\\"City\\\">\\n                </mat-form-field>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <input matInput placeholder=\\\"State\\\">\\n                </mat-form-field>\\n                <mat-form-field floatLabel=\\\"always\\\" floatPlaceholder=\\\"always\\\" flex>\\n                    <input matInput #postalCode maxlength=\\\"5\\\" placeholder=\\\"Postal Code\\\" value=\\\"94043\\\">\\n                    <mat-hint align=\\\"end\\\">{{postalCode.value.length}} / 5</mat-hint>\\n                </mat-form-field>\\n            </div>\\n        </form>\\n    ]]>\\n    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Tabs</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <mat-tab-group dynamicHeight>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>One</ng-template>\\n                        <h3 class=\\\"mat-title\\\">First tab content</h3>\\n                        <p>Plaid echo park knausgaard normcore franzen cronut. Pickled humblebrag tofu hoodie, umami salvia farm-to-table schlitz try-hard food truck knausgaard pabst. Yuccie portland jean shorts, authentic mixtape waistcoat gentrify blue bottle. Fixie kickstarter church-key small batch seitan, shabby chic vegan listicle before they sold out. Hammock raw denim flannel tousled seitan you probably haven't heard of them. Trust fund man bun pug, kickstarter artisan selvage letterpress cornhole tote bag butcher locavore. Affogato try-hard kickstarter seitan, DIY pickled hella godard pork belly four loko ugh.</p>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Two</ng-template>\\n                        <h3 class=\\\"mat-title\\\">Second tab content</h3>\\n                        <p>Hashtag distillery skateboard man bun gochujang, salvia man braid art party meggings heirloom kitsch farm-to-table. Franzen beard fingerstache gentrify, heirloom portland ennui XOXO microdosing kitsch plaid. Chicharrones bushwick chia, banh mi irony tattooed hammock butcher shabby chic taxidermy semiotics marfa post-ironic. Blue bottle keffiyeh farm-to-table ennui, chambray pitchfork art party pinterest artisan pop-up. Etsy banjo marfa, blue bottle kombucha crucifix XOXO tousled beard. Tilde disrupt kale chips bicycle rights skateboard master cleanse hella shoreditch, meditation retro shabby chic vice heirloom. Etsy listicle vice actually, iPhone chia hoodie four loko.</p>\\n                    </mat-tab>\\n                </mat-tab-group>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <mat-tab-group dynamicHeight>\\n          <mat-tab>\\n            <ng-template mat-tab-label>First tab content</ng-template>\\n            <h1>First content</h1>\\n            <p>...</p>\\n          </mat-tab>\\n          <mat-tab>\\n            <ng-template mat-tab-label>Second tab content</ng-template>\\n            <h1>Second tab content</h1>\\n            <p>...</p>\\n          </mat-tab>\\n        </mat-tab-group>\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Autocomplete</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <div class=\\\"pad-top-sm\\\" layout=\\\"row\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" flex=\\\"50\\\">\\n                        <input matInput placeholder=\\\"State\\\" [matAutocomplete]=\\\"tdAuto\\\" [(ngModel)]=\\\"currentState\\\" #modelDir=\\\"ngModel\\\" (ngModelChange)=\\\"this.tdStates = filterStates(currentState)\\\" [disabled]=\\\"tdDisabled\\\">\\n                    </mat-form-field>\\n                </div>\\n                <div class=\\\"push-top\\\">\\n                    <button mat-button (click)=\\\"modelDir.reset()\\\" class=\\\"text-upper\\\">Reset</button>\\n                    <button mat-button (click)=\\\"currentState='California'\\\" class=\\\"text-upper\\\">Set value</button>\\n                    <button mat-button (click)=\\\"tdDisabled=!tdDisabled\\\" class=\\\"text-upper\\\">Toggle disabled</button>\\n                </div>\\n                <mat-autocomplete #tdAuto=\\\"matAutocomplete\\\">\\n                    <mat-option *ngFor=\\\"let state of tdStates\\\" [value]=\\\"state.name\\\">\\n                        <span>{{ state.name }}</span>\\n                        <span class=\\\"demo-secondary-text\\\"> ({{state.code}}) </span>\\n                    </mat-option>\\n                </mat-autocomplete>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <div class=\\\"pad-top-sm\\\" layout=\\\"row\\\">\\n            <mat-form-field floatLabel=\\\"always\\\" flex=\\\"50\\\">\\n                <input matInput placeholder=\\\"State\\\" [matAutocomplete]=\\\"tdAuto\\\" [(ngModel)]=\\\"currentState\\\" #modelDir=\\\"ngModel\\\" (ngModelChange)=\\\"this.tdStates = filterStates(currentState)\\\" [disabled]=\\\"tdDisabled\\\">\\n            </mat-form-field>\\n        </div>\\n        <div class=\\\"push-top\\\">\\n            <button mat-button (click)=\\\"modelDir.reset()\\\" class=\\\"text-upper\\\">Reset</button>\\n            <button mat-button (click)=\\\"currentState='California'\\\" class=\\\"text-upper\\\">Set value</button>\\n            <button mat-button (click)=\\\"tdDisabled=!tdDisabled\\\" class=\\\"text-upper\\\">Toggle disabled</button>\\n        </div>\\n        <mat-autocomplete #tdAuto=\\\"matAutocomplete\\\">\\n            <mat-option *ngFor=\\\"let state of tdStates\\\" [value]=\\\"state.name\\\">\\n                <span>{ { state.name } }</span>\\n                <span class=\\\"demo-secondary-text\\\"> ({ {state.code} }) </span>\\n            </mat-option>\\n        </mat-autocomplete>\\n        ]]>\\n      </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n        this.currentState = '';\\n        this.reactiveStates = '';\\n        this.tdStates = [];\\n        this.tdDisabled = false;\\n        this.states = [\\n                    { code: 'AL', name: 'Alabama' },\\n                    { code: 'AK', name: 'Alaska' },\\n                    { code: 'AZ', name: 'Arizona' },\\n                    { code: 'AR', name: 'Arkansas' },\\n                    { code: 'CA', name: 'California' },\\n                    { code: 'CO', name: 'Colorado' },\\n                    { code: 'CT', name: 'Connecticut' },\\n                    { code: 'DE', name: 'Delaware' },\\n                    { code: 'FL', name: 'Florida' },\\n                    { code: 'GA', name: 'Georgia' },\\n                    { code: 'HI', name: 'Hawaii' },\\n                    { code: 'ID', name: 'Idaho' },\\n                    { code: 'IL', name: 'Illinois' },\\n                    { code: 'IN', name: 'Indiana' },\\n                    { code: 'IA', name: 'Iowa' },\\n                    { code: 'KS', name: 'Kansas' },\\n                    { code: 'KY', name: 'Kentucky' },\\n                    { code: 'LA', name: 'Louisiana' },\\n                    { code: 'ME', name: 'Maine' },\\n                    { code: 'MD', name: 'Maryland' },\\n                    { code: 'MA', name: 'Massachusetts' },\\n                    { code: 'MI', name: 'Michigan' },\\n                    { code: 'MN', name: 'Minnesota' },\\n                    { code: 'MS', name: 'Mississippi' },\\n                    { code: 'MO', name: 'Missouri' },\\n                    { code: 'MT', name: 'Montana' },\\n                    { code: 'NE', name: 'Nebraska' },\\n                    { code: 'NV', name: 'Nevada' },\\n                    { code: 'NH', name: 'New Hampshire' },\\n                    { code: 'NJ', name: 'New Jersey' },\\n                    { code: 'NM', name: 'New Mexico' },\\n                    { code: 'NY', name: 'New York' },\\n                    { code: 'NC', name: 'North Carolina' },\\n                    { code: 'ND', name: 'North Dakota' },\\n                    { code: 'OH', name: 'Ohio' },\\n                    { code: 'OK', name: 'Oklahoma' },\\n                    { code: 'OR', name: 'Oregon' },\\n                    { code: 'PA', name: 'Pennsylvania' },\\n                    { code: 'RI', name: 'Rhode Island' },\\n                    { code: 'SC', name: 'South Carolina' },\\n                    { code: 'SD', name: 'South Dakota' },\\n                    { code: 'TN', name: 'Tennessee' },\\n                    { code: 'TX', name: 'Texas' },\\n                    { code: 'UT', name: 'Utah' },\\n                    { code: 'VT', name: 'Vermont' },\\n                    { code: 'VA', name: 'Virginia' },\\n                    { code: 'WA', name: 'Washington' },\\n                    { code: 'WV', name: 'West Virginia' },\\n                    { code: 'WI', name: 'Wisconsin' },\\n                    { code: 'WY', name: 'Wyoming' },\\n        ];\\n\\n        ...\\n\\n        displayFn: function(value) {\\n                    return value && typeof value === 'object' ? value.name : value;\\n        },\\n\\n        filterStates: function(val) {\\n                    return val ? this.states.filter((s) => s.name.match(new RegExp(val, 'gi'))) : this.states;\\n        },\\n\\n        ...\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Filter</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Autocomplete with chips and no custom inputs</h3>\\n                <mat-divider></mat-divider>\\n                <mat-tab-group mat-stretch-tabs dynamicHeight>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Demo</ng-template>\\n                        <div class=\\\"push\\\">\\n                            <div class=\\\"mat-body-1\\\">Type and select a preset option:</div>\\n                            <td-chips [items]=\\\"items\\\" [(ngModel)]=\\\"itemsRequireMatch\\\" placeholder=\\\"Enter autocomplete strings\\\" [disabled]=\\\"readOnly\\\" requireMatch></td-chips>\\n                        </div>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Code</ng-template>\\n                        <mat-card-content>\\n                            <p>HTML:</p>\\n                            <pre lang=\\\"html\\\">\\n                            <![CDATA[\\n        <td-chips [items]=\\\"items\\\" [(ngModel)]=\\\"itemsRequireMatch\\\" placeholder=\\\"Enter autocomplete strings\\\" [disabled]=\\\"readOnly\\\" requireMatch></td-chips>\\n          ]]>\\n                        </pre>\\n                            <p>Javascript:</p>\\n                            <pre lang=\\\"javascript\\\">\\n                            <![CDATA[\\n        this.readOnly = false;\\n\\n        this.items = [\\n            'stepper',\\n            'expansion-panel',\\n            'markdown',\\n            'highlight',\\n            'loading',\\n            'media',\\n            'chips',\\n            'http',\\n            'json-formatter',\\n            'pipes',\\n            'need more?',\\n        ];\\n\\n        this.itemsRequireMatch = this.items.slice(0, 6);\\n\\n        ...\\n\\n        toggleReadOnly: function() {\\n                                this.readOnly = !this.readOnly;\\n        },\\n\\n        ...\\n          ]]>\\n                        </pre>\\n                        </mat-card-content>\\n                    </mat-tab>\\n                </mat-tab-group>\\n                <mat-divider></mat-divider>\\n                <mat-card-actions>\\n                    <button mat-button color=\\\"primary\\\" (click)=\\\"toggleReadOnly()\\\" class=\\\"text-upper\\\">Toggle ReadOnly</button>\\n                </mat-card-actions>\\n            </mat-card-content>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Autocomplete with custom inputs</h3>\\n                <mat-divider></mat-divider>\\n                <mat-tab-group mat-stretch-tabs dynamicHeight>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Demo</ng-template>\\n                        <div class=\\\"push\\\">\\n                            <div class=\\\"mat-body-1\\\">Type and select option or enter custom text and press enter:</div>\\n                            <td-chips [items]=\\\"items\\\" placeholder=\\\"Enter any string\\\"></td-chips>\\n                        </div>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Code</ng-template>\\n                        <mat-card-content>\\n                            <p>HTML:</p>\\n                            <pre lang=\\\"html\\\">\\n                            <![CDATA[\\n        <td-chips [items]=\\\"items\\\" placeholder=\\\"Enter any string\\\"></td-chips>\\n          ]]>\\n                        </pre>\\n                            <p>Javascript:</p>\\n                            <pre lang=\\\"javascript\\\">\\n                            <![CDATA[\\n        this.items = [\\n            'stepper',\\n            'expansion-panel',\\n            'markdown',\\n            'highlight',\\n            'loading',\\n            'media',\\n            'chips',\\n            'http',\\n            'json-formatter',\\n            'pipes',\\n            'need more?',\\n        ];\\n          ]]>\\n                        </pre>\\n                        </mat-card-content>\\n                    </mat-tab>\\n                </mat-tab-group>\\n            </mat-card-content>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Demo allowing custom inputs for tags</h3>\\n                <mat-divider></mat-divider>\\n                <mat-tab-group mat-stretch-tabs dynamicHeight>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Demo</ng-template>\\n                        <div class=\\\"push\\\">\\n                            <div class=\\\"mat-body-1\\\">Type any test and press enter:</div>\\n                            <td-chips placeholder=\\\"Enter any string\\\"></td-chips>\\n                        </div>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Code</ng-template>\\n                        <mat-card-content>\\n                            <p>HTML:</p>\\n                            <pre lang=\\\"html\\\">\\n                            <![CDATA[\\n        <td-chips placeholder=\\\"Enter any string\\\"></td-chips>\\n          ]]>\\n                        </pre>\\n                        </mat-card-content>\\n                    </mat-tab>\\n                </mat-tab-group>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Searchable/Filterable Expansion Panels</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <mat-tab-group mat-stretch-tabs>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Demo</ng-template>\\n                        <div class=\\\"pad-top-md pad-bottom-md pad-right-xxl pad-left-xxl\\\">\\n                            <div class=\\\"pad-top-md pad-bottom-sm\\\">\\n                                <mat-button-toggle-group fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"expansion-panel-filter-toggle-group\\\" multiple>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:asset')\\\" [checked]=\\\"isDropletFilterChecked('type:asset')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletTypeCount('asset')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Assets</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:extension')\\\" [checked]=\\\"isDropletFilterChecked('type:extension')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletTypeCount('extension')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Extensions</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:flow')\\\" [checked]=\\\"isDropletFilterChecked('type:flow')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletTypeCount('flow')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Flows</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('compliant.label:Compliant')\\\" [checked]=\\\"isDropletFilterChecked('compliant.label:Compliant')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletCertificationCount('compliant')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Compliant</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('fleet.label:Fleet')\\\" [checked]=\\\"isDropletFilterChecked('fleet.label:Fleet')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletCertificationCount('fleet')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Fleet</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('prod.label:Production Ready')\\\" [checked]=\\\"isDropletFilterChecked('prod.label:Production Ready')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletCertificationCount('prod')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Production Ready</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('secure.label:Secure')\\\" [checked]=\\\"isDropletFilterChecked('secure.label:Secure')\\\">\\n                                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{{getDropletCertificationCount('secure')}}</div>\\n                                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Secure</div>\\n                                        </div>\\n                                    </mat-button-toggle>\\n                                </mat-button-toggle-group>\\n                                <div id=\\\"fds-droplet-filter-clear-grouping-button-container\\\">\\n                                    <span *ngIf=\\\"dropletsSearchTerms.length > 0\\\" (click)=\\\"dropletsSearchTerms = [];filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\"><i class=\\\"fa fa-plus-circle fa-rotate-45\\\" aria-hidden=\\\"true\\\"></i><span class=\\\"pad-left-sm link\\\">Clear Grouping</span></span>\\n                                </div>\\n                            </div>\\n                            <div layout=\\\"row\\\" layout-align=\\\"space-between center\\\">\\n                                <div flex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                    <td-chips [(ngModel)]=\\\"dropletsSearchTerms\\\" [items]=\\\"autoCompleteDroplets\\\" (add)=\\\"filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\" (remove)=\\\"filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\" class=\\\"push-right-sm\\\"></td-chips>\\n                                    <span class=\\\"push-top-sm pad-right-sm\\\">Sort by:</span>\\n                                    <button class=\\\"push-top-sm\\\" color=\\\"fds-primary\\\" mat-raised-button [matMenuTriggerFor]=\\\"dropletGridSortMenu\\\">\\n                                        {{getSortBy()}}<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                                    </button>\\n                                </div>\\n                                <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #dropletGridSortMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                    <div *ngFor=\\\"let column of dropletColumns\\\">\\n                                        <button mat-menu-item *ngIf=\\\"column.sortable\\\" (click)=\\\"sortDroplets(column);\\\">{{column.label}} {{(column.sortOrder === 'ASC') ? 'DESC' : 'ASC'}}</button>\\n                                    </div>\\n                                </mat-menu>\\n                            </div>\\n                        </div>\\n                        <div class=\\\"pad-right-xxl pad-left-xxl\\\">\\n                            <div *ngFor=\\\"let droplet of filteredDroplets\\\">\\n                                <td-expansion-panel class=\\\"mat-elevation-z5\\\" label={{droplet.label}} sublabel={{droplet.sublabel}} [disabled]=\\\"disabled\\\">\\n                                    <ng-template td-expansion-panel-label>\\n                                        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                            <span class=\\\"mat-title capitalize\\\">{{droplet.displayName}}</span>\\n                                            <span class=\\\"md-subhead\\\">{{droplet.type}}</span>\\n                                        </div>\\n                                    </ng-template>\\n                                    <ng-template td-expansion-panel-sublabel>\\n                                        <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                                <span class=\\\"uppercase\\\">Versions</span> {{droplet.versions.length}}\\n                                            </div>\\n                                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                                <span class=\\\"uppercase\\\">Flows</span> {{droplet.flows.length}}\\n                                            </div>\\n                                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                                <span class=\\\"uppercase\\\">Extensions</span> {{droplet.extensions.length}}\\n                                            </div>\\n                                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                                <span class=\\\"uppercase\\\">Assests</span> {{droplet.assets.length}}\\n                                            </div>\\n                                        </div>\\n                                    </ng-template>\\n                                    <div class=\\\"mat-padding\\\">\\n                                        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between stretch\\\">\\n                                            <div class=\\\"pad-bottom-sm\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                                <button color=\\\"fds-primary\\\" [matMenuTriggerFor]=\\\"primaryButtonDropdownMenu\\\" mat-raised-button>\\n                                                    Actions<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                                                </button>\\n                                                <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #primaryButtonDropdownMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                                    <button mat-menu-item *ngFor=\\\"let action of droplet.actions\\\">\\n                                                        <span>{{action.name}}</span>\\n                                                    </button>\\n                                                </mat-menu>\\n                                            </div>\\n                                            <div fxLayout=\\\"row\\\">\\n                                                <div fxFlex=\\\"25\\\">\\n                                                    <span class=\\\"uppercase\\\">Description</span>\\n                                                    <p>Blah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah bla</p>\\n                                                </div>\\n                                                <div fxFlex=\\\"50\\\">\\n                                                    <mat-card fxFlex>\\n                                                        <mat-card-content class=\\\"pad-top-sm\\\">\\n                                                            <img src=\\\"{{droplet.img}}\\\">\\n                                                        </mat-card-content>\\n                                                    </mat-card>\\n                                                </div>\\n                                                <div fxFlex=\\\"25\\\">\\n                                                    <span class=\\\"uppercase\\\">Change Log</span>\\n                                                </div>\\n                                            </div>\\n                                        </div>\\n                                    </div>\\n                                </td-expansion-panel>\\n                                <div class=\\\"pad-bottom-sm\\\"></div>\\n                            </div>\\n                        </div>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Code</ng-template>\\n                        <p>HTML:</p>\\n                        <pre lang=\\\"html\\\">\\n                        <![CDATA[\\n        <div class=\\\"pad-top-md pad-bottom-md pad-right-xxl pad-left-xxl\\\">\\n            <div class=\\\"pad-top-md pad-bottom-sm\\\">\\n                <mat-button-toggle-group fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"expansion-panel-filter-toggle-group\\\" multiple>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:asset')\\\" [checked]=\\\"isDropletFilterChecked('type:asset')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletTypeCount('asset')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Assets</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:extension')\\\" [checked]=\\\"isDropletFilterChecked('type:extension')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletTypeCount('extension')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Extensions</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('type:flow')\\\" [checked]=\\\"isDropletFilterChecked('type:flow')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletTypeCount('flow')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Flows</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('compliant.label:Compliant')\\\" [checked]=\\\"isDropletFilterChecked('compliant.label:Compliant')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletCertificationCount('compliant')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Compliant</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('fleet.label:Fleet')\\\" [checked]=\\\"isDropletFilterChecked('fleet.label:Fleet')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletCertificationCount('fleet')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Fleet</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('prod.label:Production Ready')\\\" [checked]=\\\"isDropletFilterChecked('prod.label:Production Ready')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletCertificationCount('prod')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Production Ready</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                    <mat-button-toggle (change)=\\\"toggleDropletsFilter('secure.label:Secure')\\\" [checked]=\\\"isDropletFilterChecked('secure.label:Secure')\\\">\\n                        <div fxFlex fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-around stretch\\\">\\n                            <div class=\\\"mat-display-1 pad-top-sm\\\" fxFlex=\\\"55\\\">{ {getDropletCertificationCount('secure')} }</div>\\n                            <div class=\\\"pad-top-sm\\\" fxFlex=\\\"45\\\">Secure</div>\\n                        </div>\\n                    </mat-button-toggle>\\n                </mat-button-toggle-group>\\n                <button *ngIf=\\\"activeDropletColumn\\\" mat-button color=\\\"primary\\\" (click)=\\\"dropletsSearchTerms = [];filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\">Clear Grouping</button>\\n            </div>\\n            <div layout=\\\"row\\\" layout-align=\\\"space-between center\\\">\\n                <div flex fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                    <td-chips [(ngModel)]=\\\"dropletsSearchTerms\\\" [items]=\\\"autoCompleteDroplets\\\" (add)=\\\"filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\" (remove)=\\\"filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);\\\" class=\\\"push-right-sm\\\"></td-chips>\\n                    <span class=\\\"pad-right-sm\\\">Sort by:</span>\\n                    <button color=\\\"fds-primary\\\" mat-raised-button [matMenuTriggerFor]=\\\"dropletGridSortMenu\\\">\\n                        { {getSortBy()} }<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                    </button>\\n                </div>\\n                <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #dropletGridSortMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                    <div *ngFor=\\\"let column of dropletColumns\\\">\\n                        <button mat-menu-item *ngIf=\\\"column.sortable\\\" (click)=\\\"sortDroplets(column);\\\">{ {column.label} } { {(column.sortOrder === 'ASC') ? 'DESC' : 'ASC'} }</button>\\n                    </div>\\n                </mat-menu>\\n            </div>\\n        </div>\\n        <div class=\\\"pad-right-xxl pad-left-xxl\\\">\\n            <div *ngFor=\\\"let droplet of filteredDroplets\\\">\\n                <td-expansion-panel class=\\\"mat-elevation-z5\\\" label={ {droplet.label} } sublabel={ {droplet.sublabel} } [disabled]=\\\"disabled\\\">\\n                    <ng-template td-expansion-panel-label>\\n                        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                            <span class=\\\"mat-title capitalize\\\">{ {droplet.displayName} }</span>\\n                            <span class=\\\"md-subhead\\\">{ {droplet.type} }</span>\\n                        </div>\\n                    </ng-template>\\n                    <ng-template td-expansion-panel-sublabel>\\n                        <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\">\\n                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                <span class=\\\"uppercase\\\">Versions</span> { {droplet.versions.length} }\\n                            </div>\\n                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                <span class=\\\"uppercase\\\">Flows</span> { {droplet.flows.length} }\\n                            </div>\\n                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                <span class=\\\"uppercase\\\">Extensions</span> { {droplet.extensions.length} }\\n                            </div>\\n                            <div class=\\\"pad-right-xxl pad-left-xxl\\\" fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between start\\\">\\n                                <span class=\\\"uppercase\\\">Assests</span> { {droplet.assets.length} }\\n                            </div>\\n                        </div>\\n                    </ng-template>\\n                    <div class=\\\"mat-padding\\\">\\n                        <div fxLayout=\\\"column\\\" fxLayoutAlign=\\\"space-between stretch\\\">\\n                            <div class=\\\"pad-bottom-sm\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                <button color=\\\"fds-primary\\\" [matMenuTriggerFor]=\\\"primaryButtonDropdownMenu\\\" mat-raised-button>\\n                                    Actions<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                                </button>\\n                                <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #primaryButtonDropdownMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                    <button mat-menu-item *ngFor=\\\"let action of droplet.actions\\\">\\n                                        <span>{ {action.name} }</span>\\n                                    </button>\\n                                </mat-menu>\\n                            </div>\\n                            <div fxLayout=\\\"row\\\">\\n                                <div fxFlex=\\\"25\\\">\\n                                    <span class=\\\"uppercase\\\">Description</span>\\n                                    <p>Blah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah bla</p>\\n                                </div>\\n                                <div fxFlex=\\\"50\\\">\\n                                    <mat-card fxFlex>\\n                                        <mat-card-content class=\\\"pad-top-sm\\\">\\n                                            <img src=\\\"{ {droplet.img} }\\\">\\n                                        </mat-card-content>\\n                                    </mat-card>\\n                                </div>\\n                                <div fxFlex=\\\"25\\\">\\n                                    <span class=\\\"uppercase\\\">Change Log</span>\\n                                </div>\\n                            </div>\\n                        </div>\\n                    </div>\\n                </td-expansion-panel>\\n                <div class=\\\"pad-bottom-sm\\\"></div>\\n            </div>\\n        </div>\\n          ]]>\\n                    </pre>\\n                        <p>Javascript:</p>\\n                        <pre lang=\\\"javascript\\\">\\n                        <![CDATA[\\n        this.dataTableService = TdDataTableService;\\n\\n        this.droplets = [{\\n                            id: '23f6cc59-0156-1000-09b4-2b0610089090',\\n                            name: \\\"Decompression_Circular_Flow\\\",\\n                            displayName: 'Decompressed Circular flow',\\n                            type: 'flow',\\n                            sublabel: 'A sublabel',\\n                            compliant: {\\n                id: '25fd6vv87-3549-0001-05g6-4d4567890765',\\n                label: 'Compliant',\\n                type: 'certification'\\n            },\\n            fleet: {\\n                id: '23f6cc59-3549-0001-05g6-4d4567890765',\\n                label: 'Fleet',\\n                type: 'certification'\\n            },\\n            prod: {\\n                id: '52fd6vv87-3549-0001-05g6-4d4567890765',\\n                label: 'Production Ready',\\n                type: 'certification'\\n            },\\n            secure: {\\n                id: '32f6cc59-3549-0001-05g6-4d4567890765',\\n                label: 'Secure',\\n                type: 'certification'\\n            },\\n            versions: [{\\n                id: '23f6cc59-0156-1000-06b4-2b0810089090',\\n                revision: '1',\\n                dependentFlows: [{\\n                            id: '25fd6vv87-3549-0001-05g6-4d4567890765'\\n                }],\\n                created: date.setDate(date.getDate() - 1),\\n                updated: new Date()\\n            }, {\\n                id: '25fd6vv87-3549-0001-05g6-4d4567890765',\\n                revision: '2',\\n                dependentFlows: [{\\n                            id: '23f6cc59-0156-1000-06b4-2b0810089090'\\n                }],\\n                created: new Date(),\\n                updated: new Date()\\n            }],\\n            flows: [],\\n            extensions: [],\\n            assets: [],\\n            actions: [{\\n                'name': 'Delete',\\n                'icon': 'fa fa-close',\\n                'tooltip': 'Delete User'\\n            }, {\\n                'name': 'Manage',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage User'\\n            }, {\\n                'name': 'Action 3',\\n                'icon': 'fa fa-question',\\n                'tooltip': 'Whatever else we want to do...'\\n            }]\\n        }, {\\n                            id: '25fd6vv87-3249-0001-05g6-4d4767890765',\\n                            name: \\\"DateConversion\\\",\\n                            displayName: 'Date conversion',\\n                            type: 'asset',\\n                            sublabel: 'A sublabel',\\n                            compliant: {\\n                id: '25fd6vv34-3549-0001-05g6-4d4567890765',\\n                label: 'Compliant',\\n                type: 'certification'\\n            },\\n            prod: {\\n                id: '52vn6vv87-3549-0001-05g6-4d4567890765',\\n                label: 'Production Ready',\\n                type: 'certification'\\n            },\\n            versions: [{\\n                id: '23f6ic59-0156-1000-06b4-2b0810089090',\\n                revision: '1',\\n                dependentFlows: [{\\n                            id: '23f6cc19-0156-1000-06b4-2b0810089090'\\n                }],\\n                created: new Date(),\\n                updated: new Date()\\n            }],\\n            flows: [],\\n            extensions: [],\\n            assets: [],\\n            actions: [{\\n                'name': 'Delete',\\n                'icon': 'fa fa-close',\\n                'tooltip': 'Delete User'\\n            }]\\n        }, {\\n                            id: '52fd6vv87-3294-0001-05g6-4d4767890765',\\n                            name: \\\"nifi-email-bundle\\\",\\n                            displayName: 'nifi-email-bundle',\\n                            type: 'extension',\\n                            sublabel: 'A sublabel',\\n                            compliant: {\\n                id: '33fd6vv87-3549-0001-05g6-4d4567890765',\\n                label: 'Compliant',\\n                test: {\\n                            label: 'test'\\n                },\\n                type: 'certification'\\n            },\\n            versions: [{\\n                id: '23d3cc59-0156-1000-06b4-2b0810089090',\\n                revision: '1',\\n                dependentFlows: [{\\n                            id: '23f6cc89-0156-1000-06b4-2b0810089090'\\n                }],\\n                created: new Date(),\\n                updated: new Date()\\n            }],\\n            flows: [],\\n            extensions: [],\\n            assets: [],\\n            actions: [{\\n                'name': 'Delete',\\n                'icon': 'fa fa-close',\\n                'tooltip': 'Delete User'\\n            }, {\\n                'name': 'Manage',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage User'\\n            }, ]\\n        }];\\n\\n        this.filteredDroplets = [];\\n\\n        this.dropletColumns = [\\n                            { name: 'id', label: 'ID', sortable: true },\\n                            { name: 'name', label: 'Name', sortable: true },\\n                            { name: 'displayName', label: 'Display Name', sortable: true },\\n                            { name: 'sublabel', label: 'Label', sortable: true },\\n                            { name: 'type', label: 'Type', sortable: true }\\n        ];\\n\\n        this.autoCompleteDroplets = [];\\n        this.dropletsSearchTerms = [];\\n\\n        ...\\n\\n        isDropletFilterChecked: function(term) {\\n                            return (this.dropletsSearchTerms.indexOf(term) > -1);\\n        },\\n\\n        getDropletTypeCount: function(type) {\\n                            return this.filteredDroplets.filter(function(droplet) {\\n                return droplet.type === type;\\n            }).length;\\n        },\\n\\n        getDropletCertificationCount: function(certification) {\\n                            return this.filteredDroplets.filter(droplet => {\\n                return Object.keys(droplet).find((key) => {\\n                            if (key === certification && droplet[certification].type === 'certification') {\\n                        return droplet;\\n                    }\\n                });\\n            }).length;\\n        },\\n\\n        getSortBy: function() {\\n                            var sortByColumnLabel;\\n                            var arrayLength = this.dropletColumns.length;\\n                            for (var i = 0; i < arrayLength; i++) {\\n                if (this.dropletColumns[i].active === true) {\\n                            sortByColumnLabel = this.dropletColumns[i].label;\\n                            break;\\n                }\\n            }\\n            return sortByColumnLabel;\\n        },\\n\\n        sortDroplets: function(column) {\\n                            if (column.sortable === true) {\\n                // toggle column sort order\\n                var sortOrder = column.sortOrder = (column.sortOrder === 'ASC') ? 'DESC' : 'ASC';\\n                this.filterDroplets(column.name, sortOrder);\\n                //only one column can be actively sorted so we reset all to inactive\\n                this.dropletColumns.forEach(function (c) {\\n                            c.active = false;\\n                });\\n                //and set this column as the actively sorted column\\n                column.active = true;\\n                this.activeDropletColumn = column;\\n            }\\n        },\\n\\n        toggleDropletsFilter: function(searchTerm) {\\n                            var applySearchTerm = true;\\n                            // check if the search term is already applied and remove it if true\\n                            if (this.dropletsSearchTerms.length > 0) {\\n                var arrayLength = this.dropletsSearchTerms.length;\\n                for (var i = 0; i < arrayLength; i++) {\\n                            var index = this.dropletsSearchTerms.indexOf(searchTerm);\\n                            if (index > -1) {\\n                        this.dropletsSearchTerms.splice(index, 1);\\n                        applySearchTerm = false;\\n                    }\\n                }\\n            }\\n\\n            // if we just removed the search term do NOT apply it again\\n            if (applySearchTerm) {\\n                this.dropletsSearchTerms.push(searchTerm);\\n            }\\n\\n            this.filterDroplets(this.activeDropletColumn.name, this.activeDropletColumn.sortOrder);\\n        },\\n\\n        filterDroplets: function(sortBy, sortOrder) {\\n                            // if `sortBy` is `undefined` then find the first sortable column in this.dropletColumns\\n                            if (sortBy === undefined) {\\n                var arrayLength = this.dropletColumns.length;\\n                for (var i = 0; i < arrayLength; i++) {\\n                            if (this.dropletColumns[i].sortable === true) {\\n                        sortBy = this.dropletColumns[i].name;\\n                        this.activeDropletColumn = this.dropletColumns[i];\\n                        //only one column can be actively sorted so we reset all to inactive\\n                        this.dropletColumns.forEach(c => c.active = false);\\n                        //and set this column as the actively sorted column\\n                        this.dropletColumns[i].active = true;\\n                        break;\\n                    }\\n                }\\n            }\\n\\n            // if `sortOrder` is `undefined` then use 'ASC'\\n            if (sortOrder === undefined) {\\n                sortOrder = 'ASC'\\n            }\\n\\n            var newData = this.droplets;\\n\\n            for (var i = 0; i < this.dropletsSearchTerms.length; i++) {\\n                newData = this.filterData(newData, this.dropletsSearchTerms[i], true, this.activeDropletColumn.name);\\n            }\\n\\n            newData = this.dataTableService.sortData(newData, sortBy, sortOrder);\\n            this.filteredDroplets = newData;\\n            this.getAutoCompleteDroplets();\\n        },\\n\\n        getAutoCompleteDroplets: function() {\\n                            this.autoCompleteDroplets = [];\\n                            this.dropletColumns.forEach(c => this.filteredDroplets.forEach(r => (r[c.name.toLowerCase()]) ? this.autoCompleteDroplets.push(r[c.name.toLowerCase()].toString()) : ''));\\n        },\\n\\n        filterData: function(data, searchTerm, ignoreCase) {\\n                            var field = '';\\n                            if (searchTerm.indexOf(\\\":\\\") > -1) {\\n                field = searchTerm.split(':')[0].trim();\\n                searchTerm = searchTerm.split(':')[1].trim();\\n            }\\n            var filter = searchTerm ? (ignoreCase ? searchTerm.toLowerCase() : searchTerm) : '';\\n\\n            if (filter) {\\n                data = data.filter(item => {\\n                            var res = Object.keys(item).find((key) => {\\n                        if (field.indexOf(\\\".\\\") > -1) {\\n                            var objArray = field.split(\\\".\\\");\\n                            var obj = item;\\n                            var arrayLength = objArray.length;\\n                            for (var i = 0; i < arrayLength; i++) {\\n                                try {\\n                            obj = obj[objArray[i]];\\n                                } catch (e) {\\n                            return false;\\n                                }\\n                            }\\n                            var preItemValue = ('' + obj);\\n                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;\\n                            return itemValue.indexOf(filter) > -1;\\n                        } else {\\n                            if (key !== field && field !== '') {\\n                                return false;\\n                            }\\n                            var preItemValue = ('' + item[key]);\\n                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;\\n                            return itemValue.indexOf(filter) > -1;\\n                        }\\n                    });\\n                    return !(typeof res === 'undefined');\\n                });\\n            }\\n            return data;\\n        },\\n\\n        ...\\n          ]]>\\n                    </pre>\\n                    </mat-tab>\\n                </mat-tab-group>\\n            </mat-card-content>\\n            <mat-divider></mat-divider>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Table</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p>Example table with: Paging Bar / Filter / Sortable Columns / Multi-select with available Actions</p>\\n                <mat-tab-group mat-stretch-tabs>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Demo</ng-template>\\n                        <div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" class=\\\"pad-top-md pad-bottom-sm pad-left-md pad-right-md\\\">\\n                            <span class=\\\"table-title\\\">\\n                            <span>Table title</span>\\n                            </span>\\n                            <div flex class=\\\"push-right-sm\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                <td-chips [items]=\\\"autoCompleteData\\\" (add)=\\\"searchAdd($event)\\\" (remove)=\\\"searchRemove($event)\\\"></td-chips>\\n                                <button class=\\\"push-top-sm\\\" color=\\\"fds-primary\\\" mat-raised-button [matMenuTriggerFor]=\\\"dataTableActionMenu\\\">\\n                                    Actions<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                                </button>\\n                            </div>\\n                            <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #dataTableActionMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                <button mat-menu-item> Option 1 </button>\\n                                <button mat-menu-item> Option 2 </button>\\n                            </mat-menu>\\n                        </div>\\n                        <div class=\\\"pad-left-md pad-right-md\\\">\\n                            <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"td-data-table\\\">\\n                                <div class=\\\"td-data-table-column\\\" (click)=\\\"sort($event, column)\\\" [matTooltip]=\\\"column.tooltip\\\" *ngFor=\\\"let column of columns\\\" fxFlex=\\\"{{column.width}}\\\">\\n                                    <i *ngIf=\\\"column.active && column.sortable && column.sortOrder === 'ASC'\\\" class=\\\"fa fa-caret-up\\\" aria-hidden=\\\"true\\\"></i>\\n                                    <i *ngIf=\\\"column.active && column.sortable && column.sortOrder === 'DESC'\\\" class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                                    {{column.label}}\\n                                </div>\\n                                <div class=\\\"td-data-table-column\\\" fxFlex=10>\\n                                    <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                        <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"allRowsSelected\\\" (checked)=\\\"allRowsSelected\\\" (change)=\\\"toggleSelectAll()\\\"></mat-checkbox>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div>\\n                                <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"td-data-table-row\\\" [ngClass]=\\\"{'selected' : row.checked}\\\" *ngFor=\\\"let row of filteredData\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\">\\n                                    <div class=\\\"td-data-table-cell\\\" *ngFor=\\\"let column of columns\\\" fxFlex=\\\"{{column.width}}\\\">\\n                                        <div *ngIf=\\\"column.name !== 'comments' || row['comments']\\\">\\n                                            {{column.format ? column.format(row[column.name]) : row[column.name]}}\\n                                        </div>\\n                                    </div>\\n                                    <div class=\\\"td-data-table-cell\\\" fxFlex=10>\\n                                        <div *ngIf=\\\"row.actions\\\">\\n                                            <div *ngIf=\\\"row.actions.length <= 4\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                                <button (click)=\\\"row.checked = !row.checked\\\" *ngFor=\\\"let action of row.actions\\\" matTooltip=\\\"{{action.tooltip}}\\\" mat-icon-button color=\\\"accent\\\" [disabled]=\\\"action.disabled ? '' : null\\\">\\n                                                    <i class=\\\"{{action.icon}}\\\" aria-hidden=\\\"true\\\"></i>\\n                                                </button>\\n                                                <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                                            </div>\\n                                            <div *ngIf=\\\"row.actions.length > 4\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                                <button (click)=\\\"row.checked = !row.checked\\\" matTooltip=\\\"Actions\\\" mat-icon-button color=\\\"accent\\\" [matMenuTriggerFor]=\\\"tableActionMenu\\\">\\n                                                    <i class=\\\"fa fa-ellipsis-h\\\" aria-hidden=\\\"true\\\"></i>\\n                                                </button>\\n                                                <mat-menu #tableActionMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                                    <button *ngFor=\\\"let action of row.actions\\\" matTooltip=\\\"{{action.tooltip}}\\\" mat-menu-item [disabled]=\\\"action.disabled ? '' : null\\\">\\n                                                        <i class=\\\"{{action.icon}}\\\" aria-hidden=\\\"true\\\"></i>\\n                                                        <span>{{action.name}}</span>\\n                                                    </button>\\n                                                </mat-menu>\\n                                                <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                                            </div>\\n                                        </div>\\n                                        <div *ngIf=\\\"!row.actions\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                            <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                                        </div>\\n                                    </div>\\n                                </div>\\n                            </div>\\n                            <div class=\\\"mat-padding\\\" *ngIf=\\\"!filteredData.length > 0\\\" layout=\\\"row\\\" layout-align=\\\"center center\\\">\\n                                <h3>No results to display.</h3>\\n                            </div>\\n                            <td-paging-bar #pagingBar [initialPage]=\\\"1\\\" [pageSize]=\\\"pageSize\\\" [total]=\\\"pageCount\\\" (change)=\\\"page($event)\\\">\\n                                <span hide-xs>Row per page:</span> {{pagingBar.range}} <span hide-xs>of {{pagingBar.total}}</span>\\n                            </td-paging-bar>\\n                        </div>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Code</ng-template>\\n                        <p>HTML:</p>\\n                        <pre lang=\\\"html\\\">\\n                        <![CDATA[\\n        <div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" class=\\\"pad-top-md pad-bottom-sm pad-left-md pad-right-md\\\">\\n            <span class=\\\"table-title\\\">\\n            <span>Table title</span>\\n            </span>\\n            <div flex class=\\\"push-right-sm\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                <td-chips [items]=\\\"autoCompleteData\\\" (add)=\\\"searchAdd($event)\\\" (remove)=\\\"searchRemove($event)\\\"></td-chips>\\n                <button color=\\\"fds-primary\\\" mat-raised-button [matMenuTriggerFor]=\\\"dataTableActionMenu\\\">\\n                    Actions<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </button>\\n            </div>\\n            <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #dataTableActionMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                <button mat-menu-item> Option 1 </button>\\n                <button mat-menu-item> Option 2 </button>\\n            </mat-menu>\\n        </div>\\n        <div class=\\\"pad-left-md pad-right-md\\\">\\n            <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"td-data-table\\\">\\n                <div class=\\\"td-data-table-column\\\" (click)=\\\"sort($event, column)\\\" [matTooltip]=\\\"column.tooltip\\\" *ngFor=\\\"let column of columns\\\" fxFlex=\\\"{ { column.width } }\\\">\\n                    { { column.label } }\\n                    <i *ngIf=\\\"column.active && column.sortable && column.sortOrder === 'ASC'\\\" class=\\\"fa fa-caret-up\\\" aria-hidden=\\\"true\\\"></i>\\n                    <i *ngIf=\\\"column.active && column.sortable && column.sortOrder === 'DESC'\\\" class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </div>\\n                <div class=\\\"td-data-table-column\\\" fxFlex=10>\\n                    <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                        <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"allRowsSelected\\\" (checked)=\\\"allRowsSelected\\\" (change)=\\\"toggleSelectAll()\\\"></mat-checkbox>\\n                    </div>\\n                </div>\\n            </div>\\n            <div>\\n                <div fxLayout=\\\"row\\\" fxLayoutAlign=\\\"space-between center\\\" class=\\\"td-data-table-row\\\" [ngClass]=\\\"{'selected' : row.checked}\\\" *ngFor=\\\"let row of filteredData\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\">\\n                    <div class=\\\"td-data-table-cell\\\" *ngFor=\\\"let column of columns\\\" fxFlex=\\\"{ { column.width } }\\\">\\n                        <div *ngIf=\\\"column.name !== 'comments' || row['comments']\\\">\\n                            { { column.format ? column.format(row[column.name]) : row[column.name] } }\\n                        </div>\\n                    </div>\\n                    <div class=\\\"td-data-table-cell\\\" fxFlex=10>\\n                        <div *ngIf=\\\"row.actions\\\">\\n                            <div *ngIf=\\\"row.actions.length <= 4\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                <button (click)=\\\"row.checked = !row.checked\\\" *ngFor=\\\"let action of row.actions\\\" matTooltip=\\\"{ { action.tooltip } }\\\" mat-icon-button color=\\\"accent\\\" [disabled]=\\\"action.disabled ? '' : null\\\">\\n                                    <i class=\\\"{ { action.icon } }\\\" aria-hidden=\\\"true\\\"></i>\\n                                </button>\\n                                <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                            </div>\\n                            <div *ngIf=\\\"row.actions.length > 4\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                                <button (click)=\\\"row.checked = !row.checked\\\" matTooltip=\\\"Actions\\\" mat-icon-button color=\\\"accent\\\" [matMenuTriggerFor]=\\\"tableActionMenu\\\">\\n                                    <i class=\\\"fa fa-ellipsis-h\\\" aria-hidden=\\\"true\\\"></i>\\n                                </button>\\n                                <mat-menu #tableActionMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                                    <button *ngFor=\\\"let action of row.actions\\\" matTooltip=\\\"{ { action.tooltip } }\\\" mat-menu-item [disabled]=\\\"action.disabled ? '' : null\\\">\\n                                        <i class=\\\"{ { action.icon } }\\\" aria-hidden=\\\"true\\\"></i>\\n                                        <span>{ { action.name } }</span>\\n                                    </button>\\n                                </mat-menu>\\n                                <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                            </div>\\n                        </div>\\n                        <div *ngIf=\\\"!row.actions\\\" fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                            <mat-checkbox class=\\\"pad-left-sm\\\" [(ngModel)]=\\\"row.checked\\\" [checked]=\\\"row.checked\\\" (change)=\\\"toggleSelect(row)\\\" (click)=\\\"row.checked = !row.checked;toggleSelect(row)\\\"></mat-checkbox>\\n                        </div>\\n                    </div>\\n                </div>\\n            </div>\\n            <div class=\\\"mat-padding\\\" *ngIf=\\\"!filteredData.length > 0\\\" layout=\\\"row\\\" layout-align=\\\"center center\\\">\\n                <h3>No results to display.</h3>\\n            </div>\\n            <td-paging-bar #pagingBar [initialPage]=\\\"1\\\" [pageSize]=\\\"pageSize\\\" [total]=\\\"pageCount\\\" (change)=\\\"page($event)\\\">\\n                <span hide-xs>Row per page:</span> { { pagingBar.range } } <span hide-xs>of { { pagingBar.total } }</span>\\n            </td-paging-bar>\\n        </div>\\n          ]]>\\n                    </pre>\\n                        <p>Javascript:</p>\\n                        <pre lang=\\\"javascript\\\">\\n                        <![CDATA[\\n        this.dataTableService = TdDataTableService;\\n\\n        this.data = [{\\n                            'id': 1,\\n                            'name': 'Frozen yogurt',\\n                            'type': 'Ice cream',\\n                            'calories': 159.0,\\n                            'fat': 6.0,\\n                            'carbs': 24.0,\\n                            'protein': 4.0,\\n                            'sodium': 87.0,\\n                            'calcium': 14.0,\\n                            'iron': 1.0,\\n                            'comments': 'I love froyo!',\\n                            'actions': [{\\n                'name': 'Action 1',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage Users'\\n            }, {\\n                'name': 'Action 2',\\n                'icon': 'fa fa-key',\\n                'tooltip': 'Manage Permissions'\\n            }]\\n        }, {\\n                            'id': 2,\\n                            'name': 'Ice cream sandwich',\\n                            'type': 'Ice cream',\\n                            'calories': 237.0,\\n                            'fat': 9.0,\\n                            'carbs': 37.0,\\n                            'protein': 4.3,\\n                            'sodium': 129.0,\\n                            'calcium': 8.0,\\n                            'iron': 1.0,\\n                            'actions': [{\\n                'name': 'Action 1',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage Users'\\n            }, {\\n                'name': 'Action 2',\\n                'icon': 'fa fa-key',\\n                'tooltip': 'Manage Permissions'\\n            }, {\\n                'name': 'Action 3',\\n                'tooltip': 'Action 3'\\n            }, {\\n                'name': 'Action 4',\\n                'disabled': true,\\n                'tooltip': 'Action 4'\\n            }, {\\n                'name': 'Action 5',\\n                'tooltip': 'Action 5'\\n            }]\\n        }, {\\n                            'id': 3,\\n                            'name': 'Eclair',\\n                            'type': 'Pastry',\\n                            'calories': 262.0,\\n                            'fat': 16.0,\\n                            'carbs': 24.0,\\n                            'protein': 6.0,\\n                            'sodium': 337.0,\\n                            'calcium': 6.0,\\n                            'iron': 7.0,\\n                            'actions': [{\\n                'name': 'Action 1',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage Users'\\n            }, {\\n                'name': 'Action 2',\\n                'icon': 'fa fa-key',\\n                'tooltip': 'Manage Permissions'\\n            }, {\\n                'name': 'Action 3',\\n                'tooltip': 'Action 3'\\n            }, {\\n                'name': 'Action 4',\\n                'disabled': true,\\n                'tooltip': 'Action 4'\\n            }, {\\n                'name': 'Action 5',\\n                'tooltip': 'Action 5'\\n            }],\\n        }, {\\n                            'id': 4,\\n                            'name': 'Cupcake',\\n                            'type': 'Pastry',\\n                            'calories': 305.0,\\n                            'fat': 3.7,\\n                            'carbs': 67.0,\\n                            'protein': 4.3,\\n                            'sodium': 413.0,\\n                            'calcium': 3.0,\\n                            'iron': 8.0,\\n                            'actions': [{\\n                'name': 'Action 1',\\n                'icon': 'fa fa-user',\\n                'tooltip': 'Manage Users'\\n            }, {\\n                'name': 'Action 2',\\n                'icon': 'fa fa-key',\\n                'tooltip': 'Manage Permissions'\\n            }, {\\n                'name': 'Action 3',\\n                'tooltip': 'Action 3'\\n            }, {\\n                'name': 'Action 4',\\n                'disabled': true,\\n                'tooltip': 'Action 4'\\n            }, {\\n                'name': 'Action 5',\\n                'tooltip': 'Action 5'\\n            }],\\n        }, {\\n                            'id': 5,\\n                            'name': 'Jelly bean',\\n                            'type': 'Candy',\\n                            'calories': 375.0,\\n                            'fat': 0.0,\\n                            'carbs': 94.0,\\n                            'protein': 0.0,\\n                            'sodium': 50.0,\\n                            'calcium': 0.0,\\n                            'iron': 0.0,\\n        }, {\\n                            'id': 6,\\n                            'name': 'Lollipop',\\n                            'type': 'Candy',\\n                            'calories': 392.0,\\n                            'fat': 0.2,\\n                            'carbs': 98.0,\\n                            'protein': 0.0,\\n                            'sodium': 38.0,\\n                            'calcium': 0.0,\\n                            'iron': 2.0,\\n        }, {\\n                            'id': 7,\\n                            'name': 'Honeycomb',\\n                            'type': 'Other',\\n                            'calories': 408.0,\\n                            'fat': 3.2,\\n                            'carbs': 87.0,\\n                            'protein': 6.5,\\n                            'sodium': 562.0,\\n                            'calcium': 0.0,\\n                            'iron': 45.0,\\n        }, {\\n                            'id': 8,\\n                            'name': 'Donut',\\n                            'type': 'Pastry',\\n                            'calories': 452.0,\\n                            'fat': 25.0,\\n                            'carbs': 51.0,\\n                            'protein': 4.9,\\n                            'sodium': 326.0,\\n                            'calcium': 2.0,\\n                            'iron': 22.0,\\n        }, {\\n                            'id': 9,\\n                            'name': 'KitKat',\\n                            'type': 'Candy',\\n                            'calories': 518.0,\\n                            'fat': 26.0,\\n                            'carbs': 65.0,\\n                            'protein': 7.0,\\n                            'sodium': 54.0,\\n                            'calcium': 12.0,\\n                            'iron': 6.0,\\n        }, {\\n                            'id': 10,\\n                            'name': 'Chocolate',\\n                            'type': 'Candy',\\n                            'calories': 518.0,\\n                            'fat': 26.0,\\n                            'carbs': 65.0,\\n                            'protein': 7.0,\\n                            'sodium': 54.0,\\n                            'calcium': 12.0,\\n                            'iron': 6.0,\\n        }, {\\n                            'id': 11,\\n                            'name': 'Chamoy',\\n                            'type': 'Candy',\\n                            'calories': 518.0,\\n                            'fat': 26.0,\\n                            'carbs': 65.0,\\n                            'protein': 7.0,\\n                            'sodium': 54.0,\\n                            'calcium': 12.0,\\n                            'iron': 6.0,\\n        }, ];\\n\\n        this.filteredData = this.data;\\n        this.filteredTotal = this.data.length;\\n\\n        this.columns = [\\n                            { name: 'comments', label: 'Comments' },\\n                            { name: 'name', label: 'Dessert (100g serving)', sortable: true },\\n                            { name: 'type', label: 'Type', sortable: true },\\n                            { name: 'calories', label: 'Calories', numeric: true, format: NUMBER_FORMAT, sortable: true },\\n                            { name: 'fat', label: 'Fat (g)', numeric: true, format: DECIMAL_FORMAT, sortable: true },\\n                            { name: 'carbs', label: 'Carbs (g)', numeric: true, format: NUMBER_FORMAT, sortable: true },\\n                            { name: 'protein', label: 'Protein (g)', numeric: true, format: DECIMAL_FORMAT, sortable: true },\\n                            { name: 'sodium', label: 'Sodium (mg)', numeric: true, format: NUMBER_FORMAT, sortable: true },\\n                            { name: 'calcium', label: 'Calcium (%)', numeric: true, format: NUMBER_FORMAT, sortable: true },\\n                            { name: 'iron', label: 'Iron (%)', numeric: true, format: NUMBER_FORMAT },\\n        ];\\n\\n        this.allRowsSelected = false;\\n        this.autoCompleteData = [];\\n        this.selectedRows = [];\\n\\n        this.searchTerm = [];\\n        this.fromRow = 1;\\n        this.currentPage = 1;\\n        this.pageSize = 5;\\n\\n        ...\\n\\n        sort: function(sortEvent, column) {\\n                            if (column.sortable) {\\n                var sortBy = column.name;\\n                var sortOrder = column.sortOrder = (column.sortOrder === 'ASC') ? 'DESC' : 'ASC';\\n                this.filter(sortBy, sortOrder);\\n\\n                //only one column can be actively sorted so we reset all to inactive\\n                this.columns.forEach(c => c.active = false);\\n                //and set this column as the actively sorted column\\n                column.active = true;\\n            }\\n        },\\n\\n        searchRemove: function(searchTerm) {\\n                            //only remove the first occurrence of the search term\\n                            var index = this.searchTerm.indexOf(searchTerm);\\n                            if (index !== -1) {\\n                this.searchTerm.splice(index, 1);\\n            }\\n            this.filter();\\n        },\\n\\n        searchAdd: function(searchTerm) {\\n                            this.searchTerm.push(searchTerm);\\n                            this.filter();\\n        },\\n\\n        page: function(pagingEvent) {\\n                            this.fromRow = pagingEvent.fromRow;\\n                            this.currentPage = pagingEvent.page;\\n                            this.pageSize = pagingEvent.pageSize;\\n                            this.filter();\\n        },\\n\\n        filterData: function(data, searchTerm, ignoreCase) {\\n                            var field = '';\\n                            if (searchTerm.indexOf(\\\":\\\") > -1) {\\n                field = searchTerm.split(':')[0].trim();\\n                searchTerm = searchTerm.split(':')[1].trim();\\n            }\\n            var filter = searchTerm ? (ignoreCase ? searchTerm.toLowerCase() : searchTerm) : '';\\n\\n            if (filter) {\\n                data = data.filter(item => {\\n                            var res = Object.keys(item).find((key) => {\\n                        if (field.indexOf(\\\".\\\") > -1) {\\n                            var objArray = field.split(\\\".\\\");\\n                            var obj = item;\\n                            var arrayLength = objArray.length;\\n                            for (var i = 0; i < arrayLength; i++) {\\n                                try {\\n                            obj = obj[objArray[i]];\\n                                } catch (e) {\\n                            return false;\\n                                }\\n                            }\\n                            var preItemValue = ('' + obj);\\n                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;\\n                            return itemValue.indexOf(filter) > -1;\\n                        } else {\\n                            if (key !== field && field !== '') {\\n                                return false;\\n                            }\\n                            var preItemValue = ('' + item[key]);\\n                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;\\n                            return itemValue.indexOf(filter) > -1;\\n                        }\\n                    });\\n                    return !(typeof res === 'undefined');\\n                });\\n            }\\n            return data;\\n        },\\n\\n        filter: function(sortBy, sortOrder) {\\n                            if (this.allRowsSelected) {\\n                this.toggleSelectAll();\\n            }\\n            this.deselectAll();\\n            var newData = this.data;\\n\\n            if (this.searchTerm.length > 0) {\\n                for (var i = 0; i < this.searchTerm.length; i++) {\\n                            //account for column/field name specific search syntax\\n                            if (this.searchTerm[i].indexOf(\\\":\\\") > -1) {\\n                        newData = this.filterData(newData, this.searchTerm[i].split(':')[1].trim(), true, this.searchTerm[i].split(':')[0].trim());\\n                    } else { //otherwise search all cells\\n                        newData = this.filterData(newData, this.searchTerm[i], true);\\n                    }\\n                }\\n            } else {\\n                newData = this.dataTableService.filterData(newData, '', true);\\n            }\\n            this.filteredTotal = newData.length;\\n            newData = this.dataTableService.sortData(newData, sortBy, sortOrder);\\n            newData = this.dataTableService.pageData(newData, this.fromRow, this.currentPage * this.pageSize);\\n            this.filteredData = newData;\\n            this.getAutoCompleteData();\\n        },\\n\\n        toggleSelect: function(row) {\\n                            if (!row.checked) {\\n                                this.allRowsSelected = false;\\n                                } else {\\n                                if (this.allFilteredRowsSelected()) {\\n                                this.allRowsSelected = true;\\n                                } else {\\n                                this.allRowsSelected = false;\\n                                }\\n                                }\\n                                },\\n\\n                                toggleSelectAll: function() {\\n                                this.allRowsSelected = !this.allRowsSelected;\\n                                if (this.allRowsSelected) {\\n                                this.selectAll();\\n                                } else {\\n                                this.deselectAll();\\n                                }\\n                                },\\n\\n                                selectAll: function() {\\n                                this.filteredData.forEach(c => c.checked = true);\\n                                },\\n\\n                                deselectAll: function() {\\n                                this.filteredData.forEach(c => c.checked = false);\\n                                },\\n\\n                                allFilteredRowsSelected: function() {\\n                                var allFilteredRowsSelected = true;\\n                                this.filteredData.forEach(function(c) {\\n                                if (c.checked === undefined || c.checked === false) {\\n                                allFilteredRowsSelected = false;\\n                                }\\n                                });\\n\\n                                return allFilteredRowsSelected;\\n                                },\\n\\n                                areTooltipsOn: function() {\\n                                return this.columns[0].hasOwnProperty('tooltip');\\n                                },\\n\\n                                toggleTooltips: function() {\\n                                if (this.columns[0].tooltip) {\\n                                this.columns.forEach(c => delete c.tooltip);\\n                                } else {\\n                                this.columns.forEach(c => c.tooltip = `This is ${c.label}!`);\\n                                }\\n                                },\\n\\n                                openDataTablePrompt: function(row, name) {\\n                                this.dialogService.openPrompt({\\n                                message: 'Enter comment?',\\n                                value: row[name],\\n                            }).afterClosed().subscribe(value => {\\n                                if (value !== undefined) {\\n                                row[name] = value;\\n                                }\\n                                })\\n                                },\\n\\n                                getAutoCompleteData: function() {\\n                                this.autoCompleteData = [];\\n                                this.columns.forEach(c => this.filteredData.forEach(r => (r[c.name.toLowerCase()]) ? this.autoCompleteData.push(r[c.name.toLowerCase()].toString()):''));\\n                                },\\n\\n                                ...\\n                                ]]>\\n                                </pre>\\n                            </mat-tab>\\n                            </mat-tab-group>\\n                            </mat-card-content>\\n                            <mat-divider></mat-divider>\\n                            <mat-card-actions>\\n                            <button matTooltip=\\\"Column field name tooltips toggle.\\\" mat-button color=\\\"primary\\\" (click)=\\\"toggleTooltips()\\\" class=\\\"text-upper\\\">\\n                                Tooltips ({{areTooltipsOn() ? 'ON' : 'OFF'}})\\n                                </button>\\n                            </mat-card-actions>\\n                            </mat-card>\\n                            <mat-card>\\n                            <mat-card-title class=\\\"pad-bottom-sm\\\">Checkbox</mat-card-title>\\n                                <mat-divider></mat-divider>\\n                                <mat-card-content>\\n                                <h3 class=\\\"mat-title\\\">Basic Usage</h3>\\n                            <mat-divider></mat-divider>\\n                            <mat-list>\\n                            <mat-list-item *ngFor=\\\"let grocery of groceries\\\">\\n                            <mat-checkbox [checked]=\\\"grocery.bought\\\">\\n                                {{grocery.name}}\\n                                </mat-checkbox>\\n                            </mat-list-item>\\n                            </mat-list>\\n                            <h3 class=\\\"mat-title\\\">Usage</h3>\\n                                <p>HTML:</p>\\n                            <pre lang=\\\"html\\\">\\n                                <![CDATA[\\n                                <!-- Basic Usage -->\\n                                <mat-checkbox [checked]=\\\"grocery.bought\\\">\\n                                    { {grocery.name} }\\n                                </mat-checkbox>\\n                                ]]>\\n                                </pre>\\n                            <p>Javascript:</p>\\n                            <pre lang=\\\"javascript\\\">\\n                                <![CDATA[\\n                                    this.groceries = [{\\n                                        bought: true,\\n                                name: 'Seitan',\\n                                }, {\\n                            bought: false,\\n                                name: 'Almond Meal Flour',\\n                                }, {\\n                            bought: false,\\n                                name: 'Organic Eggs',\\n                                }, ];\\n                        ]]>\\n                    </pre>\\n                        <h3 class=\\\"mat-title\\\">Usage within Forms</h3>\\n                        <mat-divider></mat-divider>\\n                        <form>\\n                            <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                                <mat-checkbox flex=\\\"initial\\\" [(ngModel)]=\\\"user.agreesToTOS\\\" name=\\\"agreesToTOS\\\">\\n                                    I agree to the terms\\n                                </mat-checkbox>\\n                                <button mat-raised-button color=\\\"fds-secondary\\\" [disabled]=\\\"!user.agreesToTOS\\\" class=\\\"pad-right-sm\\\" class=\\\"text-upper\\\">Sign Up</button>\\n                            </div>\\n                            <mat-divider></mat-divider>\\n                            <div layout=\\\"row\\\" layout-align=\\\"start center\\\" class=\\\"pad-top-sm pad-bottom-sm\\\">\\n                                <mat-checkbox labelPosition=\\\"after\\\">\\n                                    I come after my label.\\n                                </mat-checkbox>\\n                            </div>\\n                            <mat-divider></mat-divider>\\n                            <div layout=\\\"row\\\" layout-align=\\\"start center\\\" class=\\\"pad-top-sm pad-bottom-sm\\\">\\n                                <mat-checkbox labelPosition=\\\"before\\\">\\n                                    I come before my label\\n                                </mat-checkbox>\\n                            </div>\\n                            <mat-divider></mat-divider>\\n                        </form>\\n                        <h3 class=\\\"mat-title\\\">Usage</h3>\\n                        <p>HTML:</p>\\n                        <pre lang=\\\"html\\\">\\n        <![CDATA[\\n                            <!-- Usage within Forms -->\\n        <form>\\n            <div layout=\\\"row\\\" layout-align=\\\"start center\\\">\\n                <mat-checkbox flex=\\\"initial\\\" [(ngModel)]=\\\"user.agreesToTOS\\\" name=\\\"agreesToTOS\\\">\\n                    I agree to the terms\\n                </mat-checkbox>\\n                <button mat-raised-button color=\\\"fds-secondary\\\" [disabled]=\\\"!user.agreesToTOS\\\" class=\\\"pad-right-sm\\\" class=\\\"text-upper\\\">Sign Up</button>\\n            </div>\\n            <mat-divider></mat-divider>\\n            <div layout=\\\"row\\\" layout-align=\\\"start center\\\" class=\\\"pad-top-sm pad-bottom-sm\\\">\\n                <mat-checkbox labelPosition=\\\"after\\\">\\n                    I come after my label.\\n                </mat-checkbox>\\n            </div>\\n            <mat-divider></mat-divider>\\n            <div layout=\\\"row\\\" layout-align=\\\"start center\\\" class=\\\"pad-top-sm pad-bottom-sm\\\">\\n                <mat-checkbox labelPosition=\\\"before\\\">\\n                    I come before my label\\n                </mat-checkbox>\\n            </div>\\n            <mat-divider></mat-divider>\\n        </form>\\n        ]]>\\n        </pre>\\n                        <p>Javascript:</p>\\n                        <pre lang=\\\"javascript\\\">\\n                        <![CDATA[\\n        this.user = {\\n                            agreesToTOS: false\\n        };\\n                        ]]>\\n                    </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Radios</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content layout=\\\"row\\\">\\n                <div flex=\\\"48\\\" class=\\\"pad-right\\\">\\n                    <!-- Basic Radios -->\\n                    <h3 class=\\\"mat-title\\\">Basic Radios</h3>\\n                    <mat-radio-group name=\\\"group1\\\">\\n                        <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\">Option 1 </mat-radio-button>\\n                        <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\">Option 2 </mat-radio-button>\\n                        <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\" disabled=\\\"true\\\">Option 3 (disabled) </mat-radio-button>\\n                    </mat-radio-group>\\n                    <h3 class=\\\"mat-title\\\">Usage</h3>\\n                    <p>HTML:</p>\\n                    <pre lang=\\\"html\\\">\\n                <![CDATA[\\n                        <!-- Basic Radios -->\\n        <mat-radio-group name=\\\"group1\\\">\\n            <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\">Option 1 </mat-radio-button>\\n            <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\">Option 2 </mat-radio-button>\\n            <mat-radio-button class=\\\"pad-right-sm\\\" name=\\\"group1\\\" disabled=\\\"true\\\">Option 3 (disabled) </mat-radio-button>\\n        </mat-radio-group>\\n        ]]>\\n        </pre>\\n                </div>\\n                <div flex=\\\"48\\\">\\n                    <!-- Dynamic Radios -->\\n                    <h3 class=\\\"mat-title\\\">Dynamic Radios</h3>\\n                    <mat-radio-group name=\\\"more_options\\\" [(ngModel)]=\\\"favoriteSeason\\\">\\n                        <mat-radio-button class=\\\"fds-radio pad-right-sm\\\" *ngFor=\\\"let season of seasonOptions\\\" name=\\\"more_options\\\" [value]=\\\"season\\\">\\n                            {{season}}\\n                        </mat-radio-button>\\n                    </mat-radio-group>\\n                    <p>Your favorite season is: <strong>{{favoriteSeason}}</strong></p>\\n                    <h3 class=\\\"mat-title\\\">Usage</h3>\\n                    <p>HTML:</p>\\n                    <pre lang=\\\"html\\\">\\n      <![CDATA[\\n                        <!-- Dynamic Radios -->\\n        <mat-radio-group name=\\\"more_options\\\" [(ngModel)]=\\\"favoriteSeason\\\">\\n          <mat-radio-button class=\\\"fds-radio\\\" *ngFor=\\\"let season of seasonOptions\\\" name=\\\"more_options\\\" [value]=\\\"season\\\">\\n            { {season} }\\n          </mat-radio-button>\\n        </mat-radio-group>\\n        <p>Your favorite season is: <strong>{ { favoriteSeason } }</strong></p>\\n      ]]>\\n      </pre>\\n                    <p>Javascript:</p>\\n                    <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n\\n        this.favoriteSeason = 'Autumn';\\n\\n        this.seasonOptions = [\\n            'Winter',\\n            'Spring',\\n            'Summer',\\n            'Autumn',\\n        ];\\n      ]]>\\n      </pre>\\n                </div>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Tooltips</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show above\\\" matTooltipPosition=\\\"above\\\" class=\\\"text-upper\\\">Above Tooltip</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show after\\\" matTooltipPosition=\\\"after\\\" class=\\\"text-upper\\\">After Tooltip</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show below\\\" matTooltipPosition=\\\"below\\\" class=\\\"text-upper\\\">Below Tooltip</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show before\\\" matTooltipPosition=\\\"before\\\" class=\\\"text-upper\\\">Before Tooltip</button>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show above\\\" matTooltipPosition=\\\"above\\\" class=\\\"text-upper\\\">Bottom Tooltip</button>\\n        <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show after\\\" matTooltipPosition=\\\"after\\\" class=\\\"text-upper\\\">Bottom Tooltip</button>\\n        <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show below\\\" matTooltipPosition=\\\"below\\\" class=\\\"text-upper\\\">Bottom Tooltip</button>\\n        <button mat-raised-button color=\\\"fds-primary\\\" matTooltip=\\\"I show before\\\" matTooltipPosition=\\\"before\\\" class=\\\"text-upper\\\">Bottom Tooltip</button>\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Panels</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Standard Card</h3>\\n                <mat-card>\\n                    <button class=\\\"fds-panel-menu-button\\\" matTooltip=\\\"Standard Card Menu\\\" mat-icon-button [matMenuTriggerFor]=\\\"standardCardMenu\\\">\\n                        <i class=\\\"fa fa-ellipsis-v \\\" aria-hidden=\\\"true\\\"></i>\\n                    </button>\\n                    <mat-menu class=\\\"primary-icon-button-menu\\\" #standardCardMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                        <button mat-menu-item>\\n                            <span>Option1</span>\\n                        </button>\\n                        <button mat-menu-item>\\n                            <span>Option2</span>\\n                        </button>\\n                    </mat-menu>\\n                    <mat-card-title class=\\\"pad-bottom-sm\\\">\\n                        <span>Title</span>\\n                    </mat-card-title>\\n                    <mat-card-content>\\n                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do tempor incididunt ut labore et dolore magna aliqua. Ut enim ad</p>\\n                    </mat-card-content>\\n                    <mat-card-actions fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                        <button mat-raised-button color=\\\"fds-primary\\\" class=\\\"text-upper\\\">Action</button>\\n                    </mat-card-actions>\\n                </mat-card>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n                <![CDATA[\\n                    <!-- Basic Card -->\\n        <mat-card>\\n            <button class=\\\"fds-panel-menu-button\\\" matTooltip=\\\"Standard Card Menu\\\" mat-icon-button [matMenuTriggerFor]=\\\"standardCardMenu\\\">\\n                <i class=\\\"fa fa-ellipsis-v \\\" aria-hidden=\\\"true\\\"></i>\\n            </button>\\n            <mat-menu class=\\\"primary-icon-button-menu\\\" #standardCardMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                <button mat-menu-item>\\n                    <span>Option1</span>\\n                </button>\\n                <button mat-menu-item>\\n                    <span>Option2</span>\\n                </button>\\n            </mat-menu>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">\\n                <span>Title</span>\\n            </mat-card-title>\\n            <mat-card-content>\\n                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do tempor incididunt ut labore et dolore magna aliqua. Ut enim ad</p>\\n            </mat-card-content>\\n            <mat-card-actions fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                <button mat-raised-button color=\\\"fds-primary\\\" class=\\\"text-upper\\\">Action</button>\\n            </mat-card-actions>\\n        </mat-card>\\n    ]]>\\n            </pre>\\n                <h3 class=\\\"mat-title\\\">Tabbed Card</h3>\\n                <mat-card>\\n                    <button class=\\\"fds-panel-menu-button\\\" matTooltip=\\\"Standard Card Menu\\\" mat-icon-button [matMenuTriggerFor]=\\\"standardCardMenu\\\">\\n                        <i class=\\\"fa fa-ellipsis-v \\\" aria-hidden=\\\"true\\\"></i>\\n                    </button>\\n                    <mat-menu class=\\\"primary-icon-button-menu\\\" #standardCardMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                        <button mat-menu-item>\\n                            <span>Option1</span>\\n                        </button>\\n                        <button mat-menu-item>\\n                            <span>Option2</span>\\n                        </button>\\n                    </mat-menu>\\n                    <mat-card-content>\\n                        <mat-tab-group dynamicHeight>\\n                            <mat-tab>\\n                                <ng-template mat-tab-label>One</ng-template>\\n                                <h3 class=\\\"mat-title\\\">First tab content</h3>\\n                                <p>Plaid echo park knausgaard normcore franzen cronut. Pickled humblebrag tofu hoodie, umami salvia farm-to-table schlitz try-hard food truck knausgaard pabst. Yuccie portland jean shorts, authentic mixtape waistcoat gentrify blue bottle. Fixie kickstarter church-key small batch seitan, shabby chic vegan listicle before they sold out. Hammock raw denim flannel tousled seitan you probably haven't heard of them. Trust fund man bun pug, kickstarter artisan selvage letterpress cornhole tote bag butcher locavore. Affogato try-hard kickstarter seitan, DIY pickled hella godard pork belly four loko ugh.</p>\\n                            </mat-tab>\\n                            <mat-tab>\\n                                <ng-template mat-tab-label>Two</ng-template>\\n                                <h3 class=\\\"mat-title\\\">Second tab content</h3>\\n                                <p>Hashtag distillery skateboard man bun gochujang, salvia man braid art party meggings heirloom kitsch farm-to-table. Franzen beard fingerstache gentrify, heirloom portland ennui XOXO microdosing kitsch plaid. Chicharrones bushwick chia, banh mi irony tattooed hammock butcher shabby chic taxidermy semiotics marfa post-ironic. Blue bottle keffiyeh farm-to-table ennui, chambray pitchfork art party pinterest artisan pop-up. Etsy banjo marfa, blue bottle kombucha crucifix XOXO tousled beard. Tilde disrupt kale chips bicycle rights skateboard master cleanse hella shoreditch, meditation retro shabby chic vice heirloom. Etsy listicle vice actually, iPhone chia hoodie four loko.</p>\\n                            </mat-tab>\\n                        </mat-tab-group>\\n                    </mat-card-content>\\n                    <mat-card-actions fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                        <button mat-raised-button color=\\\"fds-primary\\\" class=\\\"text-upper\\\">Action</button>\\n                    </mat-card-actions>\\n                </mat-card>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n                <![CDATA[\\n                    <!-- Basic Card -->\\n        <mat-card>\\n            <button class=\\\"fds-panel-menu-button\\\" matTooltip=\\\"Standard Card Menu\\\" mat-icon-button [matMenuTriggerFor]=\\\"standardCardMenu\\\">\\n                <i class=\\\"fa fa-ellipsis-v \\\" aria-hidden=\\\"true\\\"></i>\\n            </button>\\n            <mat-menu class=\\\"primary-icon-button-menu\\\" #standardCardMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                <button mat-menu-item>\\n                    <span>Option1</span>\\n                </button>\\n                <button mat-menu-item>\\n                    <span>Option2</span>\\n                </button>\\n            </mat-menu>\\n            <mat-card-content>\\n                <mat-tab-group dynamicHeight>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>One</ng-template>\\n                        <h3 class=\\\"mat-title\\\">First tab content</h3>\\n                        <p>Plaid echo park knausgaard normcore franzen cronut. Pickled humblebrag tofu hoodie, umami salvia farm-to-table schlitz try-hard food truck knausgaard pabst. Yuccie portland jean shorts, authentic mixtape waistcoat gentrify blue bottle. Fixie kickstarter church-key small batch seitan, shabby chic vegan listicle before they sold out. Hammock raw denim flannel tousled seitan you probably haven't heard of them. Trust fund man bun pug, kickstarter artisan selvage letterpress cornhole tote bag butcher locavore. Affogato try-hard kickstarter seitan, DIY pickled hella godard pork belly four loko ugh.</p>\\n                    </mat-tab>\\n                    <mat-tab>\\n                        <ng-template mat-tab-label>Two</ng-template>\\n                        <h3 class=\\\"mat-title\\\">Second tab content</h3>\\n                        <p>Hashtag distillery skateboard man bun gochujang, salvia man braid art party meggings heirloom kitsch farm-to-table. Franzen beard fingerstache gentrify, heirloom portland ennui XOXO microdosing kitsch plaid. Chicharrones bushwick chia, banh mi irony tattooed hammock butcher shabby chic taxidermy semiotics marfa post-ironic. Blue bottle keffiyeh farm-to-table ennui, chambray pitchfork art party pinterest artisan pop-up. Etsy banjo marfa, blue bottle kombucha crucifix XOXO tousled beard. Tilde disrupt kale chips bicycle rights skateboard master cleanse hella shoreditch, meditation retro shabby chic vice heirloom. Etsy listicle vice actually, iPhone chia hoodie four loko.</p>\\n                    </mat-tab>\\n                </mat-tab-group>\\n            </mat-card-content>\\n            <mat-card-actions fxLayout=\\\"row\\\" fxLayoutAlign=\\\"end center\\\">\\n                <button mat-raised-button color=\\\"fds-primary\\\" class=\\\"text-upper\\\">Action</button>\\n            </mat-card-actions>\\n        </mat-card>\\n    ]]>\\n            </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Select</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <form>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <mat-select color=\\\"accent\\\" floatPlaceholder=\\\"never\\\" placeholder=\\\"Favorite food\\\" [(ngModel)]=\\\"selectedValue\\\" name=\\\"food\\\">\\n                            <mat-option *ngFor=\\\"let food of foods\\\" [value]=\\\"food.value\\\">\\n                                {{food.viewValue}}\\n                            </mat-option>\\n                        </mat-select>\\n                    </div>\\n                    <div layout=\\\"row\\\" layout-margin>\\n                        <div flex> Selected food value: {{selectedValue}} </div>\\n                    </div>\\n                </form>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <form>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <mat-select color=\\\"accent\\\" floatPlaceholder=\\\"never\\\" placeholder=\\\"Favorite food\\\" [(ngModel)]=\\\"selectedValue\\\" name=\\\"food\\\">\\n                    <mat-option *ngFor=\\\"let food of foods\\\" [value]=\\\"food.value\\\">\\n                        { {food.viewValue} }\\n                    </mat-option>\\n                </mat-select>\\n            </div>\\n            <div layout=\\\"row\\\" layout-margin>\\n                <div flex> Selected food value: { {selectedValue} } </div>\\n            </div>\\n        </form>\\n        ]]>\\n      </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n        this.selectedValue = '';\\n\\n        this.foods = [\\n                    { value: 'steak-0', viewValue: 'Steak' },\\n                    { value: 'pizza-1', viewValue: 'Pizza' },\\n                    { value: 'tacos-2', viewValue: 'Tacos' },\\n        ];\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Menus (dropdowns)</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <button mat-icon-button [matMenuTriggerFor]=\\\"menu\\\">\\n                    <mat-icon>more_vert</mat-icon>\\n                </button>\\n                <mat-menu #menu=\\\"matMenu\\\">\\n                    <button mat-menu-item> Refresh </button>\\n                    <button mat-menu-item> Settings </button>\\n                    <button mat-menu-item> Help </button>\\n                    <button mat-menu-item disabled> Sign Out </button>\\n                </mat-menu>\\n                <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"posXMenu\\\">\\n                    Before<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </button>\\n                <mat-menu xPosition=\\\"before\\\" #posXMenu=\\\"matMenu\\\">\\n                    <button mat-menu-item> Refresh </button>\\n                    <button mat-menu-item> Settings </button>\\n                    <button mat-menu-item> Help </button>\\n                    <button mat-menu-item disabled> Sign Out </button>\\n                </mat-menu>\\n                <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"aboveMenu\\\">\\n                    Above<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </button>\\n                <mat-menu yPosition=\\\"above\\\" #aboveMenu=\\\"matMenu\\\">\\n                    <button mat-menu-item> Refresh </button>\\n                    <button mat-menu-item> Settings </button>\\n                    <button mat-menu-item> Help </button>\\n                    <button mat-menu-item disabled> Sign Out </button>\\n                </mat-menu>\\n                <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"iconsMenu\\\">\\n                    Icons in Menu<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </button>\\n                <mat-menu #iconsMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                    <button mat-menu-item>\\n                        <mat-icon>dialpad</mat-icon>\\n                        <span>Redial</span>\\n                    </button>\\n                    <button mat-menu-item disabled>\\n                        <mat-icon>voicemail</mat-icon>\\n                        <span>Check voicemail</span>\\n                    </button>\\n                    <button mat-menu-item>\\n                        <mat-icon>notifications_off</mat-icon>\\n                        <span>Disable alerts</span>\\n                    </button>\\n                </mat-menu>\\n                <button color=\\\"fds-primary\\\" [matMenuTriggerFor]=\\\"primaryButtonDropdownMenu\\\" mat-raised-button>\\n                    FDS Primary<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n                </button>\\n                <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #primaryButtonDropdownMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n                    <button mat-menu-item>\\n                        <span>Option 1</span>\\n                    </button>\\n                    <button mat-menu-item disabled>\\n                        <span>Option 2</span>\\n                    </button>\\n                </mat-menu>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <button mat-icon-button [matMenuTriggerFor]=\\\"menu\\\">\\n            <mat-icon>more_vert</mat-icon>\\n        </button>\\n        <mat-menu #menu=\\\"matMenu\\\">\\n            <button mat-menu-item> Refresh </button>\\n            <button mat-menu-item> Settings </button>\\n            <button mat-menu-item> Help </button>\\n            <button mat-menu-item disabled> Sign Out </button>\\n        </mat-menu>\\n        <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"posXMenu\\\">\\n            Before<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n        </button>\\n        <mat-menu xPosition=\\\"before\\\" #posXMenu=\\\"matMenu\\\">\\n            <button mat-menu-item> Refresh </button>\\n            <button mat-menu-item> Settings </button>\\n            <button mat-menu-item> Help </button>\\n            <button mat-menu-item disabled> Sign Out </button>\\n        </mat-menu>\\n        <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"aboveMenu\\\">\\n            Above<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n        </button>\\n        <mat-menu yPosition=\\\"above\\\" #aboveMenu=\\\"matMenu\\\">\\n            <button mat-menu-item> Refresh </button>\\n            <button mat-menu-item> Settings </button>\\n            <button mat-menu-item> Help </button>\\n            <button mat-menu-item disabled> Sign Out </button>\\n        </mat-menu>\\n        <button color=\\\"fds-regular\\\" mat-raised-button [matMenuTriggerFor]=\\\"iconsMenu\\\">\\n            Icons in Menu<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n        </button>\\n        <mat-menu #iconsMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n            <button mat-menu-item>\\n                <mat-icon>dialpad</mat-icon>\\n                <span>Redial</span>\\n            </button>\\n            <button mat-menu-item disabled>\\n                <mat-icon>voicemail</mat-icon>\\n                <span>Check voicemail</span>\\n            </button>\\n            <button mat-menu-item>\\n                <mat-icon>notifications_off</mat-icon>\\n                <span>Disable alerts</span>\\n            </button>\\n        </mat-menu>\\n        <button color=\\\"fds-primary\\\" [matMenuTriggerFor]=\\\"primaryButtonDropdownMenu\\\" mat-raised-button>\\n            FDS Primary<i class=\\\"fa fa-caret-down\\\" aria-hidden=\\\"true\\\"></i>\\n        </button>\\n        <mat-menu class=\\\"fds-primary-dropdown-button-menu\\\" #primaryButtonDropdownMenu=\\\"matMenu\\\" [overlapTrigger]=\\\"false\\\">\\n            <button mat-menu-item>\\n                <span>Option 1</span>\\n            </button>\\n            <button mat-menu-item disabled>\\n                <span>Option 2</span>\\n            </button>\\n        </mat-menu>\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Dialog</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"openDialog()\\\">Show simple dialog</button>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"openDialog()\\\">Show simple dialog</button>\\n      ]]>\\n    </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n        var ngCore = require('@angular/core');\\n        function DialogComponent() {};\\n\\n        DialogComponent.prototype = {\\n            constructor: DialogComponent\\n        };\\n\\n        DialogComponent.annotations = [\\n            new ngCore.Component({\\n                template: 'Hello Dialog'\\n        })];\\n\\n        ...\\n\\n        constructor(MatDialog) {\\n            this.dialog = MatDialog;\\n        }\\n\\n        ...\\n\\n        openDialog: function() {\\n            this.dialog.open(DialogComponent, {\\n                            height: '50%', // can be px or %\\n                                    width: '60%', // can be px or %\\n                            });\\n                            }\\n\\n                    ...\\n\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Simple Dialogs</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <div class=\\\"pad-left-sm\\\">\\n                    <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"openConfirm()\\\" class=\\\"text-upper\\\">Open Confirm</button>\\n                </div>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <button mat-button color=\\\"primary\\\" (click)=\\\"openConfirm()\\\" class=\\\"text-upper\\\">Open Confirm</button>\\n        ]]>\\n      </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n        ...\\n\\n        constructor(TdDialogService) {\\n                    this.dialogService = TdDialogService\\n        }\\n\\n        ...\\n\\n        openConfirm: function() {\\n                    this.dialogService.openConfirm({\\n                title: 'Confirm',\\n                message: 'This is how simple it is to create a confirm with this wrapper service. Do you agree?',\\n                cancelButton: 'Disagree',\\n                acceptButton: 'Agree',\\n            });\\n        },\\n\\n        ...\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Snack Bars</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showSuccessSnackBar()\\\">Success Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showWarnSnackBar()\\\">Warning Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showErrorSnackBar()\\\">Error Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showRegularSnackBar()\\\">Regular Snack Bar</button>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showSuccessSnackBar()\\\">Success Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showWarnSnackBar()\\\">Warning Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showErrorSnackBar()\\\">Error Snack Bar</button>\\n                <button mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"showRegularSnackBar()\\\">Regular Snack Bar</button>\\n      ]]>\\n    </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n      <![CDATA[\\n        ...\\n\\n        constructor(FdsSnackBarService) {\\n                    this.snackBarService = FdsSnackBarService;\\n        },\\n\\n        ...\\n\\n        /** Possible values for horizontalPosition on MatSnackBarConfig are 'start' | 'center' | 'end' | 'left' | 'right'. */\\n        /** Possible values for verticalPosition on MatSnackBarConfig are 'top' | 'bottom'. */\\n        /** Possible values for icon on MatSnackBarConfig are any available icons loaded on the page. */\\n\\n        showSuccessSnackBar: function () {\\n                    var snackBarRef = this.snackBarService.openCoaster({\\n                title: 'Success',\\n                message: 'Some help text regarding the successful event.',\\n                verticalPosition: 'top',\\n                horizontalPosition: 'right',\\n                icon: 'fa fa-check-circle-o',\\n                color: '#1EB475',\\n                duration: 3000\\n            });\\n        },\\n\\n        showWarnSnackBar: function () {\\n                    var snackBarRef = this.snackBarService.openCoaster({\\n                title: 'Warning',\\n                message: 'Some help text regarding the warning.',\\n                verticalPosition: 'top',\\n                horizontalPosition: 'left',\\n                icon: 'fa fa-exclamation-triangle',\\n                color: '#E98A40',\\n                duration: 3000\\n            });\\n        },\\n\\n        showErrorSnackBar: function () {\\n                    var snackBarRef = this.snackBarService.openCoaster({\\n                title: 'Error',\\n                message: 'Some help text regarding the critical error. This coaster will stay open until closed with the `x` or if another coaster is created.',\\n                verticalPosition: 'bottom',\\n                horizontalPosition: 'right',\\n                icon: 'fa fa-times-circle-o',\\n                color: '#EF6162'\\n            });\\n        },\\n\\n        showRegularSnackBar: function () {\\n                    var snackBarRef = this.snackBarService.openCoaster({\\n                title: 'Regular',\\n                message: 'Something interesting.',\\n                verticalPosition: 'bottom',\\n                horizontalPosition: 'left',\\n                color: '#808793',\\n                duration: 3000\\n            });\\n        },\\n\\n        ...\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Expansion Panels</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p>Expand/Collapse Event for Expansion 1: {{expandCollapseExpansion1Msg}}</p>\\n                <div>\\n                    <button mat-button color=\\\"primary\\\" (click)=\\\"toggleDisabled()\\\" class=\\\"text-upper\\\">Toggle disable</button>\\n                    <button mat-button color=\\\"primary\\\" (click)=\\\"toggleExpansion1()\\\" class=\\\"text-upper\\\">Toggle first</button>\\n                </div>\\n                <div layout-gt-xs=\\\"row\\\" layout-align-gt-xs=\\\"center start\\\">\\n                    <div flex-gt-xs=\\\"90\\\">\\n                        <td-expansion-panel label=\\\"Google\\\" sublabel=\\\"1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA\\\" [expand]=\\\"expansion1\\\" [disabled]=\\\"disabled\\\" (expanded)=\\\"expandExpansion1Event()\\\" (collapsed)=\\\"collapseExpansion1Event()\\\">\\n                            <td-expansion-summary>\\n                                <mat-list>\\n                                    <mat-list-item>\\n                                        <mat-icon mat-list-avatar>pin_drop</mat-icon>\\n                                        <h3 mat-line>Google</h3>\\n                                        <h4 mat-line>Headquarters</h4>\\n                                        <p mat-line>\\n                                            1600 Amphitheatre Pkwy\\n                                            <br/>Mountain View, CA 94043, USA\\n                                        </p>\\n                                    </mat-list-item>\\n                                </mat-list>\\n                            </td-expansion-summary>\\n                            <div class=\\\"mat-padding\\\">\\n                                <form class=\\\"mat-padding\\\" layout=\\\"column\\\">\\n                                    <mat-form-field floatLabel=\\\"always\\\" flex>\\n                                        <input matInput placeholder=\\\"Company (disabled)\\\" disabled value=\\\"Google\\\" />\\n                                    </mat-form-field>\\n                                    <mat-form-field floatLabel=\\\"always\\\" flex>\\n                                        <textarea matInput placeholder=\\\"Description\\\" rows=\\\"4\\\"></textarea>\\n                                    </mat-form-field>\\n                                </form>\\n                                <div layout=\\\"row\\\" layout-margin layout-align=\\\"end center\\\">\\n                                    <button mat-button class=\\\"text-upper\\\">Cancel</button>\\n                                    <button mat-button color=\\\"accent\\\" class=\\\"text-upper\\\">Save</button>\\n                                </div>\\n                            </div>\\n                        </td-expansion-panel>\\n                    </div>\\n                </div>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <td-expansion-panel label=\\\"Google\\\" sublabel=\\\"1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA\\\" [expand]=\\\"expansion1\\\" [disabled]=\\\"disabled\\\" (expanded)=\\\"expandExpansion1Event()\\\" (collapsed)=\\\"collapseExpansion1Event()\\\">\\n            <td-expansion-summary>\\n                <mat-list>\\n                    <mat-list-item>\\n                        <mat-icon mat-list-avatar>pin_drop</mat-icon>\\n                        <h3 mat-line>Google</h3>\\n                        <h4 mat-line>Headquarters</h4>\\n                        <p mat-line>\\n                            1600 Amphitheatre Pkwy\\n                            <br/>Mountain View, CA 94043, USA\\n                        </p>\\n                    </mat-list-item>\\n                </mat-list>\\n            </td-expansion-summary>\\n            <div class=\\\"mat-padding\\\">\\n                <form class=\\\"mat-padding\\\" layout=\\\"column\\\">\\n                    <mat-form-field floatLabel=\\\"always\\\" flex>\\n                        <input matInput placeholder=\\\"Company (disabled)\\\" disabled value=\\\"Google\\\" />\\n                    </mat-form-field>\\n                    <mat-form-field floatLabel=\\\"always\\\" flex>\\n                        <textarea matInput placeholder=\\\"Description\\\" rows=\\\"4\\\"></textarea>\\n                    </mat-form-field>\\n                </form>\\n                <mat-divider></mat-divider>\\n                <div layout=\\\"row\\\" layout-margin layout-align=\\\"end center\\\">\\n                    <button mat-button class=\\\"text-upper\\\">Cancel</button>\\n                    <button mat-button color=\\\"accent\\\" class=\\\"text-upper\\\">Save</button>\\n                </div>\\n            </div>\\n        </td-expansion-panel>\\n        ]]>\\n      </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n          <![CDATA[\\n        this.expandCollapseExpansion1Msg = 'No expanded/collapsed detected yet';\\n        this.expansion1 = false;\\n        this.disabled = false;\\n\\n        ...\\n\\n        toggleExpansion1: function() {\\n                    if (!this.disabled) {\\n                this.expansion1 = !this.expansion1;\\n            }\\n        },\\n\\n        toggleDisabled: function() {\\n                    this.disabled = !this.disabled;\\n        },\\n\\n        expandExpansion1Event: function() {\\n                    this.expandCollapseExpansion1Msg = 'Expand event emitted.';\\n        },\\n\\n        collapseExpansion1Event: function() {\\n                    this.expandCollapseExpansion1Msg = 'Collapse event emitted.';\\n        },\\n\\n        ...\\n            ]]>\\n          </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Progress</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content layout=\\\"row\\\">\\n                <div flex=\\\"48\\\" class=\\\"pad-right\\\">\\n                    <h3 class=\\\"mat-title\\\">Progress Bars</h3>\\n                    <h4>Determinate</h4>\\n                    <mat-progress-bar mode=\\\"determinate\\\" value=\\\"40\\\"></mat-progress-bar>\\n                    <h4>Indeterminate</h4>\\n                    <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n                    <h4>Buffer</h4>\\n                    <mat-progress-bar mode=\\\"buffer\\\" value=\\\"15\\\" bufferValue=\\\"15\\\"></mat-progress-bar>\\n                    <h4>Query</h4>\\n                    <mat-progress-bar mode=\\\"query\\\"></mat-progress-bar>\\n                    <h4>Colors</h4>\\n                    <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"primary\\\"></mat-progress-bar>\\n                    <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-bar>\\n                    <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"warn\\\"></mat-progress-bar>\\n                    <h3 class=\\\"mat-title\\\">Usage</h3>\\n                    <p>HTML:</p>\\n                    <pre lang=\\\"html\\\">\\n      <![CDATA[\\n                        <!-- Determinate-->\\n        <mat-progress-bar mode=\\\"determinate\\\" value=\\\"40\\\"></mat-progress-bar>\\n\\n                        <!-- Indeterminate-->\\n        <mat-progress-bar mode=\\\"indeterminate\\\"></mat-progress-bar>\\n\\n                        <!-- Buffer-->\\n        <mat-progress-bar mode=\\\"buffer\\\" value=\\\"15\\\" bufferValue=\\\"15\\\"></mat-progress-bar>\\n\\n                        <!-- Query-->\\n        <mat-progress-bar mode=\\\"query\\\"></mat-progress-bar>\\n\\n                        <!-- Colors-->\\n        <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"primary\\\"></mat-progress-bar>\\n\\n        <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-bar>\\n\\n        <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"warn\\\"></mat-progress-bar>\\n      ]]>\\n      </pre>\\n                </div>\\n                <div flex=\\\"48\\\">\\n                    <!-- Progress circles-->\\n                    <h3 class=\\\"mat-title\\\">Progress Spinner</h3>\\n                    <div layout=\\\"row\\\">\\n                        <div>\\n                            <h4>Determinate</h4>\\n                            <mat-progress-spinner mode=\\\"determinate\\\" value=\\\"66\\\"></mat-progress-spinner>\\n                        </div>\\n                        <div>\\n                            <h4>indeterminate</h4>\\n                            <mat-progress-spinner mode=\\\"indeterminate\\\"></mat-progress-spinner>\\n                        </div>\\n                        <div>\\n                            <h4>Spinner</h4>\\n                            <mat-spinner></mat-spinner>\\n                        </div>\\n                    </div>\\n                    <div>\\n                        <h4>Colors</h4>\\n                        <div layout=\\\"row\\\">\\n                            <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"primary\\\"></mat-progress-spinner>\\n                            <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-spinner>\\n                            <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"warn\\\"></mat-progress-spinner>\\n                        </div>\\n                    </div>\\n                    <h3 class=\\\"mat-title\\\">Usage</h3>\\n                    <p>HTML:</p>\\n                    <pre lang=\\\"html\\\">\\n      <![CDATA[\\n                        <!-- Determinate -->\\n        <mat-progress-spinner mode=\\\"determinate\\\" value=\\\"66\\\"></mat-progress-spinner>\\n                        <!-- Indeterminate -->\\n        <mat-progress-spinner mode=\\\"indeterminate\\\"></mat-progress-spinner>\\n                        <!-- Spinner -->\\n        <mat-spinner></mat-spinner>\\n                        <!-- Colors -->\\n        <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"primary\\\"></mat-progress-spinner>\\n        <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-spinner>\\n        <mat-progress-spinner mode=\\\"indeterminate\\\" color=\\\"warn\\\"></mat-progress-spinner>\\n      ]]>\\n      </pre>\\n                </div>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Side Nav</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <p>The side nav can be opened at the `start` or `end` of a container and can be displayed in `over`, `side`, or `push` mode. You can also define its width.</p>\\n                <button matTooltip=\\\"Open side nav\\\" mat-raised-button color=\\\"fds-primary\\\" (click)=\\\"sidenav.toggle()\\\">\\n                    Open\\n                </button>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n        <![CDATA[\\n                    <!-- Basic Usage -->\\n        <mat-sidenav #sidenav mode=\\\"over\\\" align=\\\"end\\\" opened=\\\"false\\\">\\n            ...\\n        </mat-sidenav>\\n        ]]>\\n        </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Slide Toggle</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Basic Usage</h3>\\n                <mat-divider></mat-divider>\\n                <mat-list>\\n                    <mat-list-item *ngFor=\\\"let system of systems\\\">\\n                        <mat-slide-toggle [color]=\\\"system.color\\\" [(ngModel)]=\\\"system.on\\\">\\n                            {{system.name}}\\n                        </mat-slide-toggle>\\n                    </mat-list-item>\\n                </mat-list>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n        <![CDATA[\\n                    <!-- Basic Usage -->\\n        <mat-list>\\n            <mat-list-item *ngFor=\\\"let system of systems\\\">\\n              <mat-slide-toggle [color]=\\\"system.color\\\" [(ngModel)]=\\\"system.on\\\">\\n                { {system.name} }\\n              </mat-slide-toggle>\\n            </mat-list-item>\\n        </mat-list>\\n        ]]>\\n        </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n          <![CDATA[\\n        this.systems = [{\\n                    name: 'Lights',\\n                    on: false,\\n                    color: 'primary',\\n        }, {\\n                    name: 'Surround Sound',\\n                    on: true,\\n                    color: 'accent',\\n        }, {\\n                    name: 'T.V.',\\n                    on: true,\\n                    color: 'warn',\\n        }, ];\\n            ]]>\\n          </pre>\\n                <h3 class=\\\"mat-title\\\">Usage within Forms</h3>\\n                <form>\\n                    <mat-list>\\n                        <mat-list-item>\\n                            <mat-slide-toggle color=\\\"accent\\\" [(ngModel)]=\\\"house.lockHouse\\\" name=\\\"lockHouse\\\">\\n                                Lock?\\n                            </mat-slide-toggle>\\n                            <mat-icon *ngIf=\\\"house.lockHouse\\\" class=\\\"pad-right-sm\\\">lock</mat-icon>\\n                        </mat-list-item>\\n                        <mat-list-item>\\n                            <mat-slide-toggle disabled>\\n                                I am disabled.\\n                            </mat-slide-toggle>\\n                        </mat-list-item>\\n                    </mat-list>\\n                </form>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n        <![CDATA[\\n                    <!-- Usage within Forms -->\\n        <form>\\n            <mat-list>\\n                <mat-list-item>\\n                    <mat-slide-toggle color=\\\"accent\\\" [(ngModel)]=\\\"house.lockHouse\\\" name=\\\"lockHouse\\\">\\n                        Lock?\\n                    </mat-slide-toggle>\\n                    <mat-icon *ngIf=\\\"house.lockHouse\\\" class=\\\"pad-right-sm\\\">lock</mat-icon>\\n                </mat-list-item>\\n                <mat-list-item>\\n                    <mat-slide-toggle disabled>\\n                    I am disabled.\\n                </mat-slide-toggle>\\n                </mat-list-item>\\n            </mat-list>\\n        </form>\\n        ]]>\\n        </pre>\\n                <p>Javascript:</p>\\n                <pre lang=\\\"javascript\\\">\\n          <![CDATA[\\n        this.house = {\\n                    lockHouse: false,\\n        };\\n            ]]>\\n          </pre>\\n            </mat-card-content>\\n        </mat-card>\\n        <mat-card>\\n            <mat-card-title class=\\\"pad-bottom-sm\\\">Slider</mat-card-title>\\n            <mat-divider></mat-divider>\\n            <mat-card-content>\\n                <h3 class=\\\"mat-title\\\">Horizontal Slider</h3>\\n                <mat-slider min=\\\"1\\\" max=\\\"5\\\" thumbLabel tickInterval=\\\"1\\\" value=\\\"2\\\" color=\\\"primary\\\"></mat-slider>\\n                <mat-slider step=\\\"5\\\" thumbLabel tickInterval=\\\"5\\\" value=\\\"20\\\" color=\\\"accent\\\"></mat-slider>\\n                <mat-slider thumbLabel tick-interval=\\\"auto\\\" value=\\\"2\\\" color=\\\"warn\\\"></mat-slider>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <mat-slider min=\\\"1\\\" max=\\\"5\\\" thumbLabel tickInterval=\\\"1\\\" value=\\\"2\\\" color=\\\"primary\\\"></mat-slider>\\n        <mat-slider step=\\\"5\\\" thumbLabel tickInterval=\\\"5\\\" value=\\\"20\\\" color=\\\"accent\\\"></mat-slider>\\n        <mat-slider thumbLabel tick-interval=\\\"auto\\\" value=\\\"2\\\" color=\\\"warn\\\"></mat-slider>\\n        ]]>\\n      </pre>\\n                <h3 class=\\\"mat-title\\\">Vertical Slider</h3>\\n                <mat-slider vertical min=\\\"1\\\" max=\\\"100\\\" thumbLabel tickInterval=\\\"10\\\" value=\\\"2\\\"></mat-slider>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <mat-slider vertical min=\\\"1\\\" max=\\\"100\\\" thumbLabel tickInterval=\\\"10\\\" value=\\\"2\\\"></mat-slider>\\n        ]]>\\n      </pre>\\n                <h3 class=\\\"mat-title\\\">Inverted Slider</h3>\\n                <mat-slider invert min=\\\"1\\\" max=\\\"100\\\" thumbLabel tickInterval=\\\"10\\\" value=\\\"2\\\"></mat-slider>\\n                <h3 class=\\\"mat-title\\\">Usage</h3>\\n                <p>HTML:</p>\\n                <pre lang=\\\"html\\\">\\n      <![CDATA[\\n        <mat-slider invert min=\\\"1\\\" max=\\\"100\\\" thumbLabel tickInterval=\\\"10\\\" value=\\\"2\\\"></mat-slider>\\n        ]]>\\n      </pre>\\n            </mat-card-content>\\n        </mat-card>\\n    </div>\\n</mat-sidenav-container>\\n\";"]}