UNPKG

carbon-components-angular

Version:
1,276 lines (1,162 loc) 51.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 miscellaneous-variables"> <div class="content-data"> <ol class="breadcrumb"> <li class="breadcrumb-item">Miscellaneous</li> <li class="breadcrumb-item">Variables</li> </ol> <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"> <ul class="index-list"> <li> <a href="#_scrollbarWidth" title="src/utils/window-tools.ts" ><b>_scrollbarWidth</b>&nbsp;&nbsp;&nbsp;(src/.../window-tools.ts)</a> </li> <li> <a href="#ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER" title="src/utils/utils.module.ts" ><b>ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../utils.module.ts)</a> </li> <li> <a href="#carbonFlatpickrMonthSelectPlugin" title="src/datepicker/carbon-flatpickr-month-select.ts" ><b>carbonFlatpickrMonthSelectPlugin</b>&nbsp;&nbsp;&nbsp;(src/.../carbon-flatpickr-month-select.ts)</a> </li> <li> <a href="#config" title="src/datepicker/carbon-flatpickr-month-select.ts" ><b>config</b>&nbsp;&nbsp;&nbsp;(src/.../carbon-flatpickr-month-select.ts)</a> </li> <li> <a href="#DEFAULT_TOOLTIP_CONFIG" title="src/tooltip/tooltip.interface.ts" ><b>DEFAULT_TOOLTIP_CONFIG</b>&nbsp;&nbsp;&nbsp;(src/.../tooltip.interface.ts)</a> </li> <li> <a href="#defaultOffset" title="src/dropdown/dropdown.service.ts" ><b>defaultOffset</b>&nbsp;&nbsp;&nbsp;(src/.../dropdown.service.ts)</a> </li> <li> <a href="#defaults" title="src/checkbox/checkbox-exported-tests.ts" ><b>defaults</b>&nbsp;&nbsp;&nbsp;(src/.../checkbox-exported-tests.ts)</a> </li> <li> <a href="#DOCUMENT_SERVICE_PROVIDER" title="src/utils/utils.module.ts" ><b>DOCUMENT_SERVICE_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../utils.module.ts)</a> </li> <li> <a href="#EXPERIMENTAL_SERVICE_PROVIDER" title="src/experimental/experimental.module.ts" ><b>EXPERIMENTAL_SERVICE_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../experimental.module.ts)</a> </li> <li> <a href="#getEventObservable" title="src/utils/event-observable.ts" ><b>getEventObservable</b>&nbsp;&nbsp;&nbsp;(src/.../event-observable.ts)</a> </li> <li> <a href="#getScrollableParents" title="src/utils/scroll.ts" ><b>getScrollableParents</b>&nbsp;&nbsp;&nbsp;(src/.../scroll.ts)</a> </li> <li> <a href="#hasScrollableParents" title="src/utils/scroll.ts" ><b>hasScrollableParents</b>&nbsp;&nbsp;&nbsp;(src/.../scroll.ts)</a> </li> <li> <a href="#I18N_SERVICE_PROVIDER" title="src/i18n/i18n.module.ts" ><b>I18N_SERVICE_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../i18n.module.ts)</a> </li> <li> <a href="#ICON_SERVICE_PROVIDER" title="src/icon/icon.module.ts" ><b>ICON_SERVICE_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../icon.module.ts)</a> </li> <li> <a href="#isScrollableElement" title="src/utils/scroll.ts" ><b>isScrollableElement</b>&nbsp;&nbsp;&nbsp;(src/.../scroll.ts)</a> </li> <li> <a href="#isVisibleInContainer" title="src/utils/scroll.ts" ><b>isVisibleInContainer</b>&nbsp;&nbsp;&nbsp;(src/.../scroll.ts)</a> </li> <li> <a href="#MAX_LEVEL" title="src/layer/layer.directive.ts" ><b>MAX_LEVEL</b>&nbsp;&nbsp;&nbsp;(src/.../layer.directive.ts)</a> </li> <li> <a href="#merge" title="src/utils/object.ts" ><b>merge</b>&nbsp;&nbsp;&nbsp;(src/.../object.ts)</a> </li> <li> <a href="#MINIMUM_OVERFLOW_THRESHOLD" title="src/breadcrumb/breadcrumb.component.ts" ><b>MINIMUM_OVERFLOW_THRESHOLD</b>&nbsp;&nbsp;&nbsp;(src/.../breadcrumb.component.ts)</a> </li> <li> <a href="#monthToStr" title="src/datepicker/carbon-flatpickr-month-select.ts" ><b>monthToStr</b>&nbsp;&nbsp;&nbsp;(src/.../carbon-flatpickr-month-select.ts)</a> </li> <li> <a href="#noop" title="src/file-uploader/file-uploader.component.ts" ><b>noop</b>&nbsp;&nbsp;&nbsp;(src/.../file-uploader.component.ts)</a> </li> <li> <a href="#PLACEHOLDER_SERVICE_PROVIDER" title="src/placeholder/placeholder.module.ts" ><b>PLACEHOLDER_SERVICE_PROVIDER</b>&nbsp;&nbsp;&nbsp;(src/.../placeholder.module.ts)</a> </li> <li> <a href="#REL" title="src/dialog/overflow-menu/overflow-menu-option.component.ts" ><b>REL</b>&nbsp;&nbsp;&nbsp;(src/.../overflow-menu-option.component.ts)</a> </li> <li> <a href="#replace" title="src/i18n/i18n.service.ts" ><b>replace</b>&nbsp;&nbsp;&nbsp;(src/.../i18n.service.ts)</a> </li> <li> <a href="#scrollableParentsObservable" title="src/utils/scroll.ts" ><b>scrollableParentsObservable</b>&nbsp;&nbsp;&nbsp;(src/.../scroll.ts)</a> </li> <li> <a href="#tabbableSelector" title="src/common/tab.service.ts" ><b>tabbableSelector</b>&nbsp;&nbsp;&nbsp;(src/.../tab.service.ts)</a> </li> <li> <a href="#tabbableSelectorIgnoreTabIndex" title="src/common/tab.service.ts" ><b>tabbableSelectorIgnoreTabIndex</b>&nbsp;&nbsp;&nbsp;(src/.../tab.service.ts)</a> </li> <li> <a href="#treetools" title="src/dropdown/dropdowntools.ts" ><b>treetools</b>&nbsp;&nbsp;&nbsp;(src/.../dropdowntools.ts)</a> </li> </ul> </td> </tr> </tbody> </table> </section> <h3>src/utils/window-tools.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="_scrollbarWidth"></a> <span class="name"> <span ><b>_scrollbarWidth</b></span> <a href="#_scrollbarWidth"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>-1</code> </td> </tr> </tbody> </table> </section> <h3>src/utils/utils.module.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER"></a> <span class="name"> <span ><b>ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER</b></span> <a href="#ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: AnimationFrameServiceSingleton, deps: [[new Optional(), new SkipSelf(), AnimationFrameServiceSingleton], NgZone], useFactory: ANIMATION_FRAME_SERVICE_SINGLETON_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="DOCUMENT_SERVICE_PROVIDER"></a> <span class="name"> <span ><b>DOCUMENT_SERVICE_PROVIDER</b></span> <a href="#DOCUMENT_SERVICE_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: DocumentService, deps: [[new Optional(), new SkipSelf(), DocumentService]], useFactory: DOCUMENT_SERVICE_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> </section> <h3>src/datepicker/carbon-flatpickr-month-select.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="carbonFlatpickrMonthSelectPlugin"></a> <span class="name"> <span ><b>carbonFlatpickrMonthSelectPlugin</b></span> <a href="#carbonFlatpickrMonthSelectPlugin"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>fp &#x3D;&gt; { const setupElements &#x3D; () &#x3D;&gt; { if (!fp.monthElements || !fp.yearElements) { return; } fp.monthElements.forEach(elem &#x3D;&gt; { if (!elem.parentNode) { return; } elem.parentNode.removeChild(elem); }); fp.monthElements.splice( 0, fp.monthElements.length, ...fp.monthElements.map(() &#x3D;&gt; { // eslint-disable-next-line no-underscore-dangle const monthElement &#x3D; fp._createElement( &quot;span&quot;, config.classFlatpickrCurrentMonth ); monthElement.textContent &#x3D; monthToStr( fp.currentMonth, config.shorthand &#x3D;&#x3D;&#x3D; true, fp.l10n ); fp.yearElements[0] .closest(config.selectorFlatpickrMonthYearContainer) .insertBefore( monthElement, fp.yearElements[0].closest(config.selectorFlatpickrYearContainer) ); return monthElement; }) ); }; const updateCurrentMonth &#x3D; () &#x3D;&gt; { if (!fp.yearElements) { return; } const monthStr &#x3D; monthToStr( fp.currentMonth, config.shorthand &#x3D;&#x3D;&#x3D; true, fp.l10n ); fp.yearElements.forEach(elem &#x3D;&gt; { const currentMonthContainer &#x3D; elem.closest( config.selectorFlatpickrMonthYearContainer ); Array.prototype.forEach.call( currentMonthContainer.querySelectorAll(&quot;.cur-month&quot;), monthElement &#x3D;&gt; { monthElement.textContent &#x3D; monthStr; } ); }); }; const register &#x3D; () &#x3D;&gt; { fp.loadedPlugins.push(&quot;carbonFlatpickrMonthSelectPlugin&quot;); }; return { onMonthChange: updateCurrentMonth, onValueUpdate: updateCurrentMonth, onOpen: updateCurrentMonth, onReady: [setupElements, updateCurrentMonth, register] }; }</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="config"></a> <span class="name"> <span ><b>config</b></span> <a href="#config"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ selectorInit: &quot;[data-date-picker]&quot;, selectorDatePickerInput: &quot;[data-date-picker-input]&quot;, selectorDatePickerInputFrom: &quot;[data-date-picker-input-from]&quot;, selectorDatePickerInputTo: &quot;[data-date-picker-input-to]&quot;, selectorDatePickerIcon: &quot;[data-date-picker-icon]&quot;, selectorFlatpickrMonthYearContainer: &quot;.flatpickr-current-month&quot;, selectorFlatpickrYearContainer: &quot;.numInputWrapper&quot;, selectorFlatpickrCurrentMonth: &quot;.cur-month&quot;, classCalendarContainer: &#x60;cds--date-picker__calendar&#x60;, classMonth: &#x60;cds--date-picker__month&#x60;, classWeekdays: &#x60;cds--date-picker__weekdays&#x60;, classDays: &#x60;cds--date-picker__days&#x60;, classWeekday: &#x60;cds--date-picker__weekday&#x60;, classDay: &#x60;cds--date-picker__day&#x60;, classFocused: &#x60;cds--focused&#x60;, classVisuallyHidden: &#x60;cds--visually-hidden&#x60;, classFlatpickrCurrentMonth: &quot;cur-month&quot;, attribType: &quot;data-date-picker-type&quot;, dateFormat: &quot;m/d/Y&quot;, shorthand: false }</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="monthToStr"></a> <span class="name"> <span ><b>monthToStr</b></span> <a href="#monthToStr"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(monthNumber, shorthand, locale) &#x3D;&gt; locale.months[shorthand ? &quot;shorthand&quot; : &quot;longhand&quot;][monthNumber]</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>This is from carbon-components. We need it to format the month select according to specs. Carbon currently doesn&#39;t expose this as a seperate package, and we don&#39;t import the carbon-components js (on purpose) so some copy pasta is required</p> <p>ref: <a href="https://github.com/carbon-design-system/carbon/blob/">https://github.com/carbon-design-system/carbon/blob/</a> f06f38f0c2ef624e409a3d5711e897a79f4c88fc/packages/components/src/components/date-picker/date-picker.js#L52-L123</p> </div> </td> </tr> </tbody> </table> </section> <h3>src/tooltip/tooltip.interface.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="DEFAULT_TOOLTIP_CONFIG"></a> <span class="name"> <span ><b>DEFAULT_TOOLTIP_CONFIG</b></span> <a href="#DEFAULT_TOOLTIP_CONFIG"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ align: &quot;bottom&quot; as TooltipAlignments, caret: true, dropShadow: true, highContrast: true, isOpen: false, enterDelayMs: 100, leaveDelayMs: 300 }</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Default tooltip configuration for components to populate missing interface attributes</p> </div> </td> </tr> </tbody> </table> </section> <h3>src/dropdown/dropdown.service.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="defaultOffset"></a> <span class="name"> <span ><b>defaultOffset</b></span> <a href="#defaultOffset"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ top: 0, left: 0 }</code> </td> </tr> </tbody> </table> </section> <h3>src/checkbox/checkbox-exported-tests.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="defaults"></a> <span class="name"> <span ><b>defaults</b></span> <a href="#defaults"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ selectors: { root: &quot;cds-checkbox&quot;, input: &quot;input&quot; } }</code> </td> </tr> </tbody> </table> </section> <h3>src/experimental/experimental.module.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="EXPERIMENTAL_SERVICE_PROVIDER"></a> <span class="name"> <span ><b>EXPERIMENTAL_SERVICE_PROVIDER</b></span> <a href="#EXPERIMENTAL_SERVICE_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: ExperimentalService, deps: [[new Optional(), new SkipSelf(), ExperimentalService]], useFactory: EXPERIMENTAL_SERVICE_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> </section> <h3>src/utils/event-observable.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="getEventObservable"></a> <span class="name"> <span ><b>getEventObservable</b></span> <a href="#getEventObservable"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(targetElement: HTMLElement | Element, eventType: string): Observable&lt;Event&gt; &#x3D;&gt; { switch (eventType) { case &quot;scroll&quot;: case &quot;resize&quot;: case &quot;touchstart&quot;: case &quot;touchmove&quot;: case &quot;touchend&quot;: return fromEvent(targetElement, eventType, { passive: true }); default: return fromEvent(targetElement, eventType); } }</code> </td> </tr> </tbody> </table> </section> <h3>src/utils/scroll.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="getScrollableParents"></a> <span class="name"> <span ><b>getScrollableParents</b></span> <a href="#getScrollableParents"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(node: HTMLElement) &#x3D;&gt; { const elements &#x3D; [document.body]; while (node.parentElement &amp;&amp; node !&#x3D;&#x3D; document.body) { if (isScrollableElement(node)) { elements.push(node); } node &#x3D; node.parentElement; } return elements; }</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="hasScrollableParents"></a> <span class="name"> <span ><b>hasScrollableParents</b></span> <a href="#hasScrollableParents"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(node: HTMLElement) &#x3D;&gt; { while (node.parentElement &amp;&amp; node !&#x3D;&#x3D; document.body) { if (isScrollableElement(node)) { return true; } node &#x3D; node.parentElement; } return false; }</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="isScrollableElement"></a> <span class="name"> <span ><b>isScrollableElement</b></span> <a href="#isScrollableElement"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(element: HTMLElement) &#x3D;&gt; { const computedStyle &#x3D; getComputedStyle(element); return ( computedStyle.overflow &#x3D;&#x3D;&#x3D; &quot;auto&quot; || computedStyle.overflow &#x3D;&#x3D;&#x3D; &quot;scroll&quot; || computedStyle[&quot;overflow-y&quot;] &#x3D;&#x3D;&#x3D; &quot;auto&quot; || computedStyle[&quot;overflow-y&quot;] &#x3D;&#x3D;&#x3D; &quot;scroll&quot; || computedStyle[&quot;overflow-x&quot;] &#x3D;&#x3D;&#x3D; &quot;auto&quot; || computedStyle[&quot;overflow-x&quot;] &#x3D;&#x3D;&#x3D; &quot;scroll&quot; ); }</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Checks if a given element is scrollable. If the element has an overflow set as part of its computed style it can scroll.</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="isVisibleInContainer"></a> <span class="name"> <span ><b>isVisibleInContainer</b></span> <a href="#isVisibleInContainer"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(element: HTMLElement, container: HTMLElement) &#x3D;&gt; { const elementRect &#x3D; element.getBoundingClientRect(); const containerRect &#x3D; container.getBoundingClientRect(); // If there exists &#x60;height: 100%&#x60; on the &#x60;html&#x60; or &#x60;body&#x60; tag of an application, // it causes the calculation to return true if you need to scroll before the element is seen. // In that case we calculate its visibility based on the window viewport. if (container.tagName &#x3D;&#x3D;&#x3D; &quot;BODY&quot; || container.tagName &#x3D;&#x3D;&#x3D; &quot;HTML&quot;) { // This checks if element is within the top, bottom, left and right of viewport, ie. if the element is visible in // the screen. This also takes into account partial visibility of an element. const isAboveViewport &#x3D; elementRect.top &lt; 0 &amp;&amp; (elementRect.top + element.clientHeight) &lt; 0; const isLeftOfViewport &#x3D; elementRect.left &lt; 0; const isBelowViewport &#x3D; (elementRect.bottom - element.clientHeight) &gt; (window.innerHeight || document.documentElement.clientHeight); const isRightOfViewport &#x3D; elementRect.right &gt; (window.innerWidth || document.documentElement.clientWidth); const isVisibleInViewport &#x3D; !(isAboveViewport || isBelowViewport || isLeftOfViewport || isRightOfViewport); return isVisibleInViewport; } return ( // This also accounts for partial visibility. It will still return true if the element is partially visible inside the container. (elementRect.bottom - element.clientHeight) &lt;&#x3D; (containerRect.bottom + (container.offsetHeight - container.clientHeight) / 2) &amp;&amp; elementRect.top &gt;&#x3D; (- element.clientHeight) ); }</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Checks if an element is visible within a container</p> </div> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="scrollableParentsObservable"></a> <span class="name"> <span ><b>scrollableParentsObservable</b></span> <a href="#scrollableParentsObservable"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(node: HTMLElement): Observable&lt;Event&gt; &#x3D;&gt; { const windowScroll &#x3D; fromEvent(window, &quot;scroll&quot;, { passive: true }).pipe(map(event &#x3D;&gt; ( // update the event target to be something useful. In this case &#x60;body&#x60; is a sensible replacement Object.assign({}, event, { target: document.body }) as Event ))); let observables &#x3D; [windowScroll]; // walk the parents and subscribe to all the scroll events we can while (node.parentElement &amp;&amp; node !&#x3D;&#x3D; document.body) { if (isScrollableElement(node)) { observables.push(fromEvent(node, &quot;scroll&quot;, { passive: true })); } node &#x3D; node.parentElement; } return merge(...observables); }</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Returns an observable that emits whenever any scrollable parent element scrolls</p> </div> </td> </tr> </tbody> </table> </section> <h3>src/i18n/i18n.module.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="I18N_SERVICE_PROVIDER"></a> <span class="name"> <span ><b>I18N_SERVICE_PROVIDER</b></span> <a href="#I18N_SERVICE_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: I18n, deps: [[new Optional(), new SkipSelf(), I18n]], useFactory: I18N_SERVICE_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> </section> <h3>src/icon/icon.module.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="ICON_SERVICE_PROVIDER"></a> <span class="name"> <span ><b>ICON_SERVICE_PROVIDER</b></span> <a href="#ICON_SERVICE_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: IconService, deps: [[new Optional(), new SkipSelf(), IconService]], useFactory: ICON_SERVICE_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> </section> <h3>src/layer/layer.directive.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="MAX_LEVEL"></a> <span class="name"> <span ><b>MAX_LEVEL</b></span> <a href="#MAX_LEVEL"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>2</code> </td> </tr> </tbody> </table> </section> <h3>src/utils/object.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="merge"></a> <span class="name"> <span ><b>merge</b></span> <a href="#merge"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(target, ...objects) &#x3D;&gt; { for (const object of objects) { for (const key in object) { if (object.hasOwnProperty(key)) { // since we&#x27;re dealing just with JSON this simple check should be enough if (object[key] instanceof Object) { if (!target[key]) { target[key] &#x3D; {}; } // recursively merge into the target // most translations only run 3 or 4 levels deep, so no stack explosions target[key] &#x3D; merge(target[key], object[key]); } else { target[key] &#x3D; object[key]; } } } } return target; }</code> </td> </tr> </tbody> </table> </section> <h3>src/breadcrumb/breadcrumb.component.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="MINIMUM_OVERFLOW_THRESHOLD"></a> <span class="name"> <span ><b>MINIMUM_OVERFLOW_THRESHOLD</b></span> <a href="#MINIMUM_OVERFLOW_THRESHOLD"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>4</code> </td> </tr> </tbody> </table> </section> <h3>src/file-uploader/file-uploader.component.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="noop"></a> <span class="name"> <span ><b>noop</b></span> <a href="#noop"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>() &#x3D;&gt; { }</code> </td> </tr> </tbody> </table> </section> <h3>src/placeholder/placeholder.module.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="PLACEHOLDER_SERVICE_PROVIDER"></a> <span class="name"> <span ><b>PLACEHOLDER_SERVICE_PROVIDER</b></span> <a href="#PLACEHOLDER_SERVICE_PROVIDER"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ provide: PlaceholderService, deps: [[new Optional(), new SkipSelf(), PlaceholderService]], useFactory: PLACEHOLDER_SERVICE_PROVIDER_FACTORY }</code> </td> </tr> </tbody> </table> </section> <h3>src/dialog/overflow-menu/overflow-menu-option.component.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="REL"></a> <span class="name"> <span ><b>REL</b></span> <a href="#REL"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>&quot;noreferrer noopener&quot;</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Security HTML anchor rel when target is set</p> </div> </td> </tr> </tbody> </table> </section> <h3>src/i18n/i18n.service.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="replace"></a> <span class="name"> <span ><b>replace</b></span> <a href="#replace"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>(subject, variables) &#x3D;&gt; subject.pipe( map&lt;string, void&gt;(str &#x3D;&gt; { const keys &#x3D; Object.keys(variables); for (const key of keys) { const value &#x3D; variables[key]; str &#x3D; str.replace(new RegExp(&#x60;{{\\s*${key}\\s*}}&#x60;, &quot;g&quot;), value); } return str; }) )</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>Takes the <code>Observable</code> returned from <code>i18n.get</code> and an object of variables to replace.</p> <p>The keys specify the variable name in the string.</p> <p>Example:</p> <b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">service.set({ &quot;TEST&quot;: &quot;{{foo}} {{bar}}&quot; }); service.replace(service.get(&quot;TEST&quot;), { foo: &quot;test&quot;, bar: &quot;asdf&quot; })</code></pre></div><p>Produces: <code>&quot;test asdf&quot;</code></p> </div> </td> </tr> </tbody> </table> </section> <h3>src/common/tab.service.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="tabbableSelector"></a> <span class="name"> <span ><b>tabbableSelector</b></span> <a href="#tabbableSelector"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>&quot;a[href], area[href], input:not([disabled]):not([tabindex&#x3D;\&#x27;-1\&#x27;]), &quot; + &quot;button:not([disabled]):not([tabindex&#x3D;\&#x27;-1\&#x27;]),select:not([disabled]):not([tabindex&#x3D;\&#x27;-1\&#x27;]), &quot; + &quot;textarea:not([disabled]):not([tabindex&#x3D;\&#x27;-1\&#x27;]), &quot; + &quot;iframe, object, embed, *[tabindex]:not([tabindex&#x3D;\&#x27;-1\&#x27;]), *[contenteditable&#x3D;true]&quot;</code> </td> </tr> </tbody> </table> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="tabbableSelectorIgnoreTabIndex"></a> <span class="name"> <span ><b>tabbableSelectorIgnoreTabIndex</b></span> <a href="#tabbableSelectorIgnoreTabIndex"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>&quot;a[href], area[href], input:not([disabled]), &quot; + &quot;button:not([disabled]),select:not([disabled]), &quot; + &quot;textarea:not([disabled]), &quot; + &quot;iframe, object, embed, *[tabindex], *[contenteditable&#x3D;true]&quot;</code> </td> </tr> </tbody> </table> </section> <h3>src/dropdown/dropdowntools.ts</h3> <section data-compodoc="block-properties"> <h3></h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="treetools"></a> <span class="name"> <span ><b>treetools</b></span> <a href="#treetools"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/object" target="_blank" >object</a></code> </td> </tr> <tr> <td class="col-md-4"> <i>Default value : </i><code>{ /** finds an item in a set of items and returns the item and path to the item as an array */ find: function(items, itemToFind, path &#x3D; []) { let found; for (let i of items) { if (i &#x3D;&#x3D;&#x3D; itemToFind) { path.push(i); found &#x3D; i; } if (i.items &amp;&amp; !found) { path.push(i); found &#x3D; this.find(i.items, itemToFind, path).found; if (!found) { path &#x3D; []; } } } return {found, path}; } }</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>bundle of functions to aid in manipulating tree structures</p> </div> </td> </tr> </tbody> </table> </section> </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 = 'miscellaneous-variables'; var COMPODOC_CURRENT_PAGE_URL = 'variables.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) {