UNPKG

carbon-components-angular

Version:
4,239 lines 182 kB
<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title>carbon-components-angular documentation</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="icon" type="image/x-icon" href="../images/favicon.ico">
	   <link rel="stylesheet" href="../styles/style.css">
        <link rel="stylesheet" href="../styles/dark.css">
    
	<style>
		footer.carbon {
			position: absolute;
			bottom: 0;
			width: 100%;
			z-index: 9999;
		}
		#root > div {
			/*
			 * Subtracting the height of the footer to prevent
			 * overlaying the footer ontop of content
			 */
			height: calc(100vh - 48px);
		}
	</style>
</head>
    <body>
          <script>
               // Blocking script to avoid flickering dark mode
               // Dark mode toggle button
               var useDark = window.matchMedia('(prefers-color-scheme: dark)');
               var darkModeState = useDark.matches;
               var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
               var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
               var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');

               function checkToggle(check) {
                    for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
                         $darkModeToggleSwitchers[i].checked = check;
                    }
               }

               function toggleDarkMode(state) {
                    if (window.localStorage) {
                         localStorage.setItem('compodoc_darkmode-state', state);
                    }

                    checkToggle(state);

                    const hasClass = document.body.classList.contains('dark');

                    if (state) {
                         for (var i = 0; i < $darkModeToggles.length; i++) {
                              $darkModeToggles[i].classList.add('dark');
                         }
                         if (!hasClass) {
                              document.body.classList.add('dark');
                         }
                    } else {
                         for (var i = 0; i < $darkModeToggles.length; i++) {
                              $darkModeToggles[i].classList.remove('dark');
                         }
                         if (hasClass) {
                              document.body.classList.remove('dark');
                         }
                    }
               }

               useDark.addEventListener('change', function (evt) {
                    toggleDarkMode(evt.matches);
               });
               if (darkModeStateLocal) {
                    darkModeState = darkModeStateLocal === 'true';
               }
               toggleDarkMode(darkModeState);
          </script>

        <div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
               <div class="d-flex">
                    <a href="../" class="navbar-brand">carbon-components-angular documentation</a>
                    <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
               </div>
        </div>

        <div class="xs-menu menu" id="mobile-menu">
                <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div>            <compodoc-menu></compodoc-menu>
        </div>

        <div class="container-fluid main">
           <div class="row main">
               <div class="d-none d-md-block menu">
                   <compodoc-menu mode="normal"></compodoc-menu>
               </div>
               <!-- START CONTENT -->
               <div class="content component">
                   <div class="content-data">




<ol class="breadcrumb">
  <li class="breadcrumb-item">Components</li>
  <li class="breadcrumb-item"
  >
  DatePicker</li>
</ol>

<ul class="nav nav-tabs" role="tablist">
        <li class="nav-item">
            <a href="#info" class="nav-link active"
                role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
        </li>
        <li class="nav-item">
            <a href="#source" class="nav-link"
                role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
        </li>
        <li class="nav-item">
            <a href="#tree" class="nav-link"
                role="tab" id="tree-tab" data-bs-toggle="tab" data-link="dom-tree">DOM Tree</a>
        </li>
</ul>

<div class="tab-content">
    <div class="tab-pane fade active in" id="info"><p class="comment">
    <h3>File</h3>
</p>
<p class="comment">
    <code>src/datepicker/datepicker.component.ts</code>
</p>


    <p class="comment">
        <h3>Description</h3>
    </p>
    <p class="comment">
        <p>Get started with importing the module:</p>
<b>Example :</b><div><pre class="line-numbers"><code class="language-typescript">import { DatePickerModule } from &#39;carbon-components-angular&#39;;</code></pre></div><p><a href="../../?path=/story/components-date-picker--single">See demo</a></p>

    </p>


    <p class="comment">
        <h3>Implements</h3>
    </p>
    <p class="comment">
                <code>OnInit</code>
                <code>OnDestroy</code>
                <code>OnChanges</code>
                <code>AfterViewChecked</code>
                <code>AfterViewInit</code>
    </p>


<section data-compodoc="block-metadata">
    <h3>Metadata</h3>
    <table class="table table-sm table-hover metadata">
        <tbody>


            <tr>
                <td class="col-md-3">encapsulation</td>
                <td class="col-md-9"><code>ViewEncapsulation.None</code></td>
            </tr>








            <tr>
                <td class="col-md-3">providers</td>
                <td class="col-md-9">
                                <code><a href="../components/DatePicker.html" target="_self" >{
    provide: NG_VALUE_ACCESSOR, useExisting: DatePicker, multi: true
}</a></code>
                </td>
            </tr>


            <tr>
                <td class="col-md-3">selector</td>
                <td class="col-md-9"><code>cds-date-picker, ibm-date-picker</code></td>
            </tr>





            <tr>
                <td class="col-md-3">template</td>
                <td class="col-md-9"><pre class="line-numbers"><code class="language-html">&lt;div class&#x3D;&quot;cds--form-item&quot;&gt;
	&lt;div
		class&#x3D;&quot;cds--date-picker&quot;
		[ngClass]&#x3D;&quot;{
			&#x27;cds--date-picker--range&#x27; : range,
			&#x27;cds--date-picker--single&#x27; : !range,
			&#x27;cds--date-picker--light&#x27; : theme &#x3D;&#x3D;&#x3D; &#x27;light&#x27;,
			&#x27;cds--skeleton&#x27; : skeleton
		}&quot;&gt;
		&lt;div class&#x3D;&quot;cds--date-picker-container&quot;&gt;
			&lt;cds-date-picker-input
				#input
				[label]&#x3D;&quot;label&quot;
				[placeholder]&#x3D;&quot;placeholder&quot;
				[pattern]&#x3D;&quot;inputPattern&quot;
				[id]&#x3D;&quot;id + &#x27;-input&#x27;&quot;
				[size]&#x3D;&quot;size&quot;
				[type]&#x3D;&quot;(range ? &#x27;range&#x27; : &#x27;single&#x27;)&quot;
				[hasIcon]&#x3D;&quot;(range ? false : true)&quot;
				[disabled]&#x3D;&quot;disabled&quot;
				[readonly]&#x3D;&quot;readonly&quot;
				[invalid]&#x3D;&quot;invalid&quot;
				[invalidText]&#x3D;&quot;invalidText&quot;
				[warn]&#x3D;&quot;warn&quot;
				[warnText]&#x3D;&quot;warnText&quot;
				[skeleton]&#x3D;&quot;skeleton&quot;
				[helperText]&#x3D;&quot;helperText&quot;
				(valueChange)&#x3D;&quot;onValueChange($event)&quot;
				(click)&#x3D;&quot;openCalendar(input)&quot;&gt;
			&lt;/cds-date-picker-input&gt;
		&lt;/div&gt;

		&lt;div *ngIf&#x3D;&quot;range&quot; class&#x3D;&quot;cds--date-picker-container&quot;&gt;
			&lt;cds-date-picker-input
				#rangeInput
				[label]&#x3D;&quot;rangeLabel&quot;
				[placeholder]&#x3D;&quot;placeholder&quot;
				[pattern]&#x3D;&quot;inputPattern&quot;
				[id]&#x3D;&quot;id + &#x27;-rangeInput&#x27;&quot;
				[size]&#x3D;&quot;size&quot;
				[type]&#x3D;&quot;(range ? &#x27;range&#x27; : &#x27;single&#x27;)&quot;
				[hasIcon]&#x3D;&quot;(range ? true : null)&quot;
				[disabled]&#x3D;&quot;disabled&quot;
				[readonly]&#x3D;&quot;readonly&quot;
				[invalid]&#x3D;&quot;rangeInvalid&quot;
				[invalidText]&#x3D;&quot;rangeInvalidText&quot;
				[warn]&#x3D;&quot;rangeWarn&quot;
				[warnText]&#x3D;&quot;rangeWarnText&quot;
				[skeleton]&#x3D;&quot;skeleton&quot;
				[helperText]&#x3D;&quot;rangeHelperText&quot;
				(valueChange)&#x3D;&quot;onRangeValueChange($event)&quot;
				(click)&#x3D;&quot;openCalendar(rangeInput)&quot;&gt;
			&lt;/cds-date-picker-input&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
</code></pre></td>
            </tr>









        </tbody>
    </table>
