2024-07-26 13:58:13 +00:00
function e ( e , t , i , r ) { var s , a = arguments . length , n = a < 3 ? t : null === r ? r = Object . getOwnPropertyDescriptor ( t , i ) : r ; if ( "object" == typeof Reflect && "function" == typeof Reflect . decorate ) n = Reflect . decorate ( e , t , i , r ) ; else for ( var o = e . length - 1 ; o >= 0 ; o -- ) ( s = e [ o ] ) && ( n = ( a < 3 ? s ( n ) : a > 3 ? s ( t , i , n ) : s ( t , i ) ) || n ) ; return a > 3 && n && Object . defineProperty ( t , i , n ) , n } function t ( e , t , i , r ) { return new ( i || ( i = Promise ) ) ( ( function ( s , a ) { function n ( e ) { try { l ( r . next ( e ) ) } catch ( e ) { a ( e ) } } function o ( e ) { try { l ( r . throw ( e ) ) } catch ( e ) { a ( e ) } } function l ( e ) { var t ; e . done ? s ( e . value ) : ( t = e . value , t instanceof i ? t : new i ( ( function ( e ) { e ( t ) } ) ) ) . then ( n , o ) } l ( ( r = r . apply ( e , t || [ ] ) ) . next ( ) ) } ) ) } "function" == typeof SuppressedError && SuppressedError ;
/ * *
* @ license
* Copyright 2019 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* /
const i = window , r = i . ShadowRoot && ( void 0 === i . ShadyCSS || i . ShadyCSS . nativeShadow ) && "adoptedStyleSheets" in Document . prototype && "replace" in CSSStyleSheet . prototype , s = Symbol ( ) , a = new WeakMap ; let n = class { constructor ( e , t , i ) { if ( this . _$cssResult$ = ! 0 , i !== s ) throw Error ( "CSSResult is not constructable. Use `unsafeCSS` or `css` instead." ) ; this . cssText = e , this . t = t } get styleSheet ( ) { let e = this . o ; const t = this . t ; if ( r && void 0 === e ) { const i = void 0 !== t && 1 === t . length ; i && ( e = a . get ( t ) ) , void 0 === e && ( ( this . o = e = new CSSStyleSheet ) . replaceSync ( this . cssText ) , i && a . set ( t , e ) ) } return e } toString ( ) { return this . cssText } } ; const o = r ? e => e : e => e instanceof CSSStyleSheet ? ( e => { let t = "" ; for ( const i of e . cssRules ) t += i . cssText ; return ( e => new n ( "string" == typeof e ? e : e + "" , void 0 , s ) ) ( t ) } ) ( e ) : e
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* / ; v a r l ; c o n s t c = w i n d o w , d = c . t r u s t e d T y p e s , u = d ? d . e m p t y S c r i p t : " " , h = c . r e a c t i v e E l e m e n t P o l y f i l l S u p p o r t , m = { t o A t t r i b u t e ( e , t ) { s w i t c h ( t ) { c a s e B o o l e a n : e = e ? u : n u l l ; b r e a k ; c a s e O b j e c t : c a s e A r r a y : e = n u l l = = e ? e : J S O N . s t r i n g i f y ( e ) } r e t u r n e } , f r o m A t t r i b u t e ( e , t ) { l e t i = e ; s w i t c h ( t ) { c a s e B o o l e a n : i = n u l l ! = = e ; b r e a k ; c a s e N u m b e r : i = n u l l = = = e ? n u l l : N u m b e r ( e ) ; b r e a k ; c a s e O b j e c t : c a s e A r r a y : t r y { i = J S O N . p a r s e ( e ) } c a t c h ( e ) { i = n u l l } } r e t u r n i } } , f = ( e , t ) = > t ! = = e & & ( t = = t | | e = = e ) , p = { a t t r i b u t e : ! 0 , t y p e : S t r i n g , c o n v e r t e r : m , r e f l e c t : ! 1 , h a s C h a n g e d : f } , y = " f i n a l i z e d " ; l e t b = c l a s s e x t e n d s H T M L E l e m e n t { c o n s t r u c t o r ( ) { s u p e r ( ) , t h i s . _ $ E i = n e w M a p , t h i s . i s U p d a t e P e n d i n g = ! 1 , t h i s . h a s U p d a t e d = ! 1 , t h i s . _ $ E l = n u l l , t h i s . _ $ E u ( ) } s t a t i c a d d I n i t i a l i z e r ( e ) { v a r t ; t h i s . f i n a l i z e ( ) , ( n u l l ! = = ( t = t h i s . h ) & & v o i d 0 ! = = t ? t : t h i s . h = [ ] ) . p u s h ( e ) } s t a t i c g e t o b s e r v e d A t t r i b u t e s ( ) { t h i s . f i n a l i z e ( ) ; c o n s t e = [ ] ; r e t u r n t h i s . e l e m e n t P r o p e r t i e s . f o r E a c h ( ( ( t , i ) = > { c o n s t r = t h i s . _ $ E p ( i , t ) ; v o i d 0 ! = = r & & ( t h i s . _ $ E v . s e t ( r , i ) , e . p u s h ( r ) ) } ) ) , e } s t a t i c c r e a t e P r o p e r t y ( e , t = p ) { i f ( t . s t a t e & & ( t . a t t r i b u t e = ! 1 ) , t h i s . f i n a l i z e ( ) , t h i s . e l e m e n t P r o p e r t i e s . s e t ( e , t ) , ! t . n o A c c e s s o r & & ! t h i s . p r o t o t y p e . h a s O w n P r o p e r t y ( e ) ) { c o n s t i = " s y m b o l " = = t y p e o f e ? S y m b o l ( ) : " _ _ " + e , r = t h i s . g e t P r o p e r t y D e s c r i p t o r ( e , i , t ) ; v o i d 0 ! = = r & & O b j e c t . d e f i n e P r o p e r t y ( t h i s . p r o t o t y p e , e , r ) } } s t a t i c g e t P r o p e r t y D e s c r i p t o r ( e , t , i ) { r e t u r n { g e t ( ) { r e t u r n t h i s [ t ] } , s e t ( r ) { c o n s t s = t h i s [ e ] ; t h i s [ t ] = r , t h i s . r e q u e s t U p d a t e ( e , s , i ) } , c o n f i g u r a b l e : ! 0 , e n u m e r a b l e : ! 0 } } s t a t i c g e t P r o p e r t y O p t i o n s ( e ) { r e t u r n t h i s . e l e m e n t P r o p e r t i e s . g e t ( e ) | | p } s t a t i c f i n a l i z e ( ) { i f ( t h i s . h a s O w n P r o p e r t y ( y ) ) r e t u r n ! 1 ; t h i s [ y ] = ! 0 ; c o n s t e = O b j e c t . g e t P r o t o t y p e O f ( t h i s ) ; i f ( e . f i n a l i z e ( ) , v o i d 0 ! = = e . h & & ( t h i s . h = [ . . . e . h ] ) , t h i s . e l e m e n t P r o p e r t i e s = n e w M a p ( e . e l e m e n t P r o p e r t i e s ) , t h i s . _ $ E v = n e w M a p , t h i s . h a s O w n P r o p e r t y ( " p r o p e r t i e s " ) ) { c o n s t e = t h i s . p r o p e r t i e s , t = [ . . . O b j e c t . g e t O w n P r o p e r t y N a m e s ( e ) , . . . O b j e c t . g e t O w n P r o p e r t y S y m b o l s ( e ) ] ; f o r ( c o n s t i o f t ) t h i s . c r e a t e P r o p e r t y ( i , e [ i ] ) } r e t u r n t h i s . e l e m e n t S t y l e s = t h i s . f i n a l i z e S t y l e s ( t h i s . s t y l e s ) , ! 0 } s t a t i c f i n a l i z e S t y l e s ( e ) { c o n s t t = [ ] ; i f ( A r r a y . i s A r r a y ( e ) ) { c o n s t i = n e w S e t ( e . f l a t ( 1 / 0 ) . r e v e r s e ( ) ) ; f o r ( c o n s t e o f i ) t . u n s h i f t ( o ( e ) ) } e l s e v o i d 0 ! = = e & & t . p u s h ( o ( e ) ) ; r e t u r n t } s t a t i c _ $ E p ( e , t ) { c o n s t i = t . a t t r i b u t e ; r e t u r n ! 1 = = = i ? v o i d 0 : " s t r i n g " = = t y p e o f i ? i : " s t r i n g " = = t y p e o f e ? e . t o L o w e r C a s e ( ) : v o i d 0 } _ $ E u ( ) { v a r e ; t h i s . _ $ E _ = n e w P r o m i s e ( ( e = > t h i s . e n a b l e U p d a t i n g = e ) ) , t h i s . _ $ A L = n e w M a p , t h i s . _ $ E g ( ) , t h i s . r e q u e s t U p d a t e ( ) , n u l l = = = ( e = t h i s . c o n s t r u c t o r . h ) | | v o i d 0 = = = e | | e . f o r E a c h ( ( e = > e ( t h i s ) ) ) } a d d C o n t r o l l e r ( e ) { v a r t , i ; ( n u l l ! = = ( t = t h i s . _ $ E S ) & & v o i d 0 ! = = t ? t : t h i s . _ $ E S = [ ] ) . p u s h ( e ) , v o i d 0 ! = = t h i s . r e n d e r R o o t & & t h i s . i s C o n n e c t e d & & ( n u l l = = = ( i = e . h o s t C o n n e c t e d ) | | v o i d 0 = = = i | | i . c a l l ( e ) ) } r e m o v e C o n t r o l l e r ( e ) { v a r t ; n u l l = = = ( t = t h i s . _ $ E S ) | | v o i d 0 = = = t | | t . s p l i c e ( t h i s . _ $ E S . i n d e x O f ( e ) > > > 0 , 1 ) } _ $ E g ( ) { t h i s . c o n s t r u c t o r . e l e m e n t P r o p e r t i e s . f o r E a c h ( ( ( e , t ) = > { t h i s . h a s O w n P r o p e r t y ( t ) & & ( t h i s . _ $ E i . s e t ( t , t h i s [ t ] ) , d e l e t e t h i s [ t ] ) } ) ) } c r e a t e R e n d e r R o o t ( ) { v a r e ; c o n s t t = n u l l ! = = ( e = t h i s . s h a d o w R o o t ) & & v o i d 0 ! = = e ? e : t h i s . a t t a c h S h a d o w ( t h i s . c o n s t r u c t o r . s h a d o w R o o t O p t i o n s ) ; r e t u r n ( ( e , t ) = > { r ? e . a d o p t e d S t y l e S h e e t s = t . m a p ( ( e = > e i n s t a n c e o f C S S S t y l e S h e e t ? e : e . s t y l e S h e e t ) ) : t . f o r E a c h ( ( t = > { c o n s t r = d o c u m e n t . c r e a t e E l e m e n t ( " s t y l e " ) , s = i . l i t N o n c e ; v o i d 0 ! = = s & & r . s e t A t t r i b u t e ( " n o n c e " , s ) , r . t e x t C o n t e n t = t . c s s T e x t , e . a p p e n d C h i l d ( r ) } ) ) } ) ( t , t h i s . c o n s t r u c t o r . e l e m e n t S t y l e s ) , t } c o n n e c t e d C a l l b a c k ( ) { v a r e ; v o i d 0 = = = t h i s . r e n d e r R o o t & & ( t h i s . r e n d e r R o o t = t h i s . c r e a t e R e n d e r R o o t ( ) ) , t h i s . e n a b l e U p d a t i n g ( ! 0 ) , n u l l = = = ( e = t h i s . _ $ E S ) | | v o i d 0 = = = e | | e . f o r E a c h ( ( e = > { v a r t ; r e t u r n n u l l = = = ( t = e . h o s t C o n n e c t e d ) | | v o i d 0 = = = t ? v o i d 0 : t . c a l l ( e ) } ) ) } e n a b l e U p d a t i n g ( e ) { } d i s c o n n e c t e d C a l l b a c k ( ) { v a r e ; n u l l = = = ( e = t h i s . _ $ E S ) | | v o i d 0 = = = e | | e . f o r E a c h ( ( e = > { v a r t ; r e t u r n n u l l = = = ( t = e . h o s t D i s c o n n e c t e d ) | | v o i d 0 = = = t ? v o i d 0 : t . c a l l ( e ) } ) ) } a t t r i b u t e C h a n g e d C a l l b a c k ( e , t , i ) { t h i s . _ $ A K ( e , i ) } _ $ E O ( e , t , i = p ) { v a r r ; c o n s t s = t h i s . c o n s t r u c t o r . _ $ E p ( e , i ) ; i f ( v o i d 0 ! = = s & & ! 0 = = = i . r e f l e c t ) { c o n s t a = ( v o i d 0 ! = = ( n u l l = = = ( r = i . c o n v e r t e r ) | | v o i d 0 = = = r ? v o i d 0 : r . t o A t t r i b u t e ) ? i . c o n v e r t e r : m ) . t o A t t r i b u t e ( t , i . t y p e ) ; t h i s . _ $ E l = e , n u l l = = a ? t h i s . r e m o v e A t t r i b u t e ( s ) : t h i s . s e t A t t r i b u t e ( s , a ) , t h i s . _ $ E l = n u l l } } _ $ A K ( e , t ) { v a r i ; c o n s t r = t h i s . c o n s t r u c t o r , s = r . _ $ E v . g e t ( e ) ; i f ( v o i d 0 ! = = s & & t h i s . _ $ E l ! = = s ) { c o n s t e = r . g e t P r o p e r t y O p t i o n s ( s ) , a = " f u n c t i o n " = = t y p e o f e . c o n v e r t e r ? { f r o m A t t r i b u t e : e . c o n v e
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* /
2024-09-18 16:56:20 +00:00
var g ; b [ y ] = ! 0 , b . elementProperties = new Map , b . elementStyles = [ ] , b . shadowRootOptions = { mode : "open" } , null == h || h ( { ReactiveElement : b } ) , ( null !== ( l = c . reactiveElementVersions ) && void 0 !== l ? l : c . reactiveElementVersions = [ ] ) . push ( "1.6.3" ) ; const w = window , v = w . trustedTypes , k = v ? v . createPolicy ( "lit-html" , { createHTML : e => e } ) : void 0 , x = "$lit$" , T = ` lit $ ${ ( Math . random ( ) + "" ) . slice ( 9 ) } $ ` , M = "?" + T , S = ` < ${ M } > ` , _ = document , N = ( ) => _ . createComment ( "" ) , O = e => null === e || "object" != typeof e && "function" != typeof e , A = Array . isArray , $ = "[ \t\n\f\r]" , Z = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g , C = /-->/g , B = />/g , U = RegExp ( ` >| ${ $ } (?:([^ \\ s"'>=/]+)( ${ $ } *= ${ $ } *(?:[^ \t \n \f \r "' \` <>=]|("|')|))| $ ) ` , "g" ) , V = /'/g , G = /"/g , E = /^(?:script|style|textarea|title)$/i , D = ( e => ( t , ... i ) => ( { _$litType$ : e , strings : t , values : i } ) ) ( 1 ) , j = Symbol . for ( "lit-noChange" ) , I = Symbol . for ( "lit-nothing" ) , z = new WeakMap , L = _ . createTreeWalker ( _ , 129 , null , ! 1 ) ; function F ( e , t ) { if ( ! Array . isArray ( e ) || ! e . hasOwnProperty ( "raw" ) ) throw Error ( "invalid template strings array" ) ; return void 0 !== k ? k . createHTML ( t ) : t } const P = ( e , t ) => { const i = e . length - 1 , r = [ ] ; let s , a = 2 === t ? "<svg>" : "" , n = Z ; for ( let t = 0 ; t < i ; t ++ ) { const i = e [ t ] ; let o , l , c = - 1 , d = 0 ; for ( ; d < i . length && ( n . lastIndex = d , l = n . exec ( i ) , null !== l ) ; ) d = n . lastIndex , n === Z ? "!--" === l [ 1 ] ? n = C : void 0 !== l [ 1 ] ? n = B : void 0 !== l [ 2 ] ? ( E . test ( l [ 2 ] ) && ( s = RegExp ( "</" + l [ 2 ] , "g" ) ) , n = U ) : void 0 !== l [ 3 ] && ( n = U ) : n === U ? ">" === l [ 0 ] ? ( n = null != s ? s : Z , c = - 1 ) : void 0 === l [ 1 ] ? c = - 2 : ( c = n . lastIndex - l [ 2 ] . length , o = l [ 1 ] , n = void 0 === l [ 3 ] ? U : '"' === l [ 3 ] ? G : V ) : n === G || n === V ? n = U : n === C || n === B ? n = Z : ( n = U , s = void 0 ) ; const u = n === U && e [ t + 1 ] . startsWith ( "/>" ) ? " " : "" ; a += n === Z ? i + S : c >= 0 ? ( r . push ( o ) , i . slice ( 0 , c ) + x + i . slice ( c ) + T + u ) : i + T + ( - 2 === c ? ( r . push ( void 0 ) , t ) : u ) } return [ F ( e , a + ( e [ i ] || "<?>" ) + ( 2 === t ? "</svg>" : "" ) ) , r ] } ; class H { constructor ( { strings : e , _$litType$ : t } , i ) { let r ; this . parts = [ ] ; let s = 0 , a = 0 ; const n = e . length - 1 , o = this . parts , [ l , c ] = P ( e , t ) ; if ( this . el = H . createElement ( l , i ) , L . currentNode = this . el . content , 2 === t ) { const e = this . el . content , t = e . firstChild ; t . remove ( ) , e . append ( ... t . childNodes ) } for ( ; null !== ( r = L . nextNode ( ) ) && o . length < n ; ) { if ( 1 === r . nodeType ) { if ( r . hasAttributes ( ) ) { const e = [ ] ; for ( const t of r . getAttributeNames ( ) ) if ( t . endsWith ( x ) || t . startsWith ( T ) ) { const i = c [ a ++ ] ; if ( e . push ( t ) , void 0 !== i ) { const e = r . getAttribute ( i . toLowerCase ( ) + x ) . split ( T ) , t = /([.?@])?(.*)/ . exec ( i ) ; o . push ( { type : 1 , index : s , name : t [ 2 ] , strings : e , ctor : "." === t [ 1 ] ? J : "?" === t [ 1 ] ? K : "@" === t [ 1 ] ? X : Y } ) } else o . push ( { type : 6 , index : s } ) } for ( const t of e ) r . removeAttribute ( t ) } if ( E . test ( r . tagName ) ) { const e = r . textContent . split ( T ) , t = e . length - 1 ; if ( t > 0 ) { r . textContent = v ? v . emptyScript : "" ; for ( let i = 0 ; i < t ; i ++ ) r . append ( e [ i ] , N ( ) ) , L . nextNode ( ) , o . push ( { type : 2 , index : ++ s } ) ; r . append ( e [ t ] , N ( ) ) } } } else if ( 8 === r . nodeType ) if ( r . data === M ) o . push ( { type : 2 , index : s } ) ; else { let e = - 1 ; for ( ; - 1 !== ( e = r . data . indexOf ( T , e + 1 ) ) ; ) o . push ( { type : 7 , index : s } ) , e += T . length - 1 } s ++ } } static createElement ( e , t ) { const i = _ . createElement ( "template" ) ; return i . innerHTML = e , i } } function W ( e , t , i = e , r ) { var s , a , n , o ; if ( t === j ) return t ; let l = void 0 !== r ? null === ( s = i . _$Co ) || void 0 === s ? void 0 : s [ r ] : i . _$Cl ; const c = O ( t ) ? void 0 : t . _$litDirective$ ; return ( null == l ? void 0 : l . constructor ) !== c && ( null === ( a = null == l ? void 0 : l . _$AO ) || void 0 === a || a . call ( l , ! 1 ) , void 0 === c ? l = void 0 : ( l = new c ( e ) , l . _$AT ( e , i , r ) ) , void 0 !== r ? ( null !== ( n = ( o = i ) . _$Co ) && void 0 !== n ? n : o . _$Co = [ ] ) [ r ] = l : i . _$Cl = l ) , void 0 !== l && ( t = W ( e , l . _$AS ( e , t . values ) , l , r ) ) , t } class q { constructor ( e , t ) { this . _$AV = [ ] , this . _$AN = void 0 , this . _$AD = e , this . _$AM = t } get parentNode ( ) { return this . _$AM . parentNode } get _$AU ( ) { return this . _$AM . _$AU } u ( e ) { var t ; const { el : { content : i } , parts : r } = this . _$AD , s = ( null !== ( t = null == e ? void 0 : e . creationScope ) && void 0 !== t ? t : _ ) . importNode ( i , ! 0 ) ; L . currentNode = s ; let a = L . nextNode ( ) , n = 0 , o = 0 , l = r [ 0 ] ; for ( ; void 0 !== l ; ) { if ( n === l . index ) { let t ; 2 === l . type ? t = new R ( a , a . nextSibling , this , e ) : 1 === l . type ? t = new l . ctor ( a , l . name , l . strings , this , e ) : 6 === l . type && ( t = new ee ( a , this , e ) ) , this . _$AV . push ( t ) , l = r [ ++ o ] } n !== ( null == l ? void 0 : l . index ) && ( a = L . nextNode ( ) , n ++ ) } return L . currentNode = _ , s } v ( e ) { let t = 0 ; for ( const i of this . _$AV ) void 0 !== i && ( void 0 !== i . strings ? ( i . _$AI ( e , i , t ) , t += i . strings . length - 2 ) : i . _$AI ( e [ t ] ) ) , t ++ } } class R { constructor ( e , t , i , r ) { var s ; this . type = 2 , this . _$AH = I , this . _$AN = void
2024-07-26 13:58:13 +00:00
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* /
var ie , re ; let se = class extends b { constructor ( ) { super ( ... arguments ) , this . renderOptions = { host : this } , this . _$Do = void 0 } createRenderRoot ( ) { var e , t ; const i = super . createRenderRoot ( ) ; return null !== ( e = ( t = this . renderOptions ) . renderBefore ) && void 0 !== e || ( t . renderBefore = i . firstChild ) , i } update ( e ) { const t = this . render ( ) ; this . hasUpdated || ( this . renderOptions . isConnected = this . isConnected ) , super . update ( e ) , this . _$Do = ( ( e , t , i ) => { var r , s ; const a = null !== ( r = null == i ? void 0 : i . renderBefore ) && void 0 !== r ? r : t ; let n = a . _$litPart$ ; if ( void 0 === n ) { const e = null !== ( s = null == i ? void 0 : i . renderBefore ) && void 0 !== s ? s : null ; a . _$litPart$ = n = new R ( t . insertBefore ( N ( ) , e ) , e , void 0 , null != i ? i : { } ) } return n . _$AI ( e ) , n } ) ( t , this . renderRoot , this . renderOptions ) } connectedCallback ( ) { var e ; super . connectedCallback ( ) , null === ( e = this . _$Do ) || void 0 === e || e . setConnected ( ! 0 ) } disconnectedCallback ( ) { var e ; super . disconnectedCallback ( ) , null === ( e = this . _$Do ) || void 0 === e || e . setConnected ( ! 1 ) } render ( ) { return j } } ; se . finalized = ! 0 , se . _$litElement$ = ! 0 , null === ( ie = globalThis . litElementHydrateSupport ) || void 0 === ie || ie . call ( globalThis , { LitElement : se } ) ; const ae = globalThis . litElementPolyfillSupport ; null == ae || ae ( { LitElement : se } ) , ( null !== ( re = globalThis . litElementVersions ) && void 0 !== re ? re : globalThis . litElementVersions = [ ] ) . push ( "3.3.3" ) ;
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* /
const ne = ( e , t ) => "method" === t . kind && t . descriptor && ! ( "value" in t . descriptor ) ? { ... t , finisher ( i ) { i . createProperty ( t . key , e ) } } : { kind : "field" , key : Symbol ( ) , placement : "own" , descriptor : { } , originalKey : t . key , initializer ( ) { "function" == typeof t . initializer && ( this [ t . key ] = t . initializer . call ( this ) ) } , finisher ( i ) { i . createProperty ( t . key , e ) } } , oe = ( e , t , i ) => { t . constructor . createProperty ( i , e ) } ;
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* / f u n c t i o n l e ( e ) { r e t u r n ( t , i ) = > v o i d 0 ! = = i ? o e ( e , t , i ) : n e ( e , t )
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* / } f u n c t i o n c e ( e ) { r e t u r n l e ( { . . . e , s t a t e : ! 0 } ) }
/ * *
* @ license
* Copyright 2021 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
* / v a r d e , u e , h e ; n u l l = = = ( d e = w i n d o w . H T M L S l o t E l e m e n t ) | | v o i d 0 = = = d e | | d e . p r o t o t y p e . a s s i g n e d E l e m e n t s , f u n c t i o n ( e ) { e . l a n g u a g e = " l a n g u a g e " , e . s y s t e m = " s y s t e m " , e . c o m m a _ d e c i m a l = " c o m m a _ d e c i m a l " , e . d e c i m a l _ c o m m a = " d e c i m a l _ c o m m a " , e . s p a c e _ c o m m a = " s p a c e _ c o m m a " , e . n o n e = " n o n e " } ( u e | | ( u e = { } ) ) , f u n c t i o n ( e ) { e . l a n g u a g e = " l a n g u a g e " , e . s y s t e m = " s y s t e m " , e . a m _ p m = " 1 2 " , e . t w e n t y _ f o u r = " 2 4 " } ( h e | | ( h e = { } ) ) ; v a r m e = [ " c l o s e d " , " l o c k e d " , " o f f " ] , f e = f u n c t i o n ( e , t , i , r ) { r = r | | { } , i = n u l l = = i ? { } : i ; v a r s = n e w E v e n t ( t , { b u b b l e s : v o i d 0 = = = r . b u b b l e s | | r . b u b b l e s , c a n c e l a b l e : B o o l e a n ( r . c a n c e l a b l e ) , c o m p o s e d : v o i d 0 = = = r . c o m p o s e d | | r . c o m p o s e d } ) ; r e t u r n s . d e t a i l = i , e . d i s p a t c h E v e n t ( s ) , s } , p e = f u n c t i o n ( e ) { f e ( w i n d o w , " h a p t i c " , e ) } , y e = f u n c t i o n ( e , t , i , r ) { i f ( r | | ( r = { a c t i o n : " m o r e - i n f o " } ) , ! r . c o n f i r m a t i o n | | r . c o n f i r m a t i o n . e x e m p t i o n s & & r . c o n f i r m a t i o n . e x e m p t i o n s . s o m e ( ( f u n c t i o n ( e ) { r e t u r n e . u s e r = = = t . u s e r . i d } ) ) | | ( p e ( " w a r n i n g " ) , c o n f i r m ( r . c o n f i r m a t i o n . t e x t | | " A r e y o u s u r e y o u w a n t t o " + r . a c t i o n + " ? " ) ) ) s w i t c h ( r . a c t i o n ) { c a s e " m o r e - i n f o " : ( i . e n t i t y | | i . c a m e r a _ i m a g e ) & & f e ( e , " h a s s - m o r e - i n f o " , { e n t i t y I d : i . e n t i t y ? i . e n t i t y : i . c a m e r a _ i m a g e } ) ; b r e a k ; c a s e " n a v i g a t e " : r . n a v i g a t i o n _ p a t h & & f u n c t i o n ( e , t , i ) { v o i d 0 = = = i & & ( i = ! 1 ) , i ? h i s t o r y . r e p l a c e S t a t e ( n u l l , " " , t ) : h i s t o r y . p u s h S t a t e ( n u l l , " " , t ) , f e ( w i n d o w , " l o c a t i o n - c h a n g e d " , { r e p l a c e : i } ) } ( 0 , r . n a v i g a t i o n _ p a t h ) ; b r e a k ; c a s e " u r l " : r . u r l _ p a t h & & w i n d o w . o p e n ( r . u r l _ p a t h ) ; b r e a k ; c a s e " t o g g l e " : i . e n t i t y & & ( f u n c t i o n ( e , t ) { ( f u n c t i o n ( e , t , i ) { v o i d 0 = = = i & & ( i = ! 0 ) ; v a r r , s = f u n c t i o n ( e ) { r e t u r n e . s u b s t r ( 0 , e . i n d e x O f ( " . " ) ) } ( t ) , a = " g r o u p " = = = s ? " h o m e a s s i s t a n t " : s ; s w i t c h ( s ) { c a s e " l o c k " : r = i ? " u n l o c k " : " l o c k " ; b r e a k ; c a s e " c o v e r " : r = i ? " o p e n _ c o v e r " : " c l o s e _ c o v e r " ; b r e a k ; d e f a u l t : r = i ? " t u r n _ o n " : " t u r n _ o f f " } e . c a l l S e r v i c e ( a , r , { e n t i t y _ i d : t } ) } ) ( e , t , m e . i n c l u d e s ( e . s t a t e s [ t ] . s t a t e ) ) } ( t , i . e n t i t y ) , p e ( " s u c c e s s " ) ) ; b r e a k ; c a s e " c a l l - s e r v i c e " : i f ( ! r . s e r v i c e ) r e t u r n v o i d p e ( " f a i l u r e " ) ; v a r s = r . s e r v i c e . s p l i t ( " . " , 2 ) ; t . c a l l S e r v i c e ( s [ 0 ] , s [ 1 ] , r . s e r v i c e _ d a t a , r . t a r g e t ) , p e ( " s u c c e s s " ) ; b r e a k ; c a s e " f i r e - d o m - e v e n t " : f e ( e , " l l - c u s t o m " , r ) } } ; f u n c t i o n b e ( e ) { r e t u r n v o i d 0 ! = = e & & " n o n e " ! = = e . a c t i o n } c l a s s g e { c o n s t r u c t o r ( e , t , i ) { t h i s . r = e , t h i s . g = t , t h i s . b = i } t o R g b S t r i n g ( ) { r e t u r n ` r g b ( $ { t h i s . r } , $ { t h i s . g } , $ { t h i s . b } ) ` } } v a r w e = ( ( e , . . . t ) = > { c o n s t i = 1 = = = e . l e n g t h ? e [ 0 ] : t . r e d u c e ( ( ( t , i , r ) = > t + ( e = > { i f ( ! 0 = = = e . _ $ c s s R e s u l t $ ) r e t u r n e . c s s T e x t ; i f ( " n u m b e r " = = t y p e o f e ) r e t u r n e ; t h r o w E r r o r ( " V a l u e p a s s e d t o ' c s s ' f u n c t i o n m u s t b e a ' c s s ' f u n c t i o n r e s u l t : " + e + " . U s e ' u n s a f e C S S ' t o p a s s n o n - l i t e r a l v a l u e s , b u t t a k e c a r e t o e n s u r e p a g e s e c u r i t y . " ) } ) ( i ) + e [ r + 1 ] ) , e [ 0 ] ) ; r e t u r n n e w n ( i , e , s ) } ) `
ha - card {
-- bar - height : 1.5 rem ;
height : 100 % ;
}
clock - weather - card - today {
display : flex ;
}
clock - weather - card - today - left {
display : flex ;
width : 35 % ;
align - items : center ;
justify - content : center ;
}
. grow - img {
max - width : 100 % ;
max - height : 100 % ;
}
clock - weather - card - today - right {
display : flex ;
width : 65 % ;
justify - content : space - around ;
align - items : center ;
}
clock - weather - card - today - right - wrap {
display : flex ;
flex - direction : column ;
}
clock - weather - card - today - right - wrap - top {
width : 100 % ;
text - align : end ;
display : block ;
}
clock - weather - card - today - right - wrap - center {
display : flex ;
height : 4 rem ;
font - size : 3.5 rem ;
white - space : nowrap ;
align - items : center ;
justify - content : center ;
}
clock - weather - card - today - right - wrap - bottom {
display : flex ;
justify - content : start ;
}
clock - weather - card - forecast {
display : block ;
}
clock - weather - card - forecast - row {
display : grid ;
grid - template - columns : var ( -- col - one - size ) 2 rem 2.1 rem auto 2.1 rem ;
align - items : center ;
grid - gap : 0.5 rem ;
}
forecast - text {
text - align : var ( -- text - align ) ;
white - space : nowrap ;
text - overflow : clip ;
}
forecast - icon {
display : flex ;
align - items : center ;
justify - content : center ;
}
forecast - temperature - bar {
position : relative ;
width : 100 % ;
height : var ( -- bar - height ) ;
border - radius : calc ( var ( -- bar - height ) / 2 ) ;
overflow : hidden ;
}
forecast - temperature - bar - background {
left : 0 % ;
right : 100 % ;
width : 100 % ;
opacity : 0.25 ;
background : var ( -- light - primary - color ) ;
}
forecast - temperature - bar - current - indicator - dot {
-- border - width : 2 px ;
background - color : var ( -- primary - text - color ) ;
border - radius : 50 % ;
width : var ( -- bar - height ) ;
box - shadow : inset 0 0 0 var ( -- border - width ) var ( -- text - light - primary - color ) ;
margin - left : calc ( var ( -- move - right ) * - 1 * var ( -- bar - height ) ) ;
}
forecast - temperature - bar - range {
border - radius : calc ( var ( -- bar - height ) / 2 ) ;
left : var ( -- start - percent ) ;
right : calc ( 100 % - var ( -- end - percent ) ) ;
background : linear - gradient ( to right , var ( -- gradient ) ) ;
overflow : hidden ;
min - width : var ( -- bar - height ) ;
margin - left : calc ( var ( -- move - right ) * - 1 * var ( -- bar - height ) ) ;
}
forecast - temperature - bar - current - indicator {
opacity : 0.75 ;
left : var ( -- position ) ;
}
forecast - temperature - bar - current - indicator ,
forecast - temperature - bar - current - indicator - dot ,
forecast - temperature - bar - background ,
forecast - temperature - bar - range {
height : 100 % ;
position : absolute ;
}
aqi {
padding : 2 px ;
border - radius : 5 px ;
}
`
/ * *
* @ license
* Copyright 2017 Google LLC
* SPDX - License - Identifier : BSD - 3 - Clause
2024-12-24 16:50:53 +00:00
* / ; c l a s s v e { c o n s t r u c t o r ( e ) { } g e t _ $ A U ( ) { r e t u r n t h i s . _ $ A M . _ $ A U } _ $ A T ( e , t , i ) { t h i s . _ $ C t = e , t h i s . _ $ A M = t , t h i s . _ $ C i = i } _ $ A S ( e , t ) { r e t u r n t h i s . u p d a t e ( e , t ) } u p d a t e ( e , t ) { r e t u r n t h i s . r e n d e r ( . . . t ) } } c o n s t k e = " o n t o u c h s t a r t " i n w i n d o w | | n a v i g a t o r . m a x T o u c h P o i n t s > 0 | | n a v i g a t o r . m a x T o u c h P o i n t s > 0 ; c l a s s x e e x t e n d s H T M L E l e m e n t { c o n s t r u c t o r ( ) { s u p e r ( ) , t h i s . h o l d T i m e = 5 0 0 , t h i s . h e l d = ! 1 , t h i s . r i p p l e = d o c u m e n t . c r e a t e E l e m e n t ( " m w c - r i p p l e " ) } c o n n e c t e d C a l l b a c k ( ) { O b j e c t . a s s i g n ( t h i s . s t y l e , { p o s i t i o n : " a b s o l u t e " , w i d t h : k e ? " 1 0 0 p x " : " 5 0 p x " , h e i g h t : k e ? " 1 0 0 p x " : " 5 0 p x " , t r a n s f o r m : " t r a n s l a t e ( - 5 0 % , - 5 0 % ) " , p o i n t e r E v e n t s : " n o n e " , z I n d e x : " 9 9 9 " } ) , t h i s . a p p e n d C h i l d ( t h i s . r i p p l e ) , t h i s . r i p p l e . p r i m a r y = ! 0 , [ " t o u c h c a n c e l " , " m o u s e o u t " , " m o u s e u p " , " t o u c h m o v e " , " m o u s e w h e e l " , " w h e e l " , " s c r o l l " ] . f o r E a c h ( ( e = > { d o c u m e n t . a d d E v e n t L i s t e n e r ( e , ( ( ) = > { c l e a r T i m e o u t ( t h i s . t i m e r ) , t h i s . s t o p A n i m a t i o n ( ) , t h i s . t i m e r = v o i d 0 } ) , { p a s s i v e : ! 0 } ) } ) ) } b i n d ( e , t ) { i f ( e . a c t i o n H a n d l e r ) r e t u r n ; e . a c t i o n H a n d l e r = ! 0 , e . a d d E v e n t L i s t e n e r ( " c o n t e x t m e n u " , ( e = > { c o n s t t = e | | w i n d o w . e v e n t ; r e t u r n t . p r e v e n t D e f a u l t & & t . p r e v e n t D e f a u l t ( ) , t . s t o p P r o p a g a t i o n & & t . s t o p P r o p a g a t i o n ( ) , t . c a n c e l B u b b l e = ! 0 , t . r e t u r n V a l u e = ! 1 , ! 1 } ) ) ; c o n s t i = e = > { v a r t , i ; t h i s . h e l d = ! 1 ; c o n s t r = n u l l ! = = ( t = e . p a g e X ) & & v o i d 0 ! = = t ? t : e . t o u c h e s [ 0 ] . p a g e X , s = n u l l ! = = ( i = e . p a g e Y ) & & v o i d 0 ! = = i ? i : e . t o u c h e s [ 0 ] . p a g e Y ; t h i s . t i m e r = w i n d o w . s e t T i m e o u t ( ( ( ) = > { t h i s . s t a r t A n i m a t i o n ( r , s ) , t h i s . h e l d = ! 0 } ) , t h i s . h o l d T i m e ) } , r = i = > { i . p r e v e n t D e f a u l t ( ) , [ " t o u c h e n d " , " t o u c h c a n c e l " ] . i n c l u d e s ( i . t y p e ) & & v o i d 0 = = = t h i s . t i m e r | | ( c l e a r T i m e o u t ( t h i s . t i m e r ) , t h i s . s t o p A n i m a t i o n ( ) , t h i s . t i m e r = v o i d 0 , t h i s . h e l d ? f e ( e , " a c t i o n " , { a c t i o n : " h o l d " } ) : t . h a s D o u b l e C l i c k ? " c l i c k " = = = i . t y p e & & i . d e t a i l < 2 | | ! t h i s . d b l C l i c k T i m e o u t ? t h i s . d b l C l i c k T i m e o u t = w i n d o w . s e t T i m e o u t ( ( ( ) = > { t h i s . d b l C l i c k T i m e o u t = v o i d 0 , f e ( e , " a c t i o n " , { a c t i o n : " t a p " } ) } ) , 2 5 0 ) : ( c l e a r T i m e o u t ( t h i s . d b l C l i c k T i m e o u t ) , t h i s . d b l C l i c k T i m e o u t = v o i d 0 , f e ( e , " a c t i o n " , { a c t i o n : " d o u b l e _ t a p " } ) ) : f e ( e , " a c t i o n " , { a c t i o n : " t a p " } ) ) } ; e . a d d E v e n t L i s t e n e r ( " t o u c h s t a r t " , i , { p a s s i v e : ! 0 } ) , e . a d d E v e n t L i s t e n e r ( " t o u c h e n d " , r ) , e . a d d E v e n t L i s t e n e r ( " t o u c h c a n c e l " , r ) , e . a d d E v e n t L i s t e n e r ( " m o u s e d o w n " , i , { p a s s i v e : ! 0 } ) , e . a d d E v e n t L i s t e n e r ( " c l i c k " , r ) , e . a d d E v e n t L i s t e n e r ( " k e y u p " , ( e = > { 1 3 = = = e . k e y C o d e & & r ( e ) } ) ) } s t a r t A n i m a t i o n ( e , t ) { O b j e c t . a s s i g n ( t h i s . s t y l e , { l e f t : ` $ { e } p x ` , t o p : ` $ { t } p x ` , d i s p l a y : n u l l } ) , t h i s . r i p p l e . d i s a b l e d = ! 1 , t h i s . r i p p l e . a c t i v e = ! 0 , t h i s . r i p p l e . u n b o u n d e d = ! 0 } s t o p A n i m a t i o n ( ) { t h i s . r i p p l e . a c t i v e = ! 1 , t h i s . r i p p l e . d i s a b l e d = ! 0 , t h i s . s t y l e . d i s p l a y = " n o n e " } } c u s t o m E l e m e n t s . g e t ( " a c t i o n - h a n d l e r - c l o c k - w e a t h e r " ) | | c u s t o m E l e m e n t s . d e f i n e ( " a c t i o n - h a n d l e r - c l o c k - w e a t h e r " , x e ) ; c o n s t T e = ( e , t ) = > { c o n s t i = ( ( ) = > { c o n s t e = d o c u m e n t . b o d y ; i f ( e . q u e r y S e l e c t o r ( " a c t i o n - h a n d l e r - c l o c k - w e a t h e r " ) ) r e t u r n e . q u e r y S e l e c t o r ( " a c t i o n - h a n d l e r - c l o c k - w e a t h e r " ) ; 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 ( " a c t i o n - h a n d l e r - c l o c k - w e a t h e r " ) ; r e t u r n e . a p p e n d C h i l d ( t ) , t } ) ( ) ; i & & i . b i n d ( e , t ) } , M e = ( e = > ( . . . t ) = > ( { _ $ l i t D i r e c t i v e $ : e , v a l u e s : t } ) ) ( c l a s s e x t e n d s v e { u p d a t e ( e , [ t ] ) { r e t u r n T e ( e . e l e m e n t , t ) , j } r e n d e r ( e ) { } } ) ; v a r S e = { " c l e a r - n i g h t " : " Я с н о " , c l o u d y : " О б л а ч н о " , f o g : " М ъ г л а " , h a i l : " Г р а д у ш к а " , l i g h t n i n g : " Г р ъ м о т е в и ч н и б у р и " , " l i g h t n i n g - r a i n y " : " Д ъ ж д о в н и г р ъ м о т е в и ч н и б у р и " , p a r t l y c l o u d y : " Ч а с т и ч н а о б л а ч н о с т " , p o u r i n g : " П о р о е н д ъ ж д " , r a i n y : " Д ъ ж д о в н о " , s n o w y : " С н я г " , " s n o w y - r a i n y " : " С у г р а ш и ц а " , s u n n y : " С л ъ н ч е в о " , w i n d y : " В е т р о в и т о " , " w i n d y - v a r i a n t " : " С и л е н в я т ъ р " , e x c e p t i o n a l : " И з к л ю ч и т е л н о " } , _ e = { 1 : " П н " , 2 : " В т " , 3 : " С р " , 4 : " Ч т " , 5 : " П т " , 6 : " С б " , 7 : " Н д " } , N e = { a q i : " A Q I " , h u m i d i t y : " В л а ж н о с т " , " f e e l s - l i k e " : " У с е щ а с е к а т о " } , O e = { w e a t h e r : S e , d a y : _ e , m i s c : N e } , A e = O b j e c t . f r e e z e ( { _ _ p r o t o _ _ : n u l l , d a y : _ e , d e f a u l t : O e , m i s c : N e , w e a t h e r : S e } ) , $ e = { " c l e a r - n i g h t " : " K l a r t " , c l o u d y : " O v e r s k y e t " , f o g : " T å g e " , h a i l : " H a g l " , l i g h t n i n g : " L y n " , " l i g h t n i n g - r a i n y " : " L y n , r e g n v e j r " , p a r t l y c l o u d y : " D e l v i s o v e r s k y e t " , p o u r i n g : " R e g n v e j r " , r a i n y : " R e g n f u l d t " , s n o w y : " S n e " , " s n o w y - r a i n y " : " S l u d " , s u n n y : " S o l r i g " , w i n d y : " B l æ s e n d e " , " w i n d y - v a r i a n t " : " S t æ r k v i n d " , e x c e p t i o n a l : " K a o s " } , Z e = { 1 : " M a n " , 2 : " T i r " , 3 : " O n s " , 4 : " T o r " , 5 : " F r e " , 6 : " L ø r " , 7 : " S ø n " } , C e = { a q i : " A Q I " , h u m i d i t y : " f u g t i g h e d " , " f e e l s - l i k e " : " F e e l s l i k e " } , B e = { w e a t h e r : $ e , d a y : Z e , m i s c : C e } , U e = O b j e c t . f r e e z e ( { _ _ p r o t o _ _ : n u l l , d a y : Z e , d e f a
2024-07-26 13:58:13 +00:00
< ha - card
@ action = $ { e => { this . handleAction ( e ) } }
. actionHandler = $ { Me ( { hasHold : be ( this . config . hold _action ) , hasDoubleClick : be ( this . config . double _tap _action ) } ) }
tabindex = "0"
. label = $ { ` Clock Weather Card: ${ this . config . entity || "No Entity Defined" } ` }
>
$ { this . config . title ? D `
< div class = "card-header" >
$ { this . config . title }
< / d i v > ` : " " }
< div class = "card-content" >
$ { e ? D `
< clock - weather - card - today >
2024-09-18 16:56:20 +00:00
$ { Dr ( ( ( ) => this . renderToday ( ) ) ) }
2024-07-26 13:58:13 +00:00
< / c l o c k - w e a t h e r - c a r d - t o d a y > ` : " " }
$ { t ? D `
< clock - weather - card - forecast >
2024-09-18 16:56:20 +00:00
$ { Dr ( ( ( ) => this . renderForecast ( ) ) ) }
2024-07-26 13:58:13 +00:00
< / c l o c k - w e a t h e r - c a r d - f o r e c a s t > ` : " " }
< / d i v >
< / h a - c a r d >
2024-09-18 16:56:20 +00:00
` }connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.subscribeForecastEvents()}disconnectedCallback(){super.disconnectedCallback(),this.unsubscribeForecastEvents()}willUpdate(e){super.willUpdate(e),this.forecastSubscriber||this.subscribeForecastEvents()}renderToday(){const e=this.getWeather(),t=e.state,i=this.config.show_decimal?this.getCurrentTemperature():Tr(this.getCurrentTemperature()),r=e.attributes.temperature_unit,s=this.config.show_decimal?this.getApparentTemperature():Tr(this.getApparentTemperature()),a=this.getAqi(),n=this.getAqiColor(a),o=Tr(this.getCurrentHumidity()),l=this.config.weather_icon_type,c=this.toIcon(t,l,!1,this.getIconAnimationKind()),d=this.localize( ` weather . $ { t } ` ),u=null!==i?this.toConfiguredTempWithUnit(r,i):null,h=null!==o? ` $ { o } % $ { this . localize ( "misc.humidity" ) } ` :null,m=null!==s?this.toConfiguredTempWithUnit(r,s):null,f=this.localize("misc.feels-like"),p=this.localize("misc.aqi");return D `
2024-07-26 13:58:13 +00:00
< clock - weather - card - today - left >
< img class = "grow-img" src = $ { c } / >
< / c l o c k - w e a t h e r - c a r d - t o d a y - l e f t >
< clock - weather - card - today - right >
< clock - weather - card - today - right - wrap >
< clock - weather - card - today - right - wrap - top >
$ { this . config . hide _clock ? d : u ? ` ${ d } , ${ u } ` : d }
$ { this . config . show _humidity && h ? D ` <br> ${ h } ` : "" }
$ { this . config . apparent _sensor && s ? D ` <br> ${ f } : ${ m } ` : "" }
$ { this . config . aqi _sensor && null !== a ? D ` <br><aqi style="background-color: ${ n } "> ${ a } ${ p } </aqi> ` : "" }
< / c l o c k - w e a t h e r - c a r d - t o d a y - r i g h t - w r a p - t o p >
< clock - weather - card - today - right - wrap - center >
$ { this . config . hide _clock ? null != u ? u : "n/a" : this . time ( ) }
< / c l o c k - w e a t h e r - c a r d - t o d a y - r i g h t - w r a p - c e n t e r >
< clock - weather - card - today - right - wrap - bottom >
$ { this . config . hide _date ? "" : this . date ( ) }
< / c l o c k - w e a t h e r - c a r d - t o d a y - r i g h t - w r a p - b o t t o m >
< / c l o c k - w e a t h e r - c a r d - t o d a y - r i g h t - w r a p >
2024-09-18 16:56:20 +00:00
< / c l o c k - w e a t h e r - c a r d - t o d a y - r i g h t > ` } r e n d e r F o r e c a s t ( ) { c o n s t e = t h i s . g e t W e a t h e r ( ) , t = T r ( t h i s . g e t C u r r e n t T e m p e r a t u r e ( ) ) , i = t h i s . c o n f i g . f o r e c a s t _ r o w s , r = t h i s . c o n f i g . h o u r l y _ f o r e c a s t , s = e . a t t r i b u t e s . t e m p e r a t u r e _ u n i t , a = t h i s . m e r g e F o r e c a s t s ( i , r ) , n = a . m a p ( ( e = > e . t e m p l o w ) ) , o = a . m a p ( ( e = > e . t e m p e r a t u r e ) ) ; n u l l ! = = t & & ( n . p u s h ( t ) , o . p u s h ( t ) ) ; c o n s t l = M a t h . r o u n d ( v r ( n ) ) , c = M a t h . r o u n d ( w r ( o ) ) , d = t h i s . g r a d i e n t R a n g e ( l , c , s ) , u = a . m a p ( ( e = > e . d a t e t i m e ) ) . m a p ( ( e = > r ? t h i s . t i m e ( e ) : t h i s . l o c a l i z e ( ` d a y . $ { e . w e e k d a y } ` ) ) ) , h = u . l e n g t h ? w r ( u . m a p ( ( e = > e . l e n g t h ) ) ) : 0 ; r e t u r n a . m a p ( ( ( e , i ) = > D r ( ( ( ) = > t h i s . r e n d e r F o r e c a s t I t e m ( e , d , l , c , t , r , u [ i ] , h ) ) ) ) ) } r e n d e r F o r e c a s t I t e m ( e , t , i , r , s , a , n , o ) { c o n s t l = " p o u r i n g " = = = e . c o n d i t i o n ? " r a i n d r o p s " : " r a i n y " = = = e . c o n d i t i o n ? " r a i n d r o p " : e . c o n d i t i o n , c = t h i s . t o I c o n ( l , " f i l l " , ! 0 , " s t a t i c " ) , d = t h i s . g e t W e a t h e r ( ) . a t t r i b u t e s . t e m p e r a t u r e _ u n i t , u = a ? K o . n o w ( ) . h o u r = = = e . d a t e t i m e . h o u r : K o . n o w ( ) . d a y = = = e . d a t e t i m e . d a y , h = M a t h . r o u n d ( u & & n u l l ! = = s ? M a t h . m i n ( s , e . t e m p l o w ) : e . t e m p l o w ) , m = M a t h . r o u n d ( u & & n u l l ! = = s ? M a t h . m a x ( s , e . t e m p e r a t u r e ) : e . t e m p e r a t u r e ) ; r e t u r n D `
2024-07-26 13:58:13 +00:00
< clock - weather - card - forecast - row style = "--col-one-size: ${.5*o}rem;" >
$ { this . renderText ( n ) }
$ { this . renderIcon ( c ) }
$ { this . renderText ( this . toConfiguredTempWithUnit ( d , h ) , "right" ) }
$ { this . renderForecastTemperatureBar ( t , i , r , h , m , u , s ) }
$ { this . renderText ( this . toConfiguredTempWithUnit ( d , m ) ) }
< / c l o c k - w e a t h e r - c a r d - f o r e c a s t - r o w >
` }renderText(e,t="left"){return D `
< forecast - text style = "--text-align: ${t};" >
$ { e }
< / f o r e c a s t - t e x t >
` }renderIcon(e){return D `
< forecast - icon >
< img class = "grow-img" src = $ { e } / >
< / f o r e c a s t - i c o n >
` }renderForecastTemperatureBar(e,t,i,r,s,a,n){const{startPercent:o,endPercent:l}=this.calculateBarRangePercents(t,i,r,s);return D `
< forecast - temperature - bar >
< forecast - temperature - bar - background > < / f o r e c a s t - t e m p e r a t u r e - b a r - b a c k g r o u n d >
< forecast - temperature - bar - range
style = "--move-right: ${i===t?0:(r-t)/(i-t)}; --start-percent: ${o}%; --end-percent: ${l}%; --gradient: ${this.gradient(e,o,l)};"
>
$ { a ? this . renderForecastCurrentTemp ( r , s , n ) : "" }
< / f o r e c a s t - t e m p e r a t u r e - b a r - r a n g e >
< / f o r e c a s t - t e m p e r a t u r e - b a r >
` }renderForecastCurrentTemp(e,t,i){if(null==i)return D ` ` ;return D `
< forecast - temperature - bar - current - indicator style = "--position: ${e===t?0:100/(t-e)*(i-e)}%;" >
< forecast - temperature - bar - current - indicator - dot style = "--move-right: ${t===e?0:(i-e)/(t-e)}" >
< / f o r e c a s t - t e m p e r a t u r e - b a r - c u r r e n t - i n d i c a t o r - d o t >
< / f o r e c a s t - t e m p e r a t u r e - b a r - c u r r e n t - i n d i c a t o r >
2024-09-18 16:56:20 +00:00
` }static get styles(){return we}gradientRange(e,t,i){const r=this.toCelsius(i,e),s=this.toCelsius(i,t),a=Math.max(function(e,t=0){return t<=0?Math.floor(e):Math.floor(e/t)*t}(r,10),vr([...el.keys()])),n=Math.min(xr(s,10),wr([...el.keys()]));return Array.from(el.keys()).filter((e=>e>=a&&e<=n)).map((e=>el.get(e)))}gradient(e,t,i){var r;if(e.length<=1){const t=null!==(r=e[0])&&void 0!==r?r:new ge(255,255,255);return[t,t].map((e=>e.toRgbString())).join(",")}const[s,a]=this.calculateRgb(e,t,"left"),[n,o]=this.calculateRgb(e,i,"right");return[s,...e.slice(a+1,o),n].map((e=>e.toRgbString())).join(",")}calculateRgb(e,t,i){function r(e,t,i){const r=Math.abs(e-t)/100*i;return kr(e>t?e-r:e+r)}const s=100/(e.length-1),a=t/s,n=Math.round(a),o=100/s*(t-n*s),l=0===o?n:o<0?n-1:n+1,c=function(e,t,i,s){const a=s[e],n=s[t],o=i<0?100+i:i,l=i<0?n:a,c=i<0?a:n,d=r(l.r,c.r,o),u=r(l.g,c.g,o),h=r(l.b,c.b,o);return new ge(d,u,h)}(n,l,o,e);return[c,"left"===i?Math.min(n,l):Math.max(n,l)]}handleAction(e){this.hass&&this.config&&e.detail.action&&function(e,t,i,r){var s;"double_tap"===r&&i.double_tap_action?s=i.double_tap_action:"hold"===r&&i.hold_action?s=i.hold_action:"tap"===r&&i.tap_action&&(s=i.tap_action),ye(e,t,i,s)}(this,this.hass,this.config,e.detail.action)}mergeConfig(e){var t,i,r,s,a,n,o,l,c,d,u,h,m,f,p,y,b,g;return Object.assign(Object.assign({},e),{sun_entity:null!==(t=e.sun_entity)&&void 0!==t?t:"sun.sun",temperature_sensor:e.temperature_sensor,humidity_sensor:e.humidity_sensor,weather_icon_type:null!==(i=e.weather_icon_type)&&void 0!==i?i:"line",forecast_rows:null!==(r=e.forecast_rows)&&void 0!==r?r:5,hourly_forecast:null!==(s=e.hourly_forecast)&&void 0!==s&&s,animated_icon:null===(a=e.animated_icon)||void 0===a||a,time_format:null===(n=e.time_format)||void 0===n?void 0:n.toString(),time_pattern:null!==(o=e.time_pattern)&&void 0!==o?o:void 0,show_humidity:null!==(l=e.show_humidity)&&void 0!==l&&l,hide_forecast_section:null!==(c=e.hide_forecast_section)&&void 0!==c&&c,hide_today_section:null!==(d=e.hide_today_section)&&void 0!==d&&d,hide_clock:null!==(u=e.hide_clock)&&void 0!==u&&u,hide_date:null!==(h=e.hide_date)&&void 0!==h&&h,date_pattern:null!==(m=e.date_pattern)&&void 0!==m?m:"D",use_browser_time:null!==(f=e.use_browser_time)&&void 0!==f&&f,time_zone:null!==(p=e.time_zone)&&void 0!==p?p:void 0,show_decimal:null!==(y=e.show_decimal)&&void 0!==y&&y,apparent_sensor:null!==(b=e.apparent_sensor)&&void 0!==b?b:void 0,aqi_sensor:null!==(g=e.aqi_sensor)&&void 0!==g?g:void 0})}toIcon(e,t,i,r){var s;const a=i?"day":"below_horizon"===(null===(s=this.getSun())||void 0===s?void 0:s.state)?"night":"day",n=("animated"===r?Gr:Er)[t][e];return(null==n?void 0:n[a])||n}getWeather(){const e=this.hass.states[this.config.entity];if(!e)throw this.createError( ` Weather entity "${this.config.entity}" could not be found . ` );return e}getCurrentTemperature(){var e,t;if(this.config.temperature_sensor){const t=this.hass.states[this.config.temperature_sensor],i=(null==t?void 0:t.state)?parseFloat(t.state):void 0,r=null!==(e=null==t?void 0:t.attributes.unit_of_measurement)&&void 0!==e?e:this.getConfiguredTemperatureUnit();if(void 0!==i&&!isNaN(i))return this.toConfiguredTempWithoutUnit(r,i)}return null!==(t=this.getWeather().attributes.temperature)&&void 0!==t?t:null}getCurrentHumidity(){var e;if(this.config.humidity_sensor){const e=this.hass.states[this.config.humidity_sensor],t=(null==e?void 0:e.state)?parseFloat(e.state):void 0;if(void 0!==t&&!isNaN(t))return t}return null!==(e=this.getWeather().attributes.humidity)&&void 0!==e?e:null}getApparentTemperature(){var e;if(this.config.apparent_sensor){const t=this.hass.states[this.config.apparent_sensor],i=(null==t?void 0:t.state)?parseFloat(t.state):void 0,r=null!==(e=null==t?void 0:t.attributes.unit_of_measurement)&&void 0!==e?e:this.getConfiguredTemperatureUnit();if(void 0!==i&&!isNaN(i))return this.toConfiguredTempWithoutUnit(r,i)}return null}getAqi(){if(this.config.aqi_sensor){const e=this.hass.states[this.config.aqi_sensor],t=(null==e?void 0:e.state)?parseInt(e.state):void 0;if(void 0!==t&&!isNaN(t))return