UNPKG

carbon-components-angular

Version:
1,334 lines 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) {
                              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>