</section>

    <section data-compodoc="block-index">
    <h3 id="index">Index</h3>
    <table class="table table-sm table-bordered index-table">
        <tbody>
                <tr>
                    <td class="col-md-4">
                        <h6><b>Properties</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#_flatpickrOptions" >_flatpickrOptions</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#_value" >_value</a>
                            </li>
                            <li>
                                    <span class="modifier">Private</span>
                                    <span class="modifier">Static</span>
                                <a href="#datePickerCount" >datePickerCount</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#flatpickrBaseOptions" >flatpickrBaseOptions</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#flatpickrInstance" >flatpickrInstance</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#input" >input</a>
                            </li>
                            <li>
                                <a href="#onTouched" >onTouched</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#preventCalendarClose" >preventCalendarClose</a>
                            </li>
                            <li>
                                <a href="#propagateChange" >propagateChange</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#rangeInput" >rangeInput</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <h6><b>Methods</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#addInputListeners" >addInputListeners</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#didDateValueChange" >didDateValueChange</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#doSelect" >doSelect</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#isFlatpickrLoaded" >isFlatpickrLoaded</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#leftArrowHTML" >leftArrowHTML</a>
                            </li>
                            <li>
                                <a href="#ngAfterViewChecked" >ngAfterViewChecked</a>
                            </li>
                            <li>
                                <a href="#ngAfterViewInit" >ngAfterViewInit</a>
                            </li>
                            <li>
                                <a href="#ngOnChanges" >ngOnChanges</a>
                            </li>
                            <li>
                                <a href="#ngOnDestroy" >ngOnDestroy</a>
                            </li>
                            <li>
                                <a href="#ngOnInit" >ngOnInit</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#onFocus" >onFocus</a>
                            </li>
                            <li>
                                    <span class="modifier"></span>
                                <a href="#onFocusOut" >onFocusOut</a>
                            </li>
                            <li>
                                <a href="#onRangeValueChange" >onRangeValueChange</a>
                            </li>
                            <li>
                                <a href="#onValueChange" >onValueChange</a>
                            </li>
                            <li>
                                <a href="#openCalendar" >openCalendar</a>
                            </li>
                            <li>
                                <a href="#registerOnChange" >registerOnChange</a>
                            </li>
                            <li>
                                <a href="#registerOnTouched" >registerOnTouched</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#resetFlatpickrInstance" >resetFlatpickrInstance</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#rightArrowHTML" >rightArrowHTML</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#setDateValues" >setDateValues</a>
                            </li>
                            <li>
                                <a href="#setDisabledState" >setDisabledState</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#updateAttributes" >updateAttributes</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#updateCalendarListeners" >updateCalendarListeners</a>
                            </li>
                            <li>
                                    <span class="modifier">Protected</span>
                                <a href="#updateClassNames" >updateClassNames</a>
                            </li>
                            <li>
                                <a href="#writeValue" >writeValue</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <h6><b>Inputs</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                <a href="#ariaLabel" >ariaLabel</a>
                            </li>
                            <li>
                                <a href="#dateFormat" >dateFormat</a>
                            </li>
                            <li>
                                <a href="#disabled" >disabled</a>
                            </li>
                            <li>
                                <a href="#flatpickrOptions" >flatpickrOptions</a>
                            </li>
                            <li>
                                <a href="#helperText" >helperText</a>
                            </li>
                            <li>
                                <a href="#id" >id</a>
                            </li>
                            <li>
                                <a href="#inputPattern" >inputPattern</a>
                            </li>
                            <li>
                                <a href="#invalid" >invalid</a>
                            </li>
                            <li>
                                <a href="#invalidText" >invalidText</a>
                            </li>
                            <li>
                                <a href="#label" >label</a>
                            </li>
                            <li>
                                <a href="#language" >language</a>
                            </li>
                            <li>
                                <a href="#placeholder" >placeholder</a>
                            </li>
                            <li>
                                <a href="#plugins" >plugins</a>
                            </li>
                            <li>
                                <a href="#range" >range</a>
                            </li>
                            <li>
                                <a href="#rangeHelperText" >rangeHelperText</a>
                            </li>
                            <li>
                                <a href="#rangeInvalid" >rangeInvalid</a>
                            </li>
                            <li>
                                <a href="#rangeInvalidText" >rangeInvalidText</a>
                            </li>
                            <li>
                                <a href="#rangeLabel" >rangeLabel</a>
                            </li>
                            <li>
                                <a href="#rangeWarn" >rangeWarn</a>
                            </li>
                            <li>
                                <a href="#rangeWarnText" >rangeWarnText</a>
                            </li>
                            <li>
                                <a href="#readonly" >readonly</a>
                            </li>
                            <li>
                                <a href="#size" >size</a>
                            </li>
                            <li>
                                <a href="#skeleton" >skeleton</a>
                            </li>
                            <li>
                                <a href="#theme" class="deprecated-name">theme</a>
                            </li>
                            <li>
                                <a href="#value" >value</a>
                            </li>
                            <li>
                                <a href="#warn" >warn</a>
                            </li>
                            <li>
                                <a href="#warnText" >warnText</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <h6><b>Outputs</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                <a href="#onClose" >onClose</a>
                            </li>
                            <li>
                                <a href="#valueChange" >valueChange</a>
                            </li>
                        </ul>
                    </td>
                </tr>


                <tr>
                    <td class="col-md-4">
                        <h6><b>HostListeners</b></h6>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <ul class="index-list">
                            <li>
                                <a href="#focusin" >focusin</a>
                            </li>
                            <li>
                                <a href="#focusout" >focusout</a>
                            </li>
                        </ul>
                    </td>
                </tr>

                    <tr>
                        <td class="col-md-4">
                            <h6><b>Accessors</b></h6>
                        </td>
                    </tr>
                    <tr>
                        <td class="col-md-4">
                            <ul class="index-list">
                                <li>
                                    <a href="#value" >value</a>
                                </li>
                                <li>
                                    <a href="#flatpickrOptions" >flatpickrOptions</a>
                                </li>
                            </ul>
                        </td>
                    </tr>
        </tbody>
    </table>
</section>

    <section data-compodoc="block-constructor">
    <h3 id="constructor">Constructor</h3>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
<code>constructor(elementRef: ElementRef, i18n: <a href="../injectables/I18n.html" target="_self">I18n</a>)</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="298" class="link-to-prism">src/datepicker/datepicker.component.ts:298</a></div>
                            </td>
                        </tr>

                <tr>
                    <td class="col-md-4">
                            <div>
                                    <b>Parameters :</b>
                                    <table class="params">
                                        <thead>
                                            <tr>
                                                <td>Name</td>
                                                    <td>Type</td>
                                                <td>Optional</td>
                                            </tr>
                                        </thead>
                                        <tbody>
                                                <tr>
                                                        <td>elementRef</td>
                                                  
                                                        <td>
                                                                    <code>ElementRef</code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                                <tr>
                                                        <td>i18n</td>
                                                  
                                                        <td>
                                                                        <code><a href="../injectables/I18n.html" target="_self" >I18n</a></code>
                                                        </td>
                                                  
                                                    <td>
                                                            No
                                                    </td>
                                                    
                                                </tr>
                                        </tbody>
                                    </table>
                            </div>
                    </td>
                </tr>
            </tbody>
        </table>
</section>

    <section data-compodoc="block-inputs">
    <h3 id="inputs">Inputs</h3>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="ariaLabel"></a>
                        <b>ariaLabel</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;calendar container&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="161" class="link-to-prism">src/datepicker/datepicker.component.ts:161</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Aria label added to datepicker&#39;s calendar container.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="dateFormat"></a>
                        <b>dateFormat</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;m/d/Y&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="141" class="link-to-prism">src/datepicker/datepicker.component.ts:141</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Format of date</p>
<p>For reference: <a href="https://flatpickr.js.org/formatting/">https://flatpickr.js.org/formatting/</a></p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="disabled"></a>
                        <b>disabled</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="187" class="link-to-prism">src/datepicker/datepicker.component.ts:187</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="flatpickrOptions"></a>
                        <b>flatpickrOptions</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../directives/Option.html" target="_self" >Partial&lt;Options&gt;</a></code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="230" class="link-to-prism">src/datepicker/datepicker.component.ts:230</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="helperText"></a>
                        <b>helperText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="152" class="link-to-prism">src/datepicker/datepicker.component.ts:152</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="id"></a>
                        <b>id</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&#x60;datepicker-${DatePicker.datePickerCount++}&#x60;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="168" class="link-to-prism">src/datepicker/datepicker.component.ts:168</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="inputPattern"></a>
                        <b>inputPattern</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;^\\d{1,2}/\\d{1,2}/\\d{4}$&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="166" class="link-to-prism">src/datepicker/datepicker.component.ts:166</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>The pattern for the underlying input element</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="invalid"></a>
                        <b>invalid</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="193" class="link-to-prism">src/datepicker/datepicker.component.ts:193</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Set to <code>true</code> to display the invalid state.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="invalidText"></a>
                        <b>invalidText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="197" class="link-to-prism">src/datepicker/datepicker.component.ts:197</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Value displayed if datepicker is in an invalid state.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="label"></a>
                        <b>label</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="151" class="link-to-prism">src/datepicker/datepicker.component.ts:151</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="language"></a>
                        <b>language</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;en&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="149" class="link-to-prism">src/datepicker/datepicker.component.ts:149</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Language of the flatpickr calendar.</p>
<p>For reference of the possible locales:
<a href="https://github.com/flatpickr/flatpickr/blob/master/src/l10n/index.ts">https://github.com/flatpickr/flatpickr/blob/master/src/l10n/index.ts</a></p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="placeholder"></a>
                        <b>placeholder</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;mm/dd/yyyy&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="156" class="link-to-prism">src/datepicker/datepicker.component.ts:156</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="plugins"></a>
                        <b>plugins</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>{}</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>[]</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="227" class="link-to-prism">src/datepicker/datepicker.component.ts:227</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="range"></a>
                        <b>range</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="134" class="link-to-prism">src/datepicker/datepicker.component.ts:134</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Select calendar range mode</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeHelperText"></a>
                        <b>rangeHelperText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="153" class="link-to-prism">src/datepicker/datepicker.component.ts:153</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeInvalid"></a>
                        <b>rangeInvalid</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="211" class="link-to-prism">src/datepicker/datepicker.component.ts:211</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Set to <code>true</code> to display the invalid state for the second datepicker input.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeInvalidText"></a>
                        <b>rangeInvalidText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="215" class="link-to-prism">src/datepicker/datepicker.component.ts:215</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Value displayed if the second datepicker input is in an invalid state.</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeLabel"></a>
                        <b>rangeLabel</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="154" class="link-to-prism">src/datepicker/datepicker.component.ts:154</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeWarn"></a>
                        <b>rangeWarn</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="219" class="link-to-prism">src/datepicker/datepicker.component.ts:219</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Set to <code>true</code> to show a warning in the second datepicker input (contents set by rangeWarningText)</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="rangeWarnText"></a>
                        <b>rangeWarnText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="223" class="link-to-prism">src/datepicker/datepicker.component.ts:223</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Sets the warning text for the second datepicker input</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="readonly"></a>
                        <b>readonly</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="189" class="link-to-prism">src/datepicker/datepicker.component.ts:189</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="size"></a>
                        <b>size</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>&quot;sm&quot; | &quot;md&quot; | &quot;lg&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;md&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="207" class="link-to-prism">src/datepicker/datepicker.component.ts:207</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="skeleton"></a>
                        <b>skeleton</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="225" class="link-to-prism">src/datepicker/datepicker.component.ts:225</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="theme"></a>
                        <b>theme</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>&quot;light&quot; | &quot;dark&quot;</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>&quot;dark&quot;</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="185" class="link-to-prism">src/datepicker/datepicker.component.ts:185</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="value"></a>
                        <b>value</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>[]</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/datepicker/datepicker.component.ts:170</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="warn"></a>
                        <b>warn</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>false</code>
                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="201" class="link-to-prism">src/datepicker/datepicker.component.ts:201</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Set to <code>true</code> to show a warning (contents set by warningText)</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="warnText"></a>
                        <b>warnText</b>
                    </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-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="205" class="link-to-prism">src/datepicker/datepicker.component.ts:205</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>Sets the warning text</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
</section>
    <section data-compodoc="block-outputs">
    <h3 id="outputs">Outputs</h3>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="onClose"></a>
                        <b>onClose</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>EventEmitter&lt;any&gt;</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="259" class="link-to-prism">src/datepicker/datepicker.component.ts:259</a></div>
                            </td>
                        </tr>
                <tr>
                    <td class="col-md-4">
                        <div class="io-description"><p>We are overriding onClose event even if users pass it via flatpickr options
Emits an event when date picker closes</p>
</div>
                    </td>
                </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="valueChange"></a>
                        <b>valueChange</b>
                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>EventEmitter&lt;any&gt;</code>

                    </td>
                </tr>
                        <tr>
                            <td class="col-md-2" colspan="2">
                                    <div class="io-line">Defined in <a href="" data-line="253" class="link-to-prism">src/datepicker/datepicker.component.ts:253</a></div>
                            </td>
                        </tr>
            </tbody>
        </table>
</section>

    <section data-compodoc="block-methods">
    <h3>HostListeners</h3>    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="focusin"></a>
                    <span class="name">
                        <span ><b>focusin</b></span>
                        <a href="#focusin"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>focusin()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="363"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:363</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="focusout"></a>
                    <span class="name">
                        <span ><b>focusout</b></span>
                        <a href="#focusout"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>focusout()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="378"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:378</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
