UNPKG

carbon-components-angular

Version:
1,124 lines (947 loc) 45.8 kB
<!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>carbon-components-angular documentation</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="../images/favicon.ico"> <link rel="stylesheet" href="../styles/style.css"> <link rel="stylesheet" href="../styles/dark.css"> <style> footer.carbon { position: absolute; bottom: 0; width: 100%; z-index: 9999; } #root > div { /* * Subtracting the height of the footer to prevent * overlaying the footer ontop of content */ height: calc(100vh - 48px); } </style> </head> <body> <script> // Blocking script to avoid flickering dark mode // Dark mode toggle button var useDark = window.matchMedia('(prefers-color-scheme: dark)'); var darkModeState = useDark.matches; var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input'); var $darkModeToggles = document.querySelectorAll('.dark-mode-switch'); var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state'); function checkToggle(check) { for (var i = 0; i < $darkModeToggleSwitchers.length; i++) { $darkModeToggleSwitchers[i].checked = check; } } function toggleDarkMode(state) { if (window.localStorage) { localStorage.setItem('compodoc_darkmode-state', state); } checkToggle(state); const hasClass = document.body.classList.contains('dark'); if (state) { for (var i = 0; i < $darkModeToggles.length; i++) { $darkModeToggles[i].classList.add('dark'); } if (!hasClass) { document.body.classList.add('dark'); } } else { for (var i = 0; i < $darkModeToggles.length; i++) { $darkModeToggles[i].classList.remove('dark'); } if (hasClass) { document.body.classList.remove('dark'); } } } useDark.addEventListener('change', function (evt) { toggleDarkMode(evt.matches); }); if (darkModeStateLocal) { darkModeState = darkModeStateLocal === 'true'; } toggleDarkMode(darkModeState); </script> <div class="navbar navbar-default navbar-fixed-top d-md-none p-0"> <div class="d-flex"> <a href="../" class="navbar-brand">carbon-components-angular documentation</a> <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button> </div> </div> <div class="xs-menu menu" id="mobile-menu"> <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu> </div> <div class="container-fluid main"> <div class="row main"> <div class="d-none d-md-block menu"> <compodoc-menu mode="normal"></compodoc-menu> </div> <!-- START CONTENT --> <div class="content interface"> <div class="content-data"> <ol class="breadcrumb"> <li class="breadcrumb-item">Interfaces</li> <li class="breadcrumb-item" > DialogConfig</li> </ol> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a href="#info" class="nav-link" class="nav-link active" role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a> </li> <li class="nav-item"> <a href="#source" class="nav-link" role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a> </li> </ul> <div class="tab-content"> <div class="tab-pane fade active in" id="info"> <p class="comment"> <h3>File</h3> </p> <p class="comment"> <code>src/dialog/dialog-config.interface.ts</code> </p> <p class="comment"> <h3>Description</h3> </p> <p class="comment"> <p>Data structure for definig properties of a <code>Dialog</code> component.</p> </p> <section data-compodoc="block-index"> <h3 id="index">Index</h3> <table class="table table-sm table-bordered index-table"> <tbody> <tr> <td class="col-md-4"> <h6><b>Properties</b></h6> </td> </tr> <tr> <td class="col-md-4"> <ul class="index-list"> <li> <span class="modifier">Optional</span> <a href="#appendInline" > appendInline </a> </li> <li> <span class="modifier">Optional</span> <a href="#closeTrigger" > closeTrigger </a> </li> <li> <span class="modifier">Optional</span> <a href="#closeWhenHidden" > closeWhenHidden </a> </li> <li> <a href="#content" > content </a> </li> <li> <span class="modifier">Optional</span> <a href="#data" > data </a> </li> <li> <span class="modifier">Optional</span> <a href="#disabled" > disabled </a> </li> <li> <span class="modifier">Optional</span> <a href="#gap" > gap </a> </li> <li> <span class="modifier">Optional</span> <a href="#offset" > offset </a> </li> <li> <span class="modifier">Optional</span> <a href="#parentRef" > parentRef </a> </li> <li> <span class="modifier">Optional</span> <a href="#placement" > placement </a> </li> <li> <span class="modifier">Optional</span> <a href="#shouldClose" > shouldClose </a> </li> <li> <span class="modifier">Optional</span> <a href="#title" > title </a> </li> <li> <span class="modifier">Optional</span> <a href="#trigger" > trigger </a> </li> <li> <span class="modifier">Optional</span> <a href="#wrapperClass" > wrapperClass </a> </li> </ul> </td> </tr> </tbody> </table> </section> <section data-compodoc="block-indexables"> <h3 id="inputs">Indexable</h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <code>[propName: string]: <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="85" class="link-to-prism">src/dialog/dialog-config.interface.ts:85</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Additional arbitrary properties (mostly for internal/extended component use)</p> </div> </td> </tr> </tbody> </table> </section> <section data-compodoc="block-properties"> <h3 id="inputs">Properties</h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="appendInline"></a> <span class="name "><b>appendInline</b> <a href="#appendInline"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>appendInline: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Set to <code>true</code> to open the dialog next to the triggering component</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="closeTrigger"></a> <span class="name "><b>closeTrigger</b> <a href="#closeTrigger"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>closeTrigger: <code>&quot;mouseout&quot; | &quot;mouseleave&quot;</code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>&quot;mouseout&quot; | &quot;mouseleave&quot;</code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Parameter for triggering the <code>Dialog</code> close event.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="closeWhenHidden"></a> <span class="name "><b>closeWhenHidden</b> <a href="#closeWhenHidden"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>closeWhenHidden: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>If true the dialog will close when hidden (by scrolling or otherwise going out of the viewport) If false the dialog will stay open until explicitly closed When true this closure method can be picked up via <code>CloseReasons.hidden</code></p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="content"></a> <span class="name "><b>content</b> <a href="#content"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>content: <code>string | TemplateRef&lt;any&gt;</code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>string | TemplateRef&lt;any&gt;</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Body content for the <code>Dialog</code>.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="data"></a> <span class="name "><b>data</b> <a href="#data"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>data: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" target="_blank" >Object</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" target="_blank" >Object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Config object passed to the rendered component. (Optional)</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="disabled"></a> <span class="name "><b>disabled</b> <a href="#disabled"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>disabled: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>This prevents the dialog from being toggled</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="gap"></a> <span class="name "><b>gap</b> <a href="#gap"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>gap: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Used to set the offset of the <code>Dialog</code> relative to the content it is associated to.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="offset"></a> <span class="name "><b>offset</b> <a href="#offset"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>offset: <code>literal type</code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>literal type</code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>This specifies any vertical and horizontal offset for the position of the dialog</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="parentRef"></a> <span class="name "><b>parentRef</b> <a href="#parentRef"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>parentRef: <code>ElementRef</code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>ElementRef</code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Reference to the Parent element that links the <code>Dialog</code>.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="placement"></a> <span class="name "><b>placement</b> <a href="#placement"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>placement: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Parameter defining the placement in which the <code>Dialog</code> appears.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="shouldClose"></a> <span class="name "><b>shouldClose</b> <a href="#shouldClose"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>shouldClose: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/function" target="_blank" >function</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/function" target="_blank" >function</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Callback to control the closing behaviour. return <code>true</code> to close, and <code>false</code> to prevent closing</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="title"></a> <span class="name "><b>title</b> <a href="#title"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>title: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Title for the <code>Dialog</code> header.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="trigger"></a> <span class="name "><b>trigger</b> <a href="#trigger"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>trigger: <code>&quot;click&quot; | &quot;hover&quot; | &quot;mouseenter&quot;</code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code>&quot;click&quot; | &quot;hover&quot; | &quot;mouseenter&quot;</code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Parameter for triggering <code>Dialog</code> display.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="wrapperClass"></a> <span class="name "><b>wrapperClass</b> <a href="#wrapperClass"> <span class="icon ion-ios-link"></span> </a> </span> </td> </tr> <tr> <td class="col-md-4"> <code>wrapperClass: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </code> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Optional</i> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Classes to add to the dialog container</p> </div> </td> </tr> </tbody> </table> </section> </div> <div class="tab-pane fade tab-source-code" id="source"> <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { ElementRef, TemplateRef } from &quot;@angular/core&quot;; /** * An enum of the various reasons a dialog may close. For use with &#x60;CloseMeta&#x60; and &#x60;shouldClose&#x60; * * It&#x27;s expected that &#x60;interaction&#x60; will be a common closure reason. */ export enum CloseReasons { /** * For when the component is closed by being destroyed */ destroyed, /** * For use in cases where the dialog closes for programmatic reasons other than destruction */ programmatic, /** * interaction reasons will also provide a target for the interaction */ interaction, /** * For use in cases where the dialog closes due to being hidden */ hidden } /** * Interface representing various metadata that can be passed to &#x60;shouldClose&#x60; and the &#x60;close&#x60; event */ export interface CloseMeta { reason: CloseReasons; target?: EventTarget; } /** * Data structure for definig properties of a &#x60;Dialog&#x60; component. **/ export interface DialogConfig { /** * Title for the &#x60;Dialog&#x60; header. */ title?: string; /** * Body content for the &#x60;Dialog&#x60;. */ content: string | TemplateRef&lt;any&gt;; /** * Parameter for triggering &#x60;Dialog&#x60; display. */ trigger?: &quot;click&quot; | &quot;hover&quot; | &quot;mouseenter&quot;; /** * Parameter for triggering the &#x60;Dialog&#x60; close event. */ closeTrigger?: &quot;mouseout&quot; | &quot;mouseleave&quot;; /** * Callback to control the closing behaviour. return &#x60;true&#x60; to close, and &#x60;false&#x60; to prevent closing */ shouldClose?: (meta?: CloseMeta) &#x3D;&gt; boolean; /** * If true the dialog will close when hidden (by scrolling or otherwise going out of the viewport) * If false the dialog will stay open until explicitly closed * When true this closure method can be picked up via &#x60;CloseReasons.hidden&#x60; */ closeWhenHidden?: boolean; /** * Parameter defining the placement in which the &#x60;Dialog&#x60; appears. */ placement?: string; /** * Used to set the offset of the &#x60;Dialog&#x60; relative to the content it * is associated to. */ gap?: number; /** * Reference to the Parent element that links the &#x60;Dialog&#x60;. */ parentRef?: ElementRef; /** * Set to &#x60;true&#x60; to open the dialog next to the triggering component */ appendInline?: boolean; /** * Config object passed to the rendered component. (Optional) */ data?: Object; /** * Additional arbitrary properties (mostly for internal/extended component use) */ [propName: string]: any; /** * Classes to add to the dialog container */ wrapperClass?: string; /** * This specifies any vertical and horizontal offset for the position of the dialog */ offset?: { x: number, y: number }; /** * This prevents the dialog from being toggled */ disabled?: boolean; } </code></pre> </div> </div> </div><div class="search-results"> <div class="has-results"> <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1> <ul class="search-results-list"></ul> </div> <div class="no-results"> <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> </div> </div> </div> <!-- END CONTENT --> </div> </div> <label class="dark-mode-switch"> <input type="checkbox"> <span class="slider"> <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg"> <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path> </svg> </span> </label> <script> var COMPODOC_CURRENT_PAGE_DEPTH = 1; var COMPODOC_CURRENT_PAGE_CONTEXT = 'interface'; var COMPODOC_CURRENT_PAGE_URL = 'DialogConfig.html'; var MAX_SEARCH_RESULTS = 15; </script> <script> $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input'); checkToggle(darkModeState); if ($darkModeToggleSwitchers.length > 0) { for (var i = 0; i < $darkModeToggleSwitchers.length; i++) { $darkModeToggleSwitchers[i].addEventListener('change', function (event) { darkModeState = !darkModeState; toggleDarkMode(darkModeState); }); } } </script> <script src="../js/libs/custom-elements.min.js"></script> <script src="../js/libs/lit-html.js"></script> <script src="../js/menu-wc.js" defer></script> <script nomodule src="../js/menu-wc_es5.js" defer></script> <script src="../js/libs/bootstrap-native.js"></script> <script src="../js/libs/es6-shim.min.js"></script> <script src="../js/libs/EventDispatcher.js"></script> <script src="../js/libs/promise.min.js"></script> <script src="../js/libs/zepto.min.js"></script> <script src="../js/compodoc.js"></script> <script src="../js/tabs.js"></script> <script src="../js/menu.js"></script> <script src="../js/libs/clipboard.min.js"></script> <script src="../js/libs/prism.js"></script> <script src="../js/sourceCode.js"></script> <script src="../js/search/search.js"></script> <script src="../js/search/lunr.min.js"></script> <script src="../js/search/search-lunr.js"></script> <script src="../js/search/search_index.js"></script> <script src="../js/lazy-load-graphs.js"></script> <footer class="carbon"> <dds-footer-container key="footer" disable-locale-button="true" size="micro" /> </footer> <script key="8" type="module" src="https://1.www.s81c.com/common/carbon-for-ibm-dotcom/tag/v1/latest/footer.min.js"> </script> <!-- Storybook override --> <script> document.title = "Carbon Components Angular"; </script> <script src="//1.www.s81c.com/common/stats/ibm-common.js" type="text/javascript" async="async"> </script> </body> </html>