2019-06-30 19:37:32 +02:00
! function ( t ) { var e = { } ; function s ( i ) { if ( e [ i ] ) return e [ i ] . exports ; var n = e [ i ] = { i : i , l : ! 1 , exports : { } } ; return t [ i ] . call ( n . exports , n , n . exports , s ) , n . l = ! 0 , n . exports } s . m = t , s . c = e , s . d = function ( t , e , i ) { s . o ( t , e ) || Object . defineProperty ( t , e , { enumerable : ! 0 , get : i } ) } , s . r = function ( t ) { "undefined" != typeof Symbol && Symbol . toStringTag && Object . defineProperty ( t , Symbol . toStringTag , { value : "Module" } ) , Object . defineProperty ( t , "__esModule" , { value : ! 0 } ) } , s . t = function ( t , e ) { if ( 1 & e && ( t = s ( t ) ) , 8 & e ) return t ; if ( 4 & e && "object" == typeof t && t && t . _ _esModule ) return t ; var i = Object . create ( null ) ; if ( s . r ( i ) , Object . defineProperty ( i , "default" , { enumerable : ! 0 , value : t } ) , 2 & e && "string" != typeof t ) for ( var n in t ) s . d ( i , n , function ( e ) { return t [ e ] } . bind ( null , n ) ) ; return i } , s . n = function ( t ) { var e = t && t . _ _esModule ? function ( ) { return t . default } : function ( ) { return t } ; return s . d ( e , "a" , e ) , e } , s . o = function ( t , e ) { return Object . prototype . hasOwnProperty . call ( t , e ) } , s . p = "" , s ( s . s = 0 ) } ( [ function ( t , e , s ) { "use strict" ; s . r ( e ) ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
2020-05-03 22:33:04 +02:00
const i = new WeakMap , n = t => "function" == typeof t && i . has ( t ) , r = void 0 !== window . customElements && void 0 !== window . customElements . polyfillWrapFlushCallback , o = ( t , e , s = null ) => { for ( ; e !== s ; ) { const s = e . nextSibling ; t . removeChild ( e ) , e = s } } , a = { } , l = { } , c = ` {{lit- ${ String ( Math . random ( ) ) . slice ( 2 ) } }} ` , h = ` \x 3c!-- ${ c } -- \x 3e ` , p = new RegExp ( ` ${ c } | ${ h } ` ) , u = "$lit$" ; class d { constructor ( t , e ) { this . parts = [ ] , this . element = e ; const s = [ ] , i = [ ] , n = document . createTreeWalker ( e . content , 133 , null , ! 1 ) ; let r = 0 , o = - 1 , a = 0 ; const { strings : l , values : { length : h } } = t ; for ( ; a < h ; ) { const t = n . nextNode ( ) ; if ( null !== t ) { if ( o ++ , 1 === t . nodeType ) { if ( t . hasAttributes ( ) ) { const e = t . attributes , { length : s } = e ; let i = 0 ; for ( let t = 0 ; t < s ; t ++ ) _ ( e [ t ] . name , u ) && i ++ ; for ( ; i -- > 0 ; ) { const e = l [ a ] , s = y . exec ( e ) [ 2 ] , i = s . toLowerCase ( ) + u , n = t . getAttribute ( i ) ; t . removeAttribute ( i ) ; const r = n . split ( p ) ; this . parts . push ( { type : "attribute" , index : o , name : s , strings : r } ) , a += r . length - 1 } } "TEMPLATE" === t . tagName && ( i . push ( t ) , n . currentNode = t . content ) } else if ( 3 === t . nodeType ) { const e = t . data ; if ( e . indexOf ( c ) >= 0 ) { const i = t . parentNode , n = e . split ( p ) , r = n . length - 1 ; for ( let e = 0 ; e < r ; e ++ ) { let s , r = n [ e ] ; if ( "" === r ) s = m ( ) ; else { const t = y . exec ( r ) ; null !== t && _ ( t [ 2 ] , u ) && ( r = r . slice ( 0 , t . index ) + t [ 1 ] + t [ 2 ] . slice ( 0 , - u . length ) + t [ 3 ] ) , s = document . createTextNode ( r ) } i . insertBefore ( s , t ) , this . parts . push ( { type : "node" , index : ++ o } ) } "" === n [ r ] ? ( i . insertBefore ( m ( ) , t ) , s . push ( t ) ) : t . data = n [ r ] , a += r } } else if ( 8 === t . nodeType ) if ( t . data === c ) { const e = t . parentNode ; null !== t . previousSibling && o !== r || ( o ++ , e . insertBefore ( m ( ) , t ) ) , r = o , this . parts . push ( { type : "node" , index : o } ) , null === t . nextSibling ? t . data = "" : ( s . push ( t ) , o -- ) , a ++ } else { let e = - 1 ; for ( ; - 1 !== ( e = t . data . indexOf ( c , e + 1 ) ) ; ) this . parts . push ( { type : "node" , index : - 1 } ) , a ++ } } else n . currentNode = i . pop ( ) } for ( const t of s ) t . parentNode . removeChild ( t ) } } const _ = ( t , e ) => { const s = t . length - e . length ; return s >= 0 && t . slice ( s ) === e } , f = t => - 1 !== t . index , m = ( ) => document . createComment ( "" ) , y = /([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/ ;
2019-06-30 19:37:32 +02:00
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
class g { constructor ( t , e , s ) { this . _ _parts = [ ] , this . template = t , this . processor = e , this . options = s } update ( t ) { let e = 0 ; for ( const s of this . _ _parts ) void 0 !== s && s . setValue ( t [ e ] ) , e ++ ; for ( const t of this . _ _parts ) void 0 !== t && t . commit ( ) } _clone ( ) { const t = r ? this . template . element . content . cloneNode ( ! 0 ) : document . importNode ( this . template . element . content , ! 0 ) , e = [ ] , s = this . template . parts , i = document . createTreeWalker ( t , 133 , null , ! 1 ) ; let n , o = 0 , a = 0 , l = i . nextNode ( ) ; for ( ; o < s . length ; ) if ( n = s [ o ] , f ( n ) ) { for ( ; a < n . index ; ) a ++ , "TEMPLATE" === l . nodeName && ( e . push ( l ) , i . currentNode = l . content ) , null === ( l = i . nextNode ( ) ) && ( i . currentNode = e . pop ( ) , l = i . nextNode ( ) ) ; if ( "node" === n . type ) { const t = this . processor . handleTextExpression ( this . options ) ; t . insertAfterNode ( l . previousSibling ) , this . _ _parts . push ( t ) } else this . _ _parts . push ( ... this . processor . handleAttributeExpressions ( l , n . name , n . strings , this . options ) ) ; o ++ } else this . _ _parts . push ( void 0 ) , o ++ ; return r && ( document . adoptNode ( t ) , customElements . upgrade ( t ) ) , t } }
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* / c l a s s v { c o n s t r u c t o r ( t , e , s , i ) { t h i s . s t r i n g s = t , t h i s . v a l u e s = e , t h i s . t y p e = s , t h i s . p r o c e s s o r = i } g e t H T M L ( ) { c o n s t t = t h i s . s t r i n g s . l e n g t h - 1 ; l e t e = " " , s = ! 1 ; f o r ( l e t i = 0 ; i < t ; i + + ) { c o n s t t = t h i s . s t r i n g s [ i ] , n = t . l a s t I n d e x O f ( " \ x 3 c ! - - " ) ; s = ( n > - 1 | | s ) & & - 1 = = = t . i n d e x O f ( " - - \ x 3 e " , n + 1 ) ; c o n s t r = y . e x e c ( t ) ; e + = n u l l = = = r ? t + ( s ? c : h ) : t . s u b s t r ( 0 , r . i n d e x ) + r [ 1 ] + r [ 2 ] + u + r [ 3 ] + c } r e t u r n e + = t h i s . s t r i n g s [ t ] } g e t T e m p l a t e E l e m e n t ( ) { c o n s t t = d o c u m e n t . c r e a t e E l e m e n t ( " t e m p l a t e " ) ; r e t u r n t . i n n e r H T M L = t h i s . g e t H T M L ( ) , t } }
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
const S = t => null === t || ! ( "object" == typeof t || "function" == typeof t ) , b = t => Array . isArray ( t ) || ! ( ! t || ! t [ Symbol . iterator ] ) ; class w { constructor ( t , e , s ) { this . dirty = ! 0 , this . element = t , this . name = e , this . strings = s , this . parts = [ ] ; for ( let t = 0 ; t < s . length - 1 ; t ++ ) this . parts [ t ] = this . _createPart ( ) } _createPart ( ) { return new P ( this ) } _getValue ( ) { const t = this . strings , e = t . length - 1 ; let s = "" ; for ( let i = 0 ; i < e ; i ++ ) { s += t [ i ] ; const e = this . parts [ i ] ; if ( void 0 !== e ) { const t = e . value ; if ( S ( t ) || ! b ( t ) ) s += "string" == typeof t ? t : String ( t ) ; else for ( const e of t ) s += "string" == typeof e ? e : String ( e ) } } return s += t [ e ] } commit ( ) { this . dirty && ( this . dirty = ! 1 , this . element . setAttribute ( this . name , this . _getValue ( ) ) ) } } class P { constructor ( t ) { this . value = void 0 , this . committer = t } setValue ( t ) { t === a || S ( t ) && t === this . value || ( this . value = t , n ( t ) || ( this . committer . dirty = ! 0 ) ) } commit ( ) { for ( ; n ( this . value ) ; ) { const t = this . value ; this . value = a , t ( this ) } this . value !== a && this . committer . commit ( ) } } class C { constructor ( t ) { this . value = void 0 , this . _ _pendingValue = void 0 , this . options = t } appendInto ( t ) { this . startNode = t . appendChild ( m ( ) ) , this . endNode = t . appendChild ( m ( ) ) } insertAfterNode ( t ) { this . startNode = t , this . endNode = t . nextSibling } appendIntoPart ( t ) { t . _ _insert ( this . startNode = m ( ) ) , t . _ _insert ( this . endNode = m ( ) ) } insertAfterPart ( t ) { t . _ _insert ( this . startNode = m ( ) ) , this . endNode = t . endNode , t . endNode = this . startNode } setValue ( t ) { this . _ _pendingValue = t } commit ( ) { for ( ; n ( this . _ _pendingValue ) ; ) { const t = this . _ _pendingValue ; this . _ _pendingValue = a , t ( this ) } const t = this . _ _pendingValue ; t !== a && ( S ( t ) ? t !== this . value && this . _ _commitText ( t ) : t instanceof v ? this . _ _commitTemplateResult ( t ) : t instanceof Node ? this . _ _commitNode ( t ) : b ( t ) ? this . _ _commitIterable ( t ) : t === l ? ( this . value = l , this . clear ( ) ) : this . _ _commitText ( t ) ) } _ _insert ( t ) { this . endNode . parentNode . insertBefore ( t , this . endNode ) } _ _commitNode ( t ) { this . value !== t && ( this . clear ( ) , this . _ _insert ( t ) , this . value = t ) } _ _commitText ( t ) { const e = this . startNode . nextSibling ; t = null == t ? "" : t , e === this . endNode . previousSibling && 3 === e . nodeType ? e . data = t : this . _ _commitNode ( document . createTextNode ( "string" == typeof t ? t : String ( t ) ) ) , this . value = t } _ _commitTemplateResult ( t ) { const e = this . options . templateFactory ( t ) ; if ( this . value instanceof g && this . value . template === e ) this . value . update ( t . values ) ; else { const s = new g ( e , t . processor , this . options ) , i = s . _clone ( ) ; s . update ( t . values ) , this . _ _commitNode ( i ) , this . value = s } } _ _commitIterable ( t ) { Array . isArray ( this . value ) || ( this . value = [ ] , this . clear ( ) ) ; const e = this . value ; let s , i = 0 ; for ( const n of t ) void 0 === ( s = e [ i ] ) && ( s = new C ( this . options ) , e . push ( s ) , 0 === i ? s . appendIntoPart ( this ) : s . insertAfterPart ( e [ i - 1 ] ) ) , s . setValue ( n ) , s . commit ( ) , i ++ ; i < e . length && ( e . length = i , this . clear ( s && s . endNode ) ) } clear ( t = this . startNode ) { o ( this . startNode . parentNode , t . nextSibling , this . endNode ) } } class x { constructor ( t , e , s ) { if ( this . value = void 0 , this . _ _pendingValue = void 0 , 2 !== s . length || "" !== s [ 0 ] || "" !== s [ 1 ] ) throw new Error ( "Boolean attributes can only contain a single expression" ) ; this . element = t , this . name = e , this . strings = s } setValue ( t ) { this . _ _pendingValue = t } commit ( ) { for ( ; n ( this . _ _pendingValue ) ; ) { const t = this . _ _pendingValue ; this . _ _pendingValue = a , t ( this ) } if ( this . _ _pendingValue === a ) return ; const t = ! ! this . _ _pendingValue ; this . value !== t && ( t ? this . element . setAttribute ( this . name , "" ) : this . element . removeAttribute ( this . name ) , this . value = t ) , this . _ _pendingValue = a } } class O extends w { constructor ( t , e , s ) { super ( t , e , s ) , this . single = 2 === s . length && "" === s [ 0 ] && "" === s [ 1 ] } _createPart ( ) { return new T ( this ) } _getValue ( ) { return this . single ? this . parts [ 0 ] . value : super . _getValue ( ) } commit ( ) { this . dirty && ( this . dirty = ! 1 , this . element [ this . name ] = this . _getValue ( ) ) } } class T extends P { } let N = ! 1 ; try { const t = { get capture ( ) { return N = ! 0 , ! 1 } } ; window . addEventListener ( "test" , t , t ) , window . removeEventListener ( "test" , t , t ) } catch ( t ) { } class A { constructor ( t , e , s ) { this . value = void 0 , this . _ _pendingValue = void 0 , this . element = t , this . eventName = e , this . eventContext = s , this . _ _boundHandleEvent = t => this . handleEvent ( t ) } setValue ( t ) { this . _ _pendingValue = t } commit ( ) { for ( ; n ( this . _ _pendingValue ) ; ) { const t = this . _ _pendingValue ; this . _ _pendingValue = a , t ( this ) } if ( this . _ _pendingValue === a ) return ; const t = this . _ _pendingValue , e = this . value , s = null == t || null != e && ( t . ca
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* / c o n s t E = n e w c l a s s { h a n d l e A t t r i b u t e E x p r e s s i o n s ( t , e , s , i ) { c o n s t n = e [ 0 ] ; r e t u r n " . " = = = n ? n e w O ( t , e . s l i c e ( 1 ) , s ) . p a r t s : " @ " = = = n ? [ n e w A ( t , e . s l i c e ( 1 ) , i . e v e n t C o n t e x t ) ] : " ? " = = = n ? [ n e w x ( t , e . s l i c e ( 1 ) , s ) ] : n e w w ( t , e , s ) . p a r t s } h a n d l e T e x t E x p r e s s i o n ( t ) { r e t u r n n e w C ( t ) } } ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* / f u n c t i o n V ( t ) { l e t e = k . g e t ( t . t y p e ) ; v o i d 0 = = = e & & ( e = { s t r i n g s A r r a y : n e w W e a k M a p , k e y S t r i n g : n e w M a p } , k . s e t ( t . t y p e , e ) ) ; l e t s = e . s t r i n g s A r r a y . g e t ( t . s t r i n g s ) ; i f ( v o i d 0 ! = = s ) r e t u r n s ; c o n s t i = t . s t r i n g s . j o i n ( c ) ; r e t u r n v o i d 0 = = = ( s = e . k e y S t r i n g . g e t ( i ) ) & & ( s = n e w d ( t , t . g e t T e m p l a t e E l e m e n t ( ) ) , e . k e y S t r i n g . s e t ( i , s ) ) , e . s t r i n g s A r r a y . s e t ( t . s t r i n g s , s ) , s } c o n s t k = n e w M a p , M = n e w W e a k M a p ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
( window . litHtmlVersions || ( window . litHtmlVersions = [ ] ) ) . push ( "1.0.0" ) ; const R = ( t , ... e ) => new v ( t , e , "html" , E ) , U = 133 ; function z ( t , e ) { const { element : { content : s } , parts : i } = t , n = document . createTreeWalker ( s , U , null , ! 1 ) ; let r = $ ( i ) , o = i [ r ] , a = - 1 , l = 0 ; const c = [ ] ; let h = null ; for ( ; n . nextNode ( ) ; ) { a ++ ; const t = n . currentNode ; for ( t . previousSibling === h && ( h = null ) , e . has ( t ) && ( c . push ( t ) , null === h && ( h = t ) ) , null !== h && l ++ ; void 0 !== o && o . index === a ; ) o . index = null !== h ? - 1 : o . index - l , o = i [ r = $ ( i , r ) ] } c . forEach ( t => t . parentNode . removeChild ( t ) ) } const F = t => { let e = 11 === t . nodeType ? 0 : 1 ; const s = document . createTreeWalker ( t , U , null , ! 1 ) ; for ( ; s . nextNode ( ) ; ) e ++ ; return e } , $ = ( t , e = - 1 ) => { for ( let s = e + 1 ; s < t . length ; s ++ ) { const e = t [ s ] ; if ( f ( e ) ) return s } return - 1 } ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
const q = ( t , e ) => ` ${ t } -- ${ e } ` ; let I = ! 0 ; void 0 === window . ShadyCSS ? I = ! 1 : void 0 === window . ShadyCSS . prepareTemplateDom && ( console . warn ( "Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1." ) , I = ! 1 ) ; const H = t => e => { const s = q ( e . type , t ) ; let i = k . get ( s ) ; void 0 === i && ( i = { stringsArray : new WeakMap , keyString : new Map } , k . set ( s , i ) ) ; let n = i . stringsArray . get ( e . strings ) ; if ( void 0 !== n ) return n ; const r = e . strings . join ( c ) ; if ( void 0 === ( n = i . keyString . get ( r ) ) ) { const s = e . getTemplateElement ( ) ; I && window . ShadyCSS . prepareTemplateDom ( s , t ) , n = new d ( e , s ) , i . keyString . set ( r , n ) } return i . stringsArray . set ( e . strings , n ) , n } , D = [ "html" , "svg" ] , L = new Set , B = ( t , e , s ) => { L . add ( s ) ; const i = t . querySelectorAll ( "style" ) , { length : n } = i ; if ( 0 === n ) return void window . ShadyCSS . prepareTemplateStyles ( e . element , s ) ; const r = document . createElement ( "style" ) ; for ( let t = 0 ; t < n ; t ++ ) { const e = i [ t ] ; e . parentNode . removeChild ( e ) , r . textContent += e . textContent } ( t => { D . forEach ( e => { const s = k . get ( q ( e , t ) ) ; void 0 !== s && s . keyString . forEach ( t => { const { element : { content : e } } = t , s = new Set ; Array . from ( e . querySelectorAll ( "style" ) ) . forEach ( t => { s . add ( t ) } ) , z ( t , s ) } ) } ) } ) ( s ) ; const o = e . element . content ; ! function ( t , e , s = null ) { const { element : { content : i } , parts : n } = t ; if ( null == s ) return void i . appendChild ( e ) ; const r = document . createTreeWalker ( i , U , null , ! 1 ) ; let o = $ ( n ) , a = 0 , l = - 1 ; for ( ; r . nextNode ( ) ; ) for ( l ++ , r . currentNode === s && ( a = F ( e ) , s . parentNode . insertBefore ( e , s ) ) ; - 1 !== o && n [ o ] . index === l ; ) { if ( a > 0 ) { for ( ; - 1 !== o ; ) n [ o ] . index += a , o = $ ( n , o ) ; return } o = $ ( n , o ) } } ( e , r , o . firstChild ) , window . ShadyCSS . prepareTemplateStyles ( e . element , s ) ; const a = o . querySelector ( "style" ) ; if ( window . ShadyCSS . nativeShadow && null !== a ) t . insertBefore ( a . cloneNode ( ! 0 ) , t . firstChild ) ; else { o . insertBefore ( r , o . firstChild ) ; const t = new Set ; t . add ( r ) , z ( e , t ) } } ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
window . JSCompiler _renameProperty = ( t , e ) => t ; const W = { toAttribute ( t , e ) { switch ( e ) { case Boolean : return t ? "" : null ; case Object : case Array : return null == t ? t : JSON . stringify ( t ) } return t } , fromAttribute ( t , e ) { switch ( e ) { case Boolean : return null !== t ; case Number : return null === t ? null : Number ( t ) ; case Object : case Array : return JSON . parse ( t ) } return t } } , J = ( t , e ) => e !== t && ( e == e || t == t ) , G = { attribute : ! 0 , type : String , converter : W , reflect : ! 1 , hasChanged : J } , K = Promise . resolve ( ! 0 ) , Q = 1 , X = 4 , Y = 8 , Z = 16 , tt = 32 ; class et extends HTMLElement { constructor ( ) { super ( ) , this . _updateState = 0 , this . _instanceProperties = void 0 , this . _updatePromise = K , this . _hasConnectedResolver = void 0 , this . _changedProperties = new Map , this . _reflectingProperties = void 0 , this . initialize ( ) } static get observedAttributes ( ) { this . finalize ( ) ; const t = [ ] ; return this . _classProperties . forEach ( ( e , s ) => { const i = this . _attributeNameForProperty ( s , e ) ; void 0 !== i && ( this . _attributeToPropertyMap . set ( i , s ) , t . push ( i ) ) } ) , t } static _ensureClassProperties ( ) { if ( ! this . hasOwnProperty ( JSCompiler _renameProperty ( "_classProperties" , this ) ) ) { this . _classProperties = new Map ; const t = Object . getPrototypeOf ( this ) . _classProperties ; void 0 !== t && t . forEach ( ( t , e ) => this . _classProperties . set ( e , t ) ) } } static createProperty ( t , e = G ) { if ( this . _ensureClassProperties ( ) , this . _classProperties . set ( t , e ) , e . noAccessor || this . prototype . hasOwnProperty ( t ) ) return ; const s = "symbol" == typeof t ? Symbol ( ) : ` __ ${ t } ` ; Object . defineProperty ( this . prototype , t , { get ( ) { return this [ s ] } , set ( e ) { const i = this [ t ] ; this [ s ] = e , this . _requestUpdate ( t , i ) } , configurable : ! 0 , enumerable : ! 0 } ) } static finalize ( ) { if ( this . hasOwnProperty ( JSCompiler _renameProperty ( "finalized" , this ) ) && this . finalized ) return ; const t = Object . getPrototypeOf ( this ) ; if ( "function" == typeof t . finalize && t . finalize ( ) , this . finalized = ! 0 , this . _ensureClassProperties ( ) , this . _attributeToPropertyMap = new Map , this . hasOwnProperty ( JSCompiler _renameProperty ( "properties" , this ) ) ) { const t = this . properties , e = [ ... Object . getOwnPropertyNames ( t ) , ... "function" == typeof Object . getOwnPropertySymbols ? Object . getOwnPropertySymbols ( t ) : [ ] ] ; for ( const s of e ) this . createProperty ( s , t [ s ] ) } } static _attributeNameForProperty ( t , e ) { const s = e . attribute ; return ! 1 === s ? void 0 : "string" == typeof s ? s : "string" == typeof t ? t . toLowerCase ( ) : void 0 } static _valueHasChanged ( t , e , s = J ) { return s ( t , e ) } static _propertyValueFromAttribute ( t , e ) { const s = e . type , i = e . converter || W , n = "function" == typeof i ? i : i . fromAttribute ; return n ? n ( t , s ) : t } static _propertyValueToAttribute ( t , e ) { if ( void 0 === e . reflect ) return ; const s = e . type , i = e . converter ; return ( i && i . toAttribute || W . toAttribute ) ( t , s ) } initialize ( ) { this . _saveInstanceProperties ( ) , this . _requestUpdate ( ) } _saveInstanceProperties ( ) { this . constructor . _classProperties . forEach ( ( t , e ) => { if ( this . hasOwnProperty ( e ) ) { const t = this [ e ] ; delete this [ e ] , this . _instanceProperties || ( this . _instanceProperties = new Map ) , this . _instanceProperties . set ( e , t ) } } ) } _applyInstanceProperties ( ) { this . _instanceProperties . forEach ( ( t , e ) => this [ e ] = t ) , this . _instanceProperties = void 0 } connectedCallback ( ) { this . _updateState = this . _updateState | tt , this . _hasConnectedResolver && ( this . _hasConnectedResolver ( ) , this . _hasConnectedResolver = void 0 ) } disconnectedCallback ( ) { } attributeChangedCallback ( t , e , s ) { e !== s && this . _attributeToProperty ( t , s ) } _propertyToAttribute ( t , e , s = G ) { const i = this . constructor , n = i . _attributeNameForProperty ( t , s ) ; if ( void 0 !== n ) { const t = i . _propertyValueToAttribute ( e , s ) ; if ( void 0 === t ) return ; this . _updateState = this . _updateState | Y , null == t ? this . removeAttribute ( n ) : this . setAttribute ( n , t ) , this . _updateState = this . _updateState & ~ Y } } _attributeToProperty ( t , e ) { if ( this . _updateState & Y ) return ; const s = this . constructor , i = s . _attributeToPropertyMap . get ( t ) ; if ( void 0 !== i ) { const t = s . _classProperties . get ( i ) || G ; this . _updateState = this . _updateState | Z , this [ i ] = s . _propertyValueFromAttribute ( e , t ) , this . _updateState = this . _updateState & ~ Z } } _requestUpdate ( t , e ) { let s = ! 0 ; if ( void 0 !== t ) { const i = this . constructor , n = i . _classProperties . get ( t ) || G ; i . _valueHasChanged ( this [ t ] , e , n . hasChanged ) ? ( this . _changedProperties . has ( t ) || this . _changedProperties . set ( t , e ) , ! 0 !== n . reflect || this . _updateState & Z || ( void 0 === this . _reflectingProperties && ( this . _reflectingProperties = new Map ) , this . _r
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
const st = ( t , e ) => "method" !== e . kind || ! e . descriptor || "value" in e . descriptor ? { kind : "field" , key : Symbol ( ) , placement : "own" , descriptor : { } , initializer ( ) { "function" == typeof e . initializer && ( this [ e . key ] = e . initializer . call ( this ) ) } , finisher ( s ) { s . createProperty ( e . key , t ) } } : Object . assign ( { } , e , { finisher ( s ) { s . createProperty ( e . key , t ) } } ) , it = ( t , e , s ) => { e . constructor . createProperty ( s , t ) } ; function nt ( t ) { return ( e , s ) => void 0 !== s ? it ( t , e , s ) : st ( t , e ) } const rt = "adoptedStyleSheets" in Document . prototype && "replace" in CSSStyleSheet . prototype ; Symbol ( ) ;
/ * *
* @ license
* Copyright ( c ) 2017 The Polymer Project Authors . All rights reserved .
* This code may only be used under the BSD style license found at
* http : //polymer.github.io/LICENSE.txt
* The complete set of authors may be found at
* http : //polymer.github.io/AUTHORS.txt
* The complete set of contributors may be found at
* http : //polymer.github.io/CONTRIBUTORS.txt
* Code distributed by Google as part of the polymer project is also
* subject to an additional IP rights grant found at
* http : //polymer.github.io/PATENTS.txt
* /
( window . litElementVersions || ( window . litElementVersions = [ ] ) ) . push ( "2.0.1" ) ; const ot = t => t . flat ? t . flat ( 1 / 0 ) : function t ( e , s = [ ] ) { for ( let i = 0 , n = e . length ; i < n ; i ++ ) { const n = e [ i ] ; Array . isArray ( n ) ? t ( n , s ) : s . push ( n ) } return s } ( t ) ; class at extends et { static finalize ( ) { super . finalize ( ) , this . _styles = this . hasOwnProperty ( JSCompiler _renameProperty ( "styles" , this ) ) ? this . _getUniqueStyles ( ) : this . _styles || [ ] } static _getUniqueStyles ( ) { const t = this . styles , e = [ ] ; if ( Array . isArray ( t ) ) { ot ( t ) . reduceRight ( ( t , e ) => ( t . add ( e ) , t ) , new Set ) . forEach ( t => e . unshift ( t ) ) } else t && e . push ( t ) ; return e } initialize ( ) { super . initialize ( ) , this . renderRoot = this . createRenderRoot ( ) , window . ShadowRoot && this . renderRoot instanceof window . ShadowRoot && this . adoptStyles ( ) } createRenderRoot ( ) { return this . attachShadow ( { mode : "open" } ) } adoptStyles ( ) { const t = this . constructor . _styles ; 0 !== t . length && ( void 0 === window . ShadyCSS || window . ShadyCSS . nativeShadow ? rt ? this . renderRoot . adoptedStyleSheets = t . map ( t => t . styleSheet ) : this . _needsShimAdoptedStyleSheets = ! 0 : window . ShadyCSS . ScopingShim . prepareAdoptedCssText ( t . map ( t => t . cssText ) , this . localName ) ) } connectedCallback ( ) { super . connectedCallback ( ) , this . hasUpdated && void 0 !== window . ShadyCSS && window . ShadyCSS . styleElement ( this ) } update ( t ) { super . update ( t ) ; const e = this . render ( ) ; e instanceof v && this . constructor . render ( e , this . renderRoot , { scopeName : this . localName , eventContext : this } ) , this . _needsShimAdoptedStyleSheets && ( this . _needsShimAdoptedStyleSheets = ! 1 , this . constructor . _styles . forEach ( t => { const e = document . createElement ( "style" ) ; e . textContent = t . cssText , this . renderRoot . appendChild ( e ) } ) ) } render ( ) { } } at . finalized = ! 0 , at . render = ( t , e , s ) => { const i = s . scopeName , n = M . has ( e ) , r = I && 11 === e . nodeType && ! ! e . host && t instanceof v , a = r && ! L . has ( i ) , l = a ? document . createDocumentFragment ( ) : e ; if ( ( ( t , e , s ) => { let i = M . get ( e ) ; void 0 === i && ( o ( e , e . firstChild ) , M . set ( e , i = new C ( Object . assign ( { templateFactory : V } , s ) ) ) , i . appendInto ( e ) ) , i . setValue ( t ) , i . commit ( ) } ) ( t , l , Object . assign ( { templateFactory : H ( i ) } , s ) ) , a ) { const t = M . get ( l ) ; M . delete ( l ) , t . value instanceof g && B ( l , t . value . template , i ) , o ( e , e . firstChild ) , e . appendChild ( l ) , M . set ( e , t ) } ! n && r && window . ShadyCSS . styleElement ( e . host ) } ; const lt = ( t , e ) => 0 != ( t . attributes . supported _features & e ) ; class ct { constructor ( t , e ) { this . hass = t , this . stateObj = e , this . _attr = e . attributes , this . _feat = this . _attr . supported _features } get isFullyOpen ( ) { return void 0 !== this . _attr . current _position ? 100 === this . _attr . current _position : "open" === this . stateObj . state } get isFullyClosed ( ) { return void 0 !== this . _attr . current _position ? 0 === this . _attr . current _position : "closed" === this . stateObj . state } get isFullyOpenTilt ( ) { return 100 === this . _attr . current _tilt _position } get isFullyClosedTilt ( ) { return 0 === this . _attr . current _tilt _position } get isOpening ( ) { return "opening" === this . stateObj . state } get isClosing ( ) { return "closing" === this . stateObj . state } get supportsOpen ( ) { return lt ( this . stateObj , 1 ) } get supportsClose ( ) { return lt ( this . stateObj , 2 ) } get supportsSetPosition ( ) { return lt ( this . stateObj , 4 ) } get supportsStop ( ) { return lt ( this . stateObj , 8 ) } get supportsOpenTilt ( ) { return lt ( this . stateObj , 16 ) } get supportsCloseTilt ( ) { return lt ( this . stateObj , 32 ) } get supportsStopTilt ( ) { return lt ( this . stateObj , 64 ) } get supportsSetTiltPosition ( ) { return lt ( this . stateObj , 128 ) } get isTiltOnly ( ) { const t = this . supportsOpen || this . supportsClose || this . supportsStop ; return ( this . supportsOpenTilt || this . supportsCloseTilt || this . supportsStopTilt ) && ! t } openCover ( ) { this . callService ( "open_cover" ) } closeCover ( ) { this . callService ( "close_cover" ) } stopCover ( ) { this . callService ( "stop_cover" ) } openCoverTilt ( ) { this . callService ( "open_cover_tilt" ) } closeCoverTilt ( ) { this . callService ( "close_cover_tilt" ) } stopCoverTilt ( ) { this . callService ( "stop_cover_tilt" ) } setCoverPosition ( t ) { this . callService ( "set_cover_position" , { position : t } ) } setCoverTiltPosition ( t ) { this . callService ( "set_cover_tilt_position" , { tilt _position : t } ) } callService ( t , e = { } ) { e . entity _id = this . stateObj . entity _id , this . hass . callService ( "cover" , t , e ) } } s . d ( e , "StateCardCustomCover" , function ( ) { return pt } ) ; var ht = function ( t , e , s , i ) { var n , r = arguments . length , o = r < 3 ? e : null === i ? i = Object . getOwnPropertyDescriptor ( e , s ) : i ; if ( "object" == typeof Reflect && "function" == typeo
State info template
` }render(){if(!this._config||!this.hass)return R ` ` ;const t=this.entityObj,e=this.hass.states[this._config.entity];return e?R `
< style include = "iron-flex iron-flex-alignment" > < / s t y l e >
< style >
: host {
line - height : 1.5 ;
}
. state {
white - space : nowrap ;
}
[ invisible ] {
visibility : hidden ! important ;
}
< / s t y l e >
< hui - generic - entity - row . config = "${this._config}" . hass = "${this.hass}" >
< div class = "state" >
< paper - icon - button
icon = "hass:menu"
@ click = $ { this . onHalfOpenTap }
> < / p a p e r - i c o n - b u t t o n >
< paper - icon - button
icon = "hass:arrow-up"
@ click = $ { this . onOpenTap }
. disabled = "${this.computeOpenDisabled(e,this.entityObj)}"
> < / p a p e r - i c o n - b u t t o n >
< paper - icon - button
icon = "hass:stop"
@ click = $ { this . onStopTap }
> < / p a p e r - i c o n - b u t t o n >
< paper - icon - button
icon = "hass:arrow-down"
@ click = $ { this . onCloseTap }
. disabled = "${this.computeClosedDisabled(e,t)}"
> < / p a p e r - i c o n - b u t t o n >
< / d i v >
< / h u i - g e n e r i c - e n t i t y - r o w >
` :R `
< hui - warning
> Does not work : ( < / h u i - w a r n i n g
>
` }computeOpenDisabled(t,e){const s=!0===t.attributes.assumed_state;return(e.isFullyOpen||e.isOpening)&&!s}computeClosedDisabled(t,e){const s=!0===t.attributes.assumed_state;return(e.isFullyClosed||e.isClosing)&&!s}onHalfOpenTap(t){const e=this.hass.states[this._config.entity];t.stopPropagation(),this.entityObj.setCoverPosition(e.attributes.half_position)}onOpenTap(t){t.stopPropagation(),this.entityObj.openCover()}onCloseTap(t){t.stopPropagation(),this.entityObj.closeCover()}onStopTap(t){t.stopPropagation(),this.entityObj.stopCover()}};ht([nt()],pt.prototype,"hass",void 0),ht([nt()],pt.prototype,"_config",void 0),ht([nt()],pt.prototype,"stateObj",null),ht([nt()],pt.prototype,"inDialog",void 0),pt=ht([(t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:s,elements:i}=e;return{kind:s,elements:i,finisher(e){window.customElements.define(t,e)}}})(t,e))("state-card-custom-cover")],pt)}]);