</section>
    <section data-compodoc="block-methods">
    
    <h3 id="methods">
        Methods
    </h3>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="addInputListeners"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>addInputListeners</b></span>
                        <a href="#addInputListeners"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>addInputListeners()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="490"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:490</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handles the initialization of event listeners for the datepicker input and range input fields.</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="didDateValueChange"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>didDateValueChange</b></span>
                        <a href="#didDateValueChange"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>didDateValueChange(currentValue, previousValue)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="694"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:694</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>currentValue</td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                        <tr>
                                                <td>previousValue</td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="doSelect"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>doSelect</b></span>
                        <a href="#doSelect"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>doSelect(selectedValue: (Date | string)[])</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="671"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:671</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>selectedValue</td>
                                            <td>
                                                        <code>(Date | string)[]</code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="isFlatpickrLoaded"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>isFlatpickrLoaded</b></span>
                        <a href="#isFlatpickrLoaded"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>isFlatpickrLoaded()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="701"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:701</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>More advanced checking of the loaded state of flatpickr</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="leftArrowHTML"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>leftArrowHTML</b></span>
                        <a href="#leftArrowHTML"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>leftArrowHTML()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="720"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:720</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Left arrow HTML passed to flatpickr</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngAfterViewChecked"></a>
                    <span class="name">
                        <span ><b>ngAfterViewChecked</b></span>
                        <a href="#ngAfterViewChecked"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngAfterViewChecked()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="349"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:349</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngAfterViewInit"></a>
                    <span class="name">
                        <span ><b>ngAfterViewInit</b></span>
                        <a href="#ngAfterViewInit"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngAfterViewInit()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="334"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:334</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngOnChanges"></a>
                    <span class="name">
                        <span ><b>ngOnChanges</b></span>
                        <a href="#ngOnChanges"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnChanges(changes: SimpleChanges)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="316"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:316</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>changes</td>
                                            <td>
                                                        <code>SimpleChanges</code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngOnDestroy"></a>
                    <span class="name">
                        <span ><b>ngOnDestroy</b></span>
                        <a href="#ngOnDestroy"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnDestroy()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="421"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:421</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Cleans up our flatpickr instance</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="ngOnInit"></a>
                    <span class="name">
                        <span ><b>ngOnInit</b></span>
                        <a href="#ngOnInit"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>ngOnInit()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="305"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:305</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="onFocus"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>onFocus</b></span>
                        <a href="#onFocus"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>onFocus()</code>
                </td>
            </tr>

            <tr>
                <td class="col-md-4">
                    <b>Decorators : </b>
                    <br />
                    <code>@HostListener(&#x27;focusin&#x27;)<br /></code>
                </td>
            </tr>

                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="363"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:363</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="onFocusOut"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>onFocusOut</b></span>
                        <a href="#onFocusOut"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>onFocusOut()</code>
                </td>
            </tr>

            <tr>
                <td class="col-md-4">
                    <b>Decorators : </b>
                    <br />
                    <code>@HostListener(&#x27;focusout&#x27;)<br /></code>
                </td>
            </tr>

                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="378"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:378</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="onRangeValueChange"></a>
                    <span class="name">
                        <span ><b>onRangeValueChange</b></span>
                        <a href="#onRangeValueChange"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>onRangeValueChange(event: <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">
                            <div class="io-line">Defined in <a href="" data-line="444"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:444</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handles the <code>valueChange</code> event from the range input</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>event</td>
                                            <td>
                                                            <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="onValueChange"></a>
                    <span class="name">
                        <span ><b>onValueChange</b></span>
                        <a href="#onValueChange"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>onValueChange(event: <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">
                            <div class="io-line">Defined in <a href="" data-line="429"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:429</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handles the <code>valueChange</code> event from the primary/single input</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>event</td>
                                            <td>
                                                            <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="openCalendar"></a>
                    <span class="name">
                        <span ><b>openCalendar</b></span>
                        <a href="#openCalendar"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>openCalendar(datepickerInput: <a href="../components/DatePickerInput.html" target="_self">DatePickerInput</a>)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="455"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:455</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Handles opening the calendar &quot;properly&quot; when the calendar icon is clicked.</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>datepickerInput</td>
                                            <td>
                                                            <code><a href="../components/DatePickerInput.html" target="_self" >DatePickerInput</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="registerOnChange"></a>
                    <span class="name">
                        <span ><b>registerOnChange</b></span>
                        <a href="#registerOnChange"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>registerOnChange(fn: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="406"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:406</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>fn</td>
                                            <td>
                                                            <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="registerOnTouched"></a>
                    <span class="name">
                        <span ><b>registerOnTouched</b></span>
                        <a href="#registerOnTouched"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>registerOnTouched(fn: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="410"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:410</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>fn</td>
                                            <td>
                                                            <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="resetFlatpickrInstance"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>resetFlatpickrInstance</b></span>
                        <a href="#resetFlatpickrInstance"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>resetFlatpickrInstance(newDates?: SimpleChange)</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="547"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:547</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Resets the flatpickr instance while keeping the date values (or updating them if newDates is provided)</p>
<p>Used to pick up input changes or locale changes.</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Description</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>newDates</td>
                                            <td>
                                                        <code>SimpleChange</code>
                                            </td>

                                            <td>
                                                    Yes
                                            </td>


                                            <td>
                                                    <p>An optional SimpleChange of date values</p>

                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="rightArrowHTML"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>rightArrowHTML</b></span>
                        <a href="#rightArrowHTML"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>rightArrowHTML()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="709"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:709</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Right arrow HTML passed to flatpickr</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="setDateValues"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>setDateValues</b></span>
                        <a href="#setDateValues"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>setDateValues(dates: (Date | string)[])</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="621"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:621</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Applies the given date value array to both the flatpickr instance and the <code>input</code>(s)</p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Description</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>dates</td>
                                            <td>
                                                        <code>(Date | string)[]</code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                            <td>
                                                    <p>the date values to apply</p>

                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="setDisabledState"></a>
                    <span class="name">
                        <span ><b>setDisabledState</b></span>
                        <a href="#setDisabledState"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>setDisabledState(isDisabled: <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">
                            <div class="io-line">Defined in <a href="" data-line="402"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:402</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p><code>ControlValueAccessor</code> method to programmatically disable the DatePicker.</p>
<p>ex: <code>this.formGroup.get(&quot;myDatePicker&quot;).disable();</code></p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Description</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>isDisabled</td>
                                            <td>
                                                            <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                            <td>
                                                    <p><code>true</code> to disable the DatePicker</p>

                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="updateAttributes"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>updateAttributes</b></span>
                        <a href="#updateAttributes"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>updateAttributes()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="609"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:609</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="updateCalendarListeners"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>updateCalendarListeners</b></span>
                        <a href="#updateCalendarListeners"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>updateCalendarListeners()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="479"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:479</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="updateClassNames"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>updateClassNames</b></span>
                        <a href="#updateClassNames"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
                        <span class="modifier-icon icon ion-ios-reset"></span>
                    <code>updateClassNames()</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="563"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:563</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.</p>
</div>

                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                </td>
            </tr>
        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="writeValue"></a>
                    <span class="name">
                        <span ><b>writeValue</b></span>
                        <a href="#writeValue"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
            <tr>
                <td class="col-md-4">
<code>writeValue(value: (Date | string)[])</code>
                </td>
            </tr>


                    <tr>
                        <td class="col-md-4">
                            <div class="io-line">Defined in <a href="" data-line="386"
                                    class="link-to-prism">src/datepicker/datepicker.component.ts:386</a></div>
                        </td>
                    </tr>


            <tr>
                <td class="col-md-4">
                        <div class="io-description"><p>Writes a value from the model to the component. Expects the value to be <code>null</code> or <code>(Date | string)[]</code></p>
</div>

                            <div class="io-description">
                                <b>Parameters :</b>
                                
                                <table class="params">
                                    <thead>
                                        <tr>
                                            <td>Name</td>
                                                <td>Type</td>
                                            <td>Optional</td>
                                                <td>Description</td>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                                <td>value</td>
                                            <td>
                                                        <code>(Date | string)[]</code>
                                            </td>

                                            <td>
                                                    No
                                            </td>


                                            <td>
                                                    <p>value received from the model</p>

                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                            </div>
                        <div class="io-description">
                            <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                        </div>
                            <div class="io-description">
                                
                            </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="_flatpickrOptions"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>_flatpickrOptions</b></span>
                        <a href="#_flatpickrOptions"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../directives/Option.html" target="_self" >Partial&lt;Options&gt;</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>{
		allowInput: true
	}</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="263" class="link-to-prism">src/datepicker/datepicker.component.ts:263</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="_value"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>_value</b></span>
                        <a href="#_value"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>[]</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>[]</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="261" class="link-to-prism">src/datepicker/datepicker.component.ts:261</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="datePickerCount"></a>
                    <span class="name">
                            <span class="modifier">Private</span>
                            <span class="modifier">Static</span>
                        <span ><b>datePickerCount</b></span>
                        <a href="#datePickerCount"><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>0</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="129" class="link-to-prism">src/datepicker/datepicker.component.ts:129</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="flatpickrBaseOptions"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>flatpickrBaseOptions</b></span>
                        <a href="#flatpickrBaseOptions"><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>{
		mode: &quot;single&quot;,
		dateFormat: &quot;m/d/Y&quot;,
		plugins: this.plugins,
		onOpen: () &#x3D;&gt; {
			this.updateClassNames();
			this.updateAttributes();
			this.updateCalendarListeners();
		},
		onClose: (date) &#x3D;&gt; {
			// This makes sure that the &#x60;flatpickrInstance selectedDates&#x60; are in sync with the values of
			// the inputs when the calendar closes.
			if (this.range &amp;&amp; this.flatpickrInstance) {
				const inputValue &#x3D; this.input.input.nativeElement.value;
				const rangeInputValue &#x3D; this.rangeInput.input.nativeElement.value;
				if (inputValue || rangeInputValue) {
					const parseDate &#x3D; (date: string) &#x3D;&gt; this.flatpickrInstance.parseDate(date, this.dateFormat);
					this.setDateValues([parseDate(inputValue), parseDate(rangeInputValue || inputValue)]);
					this.doSelect(this.flatpickrInstance.selectedDates);
				}
			}
			this.onClose.emit(date);
		},
		onDayCreate: (_dObj, _dStr, _fp, dayElem) &#x3D;&gt; {
			dayElem.classList.add(&quot;cds--date-picker__day&quot;);
		},
		nextArrow: this.rightArrowHTML(),
		prevArrow: this.leftArrowHTML(),
		value: this.value
	}</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="267" class="link-to-prism">src/datepicker/datepicker.component.ts:267</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="flatpickrInstance"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>flatpickrInstance</b></span>
                        <a href="#flatpickrInstance"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>    <code>null</code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>null</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="298" class="link-to-prism">src/datepicker/datepicker.component.ts:298</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="input"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>input</b></span>
                        <a href="#input"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../components/DatePickerInput.html" target="_self" >DatePickerInput</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <b>Decorators : </b>
                        <br />
                        <code>
                            @ViewChild(&#x27;input&#x27;, {static: true})<br />
                        </code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="250" class="link-to-prism">src/datepicker/datepicker.component.ts:250</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="onTouched"></a>
                    <span class="name">
                        <span ><b>onTouched</b></span>
                        <a href="#onTouched"><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/function" target="_blank" >function</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Default value : </i><code>() &#x3D;&gt; {...}</code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="414" class="link-to-prism">src/datepicker/datepicker.component.ts:414</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="preventCalendarClose"></a>
                    <span class="name">
                            <span class="modifier">Protected</span>
                        <span ><b>preventCalendarClose</b></span>
                        <a href="#preventCalendarClose"><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>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="669" class="link-to-prism">src/datepicker/datepicker.component.ts:669</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="propagateChange"></a>
                    <span class="name">
                        <span ><b>propagateChange</b></span>
                        <a href="#propagateChange"><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>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="416" class="link-to-prism">src/datepicker/datepicker.component.ts:416</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
    <table class="table table-sm table-bordered">
        <tbody>
            <tr>
                <td class="col-md-4">
                    <a name="rangeInput"></a>
                    <span class="name">
                            <span class="modifier"></span>
                        <span ><b>rangeInput</b></span>
                        <a href="#rangeInput"><span class="icon ion-ios-link"></span></a>
                    </span>
                </td>
            </tr>
                <tr>
                    <td class="col-md-4">
                        <i>Type : </i>        <code><a href="../components/DatePickerInput.html" target="_self" >DatePickerInput</a></code>

                    </td>
                </tr>
                <tr>
                    <td class="col-md-4">
                        <b>Decorators : </b>
                        <br />
                        <code>
                            @ViewChild(&#x27;rangeInput&#x27;)<br />
                        </code>
                    </td>
                </tr>
                    <tr>
                        <td class="col-md-4">
                                <div class="io-line">Defined in <a href="" data-line="251" class="link-to-prism">src/datepicker/datepicker.component.ts:251</a></div>
                        </td>
                    </tr>


        </tbody>
    </table>
</section>

    <section data-compodoc="block-accessors">
    <h3 id="accessors">
        Accessors
    </h3>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="value"></a>
                        <span class="name"><b>value</b><a href="#value"><span class="icon ion-ios-link"></span></a></span>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>get</b><code>value()</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="177" class="link-to-prism">src/datepicker/datepicker.component.ts:177</a></div>
                                </td>
                            </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>set</b><code>value(v: (Date | string)[])</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="170" class="link-to-prism">src/datepicker/datepicker.component.ts:170</a></div>
                                </td>
                            </tr>
                    <tr>
                        <td class="col-md-4">

                                <div class="io-description">
                                        <b>Parameters :</b>
                                        <table class="params">
                                            <thead>
                                                <tr>
                                                    <td>Name</td>
                                                        <td>Type</td>
                                                    <td>Optional</td>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                    <tr>
                                                            <td>v</td>
                                                    
                                                            <td>
                                                                        <code>(Date | string)[]</code>
                                                            </td>
                                                    
                                                        <td>
                                                                No
                                                        </td>
                                                        
                                                    </tr>
                                            </tbody>
                                        </table>
                                </div>
                                <div>
                                </div>
                                <div class="io-description">
                                    <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                                </div>
                        </td>
                    </tr>
            </tbody>
        </table>
        <table class="table table-sm table-bordered">
            <tbody>
                <tr>
                    <td class="col-md-4">
                        <a name="flatpickrOptions"></a>
                        <span class="name"><b>flatpickrOptions</b><a href="#flatpickrOptions"><span class="icon ion-ios-link"></span></a></span>
                    </td>
                </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>get</b><code>flatpickrOptions()</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="233" class="link-to-prism">src/datepicker/datepicker.component.ts:233</a></div>
                                </td>
                            </tr>

                <tr>
                    <td class="col-md-4">
                        <span class="accessor"><b>set</b><code>flatpickrOptions(options: <a href="../directives/Option.html" target="_self">Partial&lt;Options&gt;</a>)</code></span>
                    </td>
                </tr>
                            <tr>
                                <td class="col-md-4">
                                    <div class="io-line">Defined in <a href="" data-line="230" class="link-to-prism">src/datepicker/datepicker.component.ts:230</a></div>
                                </td>
                            </tr>
                    <tr>
                        <td class="col-md-4">

                                <div class="io-description">
                                        <b>Parameters :</b>
                                        <table class="params">
                                            <thead>
                                                <tr>
                                                    <td>Name</td>
                                                        <td>Type</td>
                                                    <td>Optional</td>
                                                </tr>
                                            </thead>
                                            <tbody>
                                                    <tr>
                                                            <td>options</td>
                                                    
                                                            <td>
                                                                            <code><a href="../directives/Option.html" target="_self" >Partial&lt;Options&gt;</a></code>
                                                            </td>
                                                    
                                                        <td>
                                                                No
                                                        </td>
                                                        
                                                    </tr>
                                            </tbody>
                                        </table>
                                </div>
                                <div>
                                </div>
                                <div class="io-description">
                                    <b>Returns : </b>        <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>

                                </div>
                        </td>
                    </tr>
            </tbody>
        </table>
</section>
</div>


    <div class="tab-pane fade  tab-source-code" id="source">
        <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import {
	Component,
	Input,
	Output,
	EventEmitter,
	ViewEncapsulation,
	ElementRef,
	OnDestroy,
	HostListener,
	TemplateRef,
	OnChanges,
	SimpleChanges,
	AfterViewChecked,
	AfterViewInit,
	ViewChild,
	OnInit,
	SimpleChange
} from &quot;@angular/core&quot;;
import rangePlugin from &quot;flatpickr/dist/plugins/rangePlugin&quot;;
import flatpickr from &quot;flatpickr&quot;;
import { NG_VALUE_ACCESSOR } from &quot;@angular/forms&quot;;
import { carbonFlatpickrMonthSelectPlugin } from &quot;./carbon-flatpickr-month-select&quot;;
import * as languages from &quot;flatpickr/dist/l10n/index&quot;;
import { Options } from &quot;flatpickr/dist/types/options&quot;;
import { DatePickerInput } from &quot;carbon-components-angular/datepicker-input&quot;;
import { I18n } from &quot;carbon-components-angular/i18n&quot;;

/**
 * Due to type error, we have to use square brackets property accessor
 * There is a webpack issue when attempting to access exported languages from flatpickr l10n Angular 14+ apps
 * languages.default[locale] fails in app consuming CCA library but passes in test
 * languages.default.default[locale] fails in test but works in app consuming CCA library.
 *
 * To please both scenarios, we are adding a condition to prevent tests from failing
 */
if (languages.default?.default[&quot;en&quot;]?.weekdays) {
	(languages.default.default[&quot;en&quot;].weekdays.shorthand as string[]) &#x3D; languages.default.default[&quot;en&quot;].weekdays.longhand.map(day &#x3D;&gt; {
		if (day &#x3D;&#x3D;&#x3D; &quot;Thursday&quot;) {
			return &quot;Th&quot;;
		}
		return day.charAt(0);
	});
}

/**
 * Get started with importing the module:
 *
 * &#x60;&#x60;&#x60;typescript
 * import { DatePickerModule } from &#x27;carbon-components-angular&#x27;;
 * &#x60;&#x60;&#x60;
 *
 * [See demo](../../?path&#x3D;/story/components-date-picker--single)
 */
@Component({
	selector: &quot;cds-date-picker, ibm-date-picker&quot;,
	template: &#x60;
	&lt;div class&#x3D;&quot;cds--form-item&quot;&gt;
		&lt;div
			class&#x3D;&quot;cds--date-picker&quot;
			[ngClass]&#x3D;&quot;{
				&#x27;cds--date-picker--range&#x27; : range,
				&#x27;cds--date-picker--single&#x27; : !range,
				&#x27;cds--date-picker--light&#x27; : theme &#x3D;&#x3D;&#x3D; &#x27;light&#x27;,
				&#x27;cds--skeleton&#x27; : skeleton
			}&quot;&gt;
			&lt;div class&#x3D;&quot;cds--date-picker-container&quot;&gt;
				&lt;cds-date-picker-input
					#input
					[label]&#x3D;&quot;label&quot;
					[placeholder]&#x3D;&quot;placeholder&quot;
					[pattern]&#x3D;&quot;inputPattern&quot;
					[id]&#x3D;&quot;id + &#x27;-input&#x27;&quot;
					[size]&#x3D;&quot;size&quot;
					[type]&#x3D;&quot;(range ? &#x27;range&#x27; : &#x27;single&#x27;)&quot;
					[hasIcon]&#x3D;&quot;(range ? false : true)&quot;
					[disabled]&#x3D;&quot;disabled&quot;
					[readonly]&#x3D;&quot;readonly&quot;
					[invalid]&#x3D;&quot;invalid&quot;
					[invalidText]&#x3D;&quot;invalidText&quot;
					[warn]&#x3D;&quot;warn&quot;
					[warnText]&#x3D;&quot;warnText&quot;
					[skeleton]&#x3D;&quot;skeleton&quot;
					[helperText]&#x3D;&quot;helperText&quot;
					(valueChange)&#x3D;&quot;onValueChange($event)&quot;
					(click)&#x3D;&quot;openCalendar(input)&quot;&gt;
				&lt;/cds-date-picker-input&gt;
			&lt;/div&gt;

			&lt;div *ngIf&#x3D;&quot;range&quot; class&#x3D;&quot;cds--date-picker-container&quot;&gt;
				&lt;cds-date-picker-input
					#rangeInput
					[label]&#x3D;&quot;rangeLabel&quot;
					[placeholder]&#x3D;&quot;placeholder&quot;
					[pattern]&#x3D;&quot;inputPattern&quot;
					[id]&#x3D;&quot;id + &#x27;-rangeInput&#x27;&quot;
					[size]&#x3D;&quot;size&quot;
					[type]&#x3D;&quot;(range ? &#x27;range&#x27; : &#x27;single&#x27;)&quot;
					[hasIcon]&#x3D;&quot;(range ? true : null)&quot;
					[disabled]&#x3D;&quot;disabled&quot;
					[readonly]&#x3D;&quot;readonly&quot;
					[invalid]&#x3D;&quot;rangeInvalid&quot;
					[invalidText]&#x3D;&quot;rangeInvalidText&quot;
					[warn]&#x3D;&quot;rangeWarn&quot;
					[warnText]&#x3D;&quot;rangeWarnText&quot;
					[skeleton]&#x3D;&quot;skeleton&quot;
					[helperText]&#x3D;&quot;rangeHelperText&quot;
					(valueChange)&#x3D;&quot;onRangeValueChange($event)&quot;
					(click)&#x3D;&quot;openCalendar(rangeInput)&quot;&gt;
				&lt;/cds-date-picker-input&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&#x60;,
	providers: [
		{
			provide: NG_VALUE_ACCESSOR,
			useExisting: DatePicker,
			multi: true
		}
	],
	encapsulation: ViewEncapsulation.None
})
export class DatePicker implements
	OnInit,
	OnDestroy,
	OnChanges,
	AfterViewChecked,
	AfterViewInit {
	private static datePickerCount &#x3D; 0;

	/**
	 * Select calendar range mode
	 */
	@Input() range &#x3D; false;

	/**
	 * Format of date
	 *
	 * For reference: https://flatpickr.js.org/formatting/
	 */
	@Input() dateFormat &#x3D; &quot;m/d/Y&quot;;

	/**
	 * Language of the flatpickr calendar.
	 *
	 * For reference of the possible locales:
	 * https://github.com/flatpickr/flatpickr/blob/master/src/l10n/index.ts
	 */
	@Input() language &#x3D; &quot;en&quot;;

	@Input() label: string | TemplateRef&lt;any&gt;;
	@Input() helperText: string | TemplateRef&lt;any&gt;;
	@Input() rangeHelperText: string | TemplateRef&lt;any&gt;;
	@Input() rangeLabel: string;

	@Input() placeholder &#x3D; &quot;mm/dd/yyyy&quot;;

	/**
	 * Aria label added to datepicker&#x27;s calendar container.
	 */
	@Input() ariaLabel &#x3D; &quot;calendar container&quot;;

	/**
	 * The pattern for the underlying input element
	 */
	@Input() inputPattern &#x3D; &quot;^\\d{1,2}/\\d{1,2}/\\d{4}$&quot;;

	@Input() id &#x3D; &#x60;datepicker-${DatePicker.datePickerCount++}&#x60;;

	@Input() set value(v: (Date | string)[]) {
		if (!v) {
			v &#x3D; [];
		}
		this._value &#x3D; v;
	}

	get value() {
		return this._value;
	}

	/**
	 * @deprecated since v5 - Use &#x60;cdsLayer&#x60; directive instead
	 * Set to &#x60;&quot;light&quot;&#x60; to apply the light style
	 */
	@Input() theme: &quot;light&quot; | &quot;dark&quot; &#x3D; &quot;dark&quot;;

	@Input() disabled &#x3D; false;

	@Input() readonly &#x3D; false;
	/**
	 * Set to &#x60;true&#x60; to display the invalid state.
	 */
	@Input() invalid &#x3D; false;
	/**
	 * Value displayed if datepicker is in an invalid state.
	 */
	@Input() invalidText: string | TemplateRef&lt;any&gt;;
	/**
	  * Set to &#x60;true&#x60; to show a warning (contents set by warningText)
	  */
	@Input() warn &#x3D; false;
	/**
	 * Sets the warning text
	 */
	@Input() warnText: string | TemplateRef&lt;any&gt;;

	@Input() size: &quot;sm&quot; | &quot;md&quot; | &quot;lg&quot; &#x3D; &quot;md&quot;;
	/**
	 * Set to &#x60;true&#x60; to display the invalid state for the second datepicker input.
	 */
	@Input() rangeInvalid &#x3D; false;
	/**
	 * Value displayed if the second datepicker input is in an invalid state.
	 */
	@Input() rangeInvalidText: string | TemplateRef&lt;any&gt;;
	/**
	  * Set to &#x60;true&#x60; to show a warning in the second datepicker input (contents set by rangeWarningText)
	  */
	@Input() rangeWarn &#x3D; false;
	/**
	 * Sets the warning text for the second datepicker input
	 */
	@Input() rangeWarnText: string | TemplateRef&lt;any&gt;;

	@Input() skeleton &#x3D; false;

	@Input() plugins &#x3D; [];

	@Input()
	set flatpickrOptions(options: Partial&lt;Options&gt;) {
		this._flatpickrOptions &#x3D; Object.assign({}, this._flatpickrOptions, options);
	}
	get flatpickrOptions(): Partial&lt;Options&gt; {
		const plugins &#x3D; [...this.plugins, carbonFlatpickrMonthSelectPlugin];
		if (this.range) {
			plugins.push(rangePlugin({ input: &#x60;#${this.id}-rangeInput&#x60;, position: &quot;left&quot; }));
		}
		return Object.assign({}, this._flatpickrOptions, this.flatpickrBaseOptions, {
			mode: this.range ? &quot;range&quot; : &quot;single&quot;,
			plugins,
			dateFormat: this.dateFormat,
			locale: languages.default?.default[this.language] || languages.default[this.language],
			// Little trick force &quot;readonly mode&quot; on datepicker input.
			// Docs: Whether clicking on the input should open the picker.
			// You could disable this if you wish to open the calendar manually with.open().
			clickOpens: !this.readonly
		});
	}

	@ViewChild(&quot;input&quot;, { static: true }) input: DatePickerInput;
	@ViewChild(&quot;rangeInput&quot;) rangeInput: DatePickerInput;

	@Output() valueChange: EventEmitter&lt;any&gt; &#x3D; new EventEmitter();

	/**
	 * We are overriding onClose event even if users pass it via flatpickr options
	 * Emits an event when date picker closes
	 */
	@Output() onClose: EventEmitter&lt;any&gt; &#x3D; new EventEmitter();

	protected _value &#x3D; [];

	protected _flatpickrOptions: Partial&lt;Options&gt; &#x3D; {
		allowInput: true
	};

	protected flatpickrBaseOptions &#x3D; {
		mode: &quot;single&quot;,
		dateFormat: &quot;m/d/Y&quot;,
		plugins: this.plugins,
		onOpen: () &#x3D;&gt; {
			this.updateClassNames();
			this.updateAttributes();
			this.updateCalendarListeners();
		},
		onClose: (date) &#x3D;&gt; {
			// This makes sure that the &#x60;flatpickrInstance selectedDates&#x60; are in sync with the values of
			// the inputs when the calendar closes.
			if (this.range &amp;&amp; this.flatpickrInstance) {
				const inputValue &#x3D; this.input.input.nativeElement.value;
				const rangeInputValue &#x3D; this.rangeInput.input.nativeElement.value;
				if (inputValue || rangeInputValue) {
					const parseDate &#x3D; (date: string) &#x3D;&gt; this.flatpickrInstance.parseDate(date, this.dateFormat);
					this.setDateValues([parseDate(inputValue), parseDate(rangeInputValue || inputValue)]);
					this.doSelect(this.flatpickrInstance.selectedDates);
				}
			}
			this.onClose.emit(date);
		},
		onDayCreate: (_dObj, _dStr, _fp, dayElem) &#x3D;&gt; {
			dayElem.classList.add(&quot;cds--date-picker__day&quot;);
		},
		nextArrow: this.rightArrowHTML(),
		prevArrow: this.leftArrowHTML(),
		value: this.value
	};

	protected flatpickrInstance &#x3D; null;

	constructor(
		protected elementRef: ElementRef,
		protected i18n: I18n
	) { }

	ngOnInit() {
		// if i18n is set to anything other than en we&#x27;ll want to change the language
		// otherwise we&#x27;ll just use the local setting
		if (this.i18n.getLocale() !&#x3D;&#x3D; &quot;en&quot;) {
			this.i18n.getLocaleObservable().subscribe(locale &#x3D;&gt; {
				this.language &#x3D; locale;
				this.resetFlatpickrInstance();
			});
		}
	}

	ngOnChanges(changes: SimpleChanges) {
		// Reset the flatpickr instance on input changes that affect flatpickr.
		const flatpickrChangeKeys &#x3D; [
			&quot;range&quot;,
			&quot;dateFormat&quot;,
			&quot;language&quot;,
			&quot;id&quot;,
			&quot;value&quot;,
			&quot;plugins&quot;,
			&quot;flatpickrOptions&quot;,
			&quot;readonly&quot;
		];
		const changeKeys &#x3D; Object.keys(changes);
		if (changeKeys.some(key &#x3D;&gt; flatpickrChangeKeys.includes(key))) {
			this.resetFlatpickrInstance(changes.value);
		}
	}

	ngAfterViewInit() {
		if (!this.skeleton) {
			this.input.input.nativeElement.value &#x3D; this._value[0] ?? &quot;&quot;;
			if (this.range) {
				this.rangeInput.input.nativeElement.value &#x3D; this._value[1] ?? &quot;&quot;;
			}
		}
		setTimeout(() &#x3D;&gt; {
			this.addInputListeners();
		}, 0);
	}

	// because the actual view may be delayed in loading (think projection into a tab pane)
	// and because we rely on a library that operates outside the Angular view of the world
	// we need to keep trying to load the library, until the relevant DOM is actually live
	ngAfterViewChecked() {
		if (!this.isFlatpickrLoaded()) {
			// @ts-ignore ts is unhappy with the below call to &#x60;flatpickr&#x60;
			this.flatpickrInstance &#x3D; flatpickr(&#x60;#${this.id}-input&#x60;, this.flatpickrOptions);
			// if (and only if) the initialization succeeded, we can set the date values
			if (this.isFlatpickrLoaded()) {
				if (this.value.length &gt; 0) {
					this.setDateValues(this.value);
				}
			}
		}
	}

	@HostListener(&quot;focusin&quot;)
	onFocus() {
		// Updates the month manually when calendar mode is range because month
		// will not update properly without manually updating them on focus.
		if (this.range) {
			if (this.rangeInput.input.nativeElement &#x3D;&#x3D;&#x3D; document.activeElement &amp;&amp; this.flatpickrInstance.selectedDates[1]) {
				const currentMonth &#x3D; this.flatpickrInstance.selectedDates[1].getMonth();
				this.flatpickrInstance.changeMonth(currentMonth, false);
			} else if (this.input.input.nativeElement &#x3D;&#x3D;&#x3D; document.activeElement &amp;&amp; this.flatpickrInstance.selectedDates[0]) {
				const currentMonth &#x3D; this.flatpickrInstance.selectedDates[0].getMonth();
				this.flatpickrInstance.changeMonth(currentMonth, false);
			}
		}
	}

	@HostListener(&quot;focusout&quot;)
	onFocusOut() {
		this.onTouched();
	}

	/**
	 * Writes a value from the model to the component. Expects the value to be &#x60;null&#x60; or &#x60;(Date | string)[]&#x60;
	 * @param value value received from the model
	 */
	writeValue(value: (Date | string)[]) {
		this.value &#x3D; value;
		setTimeout(() &#x3D;&gt; {
			if (this.isFlatpickrLoaded() &amp;&amp; this.flatpickrInstance.config) {
				this.setDateValues(this.value);
			}
		});
	}

	/**
	 * &#x60;ControlValueAccessor&#x60; method to programmatically disable the DatePicker.
	 *
	 * ex: &#x60;this.formGroup.get(&quot;myDatePicker&quot;).disable();&#x60;
	 *
	 * @param isDisabled &#x60;true&#x60; to disable the DatePicker
	 */
	setDisabledState(isDisabled: boolean) {
		this.disabled &#x3D; isDisabled;
	}

	registerOnChange(fn: any) {
		this.propagateChange &#x3D; fn;
	}

	registerOnTouched(fn: any) {
		this.onTouched &#x3D; fn;
	}

	onTouched: () &#x3D;&gt; any &#x3D; () &#x3D;&gt; { };

	propagateChange &#x3D; (_: any) &#x3D;&gt; { };

	/**
	 * Cleans up our flatpickr instance
	 */
	ngOnDestroy() {
		if (!this.isFlatpickrLoaded()) { return; }
		this.flatpickrInstance.destroy();
	}

	/**
	 * Handles the &#x60;valueChange&#x60; event from the primary/single input
	 */
	onValueChange(event: string) {
		if (this.isFlatpickrLoaded()) {
			const date &#x3D; this.flatpickrInstance.parseDate(event, this.dateFormat);
			if (this.range) {
				this.setDateValues([date, this.flatpickrInstance.selectedDates[1]]);
			} else {
				this.setDateValues([date]);
			}
			this.doSelect(this.flatpickrInstance.selectedDates);
		}
	}

	/**
	 * Handles the &#x60;valueChange&#x60; event from the range input
	 */
	onRangeValueChange(event: string) {
		if (this.isFlatpickrLoaded() &amp;&amp; this.flatpickrInstance.isOpen) {
			const date &#x3D; this.flatpickrInstance.parseDate(event, this.dateFormat);
			this.setDateValues([this.flatpickrInstance.selectedDates[0], date]);
			this.doSelect(this.flatpickrInstance.selectedDates);
		}
	}

	/**
	 * Handles opening the calendar &quot;properly&quot; when the calendar icon is clicked.
	 */
	openCalendar(datepickerInput: DatePickerInput) {
		if (this.readonly || this.skeleton) {
			return;
		}

		if (this.range) {
			datepickerInput.input.nativeElement.click();

			// If the first input&#x27;s calendar icon is clicked when calendar is in range mode, then
			// the month and year needs to be manually changed to the current selected month and
			// year otherwise the calendar view will not be updated upon opening.
			if (datepickerInput &#x3D;&#x3D;&#x3D; this.input &amp;&amp; this.flatpickrInstance.selectedDates[0]) {
				const currentMonth &#x3D; this.flatpickrInstance.selectedDates[0].getMonth();

				this.flatpickrInstance.currentYear &#x3D; this.flatpickrInstance.selectedDates[0].getFullYear();
				this.flatpickrInstance.changeMonth(currentMonth, false);
			}
		} else {
			// Single-mode flatpickr handles mousedown but not click, so nativeElement.click() won&#x27;t
			// work when the calendar icon is clicked. In this case we simply use flatpickr.open().
			this.flatpickrInstance.open();
		}
	}

	protected updateCalendarListeners() {
		const calendarContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-calendar&quot;);
		Array.from(calendarContainer).forEach(calendar &#x3D;&gt; {
			calendar.removeEventListener(&quot;click&quot;, this.preventCalendarClose);
			calendar.addEventListener(&quot;click&quot;, this.preventCalendarClose);
		});
	}

	/**
	 * Handles the initialization of event listeners for the datepicker input and range input fields.
	 */
	protected addInputListeners() {
		if (!this.isFlatpickrLoaded()) {
			return;
		}

		// Allows focus transition from the datepicker input or range input field to
		// flatpickr calendar using a keyboard.
		const addFocusCalendarListener &#x3D; (element: HTMLInputElement) &#x3D;&gt; {
			element.addEventListener(&quot;keydown&quot;, (event: KeyboardEvent) &#x3D;&gt; {
				// Listeners are added just once, so a check is needed here.
				if (this.readonly) {
					return;
				}
				if (event.key &#x3D;&#x3D;&#x3D; &quot;Escape&quot;) {
					this.flatpickrInstance.close();
				}
				if (event.key &#x3D;&#x3D;&#x3D; &quot;ArrowDown&quot;) {
					if (!this.flatpickrInstance.isOpen) {
						this.flatpickrInstance.open();
					}

					const calendarContainer &#x3D; this.flatpickrInstance.calendarContainer;
					const dayElement &#x3D; calendarContainer &amp;&amp; calendarContainer.querySelector(&quot;.flatpickr-day[tabindex]&quot;);
					const selectedDateElem &#x3D; calendarContainer &amp;&amp; calendarContainer.querySelector(&quot;.selected&quot;);
					const todayDateElem &#x3D; calendarContainer &amp;&amp; calendarContainer.querySelector(&quot;.today&quot;);

					if (dayElement) {
						(todayDateElem || selectedDateElem || dayElement).focus();

						// If the user manually inputs a value into the date field and presses arrow down,
						// datepicker input onchange will be triggered when focus is removed from it and
						// &#x60;flatpickrInstance.setDate&#x60; and &#x60;flatpickrInstance.changeMonth&#x60; will be invoked
						// which will automatically change focus to the beginning of the document.
						if (document.activeElement !&#x3D;&#x3D; dayElement &amp;&amp; this.flatpickrInstance.selectedDateElem) {
							this.flatpickrInstance.selectedDateElem.focus();
						}
					}
				}
			});
		};

		if (this.input &amp;&amp; this.input.input) {
			addFocusCalendarListener(this.input.input.nativeElement);
		}

		if (this.rangeInput &amp;&amp; this.rangeInput.input) {
			addFocusCalendarListener(this.rangeInput.input.nativeElement);
		}
	}

	/**
	 * Resets the flatpickr instance while keeping the date values (or updating them if newDates is provided)
	 *
	 * Used to pick up input changes or locale changes.
	 *
	 * @param newDates An optional SimpleChange of date values
	 */
	protected resetFlatpickrInstance(newDates?: SimpleChange) {
		if (this.isFlatpickrLoaded()) {
			let dates &#x3D; this.flatpickrInstance.selectedDates;
			if (newDates &amp;&amp; this.didDateValueChange(newDates.currentValue, newDates.previousValue)) {
				dates &#x3D; newDates.currentValue;
			}
			// only reset the flatpickr instance on Input changes
			// @ts-ignore ts is unhappy with the below call to &#x60;flatpickr&#x60;
			this.flatpickrInstance &#x3D; flatpickr(&#x60;#${this.id}-input&#x60;, this.flatpickrOptions);
			this.setDateValues(dates);
		}
	}

	/**
	 * Carbon uses a number of specific classnames for parts of the flatpickr - this idempotent method applies them if needed.
	 */
	protected updateClassNames() {
		if (!this.elementRef) { return; }
		// get all the possible flatpickrs in the document - we need to add classes to (potentially) all of them
		const calendarContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-calendar&quot;);
		const monthContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-month&quot;);
		const weekdaysContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-weekdays&quot;);
		const weekdayContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-weekday&quot;);
		const daysContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-days&quot;);
		const dayContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-day&quot;);

		// add classes to lists of elements
		const addClassIfNotExists &#x3D; (classname: string, elementList: NodeListOf&lt;Element&gt;) &#x3D;&gt; {
			Array.from(elementList).forEach(element &#x3D;&gt; {
				if (!element.classList.contains(classname)) {
					element.classList.add(classname);
				}
			});
		};

		// add classes (but only if they don&#x27;t exist, small perf win)
		addClassIfNotExists(&quot;cds--date-picker__calendar&quot;, calendarContainer);
		addClassIfNotExists(&quot;cds--date-picker__month&quot;, monthContainer);
		addClassIfNotExists(&quot;cds--date-picker__weekdays&quot;, weekdaysContainer);
		addClassIfNotExists(&quot;cds--date-picker__days&quot;, daysContainer);

		// add weekday classes and format the text
		Array.from(weekdayContainer).forEach(element &#x3D;&gt; {
			element.innerHTML &#x3D; element.innerHTML.replace(/\s+/g, &quot;&quot;);
			element.classList.add(&quot;cds--date-picker__weekday&quot;);
		});

		// add day classes and special case the &quot;today&quot; element based on &#x60;this.value&#x60;
		Array.from(dayContainer).forEach(element &#x3D;&gt; {
			element.setAttribute(&quot;role&quot;, &quot;button&quot;);
			element.classList.add(&quot;cds--date-picker__day&quot;);
			if (!this.value) {
				return;
			}
			if (element.classList.contains(&quot;today&quot;) &amp;&amp; this.value.length &gt; 0) {
				element.classList.add(&quot;no-border&quot;);
			} else if (element.classList.contains(&quot;today&quot;) &amp;&amp; this.value.length &#x3D;&#x3D;&#x3D; 0) {
				element.classList.remove(&quot;no-border&quot;);
			}
		});
	}

	protected updateAttributes() {
		const calendarContainer &#x3D; document.querySelectorAll(&quot;.flatpickr-calendar&quot;);
		Array.from(calendarContainer).forEach(calendar &#x3D;&gt; {
			calendar.setAttribute(&quot;role&quot;, &quot;application&quot;);
			calendar.setAttribute(&quot;aria-label&quot;, this.ariaLabel);
		});
	}

	/**
	 * Applies the given date value array to both the flatpickr instance and the &#x60;input&#x60;(s)
	 * @param dates the date values to apply
	 */
	protected setDateValues(dates: (Date | string)[]) {
		if (this.isFlatpickrLoaded()) {
			const singleInput &#x3D; this.elementRef.nativeElement.querySelector(&#x60;#${this.id}-input&#x60;);
			const rangeInput &#x3D; this.elementRef.nativeElement.querySelector(&#x60;#${this.id}-rangeInput&#x60;);

			// &#x60;flatpickrInstance.setDate&#x60; removes the focus on the selected date element and will
			// automatically change focus to the beginning of the document. If a selected date is
			// focused before &#x60;flatpickrInstance.setDate&#x60; is invoked then it should remain focused.
			let shouldRefocusDateElement &#x3D; this.flatpickrInstance.selectedDateElem &#x3D;&#x3D;&#x3D; document.activeElement;

			// set the date on the instance
			this.flatpickrInstance.setDate(dates);

			if (shouldRefocusDateElement) {
				this.flatpickrInstance.selectedDateElem.focus();
			}

			// we can either set a date value or an empty string, so we start with an empty string
			let singleDate &#x3D; &quot;&quot;;
			// if date is a string, parse and format
			if (typeof this.flatpickrInstance.selectedDates[0] &#x3D;&#x3D;&#x3D; &quot;string&quot;) {
				singleDate &#x3D; this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
				singleDate &#x3D; this.flatpickrInstance.formatDate(singleDate, this.dateFormat);
			// if date is not a string we can assume it&#x27;s a Date and we should format
			} else if (!!this.flatpickrInstance.selectedDates[0]) {
				singleDate &#x3D; this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[0], this.dateFormat);
			}

			if (rangeInput) {
				// we can either set a date value or an empty string, so we start with an empty string
				let rangeDate &#x3D; &quot;&quot;;
				// if date is a string, parse and format
				if (typeof this.flatpickrInstance.selectedDates[1] &#x3D;&#x3D;&#x3D; &quot;string&quot;) {
					rangeDate &#x3D; this.flatpickrInstance.parseDate(this.flatpickrInstance.selectedDates[1].toString(), this.dateFormat);
					rangeDate &#x3D; this.flatpickrInstance.formatDate(rangeDate, this.dateFormat);
				// if date is not a string we can assume it&#x27;s a Date and we should format
				} else if (!!this.flatpickrInstance.selectedDates[1]) {
					rangeDate &#x3D; this.flatpickrInstance.formatDate(this.flatpickrInstance.selectedDates[1], this.dateFormat);
				}
				setTimeout(() &#x3D;&gt; {
					// apply the values
					rangeInput.value &#x3D; rangeDate;
					singleInput.value &#x3D; singleDate;
				});
			}
		}
	}

	protected preventCalendarClose &#x3D; event &#x3D;&gt; event.stopPropagation();

	protected doSelect(selectedValue: (Date | string)[]) {
		// In range mode, if a date is selected from the first calendar that is from the previous month,
		// the month will not be updated on the calendar until the calendar is re-opened.
		// This will make sure the calendar is updated with the correct month.
		if (this.range &amp;&amp; this.flatpickrInstance.selectedDates[0]) {
			const currentMonth &#x3D; this.flatpickrInstance.selectedDates[0].getMonth();

			// &#x60;flatpickrInstance.changeMonth&#x60; removes the focus on the selected date element and will
			// automatically change focus to the beginning of the document. If a selected date is
			// focused before &#x60;flatpickrInstance.changeMonth&#x60; is invoked then it should remain focused.
			let shouldRefocusDateElement &#x3D; this.flatpickrInstance.selectedDateElem &#x3D;&#x3D;&#x3D; document.activeElement;

			this.flatpickrInstance.changeMonth(currentMonth, false);

			if (shouldRefocusDateElement) {
				this.flatpickrInstance.selectedDateElem.focus();
			}

		}
		this.valueChange.emit(selectedValue);
		this.propagateChange(selectedValue);
	}

	protected didDateValueChange(currentValue, previousValue) {
		return currentValue[0] !&#x3D;&#x3D; previousValue[0] || currentValue[1] !&#x3D;&#x3D; previousValue[1];
	}

	/**
	 * More advanced checking of the loaded state of flatpickr
	 */
	protected isFlatpickrLoaded() {
		// cast the instance to a boolean, and some method that has to exist for the library to be loaded in this case &#x60;setDate&#x60;
		return !!this.flatpickrInstance &amp;&amp; !!this.flatpickrInstance.setDate;
	}

	/**
	 * Right arrow HTML passed to flatpickr
	 */
	protected rightArrowHTML() {
		return &#x60;
			&lt;svg width&#x3D;&quot;16px&quot; height&#x3D;&quot;16px&quot; viewBox&#x3D;&quot;0 0 16 16&quot;&gt;
				&lt;polygon points&#x3D;&quot;11,8 6,13 5.3,12.3 9.6,8 5.3,3.7 6,3 &quot;/&gt;
				&lt;rect width&#x3D;&quot;16&quot; height&#x3D;&quot;16&quot; style&#x3D;&quot;fill:none&quot; /&gt;
			&lt;/svg&gt;&#x60;;
	}

	/**
	 * Left arrow HTML passed to flatpickr
	 */
	protected leftArrowHTML() {
		return &#x60;
			&lt;svg width&#x3D;&quot;16px&quot; height&#x3D;&quot;16px&quot; viewBox&#x3D;&quot;0 0 16 16&quot;&gt;
				&lt;polygon points&#x3D;&quot;5,8 10,3 10.7,3.7 6.4,8 10.7,12.3 10,13 &quot;/&gt;
				&lt;rect width&#x3D;&quot;16&quot; height&#x3D;&quot;16&quot; style&#x3D;&quot;fill:none&quot; /&gt;
			&lt;/svg&gt;&#x60;;
	}
}
</code></pre>
    </div>



    <div class="tab-pane fade " id="tree">
        <div id="tree-container"></div>
        <div class="tree-legend">
            <div class="title">
                <b>Legend</b>
            </div>
            <div>
                <div class="color htmlelement"></div><span>Html element</span>
            </div>
            <div>
                <div class="color component"></div><span>Component</span>
            </div>
            <div>
                <div class="color directive"></div><span>Html element with directive</span>
            </div>
        </div>
    </div>

    
