UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

3 lines 159 kB
/*! For license information please see chunk.c6b80ec3c83fe89bf0a3.js.LICENSE.txt */
(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([[4632,8946,9146,1492,5814,4464],{21157:function(e,t,n){"use strict";n(43437);function i(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n/* Most common used flex styles*/\n<dom-module id="iron-flex">\n  <template>\n    <style>\n      .layout.horizontal,\n      .layout.vertical {\n        display: -ms-flexbox;\n        display: -webkit-flex;\n        display: flex;\n      }\n\n      .layout.inline {\n        display: -ms-inline-flexbox;\n        display: -webkit-inline-flex;\n        display: inline-flex;\n      }\n\n      .layout.horizontal {\n        -ms-flex-direction: row;\n        -webkit-flex-direction: row;\n        flex-direction: row;\n      }\n\n      .layout.vertical {\n        -ms-flex-direction: column;\n        -webkit-flex-direction: column;\n        flex-direction: column;\n      }\n\n      .layout.wrap {\n        -ms-flex-wrap: wrap;\n        -webkit-flex-wrap: wrap;\n        flex-wrap: wrap;\n      }\n\n      .layout.no-wrap {\n        -ms-flex-wrap: nowrap;\n        -webkit-flex-wrap: nowrap;\n        flex-wrap: nowrap;\n      }\n\n      .layout.center,\n      .layout.center-center {\n        -ms-flex-align: center;\n        -webkit-align-items: center;\n        align-items: center;\n      }\n\n      .layout.center-justified,\n      .layout.center-center {\n        -ms-flex-pack: center;\n        -webkit-justify-content: center;\n        justify-content: center;\n      }\n\n      .flex {\n        -ms-flex: 1 1 0.000000001px;\n        -webkit-flex: 1;\n        flex: 1;\n        -webkit-flex-basis: 0.000000001px;\n        flex-basis: 0.000000001px;\n      }\n\n      .flex-auto {\n        -ms-flex: 1 1 auto;\n        -webkit-flex: 1 1 auto;\n        flex: 1 1 auto;\n      }\n\n      .flex-none {\n        -ms-flex: none;\n        -webkit-flex: none;\n        flex: none;\n      }\n    </style>\n  </template>\n</dom-module>\n/* Basic flexbox reverse styles */\n<dom-module id="iron-flex-reverse">\n  <template>\n    <style>\n      .layout.horizontal-reverse,\n      .layout.vertical-reverse {\n        display: -ms-flexbox;\n        display: -webkit-flex;\n        display: flex;\n      }\n\n      .layout.horizontal-reverse {\n        -ms-flex-direction: row-reverse;\n        -webkit-flex-direction: row-reverse;\n        flex-direction: row-reverse;\n      }\n\n      .layout.vertical-reverse {\n        -ms-flex-direction: column-reverse;\n        -webkit-flex-direction: column-reverse;\n        flex-direction: column-reverse;\n      }\n\n      .layout.wrap-reverse {\n        -ms-flex-wrap: wrap-reverse;\n        -webkit-flex-wrap: wrap-reverse;\n        flex-wrap: wrap-reverse;\n      }\n    </style>\n  </template>\n</dom-module>\n/* Flexbox alignment */\n<dom-module id="iron-flex-alignment">\n  <template>\n    <style>\n      /**\n       * Alignment in cross axis.\n       */\n      .layout.start {\n        -ms-flex-align: start;\n        -webkit-align-items: flex-start;\n        align-items: flex-start;\n      }\n\n      .layout.center,\n      .layout.center-center {\n        -ms-flex-align: center;\n        -webkit-align-items: center;\n        align-items: center;\n      }\n\n      .layout.end {\n        -ms-flex-align: end;\n        -webkit-align-items: flex-end;\n        align-items: flex-end;\n      }\n\n      .layout.baseline {\n        -ms-flex-align: baseline;\n        -webkit-align-items: baseline;\n        align-items: baseline;\n      }\n\n      /**\n       * Alignment in main axis.\n       */\n      .layout.start-justified {\n        -ms-flex-pack: start;\n        -webkit-justify-content: flex-start;\n        justify-content: flex-start;\n      }\n\n      .layout.center-justified,\n      .layout.center-center {\n        -ms-flex-pack: center;\n        -webkit-justify-content: center;\n        justify-content: center;\n      }\n\n      .layout.end-justified {\n        -ms-flex-pack: end;\n        -webkit-justify-content: flex-end;\n        justify-content: flex-end;\n      }\n\n      .layout.around-justified {\n        -ms-flex-pack: distribute;\n        -webkit-justify-content: space-around;\n        justify-content: space-around;\n      }\n\n      .layout.justified {\n        -ms-flex-pack: justify;\n        -webkit-justify-content: space-between;\n        justify-content: space-between;\n      }\n\n      /**\n       * Self alignment.\n       */\n      .self-start {\n        -ms-align-self: flex-start;\n        -webkit-align-self: flex-start;\n        align-self: flex-start;\n      }\n\n      .self-center {\n        -ms-align-self: center;\n        -webkit-align-self: center;\n        align-self: center;\n      }\n\n      .self-end {\n        -ms-align-self: flex-end;\n        -webkit-align-self: flex-end;\n        align-self: flex-end;\n      }\n\n      .self-stretch {\n        -ms-align-self: stretch;\n        -webkit-align-self: stretch;\n        align-self: stretch;\n      }\n\n      .self-baseline {\n        -ms-align-self: baseline;\n        -webkit-align-self: baseline;\n        align-self: baseline;\n      }\n\n      /**\n       * multi-line alignment in main axis.\n       */\n      .layout.start-aligned {\n        -ms-flex-line-pack: start;  /* IE10 */\n        -ms-align-content: flex-start;\n        -webkit-align-content: flex-start;\n        align-content: flex-start;\n      }\n\n      .layout.end-aligned {\n        -ms-flex-line-pack: end;  /* IE10 */\n        -ms-align-content: flex-end;\n        -webkit-align-content: flex-end;\n        align-content: flex-end;\n      }\n\n      .layout.center-aligned {\n        -ms-flex-line-pack: center;  /* IE10 */\n        -ms-align-content: center;\n        -webkit-align-content: center;\n        align-content: center;\n      }\n\n      .layout.between-aligned {\n        -ms-flex-line-pack: justify;  /* IE10 */\n        -ms-align-content: space-between;\n        -webkit-align-content: space-between;\n        align-content: space-between;\n      }\n\n      .layout.around-aligned {\n        -ms-flex-line-pack: distribute;  /* IE10 */\n        -ms-align-content: space-around;\n        -webkit-align-content: space-around;\n        align-content: space-around;\n      }\n    </style>\n  </template>\n</dom-module>\n/* Non-flexbox positioning helper styles */\n<dom-module id="iron-flex-factors">\n  <template>\n    <style>\n      .flex,\n      .flex-1 {\n        -ms-flex: 1 1 0.000000001px;\n        -webkit-flex: 1;\n        flex: 1;\n        -webkit-flex-basis: 0.000000001px;\n        flex-basis: 0.000000001px;\n      }\n\n      .flex-2 {\n        -ms-flex: 2;\n        -webkit-flex: 2;\n        flex: 2;\n      }\n\n      .flex-3 {\n        -ms-flex: 3;\n        -webkit-flex: 3;\n        flex: 3;\n      }\n\n      .flex-4 {\n        -ms-flex: 4;\n        -webkit-flex: 4;\n        flex: 4;\n      }\n\n      .flex-5 {\n        -ms-flex: 5;\n        -webkit-flex: 5;\n        flex: 5;\n      }\n\n      .flex-6 {\n        -ms-flex: 6;\n        -webkit-flex: 6;\n        flex: 6;\n      }\n\n      .flex-7 {\n        -ms-flex: 7;\n        -webkit-flex: 7;\n        flex: 7;\n      }\n\n      .flex-8 {\n        -ms-flex: 8;\n        -webkit-flex: 8;\n        flex: 8;\n      }\n\n      .flex-9 {\n        -ms-flex: 9;\n        -webkit-flex: 9;\n        flex: 9;\n      }\n\n      .flex-10 {\n        -ms-flex: 10;\n        -webkit-flex: 10;\n        flex: 10;\n      }\n\n      .flex-11 {\n        -ms-flex: 11;\n        -webkit-flex: 11;\n        flex: 11;\n      }\n\n      .flex-12 {\n        -ms-flex: 12;\n        -webkit-flex: 12;\n        flex: 12;\n      }\n    </style>\n  </template>\n</dom-module>\n<dom-module id="iron-positioning">\n  <template>\n    <style>\n      .block {\n        display: block;\n      }\n\n      [hidden] {\n        display: none !important;\n      }\n\n      .invisible {\n        visibility: hidden !important;\n      }\n\n      .relative {\n        position: relative;\n      }\n\n      .fit {\n        position: absolute;\n        top: 0;\n        right: 0;\n        bottom: 0;\n        left: 0;\n      }\n\n      body.fullbleed {\n        margin: 0;\n        height: 100vh;\n      }\n\n      .scroll {\n        -webkit-overflow-scrolling: touch;\n        overflow: auto;\n      }\n\n      /* fixed position */\n      .fixed-bottom,\n      .fixed-left,\n      .fixed-right,\n      .fixed-top {\n        position: fixed;\n      }\n\n      .fixed-top {\n        top: 0;\n        left: 0;\n        right: 0;\n      }\n\n      .fixed-right {\n        top: 0;\n        right: 0;\n        bottom: 0;\n      }\n\n      .fixed-bottom {\n        right: 0;\n        bottom: 0;\n        left: 0;\n      }\n\n      .fixed-left {\n        top: 0;\n        bottom: 0;\n        left: 0;\n      }\n    </style>\n  </template>\n</dom-module>\n']);return i=function(){return e},e}var o=(0,n(50856).d)(i());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},38323:function(e,t,n){"use strict";n(43437);(0,n(9672).k)({is:"iron-media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",this.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}})},8878:function(e,t,n){"use strict";n(43437),n(8621),n(63207),n(30879),n(78814),n(60748),n(1656),n(57548),n(73962);var i=n(51644),o=n(26110),r=n(21006),a=n(98235),l=n(9672),s=n(87156),u=n(81668),c=n(50856);function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style include="paper-dropdown-menu-shared-styles"></style>\n\n    \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n    <span role="button"></span>\n    <paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" dynamic-align="[[dynamicAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat, verticalOffset)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]">\n      \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via <content> --\x3e\n      <div class="dropdown-trigger" slot="dropdown-trigger">\n        <paper-ripple></paper-ripple>\n        \x3c!-- paper-input has type="text" for a11y, do not remove --\x3e\n        <paper-input type="text" invalid="[[invalid]]" readonly disabled="[[disabled]]" value="[[value]]" placeholder="[[placeholder]]" error-message="[[errorMessage]]" always-float-label="[[alwaysFloatLabel]]" no-label-float="[[noLabelFloat]]" label="[[label]]">\n          \x3c!-- support hybrid mode: user might be using paper-input 1.x which distributes via <content> --\x3e\n          <iron-icon icon="paper-dropdown-menu:arrow-drop-down" suffix slot="suffix"></iron-icon>\n        </paper-input>\n      </div>\n      <slot id="content" name="dropdown-content" slot="dropdown-content"></slot>\n    </paper-menu-button>\n']);return d=function(){return e},e}(0,l.k)({_template:(0,c.d)(d()),is:"paper-dropdown-menu",behaviors:[i.P,o.a,r.V,a.x],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=(0,s.vz)(this.$.content).getDistributedNodes(),t=0,n=e.length;t<n;t++)if(e[t].nodeType===Node.ELEMENT_NODE)return e[t]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){u.nJ(e)===this&&this.open()},_selectedItemChanged:function(e){var t="";t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this.value=t,this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e,t){return t||(e?-4:8)},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)}})},33760:function(e,t,n){"use strict";n.d(t,{U:function(){return r}});n(43437);var i=n(51644),o=n(26110),r=[i.P,o.a,{hostAttributes:{role:"option",tabindex:"0"}}]},97968:function(e,t,n){"use strict";n(65660),n(15495),n(1656),n(47686);var i=document.createElement("template");i.setAttribute("style","display: none;"),i.innerHTML="<dom-module id=\"paper-item-shared-styles\">\n  <template>\n    <style>\n      :host, .paper-item {\n        display: block;\n        position: relative;\n        min-height: var(--paper-item-min-height, 48px);\n        padding: 0px 16px;\n      }\n\n      .paper-item {\n        @apply --paper-font-subhead;\n        border:none;\n        outline: none;\n        background: white;\n        width: 100%;\n        text-align: left;\n      }\n\n      :host([hidden]), .paper-item[hidden] {\n        display: none !important;\n      }\n\n      :host(.iron-selected), .paper-item.iron-selected {\n        font-weight: var(--paper-item-selected-weight, bold);\n\n        @apply --paper-item-selected;\n      }\n\n      :host([disabled]), .paper-item[disabled] {\n        color: var(--paper-item-disabled-color, var(--disabled-text-color));\n\n        @apply --paper-item-disabled;\n      }\n\n      :host(:focus), .paper-item:focus {\n        position: relative;\n        outline: 0;\n\n        @apply --paper-item-focused;\n      }\n\n      :host(:focus):before, .paper-item:focus:before {\n        @apply --layout-fit;\n\n        background: currentColor;\n        content: '';\n        opacity: var(--dark-divider-opacity);\n        pointer-events: none;\n\n        @apply --paper-item-focused-before;\n      }\n    </style>\n  </template>\n</dom-module>",document.head.appendChild(i.content)},53973:function(e,t,n){"use strict";n(43437),n(65660),n(97968);var i=n(9672),o=n(50856),r=n(33760);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style include="paper-item-shared-styles">\n      :host {\n        @apply --layout-horizontal;\n        @apply --layout-center;\n        @apply --paper-font-subhead;\n\n        @apply --paper-item;\n      }\n    </style>\n    <slot></slot>\n']);return a=function(){return e},e}(0,i.k)({_template:(0,o.d)(a()),is:"paper-item",behaviors:[r.U]})},37576:function(e,t,n){"use strict";n(85408);var i=n(50856);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-date-picker-overlay" theme-for="vaadin-date-picker-overlay">\n  <template>\n    <style include="material-overlay">\n      :host([fullscreen]) {\n        top: 0 !important;\n        right: 0 !important;\n        bottom: var(--vaadin-overlay-viewport-bottom) !important;\n        left: 0 !important;\n        align-items: stretch;\n        justify-content: stretch;\n      }\n\n      [part="overlay"] {\n        overflow: hidden;\n        -webkit-overflow-scrolling: auto;\n      }\n\n      :host(:not([fullscreen])) [part="overlay"] {\n        width: 360px;\n        max-height: 500px;\n        border-radius: 0 4px 4px;\n      }\n\n      :host(:not([fullscreen])[right-aligned]) [part="overlay"] {\n        border-radius: 4px 0 4px 4px;\n      }\n\n      :host(:not([fullscreen])[bottom-aligned]) [part="overlay"] {\n        border-radius: 4px;\n      }\n\n      :host(:not([fullscreen])[show-week-numbers]) [part="overlay"] {\n        width: 396px;\n      }\n\n      [part="content"] {\n        padding: 0;\n      }\n    </style>\n  </template>\n</dom-module>']);return o=function(){return e},e}var r=(0,i.d)(o());document.head.appendChild(r.content);var a=n(1335);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=f(e);if(t){var o=f(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return p(this,n)}}function p(e,t){return!t||"object"!==l(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(r,e);var t,n,i,o=d(r);function r(){return s(this,r),o.apply(this,arguments)}return t=r,i=[{key:"is",get:function(){return"vaadin-date-picker-overlay"}}],(n=null)&&u(t.prototype,n),i&&u(t,i),r}((0,n(16777).f)(a.G));customElements.define(h.is,h);n(85466),n(23799),n(8542),n(37365);function y(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-button" theme-for="vaadin-button">\n  <template>\n    <style>\n      :host {\n        padding: 8px;\n        min-width: 64px;\n        box-sizing: border-box;\n        display: inline-flex;\n        align-items: baseline;\n        justify-content: center;\n        border-radius: 4px;\n        color: var(--material-primary-text-color);\n        font-family: var(--material-font-family);\n        text-transform: uppercase;\n        font-size: var(--material-button-font-size);\n        line-height: 20px;\n        font-weight: 500;\n        letter-spacing: 0.05em;\n        white-space: nowrap;\n        overflow: hidden;\n        transition: box-shadow 0.2s;\n        -webkit-tap-highlight-color: transparent;\n        -webkit-font-smoothing: antialiased;\n        -moz-osx-font-smoothing: grayscale;\n      }\n\n      @-moz-document url-prefix() {\n        :host {\n          vertical-align: -13px;\n        }\n      }\n\n      :host::before,\n      :host::after {\n        content: "";\n        pointer-events: none;\n        position: absolute;\n        border-radius: inherit;\n        opacity: 0;\n        background-color: currentColor;\n      }\n\n      :host::before {\n        width: 100%;\n        height: 100%;\n        top: 0;\n        left: 0;\n        transition: opacity 0.5s;\n      }\n\n      :host::after {\n        border-radius: 50%;\n        width: 320px;\n        height: 320px;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        transition: all 0.9s;\n      }\n\n      [part="label"] ::slotted(*) {\n        vertical-align: middle;\n      }\n\n      :host(:hover)::before,\n      :host([focus-ring])::before {\n        opacity: 0.08;\n        transition-duration: 0.2s;\n      }\n\n      :host([active])::before {\n        opacity: 0.16;\n        transition: opacity 0.4s;\n      }\n\n      :host([active])::after {\n        transform: translate(-50%, -50%) scale(0.0000001); /* animation works weirdly with scale(0) */\n        opacity: 0.1;\n        transition: 0s;\n      }\n\n      :host(:hover:not([active]))::after {\n        transform: translate(-50%, -50%) scale(1);\n        opacity: 0;\n      }\n\n      :host([disabled]) {\n        pointer-events: none;\n        color: var(--material-disabled-text-color);\n      }\n\n      /* Contained and outline variants */\n      :host([theme~="contained"]),\n      :host([theme~="outlined"]) {\n        padding: 8px 16px;\n      }\n\n      :host([theme~="outlined"]) {\n        box-shadow: inset 0 0 0 1px var(--_material-button-outline-color, rgba(0, 0, 0, 0.2));\n      }\n\n      :host([theme~="contained"]:not([disabled])) {\n        background-color: var(--material-primary-color);\n        color: var(--material-primary-contrast-color);\n        box-shadow: var(--material-shadow-elevation-2dp);\n      }\n\n      :host([theme~="contained"][disabled]) {\n        background-color: var(--material-secondary-background-color);\n      }\n\n      :host([theme~="contained"]:hover) {\n        box-shadow: var(--material-shadow-elevation-4dp);\n      }\n\n      :host([theme~="contained"][active]) {\n        box-shadow: var(--material-shadow-elevation-8dp);\n      }\n\n      /* Icon alignment */\n\n      [part] ::slotted(iron-icon) {\n        display: block;\n        width: 18px;\n        height: 18px;\n      }\n\n      [part="prefix"] ::slotted(iron-icon) {\n        margin-right: 8px;\n        margin-left: -4px;\n      }\n\n      [part="suffix"] ::slotted(iron-icon) {\n        margin-left: 8px;\n        margin-right: -4px;\n      }\n\n      /* RTL specific styles */\n\n      :host([dir="rtl"])::before {\n        left: auto;\n        right: 0;\n      }\n\n      :host([dir="rtl"])::after {\n        left: auto;\n        right: 50%;\n        transform: translate(50%, -50%);\n      }\n\n      :host([active][dir="rtl"])::after {\n        transform: translate(50%, -50%) scale(0.0000001);\n      }\n\n      :host(:hover:not([active])[dir="rtl"])::after {\n        transform: translate(50%, -50%) scale(1);\n      }\n\n      :host([dir="rtl"]) [part="prefix"] ::slotted(iron-icon) {\n        margin-right: -4px;\n        margin-left: 8px;\n      }\n\n      :host([dir="rtl"]) [part="suffix"] ::slotted(iron-icon) {\n        margin-left: -4px;\n        margin-right: 8px;\n      }\n    </style>\n  </template>\n</dom-module>']);return y=function(){return e},e}var v=(0,i.d)(y());document.head.appendChild(v.content);var b=n(28426),m=n(60995),g=n(15520);function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function x(e,t,n){return(x="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=I(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function w(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function k(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function D(e,t,n){return t&&k(e.prototype,t),n&&k(e,n),e}function O(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&S(e,t)}function S(e,t){return(S=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=I(e);if(t){var o=I(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return C(this,n)}}function C(e,t){return!t||"object"!==_(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var P=function(e){return function(e){O(n,e);var t=E(n);function n(){return w(this,n),t.apply(this,arguments)}return D(n,[{key:"ready",value:function(){var e=this;this.addEventListener("focusin",(function(t){t.composedPath()[0]===e?e.contains(t.relatedTarget)||e._focus():-1===t.composedPath().indexOf(e.focusElement)||e.disabled||e._setFocused(!0)})),this.addEventListener("focusout",(function(t){return e._setFocused(!1)})),x(I(n.prototype),"ready",this).call(this);var t=function(e){e.composed||e.target.dispatchEvent(new CustomEvent(e.type,{bubbles:!0,composed:!0,cancelable:!1}))};this.shadowRoot.addEventListener("focusin",t),this.shadowRoot.addEventListener("focusout",t),this.addEventListener("keydown",(function(t){if(!t.defaultPrevented&&9===t.keyCode)if(t.shiftKey)e._isShiftTabbing=!0,HTMLElement.prototype.focus.apply(e),e._setFocused(!1),setTimeout((function(){return e._isShiftTabbing=!1}),0);else{var n=window.navigator.userAgent.match(/Firefox\/(\d\d\.\d)/);if(n&&parseFloat(n[1])>=63&&parseFloat(n[1])<66&&e.parentNode&&e.nextSibling){var i=document.createElement("input");i.style.position="absolute",i.style.opacity="0",i.tabIndex=e.tabIndex,e.parentNode.insertBefore(i,e.nextSibling),i.focus(),i.addEventListener("focusout",(function(){return e.parentNode.removeChild(i)}))}}})),this.autofocus&&!this.disabled&&window.requestAnimationFrame((function(){e._focus(),e._setFocused(!0),e.setAttribute("focus-ring","")})),this._boundKeydownListener=this._bodyKeydownListener.bind(this),this._boundKeyupListener=this._bodyKeyupListener.bind(this)}},{key:"connectedCallback",value:function(){x(I(n.prototype),"connectedCallback",this).call(this),document.body.addEventListener("keydown",this._boundKeydownListener,!0),document.body.addEventListener("keyup",this._boundKeyupListener,!0)}},{key:"disconnectedCallback",value:function(){x(I(n.prototype),"disconnectedCallback",this).call(this),document.body.removeEventListener("keydown",this._boundKeydownListener,!0),document.body.removeEventListener("keyup",this._boundKeyupListener,!0),this.hasAttribute("focused")&&this._setFocused(!1)}},{key:"_setFocused",value:function(e){e?this.setAttribute("focused",""):this.removeAttribute("focused"),e&&this._tabPressed?this.setAttribute("focus-ring",""):this.removeAttribute("focus-ring")}},{key:"_bodyKeydownListener",value:function(e){this._tabPressed=9===e.keyCode}},{key:"_bodyKeyupListener",value:function(){this._tabPressed=!1}},{key:"_focus",value:function(){this.focusElement&&!this._isShiftTabbing&&(this.focusElement.focus(),this._setFocused(!0))}},{key:"focus",value:function(){this.focusElement&&!this.disabled&&(this.focusElement.focus(),this._setFocused(!0))}},{key:"blur",value:function(){this.focusElement&&(this.focusElement.blur(),this._setFocused(!1))}},{key:"_disabledChanged",value:function(e){this.focusElement.disabled=e,e?(this.blur(),this._previousTabIndex=this.tabindex,this.tabindex=-1,this.setAttribute("aria-disabled","true")):(void 0!==this._previousTabIndex&&(this.tabindex=this._previousTabIndex),this.removeAttribute("aria-disabled"))}},{key:"_tabindexChanged",value:function(e){void 0!==e&&(this.focusElement.tabIndex=e),this.disabled&&this.tabindex&&(-1!==this.tabindex&&(this._previousTabIndex=this.tabindex),this.tabindex=e=void 0),window.ShadyDOM&&this.setProperties({tabIndex:e,tabindex:e})}},{key:"click",value:function(){this.disabled||x(I(n.prototype),"click",this).call(this)}},{key:"focusElement",get:function(){return window.console.warn("Please implement the 'focusElement' property in <".concat(this.localName,">")),this}}],[{key:"properties",get:function(){return{autofocus:{type:Boolean},_previousTabIndex:{type:Number},disabled:{type:Boolean,observer:"_disabledChanged",reflectToAttribute:!0},_isShiftTabbing:{type:Boolean}}}}]),n}(function(e){return function(e){O(n,e);var t=E(n);function n(){return w(this,n),t.apply(this,arguments)}return D(n,null,[{key:"properties",get:function(){var e={tabindex:{type:Number,value:0,reflectToAttribute:!0,observer:"_tabindexChanged"}};return window.ShadyDOM&&(e.tabIndex=e.tabindex),e}}]),n}(e)}(e))},T=n(21683),A=n(78956),j=n(93252),M=n(59898),R=/\/\*\*\s+vaadin-dev-mode:start([\s\S]*)vaadin-dev-mode:end\s+\*\*\//i,$=window.Vaadin&&window.Vaadin.Flow&&window.Vaadin.Flow.clients;function z(e,t){if("function"==typeof e){var n=R.exec(e.toString());if(n)try{e=new Function(n[1])}catch(i){console.log("vaadin-development-mode-detector: uncommentAndRun() failed",i)}return e(t)}}window.Vaadin=window.Vaadin||{};var F=function(e,t){if(window.Vaadin.developmentMode)return z(e,t)};function L(){}void 0===window.Vaadin.developmentMode&&(window.Vaadin.developmentMode=function(){try{return!!localStorage.getItem("vaadin.developmentmode.force")||["localhost","127.0.0.1"].indexOf(window.location.hostname)>=0&&($?!($&&Object.keys($).map((function(e){return $[e]})).filter((function(e){return e.productionMode})).length>0):!z((function(){return!0})))}catch(e){return!1}}());var B,V=function(){return F(L)};function Y(e){return(Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function q(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function W(e,t){return(W=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=X(e);if(t){var o=X(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return N(this,n)}}function N(e,t){return!t||"object"!==Y(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function K(e,t,n){return(K="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=X(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function X(e){return(X=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}window.Vaadin||(window.Vaadin={}),window.Vaadin.registrations=window.Vaadin.registrations||[],window.Vaadin.developmentModeCallback=window.Vaadin.developmentModeCallback||{},window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]=function(){V&&V()};var U=new Set,G=function(e){return function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&W(e,t)}(r,e);var t,n,i,o=H(r);function r(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),e=o.call(this),null===document.doctype&&console.warn('Vaadin components require the "standards mode" declaration. Please add <!DOCTYPE html> to the HTML document.'),e}return t=r,i=[{key:"finalize",value:function(){K(X(r),"finalize",this).call(this);var e=this.is;e&&!U.has(e)&&(window.Vaadin.registrations.push(this),U.add(e),window.Vaadin.developmentModeCallback&&(B=A.d.debounce(B,T.t$,(function(){window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]()})),(0,j.E)(B)))}}],(n=null)&&q(t.prototype,n),i&&q(t,i),r}((0,M.U)(e))},Q=n(81668);function J(e){return(J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Z(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style>\n      :host {\n        display: inline-block;\n        position: relative;\n        outline: none;\n        white-space: nowrap;\n      }\n\n      :host([hidden]) {\n        display: none !important;\n      }\n\n      /* Ensure the button is always aligned on the baseline */\n      .vaadin-button-container::before {\n        content: "\\2003";\n        display: inline-block;\n        width: 0;\n      }\n\n      .vaadin-button-container {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        text-align: center;\n        width: 100%;\n        height: 100%;\n        min-height: inherit;\n        text-shadow: inherit;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        user-select: none;\n      }\n\n      [part="prefix"],\n      [part="suffix"] {\n        flex: none;\n      }\n\n      [part="label"] {\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n      }\n\n      #button {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        cursor: inherit;\n      }\n    </style>\n    <div class="vaadin-button-container">\n      <div part="prefix">\n        <slot name="prefix"></slot>\n      </div>\n      <div part="label">\n        <slot></slot>\n      </div>\n      <div part="suffix">\n        <slot name="suffix"></slot>\n      </div>\n    </div>\n    <button id="button" type="button"></button>\n'],['\n    <style>\n      :host {\n        display: inline-block;\n        position: relative;\n        outline: none;\n        white-space: nowrap;\n      }\n\n      :host([hidden]) {\n        display: none !important;\n      }\n\n      /* Ensure the button is always aligned on the baseline */\n      .vaadin-button-container::before {\n        content: "\\\\2003";\n        display: inline-block;\n        width: 0;\n      }\n\n      .vaadin-button-container {\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        text-align: center;\n        width: 100%;\n        height: 100%;\n        min-height: inherit;\n        text-shadow: inherit;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        user-select: none;\n      }\n\n      [part="prefix"],\n      [part="suffix"] {\n        flex: none;\n      }\n\n      [part="label"] {\n        white-space: nowrap;\n        overflow: hidden;\n        text-overflow: ellipsis;\n      }\n\n      #button {\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        cursor: inherit;\n      }\n    </style>\n    <div class="vaadin-button-container">\n      <div part="prefix">\n        <slot name="prefix"></slot>\n      </div>\n      <div part="label">\n        <slot></slot>\n      </div>\n      <div part="suffix">\n        <slot name="suffix"></slot>\n      </div>\n    </div>\n    <button id="button" type="button"></button>\n']);return Z=function(){return e},e}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function ne(e,t,n){return(ne="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ae(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function ie(e,t){return(ie=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=ae(e);if(t){var o=ae(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return re(this,n)}}function re(e,t){return!t||"object"!==J(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ae(e){return(ae=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var le=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ie(e,t)}(a,e);var t,n,o,r=oe(a);function a(){return ee(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(Z())}},{key:"is",get:function(){return"vaadin-button"}},{key:"version",get:function(){return"2.3.0"}}],(n=[{key:"ready",value:function(){ne(ae(a.prototype),"ready",this).call(this),this.setAttribute("role","button"),this.$.button.setAttribute("role","presentation"),this._addActiveListeners(),window.ShadyDOM&&window.ShadyDOM.flush()}},{key:"disconnectedCallback",value:function(){ne(ae(a.prototype),"disconnectedCallback",this).call(this),this.hasAttribute("active")&&this.removeAttribute("active")}},{key:"_addActiveListeners",value:function(){var e=this;(0,Q.NH)(this,"down",(function(){return!e.disabled&&e.setAttribute("active","")})),(0,Q.NH)(this,"up",(function(){return e.removeAttribute("active")})),this.addEventListener("keydown",(function(t){return!e.disabled&&[13,32].indexOf(t.keyCode)>=0&&e.setAttribute("active","")})),this.addEventListener("keyup",(function(){return e.removeAttribute("active")})),this.addEventListener("blur",(function(){return e.removeAttribute("active")}))}},{key:"focusElement",get:function(){return this.$.button}}])&&te(t.prototype,n),o&&te(t,o),a}(G(P((0,g.T)((0,m._)(b.H3)))));function se(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-date-picker-overlay-content" theme-for="vaadin-date-picker-overlay-content">\n  <template>\n    <style>\n      :host {\n        font-family: var(--material-font-family);\n        font-size: var(--material-body-font-size);\n        -webkit-text-size-adjust: 100%;\n        line-height: 1.4;\n\n        /* FIXME(platosha): fix the core styles and remove this override. */\n        background: transparent;\n      }\n\n      :host([fullscreen]) {\n        position: absolute;\n      }\n\n      /* Fullscreen Toolbar */\n\n      [part="overlay-header"] {\n        display: flex;\n        align-items: baseline;\n        position: relative;\n        z-index: 2;\n        color: var(--material-body-text-color);\n        background: var(--material-secondary-background-color);\n        border-bottom: 2px solid var(--material-primary-color);\n        padding: 8px;\n        box-shadow: var(--material-shadow-elevation-4dp);\n      }\n\n      /* FIXME(platosha): fix the core styles and remove this override. */\n      [part="overlay-header"]:not([desktop]) {\n        padding-bottom: 8px;\n      }\n\n      [part="label"] {\n        padding: 0 8px;\n        flex: auto;\n      }\n\n      [part="clear-button"],\n      [part="toggle-button"] {\n        font-family: \'material-icons\';\n        font-size: var(--material-icon-font-size);\n        line-height: 24px;\n        width: 24px;\n        height: 24px;\n        text-align: center;\n      }\n\n      [part="clear-button"],\n      [part="toggle-button"],\n      [part="years-toggle-button"] {\n        padding: 8px;\n        color: var(--material-secondary-text-color);\n      }\n\n      [part="clear-button"]:hover,\n      [part="toggle-button"]:hover,\n      [part="years-toggle-button"]:hover {\n        color: inherit;\n      }\n\n      [part="clear-button"]::before {\n        content: var(--material-icons-clear);\n      }\n\n      [part="toggle-button"]::before {\n        content: var(--material-icons-calendar);\n      }\n\n      [part="years-toggle-button"] {\n        position: static;\n        padding: 4px 8px;\n        font-size: var(--material-body-font-size);\n        font-weight: 500;\n        line-height: 24px;\n        letter-spacing: 0.05em;\n        color: var(--material-secondary-text-color);\n      }\n\n      [part="years-toggle-button"]::before {\n        content: \'\';\n        display: none;\n      }\n\n      [part="years-toggle-button"]::after {\n        content: var(--material-icons-play);\n        display: inline-block;\n        width: 24px;\n        font-family: \'material-icons\';\n        font-size: var(--material-icon-font-size);\n        line-height: 24px;\n        text-align: center;\n        transition: transform 100ms cubic-bezier(.4, 0, .2, 1);\n      }\n\n      :host([years-visible]) [part="years-toggle-button"]::after {\n        transform: rotate(90deg);\n      }\n\n      /* Month scroller */\n\n      [part="months"] {\n        --vaadin-infinite-scroller-item-height: 320px;\n        text-align: center;\n      }\n\n      /* Year scroller */\n\n      [part="years"] {\n        z-index: 1;\n        background: var(--material-secondary-text-color);\n        color: var(--material-background-color);\n        text-align: center;\n      }\n\n      [part="years"]::before {\n        z-index: 2;\n        border: 0;\n        width: 8px;\n        height: 8px;\n        transform: translateX(-50%) rotate(-45deg);\n        background: var(--material-background-color);\n      }\n\n      :host([years-visible]) [part="years"]::after {\n        top: calc(20px + 16px);\n        height: calc(100% - 20px - 16px);\n      }\n\n      [part="year-number"] {\n        font-size: var(--material-small-font-size);\n        line-height: 10px; /* NOTE(platosha): chosen to align years to months */\n      }\n\n      [part="year-separator"] {\n        background-color: currentColor;\n        width: 4px;\n        height: 4px;\n        border-radius: 50%;\n        margin: calc(0.5 * var(--vaadin-infinite-scroller-item-height, 80px) - 0.5 * 10px - 0.5 * 4px) auto;\n      }\n\n      /* Bottom Bar */\n\n      [part="toolbar"] {\n        display: flex;\n        justify-content: flex-end;\n        padding: 8px 4px;\n        border-top: 1px solid var(--material-divider-color);\n      }\n\n      [part="cancel-button"] {\n        order: 1;\n      }\n\n      [part="today-button"] {\n        order: 2;\n      }\n\n      [part="today-button"],\n      [part="cancel-button"] {\n        margin: 0 4px;\n      }\n    </style>\n  </template>\n</dom-module>']);return se=function(){return e},e}customElements.define(le.is,le);var ue=(0,i.d)(se());document.head.appendChild(ue.content);n(38323);var ce=n(8621),de=n(23916),pe=n(62305);n(42173);function fe(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var he=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,n,i;return t=e,i=[{key:"_getISOWeekNumber",value:function(e){var t=e.getDay();0===t&&(t=7);var n=4-t,i=new Date(e.getTime()+24*n*3600*1e3),o=new Date(0,0);o.setFullYear(i.getFullYear());var r=i.getTime()-o.getTime(),a=Math.round(r/864e5);return Math.floor(a/7+1)}},{key:"_dateEquals",value:function(e,t){return e instanceof Date&&t instanceof Date&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}},{key:"_dateAllowed",value:function(e,t,n){return(!t||e>=t)&&(!n||e<=n)}},{key:"_getClosestDate",value:function(e,t){return t.filter((function(e){return void 0!==e})).reduce((function(t,n){return n?t?Math.abs(e.getTime()-n.getTime())<Math.abs(t.getTime()-e.getTime())?n:t:n:t}))}},{key:"_extractDateParts",value:function(e){return{day:e.getDate(),month:e.getMonth(),year:e.getFullYear()}}}],(n=null)&&fe(t.prototype,n),i&&fe(t,i),e}();function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ve(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style>\n      :host {\n        display: block;\n      }\n\n      [part="weekdays"],\n      #days {\n        display: flex;\n        flex-wrap: wrap;\n        flex-grow: 1;\n      }\n\n      #days-container,\n      #weekdays-container {\n        display: flex;\n      }\n\n      [part="week-numbers"] {\n        display: flex;\n        flex-direction: column;\n        justify-content: space-between;\n        flex-shrink: 0;\n      }\n\n      [part="week-numbers"][hidden],\n      [part="weekday"][hidden] {\n        display: none;\n      }\n\n      [part="weekday"],\n      [part="date"] {\n        /* Would use calc(100% / 7) but it doesn\'t work nice on IE */\n        width: 14.285714286%;\n      }\n\n      [part="weekday"]:empty,\n      [part="week-numbers"] {\n        width: 12.5%;\n        flex-shrink: 0;\n      }\n    </style>\n\n    <div part="month-header" role="heading">[[_getTitle(month, i18n.monthNames)]]</div>\n    <div id="monthGrid" on-tap="_handleTap" on-touchend="_preventDefault" on-touchstart="_onMonthGridTouchStart">\n      <div id="weekdays-container">\n        <div hidden="[[!_showWeekSeparator(showWeekNumbers, i18n.firstDayOfWeek)]]" part="weekday"></div>\n        <div part="weekdays">\n          <template is="dom-repeat" items="[[_getWeekDayNames(i18n.weekdays, i18n.weekdaysShort, showWeekNumbers, i18n.firstDayOfWeek)]]">\n            <div part="weekday" role="heading" aria-label$="[[item.weekDay]]">[[item.weekDayShort]]</div>\n          </template>\n        </div>\n      </div>\n      <div id="days-container">\n        <div part="week-numbers" hidden="[[!_showWeekSeparator(showWeekNumbers, i18n.firstDayOfWeek)]]">\n          <template is="dom-repeat" items="[[_getWeekNumbers(_days)]]">\n            <div part="week-number" role="heading" aria-label$="[[i18n.week]] [[item]]">[[item]]</div>\n          </template>\n        </div>\n        <div id="days">\n          <template is="dom-repeat" items="[[_days]]">\n            <div part="date" today$="[[_isToday(item)]]" selected$="[[_dateEquals(item, selectedDate)]]" focused$="[[_dateEquals(item, focusedDate)]]" date="[[item]]" disabled$="[[!_dateAllowed(item, minDate, maxDate)]]" role$="[[_getRole(item)]]" aria-label$="[[_getAriaLabel(item)]]" aria-disabled$="[[_getAriaDisabled(item, minDate, maxDate)]]">[[_getDate(item)]]</div>\n          </template>\n        </div>\n      </div>\n    </div>\n'],['\n    <style>\n      :host {\n        display: block;\n      }\n\n      [part="weekdays"],\n      #days {\n        display: flex;\n        flex-wrap: wrap;\n        flex-grow: 1;\n      }\n\n      #days-container,\n      #weekdays-container {\n        display: flex;\n      }\n\n      [part="week-numbers"] {\n        display: flex;\n        flex-direction: column;\n        justify-content: space-between;\n        flex-shrink: 0;\n      }\n\n      [part="week-numbers"][hidden],\n      [part="weekday"][hidden] {\n        display: none;\n      }\n\n      [part="weekday"],\n      [part="date"] {\n        /* Would use calc(100% / 7) but it doesn\'t work nice on IE */\n        width: 14.285714286%;\n      }\n\n      [part="weekday"]:empty,\n      [part="week-numbers"] {\n        width: 12.5%;\n        flex-shrink: 0;\n      }\n    </style>\n\n    <div part="month-header" role="heading">[[_getTitle(month, i18n.monthNames)]]</div>\n    <div id="monthGrid" on-tap="_handleTap" on-touchend="_preventDefault" on-touchstart="_onMonthGridTouchStart">\n      <div id="weekdays-container">\n        <div hidden="[[!_showWeekSeparator(showWeekNumbers, i18n.firstDayOfWeek)]]" part="weekday"></div>\n        <div part="weekdays">\n          <template is="dom-repeat" items="[[_getWeekDayNames(i18n.weekdays, i18n.weekdaysShort, showWeekNumbers, i18n.firstDayOfWeek)]]">\n            <div part="weekday" role="heading" aria-label\\$="[[item.weekDay]]">[[item.weekDayShort]]</div>\n          </template>\n        </div>\n      </div>\n      <div id="days-container">\n        <div part="week-numbers" hidden="[[!_showWeekSeparator(showWeekNumbers, i18n.firstDayOfWeek)]]">\n          <template is="dom-repeat" items="[[_getWeekNumbers(_days)]]">\n            <div part="week-number" role="heading" aria-label\\$="[[i18n.week]] [[item]]">[[item]]</div>\n          </template>\n        </div>\n        <div id="days">\n          <template is="dom-repeat" items="[[_days]]">\n            <div part="date" today\\$="[[_isToday(item)]]" selected\\$="[[_dateEquals(item, selectedDate)]]" focused\\$="[[_dateEquals(item, focusedDate)]]" date="[[item]]" disabled\\$="[[!_dateAllowed(item, minDate, maxDate)]]" role\\$="[[_getRole(item)]]" aria-label\\$="[[_getAriaLabel(item)]]" aria-disabled\\$="[[_getAriaDisabled(item, minDate, maxDate)]]">[[_getDate(item)]]</div>\n          </template>\n        </div>\n      </div>\n    </div>\n']);return ve=function(){return e},e}function be(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function me(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function ge(e,t){return(ge=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _e(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=we(e);if(t){var o=we(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return xe(this,n)}}function xe(e,t){return!t||"object"!==ye(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function we(e){return(we=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ke=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ge(e,t)}(a,e);var t,n,o,r=_e(a);function a(){return be(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(ve())}},{key:"is",get:function(){return"vaadin-month-calendar"}},{key:"properties",get:function(){return{month:{type:Date,value:new Date},selectedDate:{type:Date,notify:!0},focusedDate:Date,showWeekNumbers:{type:Boolean,value:!1},i18n:{type:Object},ignoreTaps:Boolean,_notTapping:Boolean,minDate:{type:Date,value:null},maxDate:{type:Date,value:null},_days:{type:Array,computed:"_getDays(month, i18n.firstDayOfWeek, minDate, maxDate)"},disabled:{type:Boolean,reflectToAttribute:!0,computed:"_isDisabled(month, minDate, maxDate)"}}}},{key:"observers",get:function(){return["_showWeekNumbersChanged(showWeekNumbers, i18n.firstDayOfWeek)"]}}],(n=[{key:"_dateEquals",value:function(e,t){return he._dateEquals(e,t)}},{key:"_dateAllowed",value:function(e,t,n){return he._dateAllowed(e,t,n)}},{key:"_isDisabled",value:function(e,t,n){var i=new Date(0,0);i.setFullYear(e.getFullYear()),i.setMonth(e.getMonth()),i.setDate(1);var o=new Date(0,0);return o.setFullYear(e.getFullYear()),o.setMonth(e.getMonth()+1),o.setDate(0),!(t&&n&&t.getMonth()===n.getMonth()&&t.getMonth()===e.getMonth()&&n.getDate()-t.getDate()>=0||this._dateAllowed(i,t,n)||this._dateAllowed(o,t,n))}},{key:"_getTitle",value:function(e,t){if(void 0!==e&&void 0!==t)return this.i18n.formatTitle(t[e.getMonth()],e.getFullYear())}},{key:"_onMonthGridTouchStart",value:function(){var e=this;this._notTapping=!1,setTimeout((function(){return e._notTapping=!0}),300)}},{key:"_dateAdd",value:function(e,t){e.setDate(e.getDate()+t)}},{key:"_applyFirstDayOfWeek",value:function(e,t){if(void 0!==e&&void 0!==t)return e.slice(t).concat(e.slice(0,t))}},{key:"_getWeekDayNames",value:function(e,t,n,i){if(void 0!==e&&void 0!==t&&void 0!==n&&void 0!==i)return e=this._applyFirstDayOfWeek(e,i),t=this._applyFirstDayOfWeek(t,i),e=e.map((function(e,n){return{weekDay:e,weekDayShort:t[n]}}))}},{key:"_getDate",value:function(e){return e?e.getDate():""}},{key:"_showWeekNumbersChanged",value:function(e,t){e&&1===t?this.setAttribute("week-numbers",""):this.removeAttribute("week-numbers")}},{key:"_showWeekSeparator",value:function(e,t){return e&&1===t}},{key:"_isToday",value:function(e){return this._dateEquals(new Date,e)}},{key:"_getDays",value:function(e,t){if(void 0!==e&&void 0!==t){var n=new Date(0,0);for(n.setFullYear(e.getFullYear()),n.setMonth(e.getMonth()),n.setDate(1);n.getDay()!==t;)this._dateAdd(n,-1);for(var i=[],o=n.getMonth(),r=e.getMonth();n.getMonth()===r||n.getMonth()===o;)i.push(n.getMonth()===r?new Date(n.getTime()):null),this._dateAdd(n,1);return i}}},{key:"_getWeekNumber",value:function(e,t){if(void 0!==e&&void 0!==t)return e||(e=t.reduce((function(e,t){return!e&&t?t:e}))),he._getISOWeekNumber(e)}},{key:"_getWeekNumbers",value:function(e){var t=this;return e.map((function(n){return t._getWeekNumber(n,e)})).filter((function(e,t,n){return n.indexOf(e)===t}))}},{key:"_handleTap",value:function(e){this.ignoreTaps||this._notTapping||!e.target.date||e.target.hasAttribute("disabled")||(this.selectedDate=e.target.date,this.dispatchEvent(new CustomEvent("date-tap",{bubbles:!0,composed:!0})))}},{key:"_preventDefault",value:function(e){e.preventDefault()}},{key:"_getRole",value:function(e){return e?"button":"presentation"}},{key:"_getAriaLabel",value:function(e){if(!e)return"";var t=this._getDate(e)+" "+this.i18n.monthNames[e.getMonth()]+" "+e.getFullYear()+", "+this.i18n.weekdays[e.getDay()];return this._isToday(e)&&(t+=", "+this.i18n.today),t}},{key:"_getAriaDisabled",value:function(e,t,n){if(void 0!==e&&void 0!==t&&void 0!==n)return this._dateAllowed(e,t,n)?"false":"true"}}])&&me(t.prototype,n),o&&me(t,o),a}((0,g.T)((0,m._)(b.H3)));customElements.define(ke.is,ke);var De=n(52521),Oe=n(87529);function Se(e){return(Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ee(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style>\n      :host {\n        display: block;\n        overflow: hidden;\n        height: 500px;\n      }\n\n      #scroller {\n        position: relative;\n        height: 100%;\n        overflow: auto;\n        outline: none;\n        margin-right: -40px;\n        -webkit-overflow-scrolling: touch;\n        -ms-overflow-style: none;\n        overflow-x: hidden;\n      }\n\n      #scroller.notouchscroll {\n        -webkit-overflow-scrolling: auto;\n      }\n\n      #scroller::-webkit-scrollbar {\n        display: none;\n      }\n\n      .buffer {\n        position: absolute;\n        width: var(--vaadin-infinite-scroller-buffer-width, 100%);\n        box-sizing: border-box;\n        padding-right: 40px;\n        top: var(--vaadin-infinite-scroller-buffer-offset, 0);\n        animation: fadein 0.2s;\n      }\n\n      @keyframes fadein {\n        from { opacity: 0; }\n        to { opacity: 1; }\n      }\n    </style>\n\n    <div id="scroller" on-scroll="_scroll">\n      <div class="buffer"></div>\n      <div class="buffer"></div>\n      <div id="fullHeight"></div>\n    </div>\n']);return Ee=function(){return e},e}function Ce(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ie(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Pe(e,t,n){return(Pe="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Me(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function Te(e,t){return(Te=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ae(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Me(e);if(t){var o=Me(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return je(this,n)}}function je(e,t){return!t||"object"!==Se(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Me(e){return(Me=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Re=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Te(e,t)}(a,e);var t,n,o,r=Ae(a);function a(){return Ce(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(Ee())}},{key:"is",get:function(){return"vaadin-infinite-scroller"}},{key:"properties",get:function(){return{bufferSize:{type:Number,value:20},_initialScroll:{value:5e5},_initialIndex:{value:0},_buffers:Array,_preventScrollEvent:Boolean,_mayHaveMomentum:Boolean,_initialized:Boolean,active:{type:Boolean,observer:"_activated"}}}}],(n=[{key:"ready",value:function(){Pe(Me(a.prototype),"ready",this).call(this),this._buffers=Array.prototype.slice.call(this.root.querySelectorAll(".buffer")),this.$.fullHeight.style.height=2*this._initialScroll+"px";var e=this.querySelector("template");this._TemplateClass=(0,De.Uv)(e,this,{forwardHostProp:function(e,t){"index"!==e&&this._buffers.forEach((function(n){[].forEach.call(n.children,(function(n){n._itemWrapper.instance[e]=t}))}))}}),navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&(this.$.scroller.tabIndex=-1)}},{key:"_activated",value:function(e){e&&!this._initialized&&(this._createPool(),this._initialized=!0)}},{key:"_finishInit",value:function(){var e=this;this._initDone||(this._buffers.forEach((function(t){[].forEach.call(t.children,(function(t){return e._ensureStampedInstance(t._itemWrapper)}))}),this),this._buffers[0].translateY||this._reset(),this._initDone=!0)}},{key:"_translateBuffer",value:function(e){var t=e?1:0;this._buffers[t].translateY=this._buffers[t?0:1].translateY+this._bufferHeight*(t?-1:1),this._buffers[t].style.transform="translate3d(0, "+this._buffers[t].translateY+"px, 0)",this._buffers[t].updated=!1,this._buffers.reverse()}},{key:"_scroll",value:function(){var e=this;if(!this._scrollDisabled){var t=this.$.scroller.scrollTop;(t<this._bufferHeight||t>2*this._initialScroll-this._bufferHeight)&&(this._initialIndex=~~this.position,this._reset());var n=this.root.querySelector(".buffer").offsetTop,i=t>this._buffers[1].translateY+this.itemHeight+n,o=t<this._buffers[0].translateY+this.itemHeight+n;(i||o)&&(this._translateBuffer(o),this._updateClones()),this._preventScrollEvent||(this.dispatchEvent(new CustomEvent("custom-scroll",{bubbles:!1,composed:!0})),this._mayHaveMomentum=!0),this._preventScrollEvent=!1,this._debouncerScrollFinish=A.d.debounce(this._debouncerScrollFinish,T.Wc.after(200),(function(){var t=e.$.scroller.getBoundingClientRect();e._isVisible(e._buffers[0],t)||e._isVisible(e._buffers[1],t)||(e.position=e.position)}))}}},{key:"_reset",value:function(){var e=this;this._scrollDisabled=!0,this.$.scroller.scrollTop=this._initialScroll,this._buffers[0].translateY=this._initialScroll-this._bufferHeight,this._buffers[1].translateY=this._initialScroll,this._buffers.forEach((function(e){e.style.transform="translate3d(0, "+e.translateY+"px, 0)"})),this._buffers[0].updated=this._buffers[1].updated=!1,this._updateClones(!0),this._debouncerUpdateClones=A.d.debounce(this._debouncerUpdateClones,T.Wc.after(200),(function(){e._buffers[0].updated=e._buffers[1].updated=!1,e._updateClones()})),this._scrollDisabled=!1}},{key:"_createPool",value:function(){var e=this,t=this.getBoundingClientRect();this._buffers.forEach((function(n){for(var i=function(){var i=document.createElement("div");i.style.height=e.itemHeight+"px",i.instance={};var o="vaadin-infinite-scroller-item-content-"+(a._contentIndex=a._contentIndex+1||0),r=document.createElement("slot");r.setAttribute("name",o),r._itemWrapper=i,n.appendChild(r),i.setAttribute("slot",o),e.appendChild(i),(0,j.y)(),setTimeout((function(){e._isVisible(i,t)&&e._ensureStampedInstance(i)}),1)},o=0;o<e.bufferSize;o++)i()}),this),setTimeout((function(){(0,Oe.T8)(e,e._finishInit.bind(e))}),1)}},{key:"_ensureStampedInstance",value:function(e){if(!e.firstElementChild){var t=e.instance;e.instance=new this._TemplateClass({}),e.appendChild(e.instance.root),Object.keys(t).forEach((function(n){e.instance.set(n,t[n])}))}}},{key:"_updateClones",value:function(e){var t=this;this._firstIndex=~~((this._buffers[0].translateY-this._initialScroll)/this.itemHeight)+this._initialIndex;var n=e?this.$.scroller.getBoundingClientRect():void 0;this._buffers.forEach((function(i,o){if(!i.updated){var r=t._firstIndex+t.bufferSize*o;[].forEach.call(i.children,(function(i,o){var a=i._itemWrapper;e&&!t._isVisible(a,n)||(a.instance.index=r+o)})),i.updated=!0}}),this)}},{key:"_isVisible",value:function(e,t){var n=e.getBoundingClientRect();return n.bottom>t.top&&n.top<t.bottom}},{key:"position",set:function(e){var t=this;this._preventScrollEvent=!0,e>this._firstIndex&&e<this._firstIndex+2*this.bufferSize?this.$.scroller.scrollTop=this.itemHeight*(e-this._firstIndex)+this._buffers[0].translateY:(this._initialIndex=~~e,this._reset(),this._scrollDisabled=!0,this.$.scroller.scrollTop+=e%1*this.itemHeight,this._scrollDisabled=!1),this._mayHaveMomentum&&(this.$.scroller.classList.add("notouchscroll"),this._mayHaveMomentum=!1,setTimeout((function(){t.$.scroller.classList.remove("notouchscroll")}),10))},get:function(){return(this.$.scroller.scrollTop-this._buffers[0].translateY)/this.itemHeight+this._firstIndex}},{key:"itemHeight",get:function(){if(!this._itemHeightVal){window.ShadyCSS&&window.ShadyCSS.nativeCss||this.updateStyles();var e=window.ShadyCSS?window.ShadyCSS.getComputedStyleValue(this,"--vaadin-infinite-scroller-item-height"):getComputedStyle(this).getPropertyValue("--vaadin-infinite-scroller-item-height"),t="background-position";this.$.fullHeight.style.setProperty(t,e);var n=getComputedStyle(this.$.fullHeight).getPropertyValue(t);this.$.fullHeight.style.removeProperty(t),this._itemHeightVal=parseFloat(n)}return this._itemHeightVal}},{key:"_bufferHeight",get:function(){return this.itemHeight*this.bufferSize}}])&&Ie(t.prototype,n),o&&Ie(t,o),a}(b.H3);customElements.define(Re.is,Re);n(5618);var $e=document.createElement("template");function ze(e){return(ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fe(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style>\n      :host {\n        display: flex;\n        flex-direction: column;\n        height: 100%;\n        width: 100%;\n        outline: none;\n        background: #fff;\n      }\n\n      [part="overlay-header"] {\n        display: flex;\n        flex-shrink: 0;\n        flex-wrap: nowrap;\n        align-items: center;\n      }\n\n      :host(:not([fullscreen])) [part="overlay-header"] {\n        display: none;\n      }\n\n      [part="label"] {\n        flex-grow: 1;\n      }\n\n      [part="clear-button"]:not([showclear]) {\n        display: none;\n      }\n\n      [part="years-toggle-button"] {\n        display: flex;\n      }\n\n      [part="years-toggle-button"][desktop] {\n        display: none;\n      }\n\n      :host(:not([years-visible])) [part="years-toggle-button"]::before {\n        transform: rotate(180deg);\n      }\n\n      #scrollers {\n        display: flex;\n        height: 100%;\n        width: 100%;\n        position: relative;\n        overflow: hidden;\n      }\n\n      [part="months"],\n      [part="years"] {\n        height: 100%;\n      }\n\n      [part="months"] {\n        --vaadin-infinite-scroller-item-height: 270px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n      }\n\n      #scrollers[desktop] [part="months"] {\n        right: 50px;\n        transform: none !important;\n      }\n\n      [part="years"] {\n        --vaadin-infinite-scroller-item-height: 80px;\n        width: 50px;\n        position: absolute;\n        right: 0;\n        transform: translateX(100%);\n        -webkit-tap-highlight-color: transparent;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        -ms-user-select: none;\n        user-select: none;\n        /* Center the year scroller position. */\n        --vaadin-infinite-scroller-buffer-offset: 50%;\n      }\n\n      #scrollers[desktop] [part="years"] {\n        position: absolute;\n        transform: none !important;\n      }\n\n      [part="years"]::before {\n        content: \'\';\n        display: block;\n        background: transparent;\n        width: 0;\n        height: 0;\n        position: absolute;\n        left: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        border-width: 6px;\n        border-style: solid;\n        border-color: transparent;\n        border-left-color: #000;\n      }\n\n      :host(.animate) [part="months"],\n      :host(.animate) [part="years"] {\n        transition: all 200ms;\n      }\n\n      [part="toolbar"] {\n        display: flex;\n        justify-content: space-between;\n        z-index: 2;\n        flex-shrink: 0;\n      }\n\n      [part~="overlay-header"]:not([desktop]) {\n        padding-bottom: 40px;\n      }\n\n      [part~="years-toggle-button"] {\n        position: absolute;\n        top: auto;\n        right: 8px;\n        bottom: 0;\n        z-index: 1;\n        padding: 8px;\n      }\n\n      #announcer {\n        display: inline-block;\n        position: fixed;\n        clip: rect(0, 0, 0, 0);\n        clip-path: inset(100%);\n      }\n    </style>\n\n    <div id="announcer" role="alert" aria-live="polite">\n      [[i18n.calendar]]\n    </div>\n\n    <div part="overlay-header" on-touchend="_preventDefault" desktop$="[[_desktopMode]]" aria-hidden="true">\n      <div part="label">[[_formatDisplayed(selectedDate, i18n.formatDate, label)]]</div>\n      <div part="clear-button" on-tap="_clear" showclear$="[[_showClear(selectedDate)]]"></div>\n      <div part="toggle-button" on-tap="_cancel"></div>\n\n      <div part="years-toggle-button" desktop$="[[_desktopMode]]" on-tap="_toggleYearScroller" aria-hidden="true">\n        [[_yearAfterXMonths(_visibleMonthIndex)]]\n      </div>\n    </div>\n\n    <div id="scrollers" desktop$="[[_desktopMode]]" on-track="_track">\n      <vaadin-infinite-scroller id="monthScroller" on-custom-scroll="_onMonthScroll" on-touchstart="_onMonthScrollTouchStart" buffer-size="3" active="[[initialPosition]]" part="months">\n        <template>\n          <vaadin-month-calendar i18n="[[i18n]]" month="[[_dateAfterXMonths(index)]]" selected-date="{{selectedDate}}" focused-date="[[focusedDate]]" ignore-taps="[[_ignoreTaps]]" show-week-numbers="[[showWeekNumbers]]" min-date="[[minDate]]" max-date="[[maxDate]]" focused$="[[_focused]]" part="month" theme$="[[theme]]">\n          </vaadin-month-calendar>\n        </template>\n      </vaadin-infinite-scroller>\n      <vaadin-infinite-scroller id="yearScroller" on-tap="_onYearTap" on-custom-scroll="_onYearScroll" on-touchstart="_onYearScrollTouchStart" buffer-size="12" active="[[initialPosition]]" part="years">\n        <template>\n          <div part="year-number" role="button" current$="[[_isCurrentYear(index)]]" selected$="[[_isSelectedYear(index, selectedDate)]]">\n            [[_yearAfterXYears(index)]]\n          </div>\n          <div part="year-separator" aria-hidden="true"></div>\n        </template>\n      </vaadin-infinite-scroller>\n    </div>\n\n    <div on-touchend="_preventDefault" role="toolbar" part="toolbar">\n      <vaadin-button id="todayButton" part="today-button" disabled="[[!_isTodayAllowed(minDate, maxDate)]]" on-tap="_onTodayTap">\n        [[i18n.today]]\n      </vaadin-button>\n      <vaadin-button id="cancelButton" part="cancel-button" on-tap="_cancel">\n        [[i18n.cancel]]\n      </vaadin-button>\n    </div>\n\n    <iron-media-query query="(min-width: 375px)" query-matches="{{_desktopMode}}"></iron-media-query>\n'],['\n    <style>\n      :host {\n        display: flex;\n        flex-direction: column;\n        height: 100%;\n        width: 100%;\n        outline: none;\n        background: #fff;\n      }\n\n      [part="overlay-header"] {\n        display: flex;\n        flex-shrink: 0;\n        flex-wrap: nowrap;\n        align-items: center;\n      }\n\n      :host(:not([fullscreen])) [part="overlay-header"] {\n        display: none;\n      }\n\n      [part="label"] {\n        flex-grow: 1;\n      }\n\n      [part="clear-button"]:not([showclear]) {\n        display: none;\n      }\n\n      [part="years-toggle-button"] {\n        display: flex;\n      }\n\n      [part="years-toggle-button"][desktop] {\n        display: none;\n      }\n\n      :host(:not([years-visible])) [part="years-toggle-button"]::before {\n        transform: rotate(180deg);\n      }\n\n      #scrollers {\n        display: flex;\n        height: 100%;\n        width: 100%;\n        position: relative;\n        overflow: hidden;\n      }\n\n      [part="months"],\n      [part="years"] {\n        height: 100%;\n      }\n\n      [part="months"] {\n        --vaadin-infinite-scroller-item-height: 270px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n      }\n\n      #scrollers[desktop] [part="months"] {\n        right: 50px;\n        transform: none !important;\n      }\n\n      [part="years"] {\n        --vaadin-infinite-scroller-item-height: 80px;\n        width: 50px;\n        position: absolute;\n        right: 0;\n        transform: translateX(100%);\n        -webkit-tap-highlight-color: transparent;\n        -webkit-user-select: none;\n        -moz-user-select: none;\n        -ms-user-select: none;\n        user-select: none;\n        /* Center the year scroller position. */\n        --vaadin-infinite-scroller-buffer-offset: 50%;\n      }\n\n      #scrollers[desktop] [part="years"] {\n        position: absolute;\n        transform: none !important;\n      }\n\n      [part="years"]::before {\n        content: \'\';\n        display: block;\n        background: transparent;\n        width: 0;\n        height: 0;\n        position: absolute;\n        left: 0;\n        top: 50%;\n        transform: translateY(-50%);\n        border-width: 6px;\n        border-style: solid;\n        border-color: transparent;\n        border-left-color: #000;\n      }\n\n      :host(.animate) [part="months"],\n      :host(.animate) [part="years"] {\n        transition: all 200ms;\n      }\n\n      [part="toolbar"] {\n        display: flex;\n        justify-content: space-between;\n        z-index: 2;\n        flex-shrink: 0;\n      }\n\n      [part~="overlay-header"]:not([desktop]) {\n        padding-bottom: 40px;\n      }\n\n      [part~="years-toggle-button"] {\n        position: absolute;\n        top: auto;\n        right: 8px;\n        bottom: 0;\n        z-index: 1;\n        padding: 8px;\n      }\n\n      #announcer {\n        display: inline-block;\n        position: fixed;\n        clip: rect(0, 0, 0, 0);\n        clip-path: inset(100%);\n      }\n    </style>\n\n    <div id="announcer" role="alert" aria-live="polite">\n      [[i18n.calendar]]\n    </div>\n\n    <div part="overlay-header" on-touchend="_preventDefault" desktop\\$="[[_desktopMode]]" aria-hidden="true">\n      <div part="label">[[_formatDisplayed(selectedDate, i18n.formatDate, label)]]</div>\n      <div part="clear-button" on-tap="_clear" showclear\\$="[[_showClear(selectedDate)]]"></div>\n      <div part="toggle-button" on-tap="_cancel"></div>\n\n      <div part="years-toggle-button" desktop\\$="[[_desktopMode]]" on-tap="_toggleYearScroller" aria-hidden="true">\n        [[_yearAfterXMonths(_visibleMonthIndex)]]\n      </div>\n    </div>\n\n    <div id="scrollers" desktop\\$="[[_desktopMode]]" on-track="_track">\n      <vaadin-infinite-scroller id="monthScroller" on-custom-scroll="_onMonthScroll" on-touchstart="_onMonthScrollTouchStart" buffer-size="3" active="[[initialPosition]]" part="months">\n        <template>\n          <vaadin-month-calendar i18n="[[i18n]]" month="[[_dateAfterXMonths(index)]]" selected-date="{{selectedDate}}" focused-date="[[focusedDate]]" ignore-taps="[[_ignoreTaps]]" show-week-numbers="[[showWeekNumbers]]" min-date="[[minDate]]" max-date="[[maxDate]]" focused\\$="[[_focused]]" part="month" theme\\$="[[theme]]">\n          </vaadin-month-calendar>\n        </template>\n      </vaadin-infinite-scroller>\n      <vaadin-infinite-scroller id="yearScroller" on-tap="_onYearTap" on-custom-scroll="_onYearScroll" on-touchstart="_onYearScrollTouchStart" buffer-size="12" active="[[initialPosition]]" part="years">\n        <template>\n          <div part="year-number" role="button" current\\$="[[_isCurrentYear(index)]]" selected\\$="[[_isSelectedYear(index, selectedDate)]]">\n            [[_yearAfterXYears(index)]]\n          </div>\n          <div part="year-separator" aria-hidden="true"></div>\n        </template>\n      </vaadin-infinite-scroller>\n    </div>\n\n    <div on-touchend="_preventDefault" role="toolbar" part="toolbar">\n      <vaadin-button id="todayButton" part="today-button" disabled="[[!_isTodayAllowed(minDate, maxDate)]]" on-tap="_onTodayTap">\n        [[i18n.today]]\n      </vaadin-button>\n      <vaadin-button id="cancelButton" part="cancel-button" on-tap="_cancel">\n        [[i18n.cancel]]\n      </vaadin-button>\n    </div>\n\n    <iron-media-query query="(min-width: 375px)" query-matches="{{_desktopMode}}"></iron-media-query>\n']);return Fe=function(){return e},e}function Le(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Be(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Ve(e,t,n){return(Ve="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=He(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function Ye(e,t){return(Ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=He(e);if(t){var o=He(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return We(this,n)}}function We(e,t){return!t||"object"!==ze(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function He(e){return(He=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}$e.innerHTML='<dom-module id="vaadin-date-picker-overlay-styles" theme-for="vaadin-date-picker-overlay">\n  <template>\n    <style>\n      :host {\n        align-items: flex-start;\n        justify-content: flex-start;\n      }\n\n      :host([bottom-aligned]) {\n        justify-content: flex-end;\n      }\n\n      :host([right-aligned]) {\n        align-items: flex-end;\n      }\n\n      :host([dir="rtl"]) {\n        align-items: flex-end;\n      }\n\n      :host([dir="rtl"][right-aligned]) {\n        align-items: flex-start;\n      }\n\n      [part="overlay"] {\n        display: flex;\n        flex: auto;\n      }\n\n      [part~="content"] {\n        flex: auto;\n      }\n    </style>\n  </template>\n</dom-module>',document.head.appendChild($e.content);var Ne=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ye(e,t)}(a,e);var t,n,o,r=qe(a);function a(){return Le(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(Fe())}},{key:"is",get:function(){return"vaadin-date-picker-overlay-content"}},{key:"properties",get:function(){return{selectedDate:{type:Date,notify:!0},focusedDate:{type:Date,notify:!0,observer:"_focusedDateChanged"},_focusedMonthDate:Number,initialPosition:{type:Date,observer:"_initialPositionChanged"},_originDate:{value:new Date},_visibleMonthIndex:Number,_desktopMode:Boolean,_translateX:{observer:"_translateXChanged"},_yearScrollerWidth:{value:50},i18n:{type:Object},showWeekNumbers:{type:Boolean},_ignoreTaps:Boolean,_notTapping:Boolean,minDate:Date,maxDate:Date,_focused:Boolean,label:String}}}],(n=[{key:"ready",value:function(){Ve(He(a.prototype),"ready",this).call(this),this.setAttribute("tabindex",0),this.addEventListener("keydown",this._onKeydown.bind(this)),(0,Q.NH)(this,"tap",this._stopPropagation),this.addEventListener("focus",this._onOverlayFocus.bind(this)),this.addEventListener("blur",this._onOverlayBlur.bind(this))}},{key:"connectedCallback",value:function(){Ve(He(a.prototype),"connectedCallback",this).call(this),this._closeYearScroller(),this._toggleAnimateClass(!0),(0,Q.BP)(this.$.scrollers,"pan-y"),de.N.requestAvailability()}},{key:"announceFocusedDate",value:function(){var e=this._currentlyFocusedDate(),t=[];he._dateEquals(e,new Date)&&t.push(this.i18n.today),t=t.concat([this.i18n.weekdays[e.getDay()],e.getDate(),this.i18n.monthNames[e.getMonth()],e.getFullYear()]),this.showWeekNumbers&&1===this.i18n.firstDayOfWeek&&(t.push(this.i18n.week),t.push(he._getISOWeekNumber(e))),this.dispatchEvent(new CustomEvent("iron-announce",{bubbles:!0,composed:!0,detail:{text:t.join(" ")}}))}},{key:"focusCancel",value:function(){this.$.cancelButton.focus()}},{key:"scrollToDate",value:function(e,t){this._scrollToPosition(this._differenceInMonths(e,this._originDate),t)}},{key:"_focusedDateChanged",value:function(e){this.revealDate(e)}},{key:"_isCurrentYear",value:function(e){return 0===e}},{key:"_isSelectedYear",value:function(e,t){if(t)return t.getFullYear()===this._originDate.getFullYear()+e}},{key:"revealDate",value:function(e){if(e){var t=this._differenceInMonths(e,this._originDate),n=this.$.monthScroller.position>t,i=this.$.monthScroller.clientHeight/this.$.monthScroller.itemHeight,o=this.$.monthScroller.position+i-1<t;n?this._scrollToPosition(t,!0):o&&this._scrollToPosition(t-i+1,!0)}}},{key:"_onOverlayFocus",value:function(){this._focused=!0}},{key:"_onOverlayBlur",value:function(){this._focused=!1}},{key:"_initialPositionChanged",value:function(e){this.scrollToDate(e)}},{key:"_repositionYearScroller",value:function(){this._visibleMonthIndex=Math.floor(this.$.monthScroller.position),this.$.yearScroller.position=(this.$.monthScroller.position+this._originDate.getMonth())/12}},{key:"_repositionMonthScroller",value:function(){this.$.monthScroller.position=12*this.$.yearScroller.position-this._originDate.getMonth(),this._visibleMonthIndex=Math.floor(this.$.monthScroller.position)}},{key:"_onMonthScroll",value:function(){this._repositionYearScroller(),this._doIgnoreTaps()}},{key:"_onYearScroll",value:function(){this._repositionMonthScroller(),this._doIgnoreTaps()}},{key:"_onYearScrollTouchStart",value:function(){var e=this;this._notTapping=!1,setTimeout((function(){return e._notTapping=!0}),300),this._repositionMonthScroller()}},{key:"_onMonthScrollTouchStart",value:function(){this._repositionYearScroller()}},{key:"_doIgnoreTaps",value:function(){var e=this;this._ignoreTaps=!0,this._debouncer=A.d.debounce(this._debouncer,T.Wc.after(300),(function(){return e._ignoreTaps=!1}))}},{key:"_formatDisplayed",value:function(e,t,n){return e?t(he._extractDateParts(e)):n}},{key:"_onTodayTap",value:function(){var e=new Date;Math.abs(this.$.monthScroller.position-this._differenceInMonths(e,this._originDate))<.001?(this.selectedDate=e,this._close()):this._scrollToCurrentMonth()}},{key:"_scrollToCurrentMonth",value:function(){this.focusedDate&&(this.focusedDate=new Date),this.scrollToDate(new Date,!0)}},{key:"_showClear",value:function(e){return!!e}},{key:"_onYearTap",value:function(e){if(!this._ignoreTaps&&!this._notTapping){var t=(e.detail.y-(this.$.yearScroller.getBoundingClientRect().top+this.$.yearScroller.clientHeight/2))/this.$.yearScroller.itemHeight;this._scrollToPosition(this.$.monthScroller.position+12*t,!0)}}},{key:"_scrollToPosition",value:function(e,t){var n=this;if(void 0===this._targetPosition){if(!t)return this.$.monthScroller.position=e,this._targetPosition=void 0,void this._repositionYearScroller();this._targetPosition=e;var i=t?300:0,o=0,r=this.$.monthScroller.position;window.requestAnimationFrame((function e(t){var a,l,s,u=t-(o=o||t);if(u<i){var c=(a=u,l=r,s=n._targetPosition-r,(a/=i/2)<1?s/2*a*a+l:-s/2*(--a*(a-2)-1)+l);n.$.monthScroller.position=c,window.requestAnimationFrame(e)}else n.dispatchEvent(new CustomEvent("scroll-animation-finished",{bubbles:!0,composed:!0,detail:{position:n._targetPosition,oldPosition:r}})),n.$.monthScroller.position=n._targetPosition,n._targetPosition=void 0;setTimeout(n._repositionYearScroller.bind(n),1)}))}else this._targetPosition=e}},{key:"_limit",value:function(e,t){return Math.min(t.max,Math.max(t.min,e))}},{key:"_handleTrack",value:function(e){if(!(Math.abs(e.detail.dx)<10||Math.abs(e.detail.ddy)>10)){Math.abs(e.detail.ddx)>this._yearScrollerWidth/3&&this._toggleAnimateClass(!0);var t=this._translateX+e.detail.ddx;this._translateX=this._limit(t,{min:0,max:this._yearScrollerWidth})}}},{key:"_track",value:function(e){if(!this._desktopMode)switch(e.detail.state){case"start":this._toggleAnimateClass(!1);break;case"track":this._handleTrack(e);break;case"end":this._toggleAnimateClass(!0),this._translateX>=this._yearScrollerWidth/2?this._closeYearScroller():this._openYearScroller()}}},{key:"_toggleAnimateClass",value:function(e){e?this.classList.add("animate"):this.classList.remove("animate")}},{key:"_toggleYearScroller",value:function(){this._isYearScrollerVisible()?this._closeYearScroller():this._openYearScroller()}},{key:"_openYearScroller",value:function(){this._translateX=0,this.setAttribute("years-visible","")}},{key:"_closeYearScroller",value:function(){this.removeAttribute("years-visible"),this._translateX=this._yearScrollerWidth}},{key:"_isYearScrollerVisible",value:function(){return this._translateX<this._yearScrollerWidth/2}},{key:"_translateXChanged",value:function(e){this._desktopMode||(this.$.monthScroller.style.transform="translateX("+(e-this._yearScrollerWidth)+"px)",this.$.yearScroller.style.transform="translateX("+e+"px)")}},{key:"_yearAfterXYears",value:function(e){var t=new Date(this._originDate);return t.setFullYear(parseInt(e)+this._originDate.getFullYear()),t.getFullYear()}},{key:"_yearAfterXMonths",value:function(e){return this._dateAfterXMonths(e).getFullYear()}},{key:"_dateAfterXMonths",value:function(e){var t=new Date(this._originDate);return t.setDate(1),t.setMonth(parseInt(e)+this._originDate.getMonth()),t}},{key:"_differenceInMonths",value:function(e,t){return 12*(e.getFullYear()-t.getFullYear())-t.getMonth()+e.getMonth()}},{key:"_differenceInYears",value:function(e,t){return this._differenceInMonths(e,t)/12}},{key:"_clear",value:function(){this.selectedDate=""}},{key:"_close",value:function(){var e=this.getRootNode().host,t=e?e.getRootNode().host:null;t&&(t.opened=!1),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}},{key:"_cancel",value:function(){this.focusedDate=this.selectedDate,this._close()}},{key:"_preventDefault",value:function(e){e.preventDefault()}},{key:"_eventKey",value:function(e){for(var t=["down","up","right","left","enter","space","home","end","pageup","pagedown","tab","esc"],n=0;n<t.length;n++){var i=t[n];if(ce.G.keyboardEventMatchesKeys(e,i))return i}}},{key:"_onKeydown",value:function(e){var t=this,n=this._currentlyFocusedDate(),i=e.composedPath().indexOf(this.$.todayButton)>=0,o=e.composedPath().indexOf(this.$.cancelButton)>=0,r=!i&&!o,a=this._eventKey(e);if("tab"===a){e.stopPropagation();var l=this.hasAttribute("fullscreen"),s=e.shiftKey;l?e.preventDefault():s&&r||!s&&o?(e.preventDefault(),this.dispatchEvent(new CustomEvent("focus-input",{bubbles:!0,composed:!0}))):s&&i?(this._focused=!0,setTimeout((function(){return t.revealDate(t.focusedDate)}),1)):this._focused=!1}else if(a)switch(e.preventDefault(),e.stopPropagation(),a){case"down":this._moveFocusByDays(7),this.focus();break;case"up":this._moveFocusByDays(-7),this.focus();break;case"right":r&&this._moveFocusByDays(this.__isRTL?-1:1);break;case"left":r&&this._moveFocusByDays(this.__isRTL?1:-1);break;case"enter":r||o?this._close():i&&this._onTodayTap();break;case"space":if(o)this._close();else if(i)this._onTodayTap();else{var u=this.focusedDate;he._dateEquals(u,this.selectedDate)?(this.selectedDate="",this.focusedDate=u):this.selectedDate=u}break;case"home":this._moveFocusInsideMonth(n,"minDate");break;case"end":this._moveFocusInsideMonth(n,"maxDate");break;case"pagedown":this._moveFocusByMonths(e.shiftKey?12:1);break;case"pageup":this._moveFocusByMonths(e.shiftKey?-12:-1);break;case"esc":this._cancel()}}},{key:"_currentlyFocusedDate",value:function(){return this.focusedDate||this.selectedDate||this.initialPosition||new Date}},{key:"_focusDate",value:function(e){this.focusedDate=e,this._focusedMonthDate=e.getDate()}},{key:"_focusClosestDate",value:function(e){this._focusDate(he._getClosestDate(e,[this.minDate,this.maxDate]))}},{key:"_moveFocusByDays",value:function(e){var t=this._currentlyFocusedDate(),n=new Date(0,0);n.setFullYear(t.getFullYear()),n.setMonth(t.getMonth()),n.setDate(t.getDate()+e),this._dateAllowed(n,this.minDate,this.maxDate)?this._focusDate(n):this._dateAllowed(t,this.minDate,this.maxDate)?e>0?this._focusDate(this.maxDate):this._focusDate(this.minDate):this._focusClosestDate(t)}},{key:"_moveFocusByMonths",value:function(e){var t=this._currentlyFocusedDate(),n=new Date(0,0);n.setFullYear(t.getFullYear()),n.setMonth(t.getMonth()+e);var i=n.getMonth();n.setDate(this._focusedMonthDate||(this._focusedMonthDate=t.getDate())),n.getMonth()!==i&&n.setDate(0),this._dateAllowed(n,this.minDate,this.maxDate)?this.focusedDate=n:this._dateAllowed(t,this.minDate,this.maxDate)?e>0?this._focusDate(this.maxDate):this._focusDate(this.minDate):this._focusClosestDate(t)}},{key:"_moveFocusInsideMonth",value:function(e,t){var n=new Date(0,0);n.setFullYear(e.getFullYear()),"minDate"===t?(n.setMonth(e.getMonth()),n.setDate(1)):(n.setMonth(e.getMonth()+1),n.setDate(0)),this._dateAllowed(n,this.minDate,this.maxDate)?this._focusDate(n):this._dateAllowed(e,this.minDate,this.maxDate)?this._focusDate(this[t]):this._focusClosestDate(e)}},{key:"_dateAllowed",value:function(e,t,n){return(!t||e>=t)&&(!n||e<=n)}},{key:"_isTodayAllowed",value:function(e,t){var n=new Date,i=new Date(0,0);return i.setFullYear(n.getFullYear()),i.setMonth(n.getMonth()),i.setDate(n.getDate()),this._dateAllowed(i,e,t)}},{key:"_stopPropagation",value:function(e){e.stopPropagation()}},{key:"__isRTL",get:function(){return"rtl"===this.getAttribute("dir")}}])&&Be(t.prototype,n),o&&Be(t,o),a}((0,g.T)((0,pe.I)((0,M.U)((0,m._)(b.H3)))));function Ke(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-date-picker-month-calendar" theme-for="vaadin-month-calendar">\n  <template>\n    <style>\n      :host {\n        color: var(--material-body-text-color);\n        padding: 0 calc(50% / 8 - 0.5em + 8px);\n      }\n\n      :host([show-week-numbers]) {\n        padding: 0 calc(50% / 9 - 0.5em + 8px);\n      }\n\n      [part="month-header"] {\n        font-size: var(--material-h6-font-size);\n        line-height: 1;\n        padding-top: 20px;\n        margin-bottom: 8px;\n      }\n\n      [part="week-number"],\n      [part="weekday"] {\n        font-size: var(--material-caption-font-size);\n        line-height: 44px;\n        height: 40px;\n        color: var(--material-secondary-text-color);\n      }\n\n      :host([disabled]),\n      :host([disabled]) [part="week-number"],\n      :host([disabled]) [part="weekday"] {\n        color: var(--material-disabled-text-color);\n      }\n\n      [part="date"] {\n        position: relative;\n        font-size: var(--material-body-font-size);\n        line-height: 42px;\n        height: 40px;\n        cursor: default;\n      }\n\n      [part="date"]::after {\n        content: \'\';\n        position: absolute;\n        z-index: -4;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        width: 38px;\n        height: 38px;\n        box-sizing: border-box;\n        border-radius: 50%;\n        border: 2px solid transparent;\n      }\n\n      /* Today */\n\n      [part="date"][today] {\n        color: var(--material-primary-text-color);\n      }\n\n      /* Hover */\n\n      [part="date"]:not([disabled]):hover::after {\n        background-color: var(--material-secondary-background-color);\n        border-color: var(--material-secondary-background-color);\n        z-index: -3;\n      }\n\n      /* Hide for touch devices */\n      @media (hover: none) {\n        [part="date"]:not([disabled]):hover::after {\n          background-color: transparent;\n          border-color: transparent;\n          z-index: -4;\n        }\n      }\n\n      /* Selected */\n\n      [part="date"][selected] {\n        font-weight: 500;\n      }\n\n      [part="date"]:not([disabled])[selected]::after,\n      [part="date"][selected]::after {\n        background-color: transparent;\n        border-color: currentColor;\n        z-index: -2;\n      }\n\n      /* Focused */\n\n      [part="date"]:not([disabled])[focused],\n      [part="date"]:not([disabled]):active {\n        color: var(--material-primary-contrast-color);\n      }\n\n      [part="date"]:not([disabled])[focused]::after,\n      [part="date"]:not([disabled]):active::after {\n        opacity: 0.7;\n        background-color: var(--material-primary-color);\n        border-color: var(--material-primary-color);\n        z-index: -1;\n      }\n\n      [part="date"][disabled] {\n        color: var(--material-disabled-text-color);\n      }\n\n      :host([focused]) [part="date"]:not([disabled])[focused]::after {\n        opacity: 1;\n      }\n    </style>\n  </template>\n</dom-module>']);return Ke=function(){return e},e}customElements.define(Ne.is,Ne);var Xe=(0,i.d)(Ke());document.head.appendChild(Xe.content);var Ue=document.createElement("template");function Ge(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-date-picker" theme-for="vaadin-date-picker">\n  <template>\n    <style include="material-field-button">\n      :host {\n        display: inline-flex;\n        -webkit-tap-highlight-color: transparent;\n      }\n\n      [part="clear-button"]::before {\n        content: var(--material-icons-clear);\n      }\n\n      [part="toggle-button"]::before {\n        content: var(--material-icons-calendar);\n      }\n    </style>\n  </template>\n</dom-module>']);return Ge=function(){return e},e}Ue.innerHTML='<dom-module id="material-field-button">\n  <template>\n    <style>\n      /* TODO(platosha): align icon sizes with other elements */\n      [part$="button"] {\n        flex: none;\n        width: 24px;\n        height: 24px;\n        padding: 4px;\n        color: var(--material-secondary-text-color);\n        font-size: var(--material-icon-font-size);\n        line-height: 24px;\n        text-align: center;\n      }\n\n      :host(:not([readonly])) [part$="button"] {\n        cursor: pointer;\n      }\n\n      :host(:not([readonly])) [part$="button"]:hover {\n        color: var(--material-text-color);\n      }\n\n      :host([disabled]) [part$="button"],\n      :host([readonly]) [part$="button"] {\n        color: var(--material-disabled-text-color);\n      }\n\n      :host([disabled]) [part="clear-button"] {\n        display: none;\n      }\n\n      [part$="button"]::before {\n        font-family: "material-icons";\n      }\n    </style>\n  </template>\n</dom-module>',document.head.appendChild(Ue.content);var Qe=(0,i.d)(Ge());document.head.appendChild(Qe.content);var Je=document.createElement("template");function Ze(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['<dom-module id="material-text-field" theme-for="vaadin-text-field">\n  <template>\n    <style include="material-required-field material-field-button">\n      :host {\n        display: inline-flex;\n        position: relative;\n        padding-top: 8px;\n        margin-bottom: 8px;\n        outline: none;\n        color: var(--material-body-text-color);\n        font-size: var(--material-body-font-size);\n        line-height: 24px;\n        font-family: var(--material-font-family);\n        -webkit-font-smoothing: antialiased;\n        -moz-osx-font-smoothing: grayscale;\n      }\n\n      :host::before {\n        line-height: 32px;\n      }\n\n      /* Strange gymnastics to make fields vertically align nicely in most cases\n         (no label, with label, without prefix, with prefix, etc.) */\n\n      :host([has-label]) {\n        padding-top: 24px;\n      }\n\n      [part="label"]:empty {\n        display: none;\n      }\n\n      [part="label"]:empty::before {\n        content: " ";\n        position: absolute;\n      }\n\n      [part="input-field"] {\n        position: relative;\n        top: -0.2px; /* NOTE(platosha): Adjusts for wrong flex baseline in Chrome & Safari */\n        height: 32px;\n        padding-left: 0;\n        padding-right: 0;\n        background-color: transparent;\n        margin: 0;\n      }\n\n      [part="input-field"]::before,\n      [part="input-field"]::after {\n        content: "";\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        height: 1px;\n        transform-origin: 50% 0%;\n        background-color: var(--_material-text-field-input-line-background-color, #000);\n        opacity: var(--_material-text-field-input-line-opacity, 0.42);\n      }\n\n      [part="input-field"]::after {\n        background-color: var(--material-primary-color);\n        opacity: 0;\n        height: 2px;\n        bottom: 0;\n        transform: scaleX(0);\n        transition: opacity 0.175s;\n      }\n\n      :host([disabled]) [part="label"],\n      :host([disabled]) [part="value"],\n      :host([disabled]) [part="input-field"] ::slotted(input),\n      :host([disabled]) [part="input-field"] ::slotted(textarea),\n      :host([disabled]) [part="input-field"] ::slotted([part="value"]) {\n        color: var(--material-disabled-text-color);\n        -webkit-text-fill-color: var(--material-disabled-text-color);\n      }\n\n      [part="value"],\n      :host([disabled]) [part="input-field"] ::slotted(input),\n      :host([disabled]) [part="input-field"] ::slotted(textarea),\n      /* Slotted by vaadin-select-text-field */\n      [part="input-field"] ::slotted([part="value"]) {\n        outline: none;\n        margin: 0;\n        border: 0;\n        border-radius: 0;\n        padding: 8px 0;\n        width: 100%;\n        height: 100%;\n        font-family: inherit;\n        font-size: 1em;\n        line-height: inherit;\n        color: inherit;\n        background-color: transparent;\n        /* Disable default invalid style in Firefox */\n        box-shadow: none;\n      }\n\n      /* TODO: the text opacity should be 42%, but the disabled style is 38%.\n      Would need to introduce another property for it if we want to be 100% accurate. */\n      [part="value"]::-webkit-input-placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.05s;\n        opacity: 1;\n      }\n\n      [part="value"]:-ms-input-placeholder {\n        color: var(--material-disabled-text-color);\n      }\n\n      [part="value"]::-moz-placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.05s;\n        opacity: 1;\n      }\n\n      [part="value"]::placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.1s;\n        opacity: 1;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::-webkit-input-placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::-moz-placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      /* IE11 doesn’t show the placeholder when the input is focused, so it’s basically useless for this theme */\n      :host([has-label]) [part="value"]:-ms-input-placeholder {\n        opacity: 0;\n      }\n\n      [part="label"] {\n        width: 133%;\n        transition: transform 0.175s, color 0.175s, width 0.175s;\n        transition-timing-function: ease, ease, step-end;\n      }\n\n      /* TODO: using unsupported selector to fix IE11 (even thought the label element is scaled down,\n         the 133% width still takes the same space as an unscaled element */\n      ::-ms-backdrop,\n      .vaadin-text-field-container {\n        overflow: hidden;\n      }\n\n      /* Same fix for MS Edge ^^   */\n      @supports (-ms-ime-align:auto) {\n        .vaadin-text-field-container {\n          overflow: hidden;\n        }\n      }\n\n      :host(:hover:not([readonly]):not([invalid])) [part="input-field"]::before {\n        opacity: var(--_material-text-field-input-line-hover-opacity, 0.87);\n      }\n\n      :host([focused]:not([invalid])) [part="label"] {\n        color: var(--material-primary-text-color);\n      }\n\n      :host([focused]) [part="input-field"]::after,\n      :host([invalid]) [part="input-field"]::after {\n        opacity: 1;\n        transform: none;\n        transition: transform 0.175s, opacity 0.175s;\n      }\n\n      :host([invalid]) [part="input-field"]::after {\n        background-color: var(--material-error-color);\n      }\n\n      :host([input-prevented]) [part="input-field"] {\n        color: var(--material-error-text-color);\n      }\n\n      :host([disabled]) {\n        pointer-events: none;\n      }\n\n      :host([disabled]) [part="input-field"] {\n        color: var(--material-disabled-text-color);\n      }\n\n      :host([disabled]) [part="input-field"]::before {\n        background-color: transparent;\n        background-image: linear-gradient(90deg, var(--_material-text-field-input-line-background-color, #000) 0, var(--_material-text-field-input-line-background-color, #000) 2px, transparent 2px);\n        background-size: 4px 1px;\n        background-repeat: repeat-x;\n      }\n\n      /* Only target the visible floating label */\n      :host([has-label]:not([has-value]):not([focused]):not([invalid]):not([theme~="always-float-label"])) [part="label"] {\n        width: 100%;\n        /* IE11 doesn’t work with calc inside the translate function, so we need to have a fixed pixel value instead of 50% + 16px */\n        transform: scale(1) translateY(24px);\n        transition-timing-function: ease, ease, step-start;\n        pointer-events: none;\n        left: auto;\n        right: auto;\n        transition-delay: 0.1s;\n      }\n\n      /* Slotted content */\n\n      [part="input-field"] ::slotted(*:not([part="value"]):not([part$="-button"]):not(input):not(textarea)) {\n        color: var(--material-secondary-text-color);\n      }\n\n      [part="clear-button"]::before {\n        content: var(--material-icons-clear);\n      }\n\n      /* RTL specific styles */\n\n      :host([disabled][dir="rtl"]) [part="input-field"]::before {\n        background-image: linear-gradient(-90deg, var(--_material-text-field-input-line-background-color, #000) 0, var(--_material-text-field-input-line-background-color, #000) 2px, transparent 2px);\n      }\n    </style>\n  </template>\n</dom-module>'],['<dom-module id="material-text-field" theme-for="vaadin-text-field">\n  <template>\n    <style include="material-required-field material-field-button">\n      :host {\n        display: inline-flex;\n        position: relative;\n        padding-top: 8px;\n        margin-bottom: 8px;\n        outline: none;\n        color: var(--material-body-text-color);\n        font-size: var(--material-body-font-size);\n        line-height: 24px;\n        font-family: var(--material-font-family);\n        -webkit-font-smoothing: antialiased;\n        -moz-osx-font-smoothing: grayscale;\n      }\n\n      :host::before {\n        line-height: 32px;\n      }\n\n      /* Strange gymnastics to make fields vertically align nicely in most cases\n         (no label, with label, without prefix, with prefix, etc.) */\n\n      :host([has-label]) {\n        padding-top: 24px;\n      }\n\n      [part="label"]:empty {\n        display: none;\n      }\n\n      [part="label"]:empty::before {\n        content: " ";\n        position: absolute;\n      }\n\n      [part="input-field"] {\n        position: relative;\n        top: -0.2px; /* NOTE(platosha): Adjusts for wrong flex baseline in Chrome & Safari */\n        height: 32px;\n        padding-left: 0;\n        padding-right: 0;\n        background-color: transparent;\n        margin: 0;\n      }\n\n      [part="input-field"]::before,\n      [part="input-field"]::after {\n        content: "";\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        right: 0;\n        height: 1px;\n        transform-origin: 50% 0%;\n        background-color: var(--_material-text-field-input-line-background-color, #000);\n        opacity: var(--_material-text-field-input-line-opacity, 0.42);\n      }\n\n      [part="input-field"]::after {\n        background-color: var(--material-primary-color);\n        opacity: 0;\n        height: 2px;\n        bottom: 0;\n        transform: scaleX(0);\n        transition: opacity 0.175s;\n      }\n\n      :host([disabled]) [part="label"],\n      :host([disabled]) [part="value"],\n      :host([disabled]) [part="input-field"] ::slotted(input),\n      :host([disabled]) [part="input-field"] ::slotted(textarea),\n      :host([disabled]) [part="input-field"] ::slotted([part="value"]) {\n        color: var(--material-disabled-text-color);\n        -webkit-text-fill-color: var(--material-disabled-text-color);\n      }\n\n      [part="value"],\n      :host([disabled]) [part="input-field"] ::slotted(input),\n      :host([disabled]) [part="input-field"] ::slotted(textarea),\n      /* Slotted by vaadin-select-text-field */\n      [part="input-field"] ::slotted([part="value"]) {\n        outline: none;\n        margin: 0;\n        border: 0;\n        border-radius: 0;\n        padding: 8px 0;\n        width: 100%;\n        height: 100%;\n        font-family: inherit;\n        font-size: 1em;\n        line-height: inherit;\n        color: inherit;\n        background-color: transparent;\n        /* Disable default invalid style in Firefox */\n        box-shadow: none;\n      }\n\n      /* TODO: the text opacity should be 42%, but the disabled style is 38%.\n      Would need to introduce another property for it if we want to be 100% accurate. */\n      [part="value"]::-webkit-input-placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.05s;\n        opacity: 1;\n      }\n\n      [part="value"]:-ms-input-placeholder {\n        color: var(--material-disabled-text-color);\n      }\n\n      [part="value"]::-moz-placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.05s;\n        opacity: 1;\n      }\n\n      [part="value"]::placeholder {\n        color: var(--material-disabled-text-color);\n        transition: opacity 0.175s 0.1s;\n        opacity: 1;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::-webkit-input-placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::-moz-placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      :host([has-label]:not([focused]):not([invalid]):not([theme="always-float-label"])) [part="value"]::placeholder {\n        opacity: 0;\n        transition-delay: 0;\n      }\n\n      /* IE11 doesn’t show the placeholder when the input is focused, so it’s basically useless for this theme */\n      :host([has-label]) [part="value"]:-ms-input-placeholder {\n        opacity: 0;\n      }\n\n      [part="label"] {\n        width: 133%;\n        transition: transform 0.175s, color 0.175s, width 0.175s;\n        transition-timing-function: ease, ease, step-end;\n      }\n\n      /* TODO: using unsupported selector to fix IE11 (even thought the label element is scaled down,\n         the 133% width still takes the same space as an unscaled element */\n      ::-ms-backdrop,\n      .vaadin-text-field-container {\n        overflow: hidden;\n      }\n\n      /* Same fix for MS Edge ^^   */\n      @supports (-ms-ime-align:auto) {\n        .vaadin-text-field-container {\n          overflow: hidden;\n        }\n      }\n\n      :host(:hover:not([readonly]):not([invalid])) [part="input-field"]::before {\n        opacity: var(--_material-text-field-input-line-hover-opacity, 0.87);\n      }\n\n      :host([focused]:not([invalid])) [part="label"] {\n        color: var(--material-primary-text-color);\n      }\n\n      :host([focused]) [part="input-field"]::after,\n      :host([invalid]) [part="input-field"]::after {\n        opacity: 1;\n        transform: none;\n        transition: transform 0.175s, opacity 0.175s;\n      }\n\n      :host([invalid]) [part="input-field"]::after {\n        background-color: var(--material-error-color);\n      }\n\n      :host([input-prevented]) [part="input-field"] {\n        color: var(--material-error-text-color);\n      }\n\n      :host([disabled]) {\n        pointer-events: none;\n      }\n\n      :host([disabled]) [part="input-field"] {\n        color: var(--material-disabled-text-color);\n      }\n\n      :host([disabled]) [part="input-field"]::before {\n        background-color: transparent;\n        background-image: linear-gradient(90deg, var(--_material-text-field-input-line-background-color, #000) 0, var(--_material-text-field-input-line-background-color, #000) 2px, transparent 2px);\n        background-size: 4px 1px;\n        background-repeat: repeat-x;\n      }\n\n      /* Only target the visible floating label */\n      :host([has-label]:not([has-value]):not([focused]):not([invalid]):not([theme~="always-float-label"])) [part="label"] {\n        width: 100%;\n        /* IE11 doesn’t work with calc inside the translate function, so we need to have a fixed pixel value instead of 50% + 16px */\n        transform: scale(1) translateY(24px);\n        transition-timing-function: ease, ease, step-start;\n        pointer-events: none;\n        left: auto;\n        right: auto;\n        transition-delay: 0.1s;\n      }\n\n      /* Slotted content */\n\n      [part="input-field"] ::slotted(*:not([part="value"]):not([part\\$="-button"]):not(input):not(textarea)) {\n        color: var(--material-secondary-text-color);\n      }\n\n      [part="clear-button"]::before {\n        content: var(--material-icons-clear);\n      }\n\n      /* RTL specific styles */\n\n      :host([disabled][dir="rtl"]) [part="input-field"]::before {\n        background-image: linear-gradient(-90deg, var(--_material-text-field-input-line-background-color, #000) 0, var(--_material-text-field-input-line-background-color, #000) 2px, transparent 2px);\n      }\n    </style>\n  </template>\n</dom-module>']);return Ze=function(){return e},e}Je.innerHTML='<dom-module id="material-required-field">\n  <template>\n    <style>\n      [part="label"] {\n        display: block;\n        position: absolute;\n        top: 8px;\n        font-size: 1em;\n        line-height: 1;\n        height: 20px;\n        margin-bottom: -4px;\n        white-space: nowrap;\n        overflow-x: hidden;\n        text-overflow: ellipsis;\n        color: var(--material-secondary-text-color);\n        transform-origin: 0 75%;\n        transform: scale(0.75);\n      }\n\n      :host([required]) [part="label"]::after {\n        content: " *";\n        color: inherit;\n      }\n\n      :host([invalid]) [part="label"] {\n        color: var(--material-error-text-color);\n      }\n\n      [part="error-message"] {\n        font-size: .75em;\n        line-height: 1;\n        color: var(--material-error-text-color);\n      }\n\n      /* Margin that doesn’t reserve space when there’s no error message */\n      [part="error-message"]:not(:empty)::before {\n        content: "";\n        display: block;\n        height: 6px;\n      }\n\n      :host(:not([invalid])) [part="error-message"] {\n        margin-top: 0;\n        max-height: 0;\n        overflow: hidden;\n      }\n\n      :host([invalid]) [part="error-message"] {\n        animation: reveal 0.2s;\n      }\n\n      @keyframes reveal {\n        0% {\n          opacity: 0;\n        }\n      }\n\n      /* RTL specific styles */\n\n      :host([dir="rtl"]) [part="label"] {\n        transform-origin: 100% 75%;\n      }\n    </style>\n  </template>\n</dom-module>',document.head.appendChild(Je.content);var et=(0,i.d)(Ze());function tt(e){return(tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function it(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function ot(e,t,n){return(ot="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=st(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function rt(e,t){return(rt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function at(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=st(e);if(t){var o=st(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return lt(this,n)}}function lt(e,t){return!t||"object"!==tt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function st(e){return(st=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}document.head.appendChild(et.content);var ut=document.createElement("template");ut.innerHTML='<dom-module id="vaadin-text-field-shared-styles">\n  <template>\n    <style>\n      :host {\n        display: inline-flex;\n        outline: none;\n      }\n\n      :host::before {\n        content: "\\2003";\n        width: 0;\n        display: inline-block;\n        /* Size and position this element on the same vertical position as the input-field element\n           to make vertical align for the host element work as expected */\n      }\n\n      :host([hidden]) {\n        display: none !important;\n      }\n\n      .vaadin-text-field-container,\n      .vaadin-text-area-container {\n        display: flex;\n        flex-direction: column;\n        min-width: 100%;\n        max-width: 100%;\n        width: var(--vaadin-text-field-default-width, 12em);\n      }\n\n      [part="label"]:empty {\n        display: none;\n      }\n\n      [part="input-field"] {\n        display: flex;\n        align-items: center;\n        flex: auto;\n      }\n\n      .vaadin-text-field-container [part="input-field"] {\n        flex-grow: 0;\n      }\n\n      /* Reset the native input styles */\n      [part="value"],\n      [part="input-field"] ::slotted(input),\n      [part="input-field"] ::slotted(textarea) {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        outline: none;\n        margin: 0;\n        padding: 0;\n        border: 0;\n        border-radius: 0;\n        min-width: 0;\n        font: inherit;\n        font-size: 1em;\n        line-height: normal;\n        color: inherit;\n        background-color: transparent;\n        /* Disable default invalid style in Firefox */\n        box-shadow: none;\n      }\n\n      [part="input-field"] ::slotted(*) {\n        flex: none;\n      }\n\n      [part="value"],\n      [part="input-field"] ::slotted(input),\n      [part="input-field"] ::slotted(textarea),\n      /* Slotted by vaadin-select-text-field */\n      [part="input-field"] ::slotted([part="value"]) {\n        flex: auto;\n        white-space: nowrap;\n        overflow: hidden;\n        width: 100%;\n        height: 100%;\n      }\n\n      [part="input-field"] ::slotted(textarea) {\n        resize: none;\n      }\n\n      [part="value"]::-ms-clear,\n      [part="input-field"] ::slotted(input)::-ms-clear {\n        display: none;\n      }\n\n      [part="clear-button"] {\n        cursor: default;\n      }\n\n      [part="clear-button"]::before {\n        content: "✕";\n      }\n    </style>\n  </template>\n</dom-module>',document.head.appendChild(ut.content);var ct={default:["list","autofocus","pattern","autocapitalize","autocorrect","maxlength","minlength","name","placeholder","autocomplete","title","disabled","readonly","required"],accessible:["invalid"]},dt={DEFAULT:"default",ACCESSIBLE:"accessible"};function pt(e){return(pt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ft(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style include="vaadin-text-field-shared-styles">\n      /* polymer-cli linter breaks with empty line */\n    </style>\n\n    <div class="vaadin-text-field-container">\n\n      <label part="label" on-click="focus" id="[[_labelId]]">[[label]]</label>\n\n      <div part="input-field" id="[[_inputId]]">\n\n        <slot name="prefix"></slot>\n\n        <slot name="input">\n          <input part="value">\n        </slot>\n\n        <div part="clear-button" id="clearButton" role="button" aria-label$="[[i18n.clear]]"></div>\n        <slot name="suffix"></slot>\n\n      </div>\n\n      <div part="error-message" id="[[_errorId]]" aria-live="assertive" aria-hidden$="[[_getErrorMessageAriaHidden(invalid, errorMessage, _errorId)]]">[[errorMessage]]</div>\n\n    </div>\n'],['\n    <style include="vaadin-text-field-shared-styles">\n      /* polymer-cli linter breaks with empty line */\n    </style>\n\n    <div class="vaadin-text-field-container">\n\n      <label part="label" on-click="focus" id="[[_labelId]]">[[label]]</label>\n\n      <div part="input-field" id="[[_inputId]]">\n\n        <slot name="prefix"></slot>\n\n        <slot name="input">\n          <input part="value">\n        </slot>\n\n        <div part="clear-button" id="clearButton" role="button" aria-label\\$="[[i18n.clear]]"></div>\n        <slot name="suffix"></slot>\n\n      </div>\n\n      <div part="error-message" id="[[_errorId]]" aria-live="assertive" aria-hidden\\$="[[_getErrorMessageAriaHidden(invalid, errorMessage, _errorId)]]">[[errorMessage]]</div>\n\n    </div>\n']);return ft=function(){return e},e}function ht(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function vt(e,t){return(vt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=gt(e);if(t){var o=gt(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return mt(this,n)}}function mt(e,t){return!t||"object"!==pt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function gt(e){return(gt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var _t=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vt(e,t)}(a,e);var t,n,o,r=bt(a);function a(){return ht(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(ft())}},{key:"is",get:function(){return"vaadin-text-field"}},{key:"version",get:function(){return"2.6.1"}},{key:"properties",get:function(){return{list:{type:String},pattern:{type:String},title:{type:String}}}}],(n=null)&&yt(t.prototype,n),o&&yt(t,o),a}(G(function e(t){return function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&rt(e,t)}(a,t);var n,i,o,r=at(a);function a(){return nt(this,a),r.apply(this,arguments)}return n=a,o=[{key:"properties",get:function(){return{autocomplete:{type:String},autocorrect:{type:String},autocapitalize:{type:String},autoselect:{type:Boolean,value:!1},clearButtonVisible:{type:Boolean,value:!1},errorMessage:{type:String,value:""},i18n:{type:Object,value:function(){return{clear:"Clear"}}},label:{type:String,value:"",observer:"_labelChanged"},maxlength:{type:Number},minlength:{type:Number},name:{type:String},placeholder:{type:String},readonly:{type:Boolean,reflectToAttribute:!0},required:{type:Boolean,reflectToAttribute:!0},value:{type:String,value:"",observer:"_valueChanged",notify:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},hasValue:{type:Boolean,reflectToAttribute:!0},preventInvalidInput:{type:Boolean},_enabledCharPattern:String,_labelId:String,_errorId:String,_inputId:String}}},{key:"observers",get:function(){return["_stateChanged(disabled, readonly, clearButtonVisible, hasValue)","_hostPropsChanged("+ct.default.join(", ")+")","_hostAccessiblePropsChanged("+ct.accessible.join(", ")+")","_getActiveErrorId(invalid, errorMessage, _errorId)","_getActiveLabelId(label, _labelId, _inputId)","__observeOffsetHeight(errorMessage, invalid, label)","__enabledCharPatternChanged(_enabledCharPattern)"]}}],(i=[{key:"_createConstraintsObserver",value:function(){this._createMethodObserver("_constraintsChanged(required, minlength, maxlength, pattern)")}},{key:"_onInput",value:function(e){var t=this;if(this.__preventInput)return e.stopImmediatePropagation(),void(this.__preventInput=!1);if(this.preventInvalidInput){var n=this.inputElement;if(n.value.length>0&&!this.checkValidity())return n.value=this.value||"",this.setAttribute("input-prevented",""),void(this._inputDebouncer=A.d.debounce(this._inputDebouncer,T.Wc.after(200),(function(){t.removeAttribute("input-prevented")})))}e.__fromClearButton||(this.__userInput=!0),this.value=e.target.value,this.__userInput=!1}},{key:"_stateChanged",value:function(e,t,n,i){!e&&!t&&n&&i?this.$.clearButton.removeAttribute("hidden"):this.$.clearButton.setAttribute("hidden",!0)}},{key:"_onChange",value:function(e){if(!this._valueClearing){var t=new CustomEvent("change",{detail:{sourceEvent:e},bubbles:e.bubbles,cancelable:e.cancelable});this.dispatchEvent(t)}}},{key:"_valueChanged",value:function(e,t){""===e&&void 0===t||(this.hasValue=""!==e&&null!=e,this.__userInput||(void 0!==e?this.inputElement.value=e:this.value=this.inputElement.value="",this.invalid&&this.validate()))}},{key:"_labelChanged",value:function(e){""!==e&&null!=e?this.setAttribute("has-label",""):this.removeAttribute("has-label")}},{key:"_onSlotChange",value:function(){var e=this,t=this.querySelector("".concat(this._slottedTagName,'[slot="').concat(this._slottedTagName,'"]'));this.value&&(this.inputElement.value=this.value,this.validate()),t&&!this._slottedInput?(this._validateSlottedValue(t),this._addInputListeners(t),this._addIEListeners(t),this._slottedInput=t):!t&&this._slottedInput&&(this._removeInputListeners(this._slottedInput),this._removeIEListeners(this._slottedInput),this._slottedInput=void 0),Object.keys(dt).map((function(e){return dt[e]})).forEach((function(t){return e._propagateHostAttributes(ct[t].map((function(t){return e[t]})),t)}))}},{key:"_hostPropsChanged",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._propagateHostAttributes(t,dt.DEFAULT)}},{key:"_hostAccessiblePropsChanged",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this._propagateHostAttributes(t,dt.ACCESSIBLE)}},{key:"_validateSlottedValue",value:function(e){e.value!==this.value&&(console.warn("Please define value on the vaadin-text-field component!"),e.value="")}},{key:"_propagateHostAttributes",value:function(e,t){var n=this,i=this.inputElement,o=ct[t];t===dt.ACCESSIBLE?o.forEach((function(t,o){n._setOrToggleAttribute(t,e[o],i),n._setOrToggleAttribute("aria-".concat(t),!!e[o]&&"true",i)})):o.forEach((function(t,o){n._setOrToggleAttribute(t,e[o],i)}))}},{key:"_setOrToggleAttribute",value:function(e,t,n){e&&n&&(t?n.setAttribute(e,"boolean"==typeof t?"":t):n.removeAttribute(e))}},{key:"_constraintsChanged",value:function(e,t,n,i){this.invalid&&(e||t||n||i?this.validate():this.invalid=!1)}},{key:"checkValidity",value:function(){return this.required||this.pattern||this.maxlength||this.minlength||this.__forceCheckValidity?this.inputElement.checkValidity():!this.invalid}},{key:"_addInputListeners",value:function(e){e.addEventListener("input",this._boundOnInput),e.addEventListener("change",this._boundOnChange),e.addEventListener("blur",this._boundOnBlur),e.addEventListener("focus",this._boundOnFocus),e.addEventListener("paste",this._boundOnPaste),e.addEventListener("drop",this._boundOnDrop),e.addEventListener("beforeinput",this._boundOnBeforeInput)}},{key:"_removeInputListeners",value:function(e){e.removeEventListener("input",this._boundOnInput),e.removeEventListener("change",this._boundOnChange),e.removeEventListener("blur",this._boundOnBlur),e.removeEventListener("focus",this._boundOnFocus),e.removeEventListener("paste",this._boundOnPaste),e.removeEventListener("drop",this._boundOnDrop),e.removeEventListener("beforeinput",this._boundOnBeforeInput)}},{key:"ready",value:function(){var t=this;ot(st(a.prototype),"ready",this).call(this),this._createConstraintsObserver(),this._boundOnInput=this._onInput.bind(this),this._boundOnChange=this._onChange.bind(this),this._boundOnBlur=this._onBlur.bind(this),this._boundOnFocus=this._onFocus.bind(this),this._boundOnPaste=this._onPaste.bind(this),this._boundOnDrop=this._onDrop.bind(this),this._boundOnBeforeInput=this._onBeforeInput.bind(this);var n=this.shadowRoot.querySelector('[part="value"]');this._slottedInput=this.querySelector("".concat(this._slottedTagName,'[slot="').concat(this._slottedTagName,'"]')),this._addInputListeners(n),this._addIEListeners(n),this._slottedInput&&(this._addIEListeners(this._slottedInput),this._addInputListeners(this._slottedInput)),this.shadowRoot.querySelector('[name="input"], [name="textarea"]').addEventListener("slotchange",this._onSlotChange.bind(this)),window.ShadyCSS&&window.ShadyCSS.nativeCss||this.updateStyles(),this.$.clearButton.addEventListener("mousedown",(function(){return t._valueClearing=!0})),this.$.clearButton.addEventListener("mouseleave",(function(){return t._valueClearing=!1})),this.$.clearButton.addEventListener("click",this._onClearButtonClick.bind(this)),this.addEventListener("keydown",this._onKeyDown.bind(this));var i=e._uniqueId=1+e._uniqueId||0;this._errorId="".concat(this.constructor.is,"-error-").concat(i),this._labelId="".concat(this.constructor.is,"-label-").concat(i),this._inputId="".concat(this.constructor.is,"-input-").concat(i),this.shadowRoot.querySelector('[part="error-message"]').addEventListener("transitionend",(function(){t.__observeOffsetHeight()}))}},{key:"validate",value:function(){return!(this.invalid=!this.checkValidity())}},{key:"clear",value:function(){this.value=""}},{key:"_onBlur",value:function(){this.validate()}},{key:"_onFocus",value:function(){var e=this;this.autoselect&&(this.inputElement.select(),setTimeout((function(){try{e.inputElement.setSelectionRange(0,9999)}catch(t){}})))}},{key:"_onClearButtonClick",value:function(e){e.preventDefault(),this.inputElement.focus(),this.clear(),this._valueClearing=!1,navigator.userAgent.match(/Trident/)&&(this.__preventInput=!1);var t=new Event("input",{bubbles:!0,composed:!0});t.__fromClearButton=!0;var n=new Event("change",{bubbles:!this._slottedInput});n.__fromClearButton=!0,this.inputElement.dispatchEvent(t),this.inputElement.dispatchEvent(n)}},{key:"_onKeyDown",value:function(e){if(27===e.keyCode&&this.clearButtonVisible){var t=!!this.value;this.clear(),t&&this.inputElement.dispatchEvent(new Event("change",{bubbles:!this._slottedInput}))}this._enabledCharPattern&&!this.__shouldAcceptKey(e)&&e.preventDefault()}},{key:"__shouldAcceptKey",value:function(e){return e.metaKey||e.ctrlKey||!e.key||1!==e.key.length||this.__enabledCharRegExp.test(e.key)}},{key:"_onPaste",value:function(e){if(this._enabledCharPattern){var t=(e.clipboardData||window.clipboardData).getData("text");this.__enabledTextRegExp.test(t)||e.preventDefault()}}},{key:"_onDrop",value:function(e){if(this._enabledCharPattern){var t=e.dataTransfer.getData("text");this.__enabledTextRegExp.test(t)||e.preventDefault()}}},{key:"_onBeforeInput",value:function(e){this._enabledCharPattern&&e.data&&!this.__enabledTextRegExp.test(e.data)&&e.preventDefault()}},{key:"__enabledCharPatternChanged",value:function(e){this.__enabledCharRegExp=e&&new RegExp("^"+e+"$"),this.__enabledTextRegExp=e&&new RegExp("^"+e+"*$")}},{key:"_addIEListeners",value:function(e){var t=this;navigator.userAgent.match(/Trident/)&&(this._shouldPreventInput=function(){t.__preventInput=!0,requestAnimationFrame((function(){t.__preventInput=!1}))},e.addEventListener("focusin",this._shouldPreventInput),e.addEventListener("focusout",this._shouldPreventInput),this._createPropertyObserver("placeholder",this._shouldPreventInput))}},{key:"_removeIEListeners",value:function(e){navigator.userAgent.match(/Trident/)&&(e.removeEventListener("focusin",this._shouldPreventInput),e.removeEventListener("focusout",this._shouldPreventInput))}},{key:"_getActiveErrorId",value:function(e,t,n){this._setOrToggleAttribute("aria-describedby",t&&e?n:void 0,this.focusElement)}},{key:"_getActiveLabelId",value:function(e,t,n){var i=n;e&&(i="".concat(t," ").concat(n)),this.focusElement.setAttribute("aria-labelledby",i)}},{key:"_getErrorMessageAriaHidden",value:function(e,t,n){return(!(t&&e?n:void 0)).toString()}},{key:"_dispatchIronResizeEventIfNeeded",value:function(e,t){var n="__previous"+e;void 0!==this[n]&&this[n]!==t&&this.dispatchEvent(new CustomEvent("iron-resize",{bubbles:!0})),this[n]=t}},{key:"__observeOffsetHeight",value:function(){this._dispatchIronResizeEventIfNeeded("Height",this.offsetHeight)}},{key:"attributeChangedCallback",value:function(e,t,n){if(ot(st(a.prototype),"attributeChangedCallback",this).call(this,e,t,n),window.ShadyCSS&&window.ShadyCSS.nativeCss||!/^(focused|focus-ring|invalid|disabled|placeholder|has-value)$/.test(e)||this.updateStyles(),/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&this.root){var i="-webkit-backface-visibility";this.root.querySelectorAll("*").forEach((function(e){e.style[i]="visible",e.style[i]=""}))}}},{key:"focusElement",get:function(){if(this.shadowRoot){var e=this.querySelector("".concat(this._slottedTagName,'[slot="').concat(this._slottedTagName,'"]'));return e||this.shadowRoot.querySelector('[part="value"]')}}},{key:"inputElement",get:function(){return this.focusElement}},{key:"_slottedTagName",get:function(){return"input"}}])&&it(n.prototype,i),o&&it(n,o),a}(P(t))}((0,g.T)(b.H3))));function xt(e){return(xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Dt(e,t){return(Dt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ot(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Et(e);if(t){var o=Et(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return St(this,n)}}function St(e,t){return!t||"object"!==xt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Et(e){return(Et=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}customElements.define(_t.is,_t);var Ct=document.createElement("template");Ct.innerHTML='<dom-module id="vaadin-date-picker-text-field-styles" theme-for="vaadin-date-picker-text-field">\n  <template>\n    <style>\n      :host([dir="rtl"]) [part="input-field"] {\n        direction: ltr;\n      }\n\n      :host([dir="rtl"]) [part="value"]::placeholder {\n        direction: rtl;\n        text-align: left;\n      }\n\n      :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n        direction: rtl;\n        text-align: left;\n      }\n\n      :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n      :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n        direction: rtl;\n        text-align: left;\n      }\n    </style>\n  </template>\n</dom-module>',document.head.appendChild(Ct.content);var It=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Dt(e,t)}(r,e);var t,n,i,o=Ot(r);function r(){return wt(this,r),o.apply(this,arguments)}return t=r,i=[{key:"is",get:function(){return"vaadin-date-picker-text-field"}}],(n=null)&&kt(t.prototype,n),i&&kt(t,i),r}(_t);customElements.define(It.is,It);var Pt=n(72986),Tt=n(33367);function At(e){return(At="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Mt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Rt(e,t,n){return(Rt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Lt(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function $t(e,t){return($t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Lt(e);if(t){var o=Lt(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return Ft(this,n)}}function Ft(e,t){return!t||"object"!==At(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Lt(e){return(Lt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bt(e){return(Bt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vt(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n    <style>\n      :host {\n        display: inline-block;\n      }\n\n      :host([hidden]) {\n        display: none !important;\n      }\n\n      :host([opened]) {\n        pointer-events: auto;\n      }\n\n      [part="text-field"] {\n        width: 100%;\n        min-width: 0;\n      }\n    </style>\n\n\n    <vaadin-date-picker-text-field id="input" role="application" autocomplete="off" on-focus="_focus" value="{{_userInputValue}}" invalid="[[invalid]]" label="[[label]]" name="[[name]]" placeholder="[[placeholder]]" required="[[required]]" disabled="[[disabled]]" readonly="[[readonly]]" error-message="[[errorMessage]]" clear-button-visible="[[clearButtonVisible]]" aria-label$="[[label]]" part="text-field" theme$="[[theme]]">\n      <slot name="prefix" slot="prefix"></slot>\n      <div part="toggle-button" slot="suffix" on-tap="_toggle" role="button" aria-label$="[[i18n.calendar]]" aria-expanded$="[[_getAriaExpanded(opened)]]"></div>\n    </vaadin-date-picker-text-field>\n\n    <vaadin-date-picker-overlay id="overlay" fullscreen$="[[_fullscreen]]" theme$="[[__getOverlayTheme(theme, _overlayInitialized)]]" on-vaadin-overlay-open="_onOverlayOpened" on-vaadin-overlay-close="_onOverlayClosed" disable-upgrade="">\n      <template>\n        <vaadin-date-picker-overlay-content id="overlay-content" i18n="[[i18n]]" fullscreen$="[[_fullscreen]]" label="[[label]]" selected-date="{{_selectedDate}}" slot="dropdown-content" focused-date="{{_focusedDate}}" show-week-numbers="[[showWeekNumbers]]" min-date="[[_minDate]]" max-date="[[_maxDate]]" role="dialog" on-date-tap="_close" part="overlay-content" theme$="[[__getOverlayTheme(theme, _overlayInitialized)]]">\n        </vaadin-date-picker-overlay-content>\n      </template>\n    </vaadin-date-picker-overlay>\n\n    <iron-media-query query="[[_fullscreenMediaQuery]]" query-matches="{{_fullscreen}}">\n    </iron-media-query>\n'],['\n    <style>\n      :host {\n        display: inline-block;\n      }\n\n      :host([hidden]) {\n        display: none !important;\n      }\n\n      :host([opened]) {\n        pointer-events: auto;\n      }\n\n      [part="text-field"] {\n        width: 100%;\n        min-width: 0;\n      }\n    </style>\n\n\n    <vaadin-date-picker-text-field id="input" role="application" autocomplete="off" on-focus="_focus" value="{{_userInputValue}}" invalid="[[invalid]]" label="[[label]]" name="[[name]]" placeholder="[[placeholder]]" required="[[required]]" disabled="[[disabled]]" readonly="[[readonly]]" error-message="[[errorMessage]]" clear-button-visible="[[clearButtonVisible]]" aria-label\\$="[[label]]" part="text-field" theme\\$="[[theme]]">\n      <slot name="prefix" slot="prefix"></slot>\n      <div part="toggle-button" slot="suffix" on-tap="_toggle" role="button" aria-label\\$="[[i18n.calendar]]" aria-expanded\\$="[[_getAriaExpanded(opened)]]"></div>\n    </vaadin-date-picker-text-field>\n\n    <vaadin-date-picker-overlay id="overlay" fullscreen\\$="[[_fullscreen]]" theme\\$="[[__getOverlayTheme(theme, _overlayInitialized)]]" on-vaadin-overlay-open="_onOverlayOpened" on-vaadin-overlay-close="_onOverlayClosed" disable-upgrade="">\n      <template>\n        <vaadin-date-picker-overlay-content id="overlay-content" i18n="[[i18n]]" fullscreen\\$="[[_fullscreen]]" label="[[label]]" selected-date="{{_selectedDate}}" slot="dropdown-content" focused-date="{{_focusedDate}}" show-week-numbers="[[showWeekNumbers]]" min-date="[[_minDate]]" max-date="[[_maxDate]]" role="dialog" on-date-tap="_close" part="overlay-content" theme\\$="[[__getOverlayTheme(theme, _overlayInitialized)]]">\n        </vaadin-date-picker-overlay-content>\n      </template>\n    </vaadin-date-picker-overlay>\n\n    <iron-media-query query="[[_fullscreenMediaQuery]]" query-matches="{{_fullscreen}}">\n    </iron-media-query>\n']);return Vt=function(){return e},e}function Yt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qt(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Wt(e,t,n){return(Wt="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Xt(e)););return e}(e,t);if(i){var o=Object.getOwnPropertyDescriptor(i,t);return o.get?o.get.call(n):o.value}})(e,t,n||e)}function Ht(e,t){return(Ht=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=Xt(e);if(t){var o=Xt(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return Kt(this,n)}}function Kt(e,t){return!t||"object"!==Bt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xt(e){return(Xt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ut,Gt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ht(e,t)}(a,e);var t,n,o,r=Nt(a);function a(){return Yt(this,a),r.apply(this,arguments)}return t=a,o=[{key:"template",get:function(){return(0,i.d)(Vt())}},{key:"is",get:function(){return"vaadin-date-picker"}},{key:"version",get:function(){return"4.2.0"}},{key:"properties",get:function(){return{clearButtonVisible:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1,reflectToAttribute:!0},errorMessage:String,placeholder:String,readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},_userInputValue:String}}},{key:"observers",get:function(){return["_userInputValueChanged(_userInputValue)","_setClearButtonLabel(i18n.clear)"]}}],(n=[{key:"ready",value:function(){var e=this;Wt(Xt(a.prototype),"ready",this).call(this),(0,Oe.T8)(this,(function(){return e._inputElement.validate=function(){}})),this._inputElement.addEventListener("change",(function(t){""!==e._inputElement.value||t.__fromClearButton||(e.__dispatchChange=!0)}))}},{key:"_onVaadinOverlayClose",value:function(e){this._openedWithFocusRing&&this.hasAttribute("focused")?this.focusElement.setAttribute("focus-ring",""):this.hasAttribute("focused")||this.focusElement.blur(),e.detail.sourceEvent&&-1!==e.detail.sourceEvent.composedPath().indexOf(this)&&e.preventDefault()}},{key:"_toggle",value:function(e){e.stopPropagation(),this[this._overlayInitialized&&this.$.overlay.opened?"close":"open"]()}},{key:"_input",value:function(){return this.$.input}},{key:"_getAriaExpanded",value:function(e){return Boolean(e).toString()}},{key:"_setClearButtonLabel",value:function(e){this._inputElement.shadowRoot.querySelector('[part="clear-button"]').setAttribute("aria-label",e)}},{key:"_inputValue",set:function(e){this._inputElement.value=e},get:function(){return this._inputElement.value}},{key:"focusElement",get:function(){return this._input()||this}}])&&qt(t.prototype,n),o&&qt(t,o),a}(G(P((0,g.T)((0,pe.I)((Ut=(0,m._)(b.H3),function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$t(e,t)}(r,e);var t,n,i,o=zt(r);function r(){return jt(this,r),o.apply(this,arguments)}return t=r,i=[{key:"properties",get:function(){return{_selectedDate:{type:Date},_focusedDate:Date,value:{type:String,observer:"_valueChanged",notify:!0,value:""},required:{type:Boolean,value:!1},name:{type:String},initialPosition:String,label:String,opened:{type:Boolean,reflectToAttribute:!0,notify:!0,observer:"_openedChanged"},autoOpenDisabled:Boolean,showWeekNumbers:{type:Boolean},_fullscreen:{value:!1,observer:"_fullscreenChanged"},_fullscreenMediaQuery:{value:"(max-width: 420px), (max-height: 420px)"},_touchPrevented:Array,i18n:{type:Object,value:function(){return{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],firstDayOfWeek:0,week:"Week",calendar:"Calendar",clear:"Clear",today:"Today",cancel:"Cancel",formatDate:function(e){var t=String(e.year).replace(/\d+/,(function(e){return"0000".substr(e.length)+e}));return[e.month+1,e.day,t].join("/")},parseDate:function(e){var t,n=e.split("/"),i=new Date,o=i.getMonth(),r=i.getFullYear();if(3===n.length?(r=parseInt(n[2]),n[2].length<3&&r>=0&&(r+=r<50?2e3:1900),o=parseInt(n[0])-1,t=parseInt(n[1])):2===n.length?(o=parseInt(n[0])-1,t=parseInt(n[1])):1===n.length&&(t=parseInt(n[0])),void 0!==t)return{day:t,month:o,year:r}},formatTitle:function(e,t){return e+" "+t}}}},min:{type:String,observer:"_minChanged"},max:{type:String,observer:"_maxChanged"},_minDate:{type:Date,value:""},_maxDate:{type:Date,value:""},_noInput:{type:Boolean,computed:"_isNoInput(_fullscreen, _ios, i18n, i18n.*)"},_ios:{type:Boolean,value:navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/)},_webkitOverflowScroll:{type:Boolean,value:""===document.createElement("div").style.webkitOverflowScrolling},_ignoreAnnounce:{value:!0},_focusOverlayOnOpen:Boolean,_overlayInitialized:Boolean}}},{key:"observers",get:function(){return["_updateHasValue(value)","_selectedDateChanged(_selectedDate, i18n.formatDate)","_focusedDateChanged(_focusedDate, i18n.formatDate)","_announceFocusedDate(_focusedDate, opened, _ignoreAnnounce)"]}}],(n=[{key:"ready",value:function(){var e=this;Rt(Lt(r.prototype),"ready",this).call(this),this._boundOnScroll=this._onScroll.bind(this),this._boundFocus=this._focus.bind(this),this._boundUpdateAlignmentAndPosition=this._updateAlignmentAndPosition.bind(this);var t=function(t){var n=t.composedPath(),i=n.indexOf(e._inputElement);return 1===n.slice(0,i).filter((function(e){return e.getAttribute&&"clear-button"===e.getAttribute("part")})).length};(0,Q.NH)(this,"tap",(function(n){t(n)||e.autoOpenDisabled&&!e._noInput||e.open()})),this.addEventListener("touchend",(function(e){t(e)||e.preventDefault()})),this.addEventListener("keydown",this._onKeydown.bind(this)),this.addEventListener("input",this._onUserInput.bind(this)),this.addEventListener("focus",(function(t){return e._noInput&&t.target.blur()})),this.addEventListener("blur",(function(t){if(!e.opened){if(e.autoOpenDisabled){var n=e._getParsedDate();e._isValidDate(n)&&(e._selectedDate=n)}""===e._inputElement.value&&e.__dispatchChange?(e.validate(),e.value="",e.__dispatchChange=!1):e.validate()}}))}},{key:"_initOverlay",value:function(){var e=this;this.$.overlay.removeAttribute("disable-upgrade"),this._overlayInitialized=!0,this.$.overlay.addEventListener("opened-changed",(function(t){return e.opened=t.detail.value})),this._overlayContent.addEventListener("close",this._close.bind(this)),this._overlayContent.addEventListener("focus-input",this._focusAndSelect.bind(this)),this.$.overlay.addEventListener("vaadin-overlay-escape-press",this._boundFocus),this._overlayContent.addEventListener("focus",(function(){return e.focusElement._setFocused(!0)})),this.$.overlay.addEventListener("vaadin-overlay-close",this._onVaadinOverlayClose.bind(this));var t=function(t){e.$.overlay.bringToFront&&requestAnimationFrame((function(){e.$.overlay.bringToFront()}))};this.addEventListener("mousedown",t),this.addEventListener("touchstart",t)}},{key:"disconnectedCallback",value:function(){Rt(Lt(r.prototype),"disconnectedCallback",this).call(this),this._overlayInitialized&&this.$.overlay.removeEventListener("vaadin-overlay-escape-press",this._boundFocus),this.opened=!1}},{key:"open",value:function(){this.disabled||this.readonly||(this.opened=!0)}},{key:"_close",value:function(e){e&&e.stopPropagation(),this._focus(),this.close()}},{key:"close",value:function(){(this._overlayInitialized||this.autoOpenDisabled)&&this.$.overlay.close()}},{key:"_parseDate",value:function(e){var t=/^([-+]\d{1}|\d{2,4}|[-+]\d{6})-(\d{1,2})-(\d{1,2})$/.exec(e);if(t){var n=new Date(0,0);return n.setFullYear(parseInt(t[1],10)),n.setMonth(parseInt(t[2],10)-1),n.setDate(parseInt(t[3],10)),n}}},{key:"_isNoInput",value:function(e,t,n){return!this._inputElement||e||t||!n.parseDate}},{key:"_formatISO",value:function(e){if(!(e instanceof Date))return"";var t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"00";return(t+e).substr((t+e).length-t.length)},n="",i="0000",o=e.getFullYear();return o<0?(o=-o,n="-",i="000000"):e.getFullYear()>=1e4&&(n="+",i="000000"),[n+t(o,i),t(e.getMonth()+1),t(e.getDate())].join("-")}},{key:"_openedChanged",value:function(e){e&&!this._overlayInitialized&&this._initOverlay(),this._overlayInitialized&&(this.$.overlay.opened=e),e&&this._updateAlignmentAndPosition()}},{key:"_selectedDateChanged",value:function(e,t){if(void 0!==e&&void 0!==t){this.__userInputOccurred&&(this.__dispatchChange=!0);var n=this._formatISO(e);this.__keepInputValue||this._applyInputValue(e),n!==this.value&&(this.validate(),this.value=n),this.__userInputOccurred=!1,this.__dispatchChange=!1,this._ignoreFocusedDateChange=!0,this._focusedDate=e,this._ignoreFocusedDateChange=!1}}},{key:"_focusedDateChanged",value:function(e,t){void 0!==e&&void 0!==t&&(this.__userInputOccurred=!0,this._ignoreFocusedDateChange||this._noInput||this._applyInputValue(e))}},{key:"_updateHasValue",value:function(e){e?this.setAttribute("has-value",""):this.removeAttribute("has-value")}},{key:"__getOverlayTheme",value:function(e,t){if(t)return e}},{key:"_handleDateChange",value:function(e,t,n){if(t){var i=this._parseDate(t);i?he._dateEquals(this[e],i)||(this[e]=i,this.value&&this.validate()):this.value=n}else this[e]=""}},{key:"_valueChanged",value:function(e,t){this.__dispatchChange&&this.dispatchEvent(new CustomEvent("change",{bubbles:!0})),this._handleDateChange("_selectedDate",e,t)}},{key:"_minChanged",value:function(e,t){this._handleDateChange("_minDate",e,t)}},{key:"_maxChanged",value:function(e,t){this._handleDateChange("_maxDate",e,t)}},{key:"_updateAlignmentAndPosition",value:function(){if(this._overlayInitialized){if(!this._fullscreen){var e=this._inputElement.getBoundingClientRect(),t=e.top>window.innerHeight/2;if(e.left+this.clientWidth/2>window.innerWidth/2){var n=Math.min(window.innerWidth,document.documentElement.clientWidth);this.$.overlay.setAttribute("right-aligned",""),this.$.overlay.style.removeProperty("left"),this.$.overlay.style.right=n-e.right+"px"}else this.$.overlay.removeAttribute("right-aligned"),this.$.overlay.style.removeProperty("right"),this.$.overlay.style.left=e.left+"px";if(t){var i=Math.min(window.innerHeight,document.documentElement.clientHeight);this.$.overlay.setAttribute("bottom-aligned",""),this.$.overlay.style.removeProperty("top"),this.$.overlay.style.bottom=i-e.top+"px"}else this.$.overlay.removeAttribute("bottom-aligned"),this.$.overlay.style.removeProperty("bottom"),this.$.overlay.style.top=e.bottom+"px"}this.$.overlay.setAttribute("dir",getComputedStyle(this._inputElement).getPropertyValue("direction")),this._overlayContent._repositionYearScroller()}}},{key:"_fullscreenChanged",value:function(){this._overlayInitialized&&this.$.overlay.opened&&this._updateAlignmentAndPosition()}},{key:"_onOverlayOpened",value:function(){this._openedWithFocusRing=this.hasAttribute("focus-ring")||this.focusElement&&this.focusElement.hasAttribute("focus-ring");var e=this._parseDate(this.initialPosition),t=this._selectedDate||this._overlayContent.initialPosition||e||new Date;e||he._dateAllowed(t,this._minDate,this._maxDate)?this._overlayContent.initialPosition=t:this._overlayContent.initialPosition=he._getClosestDate(t,[this._minDate,this._maxDate]),this._overlayContent.scrollToDate(this._overlayContent.focusedDate||this._overlayContent.initialPosition),this._ignoreFocusedDateChange=!0,this._overlayContent.focusedDate=this._overlayContent.focusedDate||this._overlayContent.initialPosition,this._ignoreFocusedDateChange=!1,window.addEventListener("scroll",this._boundOnScroll,!0),this.addEventListener("iron-resize",this._boundUpdateAlignmentAndPosition),this._webkitOverflowScroll&&(this._touchPrevented=this._preventWebkitOverflowScrollingTouch(this.parentElement)),this._focusOverlayOnOpen?(this._overlayContent.focus(),this._focusOverlayOnOpen=!1):this._focus(),this._noInput&&this.focusElement&&this.focusElement.blur(),this.updateStyles(),this._ignoreAnnounce=!1}},{key:"_preventWebkitOverflowScrollingTouch",value:function(e){for(var t=[];e;){if("touch"===window.getComputedStyle(e).webkitOverflowScrolling){var n=e.style.webkitOverflowScrolling;e.style.webkitOverflowScrolling="auto",t.push({element:e,oldInlineValue:n})}e=e.parentElement}return t}},{key:"_selectParsedOrFocusedDate",value:function(){if(this._ignoreFocusedDateChange=!0,this.i18n.parseDate){var e=this._inputValue||"",t=this._getParsedDate(e);this._isValidDate(t)?this._selectedDate=t:(this.__keepInputValue=!0,this._selectedDate=null,this.__keepInputValue=!1)}else this._focusedDate&&(this._selectedDate=this._focusedDate);this._ignoreFocusedDateChange=!1}},{key:"_onOverlayClosed",value:function(){this._ignoreAnnounce=!0,window.removeEventListener("scroll",this._boundOnScroll,!0),this.removeEventListener("iron-resize",this._boundUpdateAlignmentAndPosition),this._touchPrevented&&(this._touchPrevented.forEach((function(e){return e.element.style.webkitOverflowScrolling=e.oldInlineValue})),this._touchPrevented=[]),this.updateStyles(),this._selectParsedOrFocusedDate(),this._nativeInput&&this._nativeInput.selectionStart&&(this._nativeInput.selectionStart=this._nativeInput.selectionEnd),this.value||this.validate()}},{key:"validate",value:function(){return!(this.invalid=!this.checkValidity(this._inputValue))}},{key:"checkValidity",value:function(){var e=!this._inputValue||this._selectedDate&&this._inputValue===this._getFormattedDate(this.i18n.formatDate,this._selectedDate),t=!this._selectedDate||he._dateAllowed(this._selectedDate,this._minDate,this._maxDate),n=!0;return this._inputElement&&(this._inputElement.checkValidity?(this._inputElement.__forceCheckValidity=!0,n=this._inputElement.checkValidity(),this._inputElement.__forceCheckValidity=!1):this._inputElement.validate&&(n=this._inputElement.validate())),e&&t&&n}},{key:"_onScroll",value:function(e){e.target!==window&&this._overlayContent.contains(e.target)||this._updateAlignmentAndPosition()}},{key:"_focus",value:function(){this._noInput?this._overlayInitialized&&this._overlayContent.focus():this._inputElement.focus()}},{key:"_focusAndSelect",value:function(){this._focus(),this._setSelectionRange(0,this._inputValue.length)}},{key:"_applyInputValue",value:function(e){this._inputValue=e?this._getFormattedDate(this.i18n.formatDate,e):""}},{key:"_getFormattedDate",value:function(e,t){return e(he._extractDateParts(t))}},{key:"_setSelectionRange",value:function(e,t){this._nativeInput&&this._nativeInput.setSelectionRange&&this._nativeInput.setSelectionRange(e,t)}},{key:"_eventKey",value:function(e){for(var t=["down","up","enter","esc","tab"],n=0;n<t.length;n++){var i=t[n];if(ce.G.keyboardEventMatchesKeys(e,i))return i}}},{key:"_isValidDate",value:function(e){return e&&!isNaN(e.getTime())}},{key:"_onKeydown",value:function(e){switch(this._noInput&&-1===[9].indexOf(e.keyCode)&&e.preventDefault(),this._eventKey(e)){case"down":case"up":e.preventDefault(),this.opened?(this._overlayContent.focus(),this._overlayContent._onKeydown(e)):(this._focusOverlayOnOpen=!0,this.open());break;case"enter":var t=this._getParsedDate(),n=this._isValidDate(t);if(this.opened)this._overlayInitialized&&this._overlayContent.focusedDate&&n&&(this._selectedDate=this._overlayContent.focusedDate),this.close();else if(n||""===this._inputElement.value){var i=this.value;this._selectParsedOrFocusedDate(),i===this.value&&this.validate()}else this.validate();break;case"esc":this.opened?(this._focusedDate=this._selectedDate,this._close()):this.autoOpenDisabled?(""===this._inputElement.value&&(this._selectedDate=null),this._applyInputValue(this._selectedDate)):(this._focusedDate=this._selectedDate,this._selectParsedOrFocusedDate());break;case"tab":this.opened&&(e.preventDefault(),this._setSelectionRange(0,0),e.shiftKey?this._overlayContent.focusCancel():(this._overlayContent.focus(),this._overlayContent.revealDate(this._focusedDate)))}}},{key:"_getParsedDate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._inputValue,t=this.i18n.parseDate&&this.i18n.parseDate(e),n=t&&this._parseDate(t.year+"-"+(t.month+1)+"-"+t.day);return n}},{key:"_onUserInput",value:function(e){this.opened||!this._inputElement.value||this.autoOpenDisabled||this.open(),this._userInputValueChanged(),e.__fromClearButton&&(this.validate(),this.__dispatchChange=!0,this.value="",this.__dispatchChange=!1)}},{key:"_userInputValueChanged",value:function(e){if(this.opened&&this._inputValue){var t=this._getParsedDate();this._isValidDate(t)&&(this._ignoreFocusedDateChange=!0,he._dateEquals(t,this._focusedDate)||(this._focusedDate=t),this._ignoreFocusedDateChange=!1)}}},{key:"_announceFocusedDate",value:function(e,t,n){t&&!n&&this._overlayContent.announceFocusedDate()}},{key:"_inputElement",get:function(){return this._input()}},{key:"_nativeInput",get:function(){if(this._inputElement)return this._inputElement.focusElement?this._inputElement.focusElement:this._inputElement.inputElement?this._inputElement.inputElement:window.unwrap?window.unwrap(this._inputElement):this._inputElement}},{key:"_overlayContent",get:function(){return this.$.overlay.content.querySelector("#overlay-content")}}])&&Mt(t.prototype,n),i&&Mt(t,i),r}((0,Tt.P)([Pt.z],Ut))))))));customElements.define(Gt.is,Gt)}}]);
//# sourceMappingURL=chunk.c6b80ec3c83fe89bf0a3.js.map