</div>

<script src="../js/libs/vis.min.js"></script>
<script src="../js/libs/htmlparser.js"></script>
<script src="../js/libs/deep-iterator.js"></script>
<script>
        var COMPONENT_TEMPLATE = '<div><div class="cds--form-item">	<div		class="cds--date-picker"		[ngClass]="{			\'cds--date-picker--range\' : range,			\'cds--date-picker--single\' : !range,			\'cds--date-picker--light\' : theme === \'light\',			\'cds--skeleton\' : skeleton		}">		<div class="cds--date-picker-container">			<cds-date-picker-input				#input				[label]="label"				[placeholder]="placeholder"				[pattern]="inputPattern"				[id]="id + \'-input\'"				[size]="size"				[type]="(range ? \'range\' : \'single\')"				[hasIcon]="(range ? false : true)"				[disabled]="disabled"				[readonly]="readonly"				[invalid]="invalid"				[invalidText]="invalidText"				[warn]="warn"				[warnText]="warnText"				[skeleton]="skeleton"				[helperText]="helperText"				(valueChange)="onValueChange($event)"				(click)="openCalendar(input)">			</cds-date-picker-input>		</div>		<div *ngIf="range" class="cds--date-picker-container">			<cds-date-picker-input				#rangeInput				[label]="rangeLabel"				[placeholder]="placeholder"				[pattern]="inputPattern"				[id]="id + \'-rangeInput\'"				[size]="size"				[type]="(range ? \'range\' : \'single\')"				[hasIcon]="(range ? true : null)"				[disabled]="disabled"				[readonly]="readonly"				[invalid]="rangeInvalid"				[invalidText]="rangeInvalidText"				[warn]="rangeWarn"				[warnText]="rangeWarnText"				[skeleton]="skeleton"				[helperText]="rangeHelperText"				(valueChange)="onRangeValueChange($event)"				(click)="openCalendar(rangeInput)">			</cds-date-picker-input>		</div>	</div></div></div>'
    var COMPONENTS = [{'name': 'Accordion', 'selector': 'cds-accordion, ibm-accordion'},{'name': 'AccordionItem', 'selector': 'cds-accordion-item, ibm-accordion-item'},{'name': 'ActionableNotification', 'selector': 'cds-actionable-notification, ibm-actionable-notification'},{'name': 'AlertModal', 'selector': 'cds-alert-modal, ibm-alert-modal'},{'name': 'BaseIconButton', 'selector': ''},{'name': 'BaseNotification', 'selector': ''},{'name': 'BaseTabHeader', 'selector': ''},{'name': 'Breadcrumb', 'selector': 'cds-breadcrumb, ibm-breadcrumb'},{'name': 'BreadcrumbItemComponent', 'selector': 'cds-breadcrumb-item, ibm-breadcrumb-item'},{'name': 'ButtonSet', 'selector': 'cds-button-set, ibm-button-set'},{'name': 'Checkbox', 'selector': 'cds-checkbox, ibm-checkbox'},{'name': 'ClickableTile', 'selector': 'cds-clickable-tile, ibm-clickable-tile'},{'name': 'CodeSnippet', 'selector': 'cds-code-snippet, ibm-code-snippet'},{'name': 'ComboBox', 'selector': 'cds-combo-box, ibm-combo-box'},{'name': 'ComboButtonComponent', 'selector': 'cds-combo-button'},{'name': 'ContainedList', 'selector': 'cds-contained-list, ibm-contained-list'},{'name': 'ContainedListItem', 'selector': 'cds-contained-list-item, ibm-contained-list-item'},{'name': 'ContentSwitcher', 'selector': 'cds-content-switcher, ibm-content-switcher'},{'name': 'ContextMenuComponent', 'selector': 'cds-menu, cds-context-menu, ibm-context-menu'},{'name': 'ContextMenuDividerComponent', 'selector': 'cds-menu-divider, cds-context-menu-divider, ibm-context-menu-divider'},{'name': 'ContextMenuGroupComponent', 'selector': 'cds-menu-group, cds-context-menu-group, ibm-context-menu-group'},{'name': 'ContextMenuItemComponent', 'selector': 'cds-menu-item, cds-context-menu-item, ibm-context-menu-item'},{'name': 'DatePicker', 'selector': 'cds-date-picker, ibm-date-picker'},{'name': 'DatePickerInput', 'selector': 'cds-date-picker-input, ibm-date-picker-input'},{'name': 'Dialog', 'selector': 'cds-dialog, ibm-dialog'},{'name': 'Documentation', 'selector': 'cds-documentation'},{'name': 'Dropdown', 'selector': 'cds-dropdown, ibm-dropdown'},{'name': 'DropdownList', 'selector': 'cds-dropdown-list, ibm-dropdown-list'},{'name': 'ExpandableTile', 'selector': 'cds-expandable-tile, ibm-expandable-tile'},{'name': 'FileComponent', 'selector': 'cds-file, ibm-file'},{'name': 'FileUploader', 'selector': 'cds-file-uploader, ibm-file-uploader'},{'name': 'Hamburger', 'selector': 'cds-hamburger, ibm-hamburger'},{'name': 'Header', 'selector': 'cds-header, ibm-header'},{'name': 'HeaderAction', 'selector': 'cds-header-action, ibm-header-action'},{'name': 'HeaderGlobal', 'selector': 'cds-header-global, ibm-header-global'},{'name': 'HeaderItem', 'selector': 'cds-header-item, ibm-header-item'},{'name': 'HeaderMenu', 'selector': 'cds-header-menu, ibm-header-menu'},{'name': 'HeaderNavigation', 'selector': 'cds-header-navigation, ibm-header-navigation'},{'name': 'IconButton', 'selector': 'cds-icon-button, ibm-icon-button'},{'name': 'InlineLoading', 'selector': 'cds-inline-loading, ibm-inline-loading'},{'name': 'Label', 'selector': 'cds-label, ibm-label'},{'name': 'ListColumn', 'selector': 'cds-list-column, ibm-list-column'},{'name': 'ListHeader', 'selector': 'cds-list-header, ibm-list-header'},{'name': 'ListRow', 'selector': 'cds-list-row, ibm-list-row'},{'name': 'Loading', 'selector': 'cds-loading, ibm-loading'},{'name': 'MenuButtonComponent', 'selector': 'cds-menu-button'},{'name': 'Modal', 'selector': 'cds-modal, ibm-modal'},{'name': 'ModalFooter', 'selector': 'cds-modal-footer, ibm-modal-footer'},{'name': 'ModalHeader', 'selector': 'cds-modal-header, ibm-modal-header'},{'name': 'Notification', 'selector': 'cds-notification, cds-inline-notification, ibm-notification, ibm-inline-notification'},{'name': 'NumberComponent', 'selector': 'cds-number, ibm-number'},{'name': 'OverflowMenu', 'selector': 'cds-overflow-menu, ibm-overflow-menu'},{'name': 'OverflowMenuCustomPane', 'selector': 'cds-overflow-custom-menu-pane, ibm-overflow-custom-menu-pane'},{'name': 'OverflowMenuOption', 'selector': 'cds-overflow-menu-option, ibm-overflow-menu-option'},{'name': 'OverflowMenuPane', 'selector': 'cds-overflow-menu-pane, ibm-overflow-menu-pane'},{'name': 'Overlay', 'selector': 'cds-overlay, ibm-overlay'},{'name': 'Pagination', 'selector': 'cds-pagination, ibm-pagination'},{'name': 'PaginationNav', 'selector': 'cds-pagination-nav, ibm-pagination-navm'},{'name': 'PaginationNavItem', 'selector': 'cds-pagination-nav-item, ibm-pagination-nav-item'},{'name': 'PaginationOverflow', 'selector': 'cds-pagination-overflow, ibm-pagination-overflow'},{'name': 'Panel', 'selector': 'cds-panel, ibm-panel'},{'name': 'PasswordInputLabelComponent', 'selector': 'cds-password-label, ibm-password-label'},{'name': 'Placeholder', 'selector': 'cds-placeholder, ibm-placeholder'},{'name': 'PopoverContent', 'selector': 'cds-popover-content, ibm-popover-content'},{'name': 'ProgressBar', 'selector': 'cds-progress-bar, ibm-progress-bar'},{'name': 'ProgressIndicator', 'selector': 'cds-progress-indicator, ibm-progress-indicator'},{'name': 'Radio', 'selector': 'cds-radio, ibm-radio'},{'name': 'RadioGroup', 'selector': 'cds-radio-group, ibm-radio-group'},{'name': 'Search', 'selector': 'cds-search, ibm-search'},{'name': 'Select', 'selector': 'cds-select, ibm-select'},{'name': 'SelectionTile', 'selector': 'cds-selection-tile, ibm-selection-tile'},{'name': 'SideNav', 'selector': 'cds-sidenav, ibm-sidenav'},{'name': 'SideNavItem', 'selector': 'cds-sidenav-item, ibm-sidenav-item'},{'name': 'SideNavMenu', 'selector': 'cds-sidenav-menu, ibm-sidenav-menu'},{'name': 'SkeletonPlaceholder', 'selector': 'cds-skeleton-placeholder, ibm-skeleton-placeholder'},{'name': 'SkeletonText', 'selector': 'cds-skeleton-text, ibm-skeleton-text'},{'name': 'Slider', 'selector': 'cds-slider, ibm-slider'},{'name': 'StructuredList', 'selector': 'cds-structured-list, ibm-structured-list'},{'name': 'SwitcherList', 'selector': 'cds-switcher-list, ibm-switcher-list'},{'name': 'SwitcherListItem', 'selector': 'cds-switcher-list-item, ibm-switcher-list-item'},{'name': 'Tab', 'selector': 'cds-tab, ibm-tab'},{'name': 'TabHeaderGroup', 'selector': 'cds-tab-header-group, ibm-tab-header-group'},{'name': 'TabHeaders', 'selector': 'cds-tab-headers, ibm-tab-headers'},{'name': 'Table', 'selector': 'cds-table, ibm-table'},{'name': 'TableBody', 'selector': '[cdsTableBody], [ibmTableBody]'},{'name': 'TableCheckbox', 'selector': '[cdsTableCheckbox], [ibmTableCheckbox]'},{'name': 'TableContainer', 'selector': 'cds-table-container, ibm-table-container'},{'name': 'TableData', 'selector': '[cdsTableData], [ibmTableData]'},{'name': 'TableExpandButton', 'selector': '[cdsTableExpandButton], [ibmTableExpandButton]'},{'name': 'TableExpandedRow', 'selector': '[cdsTableExpandedRow], [ibmTableExpandedRow]'},{'name': 'TableHead', 'selector': '[cdsTableHead], [ibmTableHead]'},{'name': 'TableHeadCell', 'selector': '[cdsTableHeadCell], [ibmTableHeadCell]'},{'name': 'TableHeadCheckbox', 'selector': '[cdsTableHeadCheckbox], [ibmTableHeadCheckbox]'},{'name': 'TableHeader', 'selector': 'cds-table-header, ibm-table-header'},{'name': 'TableHeadExpand', 'selector': '[cdsTableHeadExpand], [ibmTableHeadExpand]'},{'name': 'TableRadio', 'selector': '[cdsTableRadio], [ibmTableRadio]'},{'name': 'TableRowComponent', 'selector': '[cdsTableRow], [ibmTableRow]'},{'name': 'TableToolbar', 'selector': 'cds-table-toolbar, ibm-table-toolbar'},{'name': 'TableToolbarActions', 'selector': 'cds-table-toolbar-actions, ibm-table-toolbar-actions'},{'name': 'TableToolbarContent', 'selector': 'cds-table-toolbar-content, ibm-table-toolbar-content'},{'name': 'TableToolbarSearch', 'selector': 'cds-table-toolbar-search, ibm-table-toolbar-search'},{'name': 'Tabs', 'selector': 'cds-tabs, ibm-tabs'},{'name': 'TabSkeleton', 'selector': 'cds-tabs-skeleton, ibm-tabs-skeleton'},{'name': 'Tag', 'selector': 'cds-tag, ibm-tag'},{'name': 'TagFilter', 'selector': 'cds-tag-filter, ibm-tag-filter'},{'name': 'TagOperationalComponent', 'selector': 'cds-tag-operational, ibm-tag-operational'},{'name': 'TagSelectableComponent', 'selector': 'cds-tag-selectable, ibm-tag-selectable'},{'name': 'TextareaLabelComponent', 'selector': 'cds-textarea-label, ibm-textarea-label'},{'name': 'TextInputLabelComponent', 'selector': 'cds-text-label, ibm-text-label'},{'name': 'Tile', 'selector': 'cds-tile, ibm-tile'},{'name': 'TileGroup', 'selector': 'cds-tile-group, ibm-tile-group'},{'name': 'TimePicker', 'selector': 'cds-timepicker, ibm-timepicker'},{'name': 'TimePickerSelect', 'selector': 'cds-timepicker-select, ibm-timepicker-select'},{'name': 'Toast', 'selector': 'cds-toast, ibm-toast'},{'name': 'Toggle', 'selector': 'cds-toggle, ibm-toggle'},{'name': 'Toggletip', 'selector': 'cds-toggletip, ibm-toggletip'},{'name': 'Tooltip', 'selector': 'cds-tooltip, ibm-tooltip'},{'name': 'TooltipDefinition', 'selector': 'cds-tooltip-definition, ibm-tooltip-definition'},{'name': 'TreeNodeComponent', 'selector': 'cds-tree-node'},{'name': 'TreeViewComponent', 'selector': 'cds-tree-view'}];
    var DIRECTIVES = [{'name': 'AbstractDropdownView', 'selector': '[cdsAbstractDropdownView], [ibmAbstractDropdownView]'},{'name': 'ActionableButton', 'selector': '[cdsActionableButton], [ibmActionableButton]'},{'name': 'ActionableSubtitle', 'selector': '[cdsActionableSubtitle], [ibmActionableSubtitle]'},{'name': 'ActionableTitle', 'selector': '[cdsActionableTitle], [ibmActionableTitle]'},{'name': 'BaseModal', 'selector': '[cdsBaseModal], [ibmBaseModal]'},{'name': 'Button', 'selector': '[cdsButton], [ibmButton]'},{'name': 'ClickableTileIconDirective', 'selector': '[cdsClickableTileIcon], [ibmClickableTileIcon]'},{'name': 'ColumnDirective', 'selector': '[cdsCol], [ibmCol]'},{'name': 'ContentSwitcherOption', 'selector': '[cdsContentOption], [ibmContentOption]'},{'name': 'DialogDirective', 'selector': '[cdsDialog], [ibmDialog]'},{'name': 'ExpandableTileAboveFoldDirective', 'selector': '[cdsAboveFold], [ibmAboveFold]'},{'name': 'ExpandableTileBelowFoldDirective', 'selector': '[cdsBelowFold], [ibmBelowFold]'},{'name': 'ExpandedRowHover', 'selector': '[cdsExpandedRowHover], [ibmExpandedRowHover]'},{'name': 'GridDirective', 'selector': '[cdsGrid], [ibmGrid]'},{'name': 'IconDirective', 'selector': '[cdsIcon], [ibmIcon]'},{'name': 'LayerDirective', 'selector': '[cdsLayer], [ibmLayer]'},{'name': 'Link', 'selector': '[cdsLink], [ibmLink]'},{'name': 'LinkIconDirective', 'selector': '[ibmLinkIcon], [cdsLinkIcon]'},{'name': 'List', 'selector': '[cdsList], [ibmList]'},{'name': 'ListItemDirective', 'selector': '[cdsListItem], [ibmListItem]'},{'name': 'ModalContent', 'selector': '[cdsModalContent], [ibmModalContent]'},{'name': 'ModalContentText', 'selector': '[cdsModalContentText], [ibmModalContentText]'},{'name': 'ModalHeaderHeading', 'selector': '[cdsModalHeaderHeading], [ibmModalHeaderHeading]'},{'name': 'ModalHeaderLabel', 'selector': '[cdsModalHeaderLabel], [ibmModalHeaderLabel]'},{'name': 'NotificationSubtitle', 'selector': '[cdsNotificationSubtitle], [ibmNotificationSubtitle]'},{'name': 'NotificationTitle', 'selector': '[cdsNotificationTitle], [ibmNotificationTitle]'},{'name': 'OptGroup', 'selector': 'optgroup'},{'name': 'Option', 'selector': 'option'},{'name': 'OverflowMenuDirective', 'selector': '[cdsOverflowMenu], [ibmOverflowMenu]'},{'name': 'PasswordInput', 'selector': '[cdsPassword], [ibmPassword]'},{'name': 'PopoverContainer', 'selector': '[cdsPopover], [ibmPopover]'},{'name': 'RouterLinkExtendedDirective', 'selector': '[routerLink]'},{'name': 'RowDirective', 'selector': '[cdsRow], [ibmRow]'},{'name': 'ScrollableList', 'selector': '[cdsScrollableList], [ibmScrollableList]'},{'name': 'StackDirective', 'selector': '[cdsStack], [ibmStack]'},{'name': 'TabHeader', 'selector': '[cdsTabHeader], [ibmTabHeader]'},{'name': 'TableDirective', 'selector': '[cdsTable], [ibmTable]'},{'name': 'TableHeadCellLabel', 'selector': '[cdsTableHeadCellLabel], [ibmTableHeadCellLabel]'},{'name': 'TableHeaderDescription', 'selector': '[cdsTableHeaderDescription], [ibmTableHeaderDescription]'},{'name': 'TableHeaderTitle', 'selector': '[cdsTableHeaderTitle], [ibmTableHeaderTitle]'},{'name': 'TagIconDirective', 'selector': '[cdsTagIcon], [ibmTagIcon]'},{'name': 'TextArea', 'selector': '[cdsTextArea], [ibmTextArea]'},{'name': 'TextInput', 'selector': '[cdsText], [ibmText]'},{'name': 'ThemeDirective', 'selector': '[cdsTheme], [ibmTheme]'},{'name': 'ToastCaption', 'selector': '[cdsToastCaption], [ibmToastCaption]'},{'name': 'ToastSubtitle', 'selector': '[cdsToastSubtitle], [ibmToastSubtitle]'},{'name': 'ToastTitle', 'selector': '[cdsToastTitle], [ibmToastTitle]'},{'name': 'ToggletipAction', 'selector': '[cdsToggletipAction], [ibmToggletipAction]'},{'name': 'ToggletipButton', 'selector': '[cdsToggletipButton], [ibmToggletipButton]'},{'name': 'ToggletipContent', 'selector': '[cdsToggletipContent], [ibmToggletipContent]'},{'name': 'ToggletipLabel', 'selector': '[cdsToggletipLabel], [ibmToggletipLabel]'}];
    var ACTUAL_COMPONENT = {'name': 'DatePicker'};
</script>
<script src="../js/tree.js"></script>

















                   </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 = 'component';
            var COMPODOC_CURRENT_PAGE_URL = 'DatePicker.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>