From 98808ad2a6febfe44c1fe32904027ed6acb1c0d2 Mon Sep 17 00:00:00 2001 From: Marco Kreeft Date: Tue, 22 Nov 2022 08:08:17 +0100 Subject: [PATCH] End of season (#27) * Fixed end of season displaying error --- formulaone-card.js | 14 +++++++------- formulaone-card.js.gz | Bin 19658 -> 19743 bytes package-lock.json | 4 ++-- package.json | 2 +- src/cards/driver-standings.ts | 1 - src/cards/next-race.ts | 8 ++++++++ src/cards/schedule.ts | 14 ++++++++++++++ tests/cards/next-race.test.ts | 12 ++++++++++++ tests/cards/schedule.test.ts | 17 ++++++++++++++++- 9 files changed, 60 insertions(+), 12 deletions(-) diff --git a/formulaone-card.js b/formulaone-card.js index da22f5a..6c3caef 100644 --- a/formulaone-card.js +++ b/formulaone-card.js @@ -1,5 +1,5 @@ /*! For license information please see formulaone-card.js.LICENSE.txt */ -(()=>{"use strict";var t={197:(t,e,i)=>{i.r(e),i.d(e,{DEFAULT_DOMAIN_ICON:()=>J,DEFAULT_PANEL:()=>Q,DEFAULT_VIEW_ENTITY_ID:()=>st,DOMAINS_HIDE_MORE_INFO:()=>et,DOMAINS_MORE_INFO_NO_HISTORY:()=>it,DOMAINS_TOGGLE:()=>rt,DOMAINS_WITH_CARD:()=>X,DOMAINS_WITH_MORE_INFO:()=>tt,NumberFormat:()=>n,STATES_OFF:()=>nt,TimeFormat:()=>r,UNIT_C:()=>at,UNIT_F:()=>ot,applyThemesOnElement:()=>F,computeCardSize:()=>L,computeDomain:()=>B,computeEntity:()=>H,computeRTL:()=>j,computeRTLDirection:()=>z,computeStateDisplay:()=>Z,computeStateDomain:()=>K,createThing:()=>dt,debounce:()=>ht,domainIcon:()=>yt,evaluateFilter:()=>pt,fireEvent:()=>lt,fixedIcons:()=>mt,formatDate:()=>c,formatDateMonth:()=>v,formatDateMonthYear:()=>f,formatDateNumeric:()=>h,formatDateShort:()=>y,formatDateTime:()=>w,formatDateTimeNumeric:()=>O,formatDateTimeWithSeconds:()=>$,formatDateWeekday:()=>l,formatDateYear:()=>C,formatNumber:()=>V,formatTime:()=>E,formatTimeWeekday:()=>D,formatTimeWithSeconds:()=>k,forwardHaptic:()=>ft,getLovelace:()=>Ot,handleAction:()=>bt,handleActionConfig:()=>Ct,handleClick:()=>St,hasAction:()=>wt,hasConfigOrEntityChanged:()=>Nt,hasDoubleClick:()=>$t,isNumericState:()=>W,navigate:()=>gt,numberFormatToLocale:()=>G,relativeTime:()=>M,round:()=>q,stateIcon:()=>Tt,timerTimeRemaining:()=>R,toggleEntity:()=>_t,turnOnOffEntities:()=>At,turnOnOffEntity:()=>vt});var n,r,a,o=function(){return o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0)return{value:Math.round(h),unit:"year"};var m=12*h+c.getMonth()-d.getMonth();if(Math.round(Math.abs(m))>0)return{value:Math.round(m),unit:"month"};var y=r/604800;return{value:Math.round(y),unit:"week"}}(t,i);return n?function(t){return new Intl.RelativeTimeFormat(t.language,{numeric:"auto"})}(e).format(r.value,r.unit):Intl.NumberFormat(e.language,{style:"unit",unit:r.unit,unitDisplay:"long"}).format(Math.abs(r.value))};function R(t){var e,i=3600*(e=t.attributes.remaining.split(":").map(Number))[0]+60*e[1]+e[2];if("active"===t.state){var n=(new Date).getTime(),r=new Date(t.last_changed).getTime();i=Math.max(i-(n-r)/1e3,0)}return i}function U(){return(U=Object.assign||function(t){for(var e=1;e-1?t.split(".")[1].length:0;i.minimumFractionDigits=n,i.maximumFractionDigits=n}return i},Z=function(t,e,i,n){var r=void 0!==n?n:e.state;if("unknown"===r||"unavailable"===r)return t("state.default."+r);if(W(e)){if("monetary"===e.attributes.device_class)try{return V(r,i,{style:"currency",currency:e.attributes.unit_of_measurement})}catch(t){}return V(r,i)+(e.attributes.unit_of_measurement?" "+e.attributes.unit_of_measurement:"")}var a=K(e);if("input_datetime"===a){var o;if(void 0===n)return e.attributes.has_date&&e.attributes.has_time?(o=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day,e.attributes.hour,e.attributes.minute),w(o,i)):e.attributes.has_date?(o=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day),c(o,i)):e.attributes.has_time?((o=new Date).setHours(e.attributes.hour,e.attributes.minute),E(o,i)):e.state;try{var s=n.split(" ");if(2===s.length)return w(new Date(s.join("T")),i);if(1===s.length){if(n.includes("-"))return c(new Date(n+"T00:00"),i);if(n.includes(":")){var l=new Date;return E(new Date(l.toISOString().split("T")[0]+"T"+n),i)}}return n}catch(t){return n}}return"humidifier"===a&&"on"===r&&e.attributes.humidity?e.attributes.humidity+" %":"counter"===a||"number"===a||"input_number"===a?V(r,i):e.attributes.device_class&&t("component."+a+".state."+e.attributes.device_class+"."+r)||t("component."+a+".state._."+r)||r},J="mdi:bookmark",Q="lovelace",X=["climate","cover","configurator","input_select","input_number","input_text","lock","media_player","scene","script","timer","vacuum","water_heater","weblink"],tt=["alarm_control_panel","automation","camera","climate","configurator","cover","fan","group","history_graph","input_datetime","light","lock","media_player","script","sun","updater","vacuum","water_heater","weather"],et=["input_number","input_select","input_text","scene","weblink"],it=["camera","configurator","history_graph","scene"],nt=["closed","locked","off"],rt=new Set(["fan","input_boolean","light","switch","group","automation"]),at="°C",ot="°F",st="group.default_view",lt=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},ut=new Set(["call-service","divider","section","weblink","cast","select"]),ct={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},dt=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{if(!n.setConfig)return;n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr("custom:".length);else if(e)if(ut.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var a=t.entity.split(".",1)[0];r="hui-"+(ct[a]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var o=i("Custom element doesn't exist: "+t.type+".",t);o.style.display="None";var s=setTimeout((function(){o.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(s),lt(o,"ll-rebuild",{},o)})),o},ht=function(t,e,i){var n;return void 0===i&&(i=!1),function(){var r=[].slice.call(arguments),a=this,o=function(){n=null,i||t.apply(a,r)},s=i&&!n;clearTimeout(n),n=setTimeout(o,e),s&&t.apply(a,r)}},mt={alert:"mdi:alert",automation:"mdi:playlist-play",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:settings",conversation:"mdi:text-to-speech",device_tracker:"mdi:account",fan:"mdi:fan",group:"mdi:google-circles-communities",history_graph:"mdi:chart-line",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_boolean:"mdi:drawing",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:google-pages",script:"mdi:file-document",sensor:"mdi:eye",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",switch:"mdi:flash",timer:"mdi:timer",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weblink:"mdi:open-in-new"};function yt(t,e){if(t in mt)return mt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"mdi:bell-plus";case"armed_night":return"mdi:bell-sleep";case"disarmed":return"mdi:bell-outline";case"triggered":return"mdi:bell-ring";default:return"mdi:bell"}case"binary_sensor":return e&&"off"===e?"mdi:radiobox-blank":"mdi:checkbox-marked-circle";case"cover":return"closed"===e?"mdi:window-closed":"mdi:window-open";case"lock":return e&&"unlocked"===e?"mdi:lock-open":"mdi:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"mdi:cast-connected":"mdi:cast";case"zwave":switch(e){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),"mdi:bookmark"}}var pt=function(t,e){var i=e.value||e,n=e.attribute?t.attributes[e.attribute]:t.state;switch(e.operator||"=="){case"==":return n===i;case"<=":return n<=i;case"<":return n=":return n>=i;case">":return n>i;case"!=":return n!==i;case"regex":return n.match(i);default:return!1}},ft=function(t){lt(window,"haptic",t)},gt=function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),lt(window,"location-changed",{replace:i})},vt=function(t,e,i){void 0===i&&(i=!0);var n,r=B(e),a="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(a,n,{entity_id:e})},_t=function(t,e){var i=nt.includes(t.states[e].state);return vt(t,e,i)},Ct=function(t,e,i,n){if(n||(n={action:"more-info"}),!n.confirmation||n.confirmation.exemptions&&n.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||(ft("warning"),confirm(n.confirmation.text||"Are you sure you want to "+n.action+"?")))switch(n.action){case"more-info":(i.entity||i.camera_image)&<(t,"hass-more-info",{entityId:i.entity?i.entity:i.camera_image});break;case"navigate":n.navigation_path&>(0,n.navigation_path);break;case"url":n.url_path&&window.open(n.url_path);break;case"toggle":i.entity&&(_t(e,i.entity),ft("success"));break;case"call-service":if(!n.service)return void ft("failure");var r=n.service.split(".",2);e.callService(r[0],r[1],n.service_data,n.target),ft("success");break;case"fire-dom-event":lt(t,"ll-custom",n)}},bt=function(t,e,i,n){var r;"double_tap"===n&&i.double_tap_action?r=i.double_tap_action:"hold"===n&&i.hold_action?r=i.hold_action:"tap"===n&&i.tap_action&&(r=i.tap_action),Ct(t,e,i,r)},St=function(t,e,i,n,r){var a;if(r&&i.double_tap_action?a=i.double_tap_action:n&&i.hold_action?a=i.hold_action:!n&&i.tap_action&&(a=i.tap_action),a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?"))switch(a.action){case"more-info":(a.entity||i.entity||i.camera_image)&&(lt(t,"hass-more-info",{entityId:a.entity?a.entity:i.entity?i.entity:i.camera_image}),a.haptic&&ft(a.haptic));break;case"navigate":a.navigation_path&&(gt(0,a.navigation_path),a.haptic&&ft(a.haptic));break;case"url":a.url_path&&window.open(a.url_path),a.haptic&&ft(a.haptic);break;case"toggle":i.entity&&(_t(e,i.entity),a.haptic&&ft(a.haptic));break;case"call-service":if(!a.service)return;var o=a.service.split(".",2),s=o[0],l=o[1],u=U({},a.service_data);"entity"===u.entity_id&&(u.entity_id=i.entity),e.callService(s,l,u,a.target),a.haptic&&ft(a.haptic);break;case"fire-dom-event":lt(t,"ll-custom",a),a.haptic&&ft(a.haptic)}};function wt(t){return void 0!==t&&"none"!==t.action}function Nt(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var n=e.get("hass");return!n||n.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}function $t(t){return void 0!==t&&"none"!==t.action}var At=function(t,e,i){void 0===i&&(i=!0);var n={};e.forEach((function(e){if(nt.includes(t.states[e].state)===i){var r=B(e),a=["cover","lock"].includes(r)?r:"homeassistant";a in n||(n[a]=[]),n[a].push(e)}})),Object.keys(n).forEach((function(e){var r;switch(e){case"lock":r=i?"unlock":"lock";break;case"cover":r=i?"open_cover":"close_cover";break;default:r=i?"turn_on":"turn_off"}t.callService(e,r,{entity_id:n[e]})}))},Ot=function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null},It={humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",temperature:"mdi:thermometer",pressure:"mdi:gauge",power:"mdi:flash",signal_strength:"mdi:wifi"},Et={binary_sensor:function(t,e){var i="off"===t;switch(null==e?void 0:e.attributes.device_class){case"battery":return i?"mdi:battery":"mdi:battery-outline";case"battery_charging":return i?"mdi:battery":"mdi:battery-charging";case"cold":return i?"mdi:thermometer":"mdi:snowflake";case"connectivity":return i?"mdi:server-network-off":"mdi:server-network";case"door":return i?"mdi:door-closed":"mdi:door-open";case"garage_door":return i?"mdi:garage":"mdi:garage-open";case"power":case"plug":return i?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return i?"mdi:check-circle":"mdi:alert-circle";case"smoke":return i?"mdi:check-circle":"mdi:smoke";case"heat":return i?"mdi:thermometer":"mdi:fire";case"light":return i?"mdi:brightness-5":"mdi:brightness-7";case"lock":return i?"mdi:lock":"mdi:lock-open";case"moisture":return i?"mdi:water-off":"mdi:water";case"motion":return i?"mdi:walk":"mdi:run";case"occupancy":case"presence":return i?"mdi:home-outline":"mdi:home";case"opening":return i?"mdi:square":"mdi:square-outline";case"running":return i?"mdi:stop":"mdi:play";case"sound":return i?"mdi:music-note-off":"mdi:music-note";case"update":return i?"mdi:package":"mdi:package-up";case"vibration":return i?"mdi:crop-portrait":"mdi:vibrate";case"window":return i?"mdi:window-closed":"mdi:window-open";default:return i?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"mdi:garage-open":"mdi:garage";case"door":return e?"mdi:door-open":"mdi:door-closed";case"shutter":return e?"mdi:window-shutter-open":"mdi:window-shutter";case"blind":return e?"mdi:blinds-open":"mdi:blinds";case"window":return e?"mdi:window-open":"mdi:window-closed";default:return yt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in It)return It[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"mdi:battery-unknown";var n=10*Math.round(i/10);return n>=100?"mdi:battery":n<=0?"mdi:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"mdi:thermometer":yt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?yt("input_datetime"):"mdi:calendar":"mdi:clock"}},Tt=function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=B(t.entity_id);return e in Et?Et[e](t):yt(e,t.state)}},243:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseCard=void 0,e.BaseCard=class{constructor(t,e,i){this.sensor_entity_id=t,this.hass=e,this.config=i,this.sensor=this.getSensor()}getSensor(){const t=this.hass.states[this.sensor_entity_id];return{last_update:new Date(t.attributes.last_update),data:t.attributes.data}}}},521:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(243);class a extends r.BaseCard{constructor(t,e,i){super(t,e,i)}renderStandingRow(t){return n.html` +(()=>{"use strict";var t={197:(t,e,i)=>{i.r(e),i.d(e,{DEFAULT_DOMAIN_ICON:()=>J,DEFAULT_PANEL:()=>Q,DEFAULT_VIEW_ENTITY_ID:()=>st,DOMAINS_HIDE_MORE_INFO:()=>et,DOMAINS_MORE_INFO_NO_HISTORY:()=>it,DOMAINS_TOGGLE:()=>rt,DOMAINS_WITH_CARD:()=>X,DOMAINS_WITH_MORE_INFO:()=>tt,NumberFormat:()=>n,STATES_OFF:()=>nt,TimeFormat:()=>r,UNIT_C:()=>at,UNIT_F:()=>ot,applyThemesOnElement:()=>F,computeCardSize:()=>L,computeDomain:()=>B,computeEntity:()=>H,computeRTL:()=>j,computeRTLDirection:()=>z,computeStateDisplay:()=>Z,computeStateDomain:()=>K,createThing:()=>dt,debounce:()=>ht,domainIcon:()=>yt,evaluateFilter:()=>pt,fireEvent:()=>lt,fixedIcons:()=>mt,formatDate:()=>c,formatDateMonth:()=>v,formatDateMonthYear:()=>f,formatDateNumeric:()=>h,formatDateShort:()=>y,formatDateTime:()=>w,formatDateTimeNumeric:()=>O,formatDateTimeWithSeconds:()=>$,formatDateWeekday:()=>l,formatDateYear:()=>C,formatNumber:()=>V,formatTime:()=>E,formatTimeWeekday:()=>D,formatTimeWithSeconds:()=>T,forwardHaptic:()=>ft,getLovelace:()=>Ot,handleAction:()=>bt,handleActionConfig:()=>Ct,handleClick:()=>St,hasAction:()=>wt,hasConfigOrEntityChanged:()=>Nt,hasDoubleClick:()=>$t,isNumericState:()=>W,navigate:()=>gt,numberFormatToLocale:()=>G,relativeTime:()=>M,round:()=>q,stateIcon:()=>xt,timerTimeRemaining:()=>R,toggleEntity:()=>_t,turnOnOffEntities:()=>At,turnOnOffEntity:()=>vt});var n,r,a,o=function(){return o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0)return{value:Math.round(h),unit:"year"};var m=12*h+c.getMonth()-d.getMonth();if(Math.round(Math.abs(m))>0)return{value:Math.round(m),unit:"month"};var y=r/604800;return{value:Math.round(y),unit:"week"}}(t,i);return n?function(t){return new Intl.RelativeTimeFormat(t.language,{numeric:"auto"})}(e).format(r.value,r.unit):Intl.NumberFormat(e.language,{style:"unit",unit:r.unit,unitDisplay:"long"}).format(Math.abs(r.value))};function R(t){var e,i=3600*(e=t.attributes.remaining.split(":").map(Number))[0]+60*e[1]+e[2];if("active"===t.state){var n=(new Date).getTime(),r=new Date(t.last_changed).getTime();i=Math.max(i-(n-r)/1e3,0)}return i}function U(){return(U=Object.assign||function(t){for(var e=1;e-1?t.split(".")[1].length:0;i.minimumFractionDigits=n,i.maximumFractionDigits=n}return i},Z=function(t,e,i,n){var r=void 0!==n?n:e.state;if("unknown"===r||"unavailable"===r)return t("state.default."+r);if(W(e)){if("monetary"===e.attributes.device_class)try{return V(r,i,{style:"currency",currency:e.attributes.unit_of_measurement})}catch(t){}return V(r,i)+(e.attributes.unit_of_measurement?" "+e.attributes.unit_of_measurement:"")}var a=K(e);if("input_datetime"===a){var o;if(void 0===n)return e.attributes.has_date&&e.attributes.has_time?(o=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day,e.attributes.hour,e.attributes.minute),w(o,i)):e.attributes.has_date?(o=new Date(e.attributes.year,e.attributes.month-1,e.attributes.day),c(o,i)):e.attributes.has_time?((o=new Date).setHours(e.attributes.hour,e.attributes.minute),E(o,i)):e.state;try{var s=n.split(" ");if(2===s.length)return w(new Date(s.join("T")),i);if(1===s.length){if(n.includes("-"))return c(new Date(n+"T00:00"),i);if(n.includes(":")){var l=new Date;return E(new Date(l.toISOString().split("T")[0]+"T"+n),i)}}return n}catch(t){return n}}return"humidifier"===a&&"on"===r&&e.attributes.humidity?e.attributes.humidity+" %":"counter"===a||"number"===a||"input_number"===a?V(r,i):e.attributes.device_class&&t("component."+a+".state."+e.attributes.device_class+"."+r)||t("component."+a+".state._."+r)||r},J="mdi:bookmark",Q="lovelace",X=["climate","cover","configurator","input_select","input_number","input_text","lock","media_player","scene","script","timer","vacuum","water_heater","weblink"],tt=["alarm_control_panel","automation","camera","climate","configurator","cover","fan","group","history_graph","input_datetime","light","lock","media_player","script","sun","updater","vacuum","water_heater","weather"],et=["input_number","input_select","input_text","scene","weblink"],it=["camera","configurator","history_graph","scene"],nt=["closed","locked","off"],rt=new Set(["fan","input_boolean","light","switch","group","automation"]),at="°C",ot="°F",st="group.default_view",lt=function(t,e,i,n){n=n||{},i=null==i?{}:i;var r=new Event(e,{bubbles:void 0===n.bubbles||n.bubbles,cancelable:Boolean(n.cancelable),composed:void 0===n.composed||n.composed});return r.detail=i,t.dispatchEvent(r),r},ut=new Set(["call-service","divider","section","weblink","cast","select"]),ct={alert:"toggle",automation:"toggle",climate:"climate",cover:"cover",fan:"toggle",group:"group",input_boolean:"toggle",input_number:"input-number",input_select:"input-select",input_text:"input-text",light:"toggle",lock:"lock",media_player:"media-player",remote:"toggle",scene:"scene",script:"script",sensor:"sensor",timer:"timer",switch:"toggle",vacuum:"toggle",water_heater:"climate",input_datetime:"input-datetime"},dt=function(t,e){void 0===e&&(e=!1);var i=function(t,e){return n("hui-error-card",{type:"error",error:t,config:e})},n=function(t,e){var n=window.document.createElement(t);try{if(!n.setConfig)return;n.setConfig(e)}catch(n){return console.error(t,n),i(n.message,e)}return n};if(!t||"object"!=typeof t||!e&&!t.type)return i("No type defined",t);var r=t.type;if(r&&r.startsWith("custom:"))r=r.substr("custom:".length);else if(e)if(ut.has(r))r="hui-"+r+"-row";else{if(!t.entity)return i("Invalid config given.",t);var a=t.entity.split(".",1)[0];r="hui-"+(ct[a]||"text")+"-entity-row"}else r="hui-"+r+"-card";if(customElements.get(r))return n(r,t);var o=i("Custom element doesn't exist: "+t.type+".",t);o.style.display="None";var s=setTimeout((function(){o.style.display=""}),2e3);return customElements.whenDefined(t.type).then((function(){clearTimeout(s),lt(o,"ll-rebuild",{},o)})),o},ht=function(t,e,i){var n;return void 0===i&&(i=!1),function(){var r=[].slice.call(arguments),a=this,o=function(){n=null,i||t.apply(a,r)},s=i&&!n;clearTimeout(n),n=setTimeout(o,e),s&&t.apply(a,r)}},mt={alert:"mdi:alert",automation:"mdi:playlist-play",calendar:"mdi:calendar",camera:"mdi:video",climate:"mdi:thermostat",configurator:"mdi:settings",conversation:"mdi:text-to-speech",device_tracker:"mdi:account",fan:"mdi:fan",group:"mdi:google-circles-communities",history_graph:"mdi:chart-line",homeassistant:"mdi:home-assistant",homekit:"mdi:home-automation",image_processing:"mdi:image-filter-frames",input_boolean:"mdi:drawing",input_datetime:"mdi:calendar-clock",input_number:"mdi:ray-vertex",input_select:"mdi:format-list-bulleted",input_text:"mdi:textbox",light:"mdi:lightbulb",mailbox:"mdi:mailbox",notify:"mdi:comment-alert",person:"mdi:account",plant:"mdi:flower",proximity:"mdi:apple-safari",remote:"mdi:remote",scene:"mdi:google-pages",script:"mdi:file-document",sensor:"mdi:eye",simple_alarm:"mdi:bell",sun:"mdi:white-balance-sunny",switch:"mdi:flash",timer:"mdi:timer",updater:"mdi:cloud-upload",vacuum:"mdi:robot-vacuum",water_heater:"mdi:thermometer",weblink:"mdi:open-in-new"};function yt(t,e){if(t in mt)return mt[t];switch(t){case"alarm_control_panel":switch(e){case"armed_home":return"mdi:bell-plus";case"armed_night":return"mdi:bell-sleep";case"disarmed":return"mdi:bell-outline";case"triggered":return"mdi:bell-ring";default:return"mdi:bell"}case"binary_sensor":return e&&"off"===e?"mdi:radiobox-blank":"mdi:checkbox-marked-circle";case"cover":return"closed"===e?"mdi:window-closed":"mdi:window-open";case"lock":return e&&"unlocked"===e?"mdi:lock-open":"mdi:lock";case"media_player":return e&&"off"!==e&&"idle"!==e?"mdi:cast-connected":"mdi:cast";case"zwave":switch(e){case"dead":return"mdi:emoticon-dead";case"sleeping":return"mdi:sleep";case"initializing":return"mdi:timer-sand";default:return"mdi:z-wave"}default:return console.warn("Unable to find icon for domain "+t+" ("+e+")"),"mdi:bookmark"}}var pt=function(t,e){var i=e.value||e,n=e.attribute?t.attributes[e.attribute]:t.state;switch(e.operator||"=="){case"==":return n===i;case"<=":return n<=i;case"<":return n=":return n>=i;case">":return n>i;case"!=":return n!==i;case"regex":return n.match(i);default:return!1}},ft=function(t){lt(window,"haptic",t)},gt=function(t,e,i){void 0===i&&(i=!1),i?history.replaceState(null,"",e):history.pushState(null,"",e),lt(window,"location-changed",{replace:i})},vt=function(t,e,i){void 0===i&&(i=!0);var n,r=B(e),a="group"===r?"homeassistant":r;switch(r){case"lock":n=i?"unlock":"lock";break;case"cover":n=i?"open_cover":"close_cover";break;default:n=i?"turn_on":"turn_off"}return t.callService(a,n,{entity_id:e})},_t=function(t,e){var i=nt.includes(t.states[e].state);return vt(t,e,i)},Ct=function(t,e,i,n){if(n||(n={action:"more-info"}),!n.confirmation||n.confirmation.exemptions&&n.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||(ft("warning"),confirm(n.confirmation.text||"Are you sure you want to "+n.action+"?")))switch(n.action){case"more-info":(i.entity||i.camera_image)&<(t,"hass-more-info",{entityId:i.entity?i.entity:i.camera_image});break;case"navigate":n.navigation_path&>(0,n.navigation_path);break;case"url":n.url_path&&window.open(n.url_path);break;case"toggle":i.entity&&(_t(e,i.entity),ft("success"));break;case"call-service":if(!n.service)return void ft("failure");var r=n.service.split(".",2);e.callService(r[0],r[1],n.service_data,n.target),ft("success");break;case"fire-dom-event":lt(t,"ll-custom",n)}},bt=function(t,e,i,n){var r;"double_tap"===n&&i.double_tap_action?r=i.double_tap_action:"hold"===n&&i.hold_action?r=i.hold_action:"tap"===n&&i.tap_action&&(r=i.tap_action),Ct(t,e,i,r)},St=function(t,e,i,n,r){var a;if(r&&i.double_tap_action?a=i.double_tap_action:n&&i.hold_action?a=i.hold_action:!n&&i.tap_action&&(a=i.tap_action),a||(a={action:"more-info"}),!a.confirmation||a.confirmation.exemptions&&a.confirmation.exemptions.some((function(t){return t.user===e.user.id}))||confirm(a.confirmation.text||"Are you sure you want to "+a.action+"?"))switch(a.action){case"more-info":(a.entity||i.entity||i.camera_image)&&(lt(t,"hass-more-info",{entityId:a.entity?a.entity:i.entity?i.entity:i.camera_image}),a.haptic&&ft(a.haptic));break;case"navigate":a.navigation_path&&(gt(0,a.navigation_path),a.haptic&&ft(a.haptic));break;case"url":a.url_path&&window.open(a.url_path),a.haptic&&ft(a.haptic);break;case"toggle":i.entity&&(_t(e,i.entity),a.haptic&&ft(a.haptic));break;case"call-service":if(!a.service)return;var o=a.service.split(".",2),s=o[0],l=o[1],u=U({},a.service_data);"entity"===u.entity_id&&(u.entity_id=i.entity),e.callService(s,l,u,a.target),a.haptic&&ft(a.haptic);break;case"fire-dom-event":lt(t,"ll-custom",a),a.haptic&&ft(a.haptic)}};function wt(t){return void 0!==t&&"none"!==t.action}function Nt(t,e,i){if(e.has("config")||i)return!0;if(t.config.entity){var n=e.get("hass");return!n||n.states[t.config.entity]!==t.hass.states[t.config.entity]}return!1}function $t(t){return void 0!==t&&"none"!==t.action}var At=function(t,e,i){void 0===i&&(i=!0);var n={};e.forEach((function(e){if(nt.includes(t.states[e].state)===i){var r=B(e),a=["cover","lock"].includes(r)?r:"homeassistant";a in n||(n[a]=[]),n[a].push(e)}})),Object.keys(n).forEach((function(e){var r;switch(e){case"lock":r=i?"unlock":"lock";break;case"cover":r=i?"open_cover":"close_cover";break;default:r=i?"turn_on":"turn_off"}t.callService(e,r,{entity_id:n[e]})}))},Ot=function(){var t=document.querySelector("home-assistant");if(t=(t=(t=(t=(t=(t=(t=(t=t&&t.shadowRoot)&&t.querySelector("home-assistant-main"))&&t.shadowRoot)&&t.querySelector("app-drawer-layout partial-panel-resolver"))&&t.shadowRoot||t)&&t.querySelector("ha-panel-lovelace"))&&t.shadowRoot)&&t.querySelector("hui-root")){var e=t.lovelace;return e.current_view=t.___curView,e}return null},It={humidity:"mdi:water-percent",illuminance:"mdi:brightness-5",temperature:"mdi:thermometer",pressure:"mdi:gauge",power:"mdi:flash",signal_strength:"mdi:wifi"},Et={binary_sensor:function(t,e){var i="off"===t;switch(null==e?void 0:e.attributes.device_class){case"battery":return i?"mdi:battery":"mdi:battery-outline";case"battery_charging":return i?"mdi:battery":"mdi:battery-charging";case"cold":return i?"mdi:thermometer":"mdi:snowflake";case"connectivity":return i?"mdi:server-network-off":"mdi:server-network";case"door":return i?"mdi:door-closed":"mdi:door-open";case"garage_door":return i?"mdi:garage":"mdi:garage-open";case"power":case"plug":return i?"mdi:power-plug-off":"mdi:power-plug";case"gas":case"problem":case"safety":case"tamper":return i?"mdi:check-circle":"mdi:alert-circle";case"smoke":return i?"mdi:check-circle":"mdi:smoke";case"heat":return i?"mdi:thermometer":"mdi:fire";case"light":return i?"mdi:brightness-5":"mdi:brightness-7";case"lock":return i?"mdi:lock":"mdi:lock-open";case"moisture":return i?"mdi:water-off":"mdi:water";case"motion":return i?"mdi:walk":"mdi:run";case"occupancy":case"presence":return i?"mdi:home-outline":"mdi:home";case"opening":return i?"mdi:square":"mdi:square-outline";case"running":return i?"mdi:stop":"mdi:play";case"sound":return i?"mdi:music-note-off":"mdi:music-note";case"update":return i?"mdi:package":"mdi:package-up";case"vibration":return i?"mdi:crop-portrait":"mdi:vibrate";case"window":return i?"mdi:window-closed":"mdi:window-open";default:return i?"mdi:radiobox-blank":"mdi:checkbox-marked-circle"}},cover:function(t){var e="closed"!==t.state;switch(t.attributes.device_class){case"garage":return e?"mdi:garage-open":"mdi:garage";case"door":return e?"mdi:door-open":"mdi:door-closed";case"shutter":return e?"mdi:window-shutter-open":"mdi:window-shutter";case"blind":return e?"mdi:blinds-open":"mdi:blinds";case"window":return e?"mdi:window-open":"mdi:window-closed";default:return yt("cover",t.state)}},sensor:function(t){var e=t.attributes.device_class;if(e&&e in It)return It[e];if("battery"===e){var i=Number(t.state);if(isNaN(i))return"mdi:battery-unknown";var n=10*Math.round(i/10);return n>=100?"mdi:battery":n<=0?"mdi:battery-alert":"hass:battery-"+n}var r=t.attributes.unit_of_measurement;return"°C"===r||"°F"===r?"mdi:thermometer":yt("sensor")},input_datetime:function(t){return t.attributes.has_date?t.attributes.has_time?yt("input_datetime"):"mdi:calendar":"mdi:clock"}},xt=function(t){if(!t)return"mdi:bookmark";if(t.attributes.icon)return t.attributes.icon;var e=B(t.entity_id);return e in Et?Et[e](t):yt(e,t.state)}},243:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseCard=void 0,e.BaseCard=class{constructor(t,e,i){this.sensor_entity_id=t,this.hass=e,this.config=i,this.sensor=this.getSensor()}getSensor(){const t=this.hass.states[this.sensor_entity_id];return{last_update:new Date(t.attributes.last_update),data:t.attributes.data}}}},521:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(243);class a extends r.BaseCard{constructor(t,e,i){super(t,e,i)}renderStandingRow(t){return n.html` ${t.position} ${t.Constructor.name} @@ -19,7 +19,7 @@ ${t.map((t=>this.renderStandingRow(t)))} - `}}e.default=a},412:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(593),a=i(243),o=i(634);class s extends a.BaseCard{constructor(t,e,i){super(t,e,i),this.getCountryFlag=t=>{console.log(t,o.filter((e=>e.Nationality===t)).length);const e=o.filter((e=>e.Nationality===t))[0].Country.replace(" ","-");return(0,r.getCountryFlagUrl)(e)}}renderStandingRow(t){var e,i;return n.html` + `}}e.default=a},412:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(593),a=i(243),o=i(634);class s extends a.BaseCard{constructor(t,e,i){super(t,e,i),this.getCountryFlag=t=>{const e=o.filter((e=>e.Nationality===t))[0].Country.replace(" ","-");return(0,r.getCountryFlagUrl)(e)}}renderStandingRow(t){var e,i;return n.html` ${t.position} ${(null===(e=this.config.standings)||void 0===e?void 0:e.show_flag)?n.html` `:""}${t.Driver.code} @@ -70,7 +70,7 @@ ${t.Results.map((t=>this.renderResultRow(t)))} - `}}e.default=o},249:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(247),a=i(347),o=i(593),s=i(243);class l extends s.BaseCard{constructor(t,e,i){super(t,e,i);const n=this.hass.states[this.sensor_entity_id];this.next_race=n.attributes.next_race}renderHeader(){const t=this.next_race.Circuit.Location.country.replace(" ","-"),e=(0,o.getCircuitName)(t),i=n.html``,r=this.config.image_clickable?n.html`${i}`:i;return n.html`

  ${this.next_race.round} : ${this.next_race.raceName}

${r}
`}render(){if(!this.sensor_entity_id.endsWith("_races")||void 0===this.next_race)throw new Error("Please pass the correct sensor (races)");const t=new Date(this.next_race.date+"T"+this.next_race.time),e=(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.FirstPractice.date+"T"+this.next_race.FirstPractice.time),this.hass.locale),i=(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.SecondPractice.date+"T"+this.next_race.SecondPractice.time),this.hass.locale),o=void 0!==this.next_race.ThirdPractice?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.ThirdPractice.date+"T"+this.next_race.ThirdPractice.time),this.hass.locale):"-",s=(0,a.formatDateTimeRaceInfo)(t,this.hass.locale),l=void 0!==this.next_race.Qualifying?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.Qualifying.date+"T"+this.next_race.Qualifying.time),this.hass.locale):"-",u=void 0!==this.next_race.Sprint?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.Sprint.date+"T"+this.next_race.Sprint.time),this.hass.locale):"-";return n.html` + `}}e.default=o},249:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(692),r=i(247),a=i(347),o=i(593),s=i(243);class l extends s.BaseCard{constructor(t,e,i){super(t,e,i);const n=this.hass.states[this.sensor_entity_id];this.next_race=n.attributes.next_race}renderHeader(){const t=this.next_race.Circuit.Location.country.replace(" ","-"),e=(0,o.getCircuitName)(t),i=n.html``,r=this.config.image_clickable?n.html`${i}`:i;return n.html`

  ${this.next_race.round} : ${this.next_race.raceName}

${r}
`}renderSeasonEnded(){return n.html`
Season is over. See you next year!
`}render(){if(!this.sensor_entity_id.endsWith("_races")||void 0===this.next_race)throw new Error("Please pass the correct sensor (races)");if(!this.next_race)return this.renderSeasonEnded();const t=new Date(this.next_race.date+"T"+this.next_race.time),e=(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.FirstPractice.date+"T"+this.next_race.FirstPractice.time),this.hass.locale),i=(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.SecondPractice.date+"T"+this.next_race.SecondPractice.time),this.hass.locale),o=void 0!==this.next_race.ThirdPractice?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.ThirdPractice.date+"T"+this.next_race.ThirdPractice.time),this.hass.locale):"-",s=(0,a.formatDateTimeRaceInfo)(t,this.hass.locale),l=void 0!==this.next_race.Qualifying?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.Qualifying.date+"T"+this.next_race.Qualifying.time),this.hass.locale):"-",u=void 0!==this.next_race.Sprint?(0,a.formatDateTimeRaceInfo)(new Date(this.next_race.Sprint.date+"T"+this.next_race.Sprint.time),this.hass.locale):"-";return n.html` @@ -85,14 +85,14 @@
City${this.next_race.Circuit.Location.locality} Race${s}
- `}}e.default=l},269:(t,e,i)=>{Object.defineProperty(e,"__esModule",{value:!0});const n=i(197),r=i(692),a=i(247),o=i(243);class s extends o.BaseCard{constructor(t,e,i){super(t,e,i)}renderLocation(t){const e=`${t.Location.locality}, ${t.Location.country}`;return this.config.location_clickable?r.html`${e}`:e}renderScheduleRow(t){const e=new Date(t.date+"T"+t.time),i=this.config.previous_race&&e{Object.defineProperty(e,"__esModule",{value:!0});const n=i(197),r=i(692),a=i(247),o=i(243);class s extends o.BaseCard{constructor(t,e,i){super(t,e,i);const n=this.hass.states[this.sensor_entity_id];this.next_race=n.attributes.next_race}renderSeasonEnded(){return r.html`
Season is over. See you next year!
`}renderLocation(t){const e=`${t.Location.locality}, ${t.Location.country}`;return this.config.location_clickable?r.html`${e}`:e}renderScheduleRow(t){const e=new Date(t.date+"T"+t.time),i=this.config.previous_race&&e ${t.round} ${t.Circuit.circuitName} ${this.renderLocation(t.Circuit)} ${(0,a.formatDate)(e,this.hass.locale,this.config.date_locale)} ${(0,n.formatTime)(e,this.hass.locale)} - `}render(){const t=this.sensor.data;if(!this.sensor_entity_id.endsWith("_races")||void 0===t)throw new Error("Please pass the correct sensor (races)");return r.html` + `}render(){const t=this.sensor.data;if(!this.sensor_entity_id.endsWith("_races")||void 0===t)throw new Error("Please pass the correct sensor (races)");return this.next_race?r.html` @@ -107,7 +107,7 @@ ${t.map((t=>this.renderScheduleRow(t)))}
- `}}e.default=s},607:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,a=arguments.length,o=a<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(o=(a<3?r(o):a>3?r(e,i,o):r(e,i))||o);return a>3&&o&&Object.defineProperty(e,i,o),o};Object.defineProperty(e,"__esModule",{value:!0});const r=i(147),a=i(595),o=i(98),s=i(392),l=i(593),u=i(299),c=i(521),d=i(412),h=i(269),m=i(249),y=i(958);console.info(`%c FORMULAONE-CARD %c ${r.version}`,"color: cyan; background: black; font-weight: bold;","color: darkblue; background: white; font-weight: bold;"),window.customCards=window.customCards||[],window.customCards.push({type:"formulaone-card",name:"FormulaOne card",preview:!1,description:"Present the data of hass-formulaoneapi in a pretty way"});let p=class extends s.LitElement{setConfig(t){(0,l.checkConfig)(t),this.config=Object.assign({},t)}shouldUpdate(t){return(0,l.hasConfigOrEntitiesChanged)(this.config,t)}set hass(t){this._hass=t,this.config.hass=t}static get styles(){return u.style}renderCardType(){switch(this.config.card_type){case o.FormulaOneCardType.ConstructorStandings:return new c.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.DriverStandings:return new d.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.Schedule:return new h.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.NextRace:return new m.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.LastResult:return new y.default(this.config.sensor,this._hass,this.config).render()}}render(){if(!this._hass||!this.config)return s.html``;try{return s.html` + `:this.renderSeasonEnded()}}e.default=s},607:function(t,e,i){var n=this&&this.__decorate||function(t,e,i,n){var r,a=arguments.length,o=a<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var s=t.length-1;s>=0;s--)(r=t[s])&&(o=(a<3?r(o):a>3?r(e,i,o):r(e,i))||o);return a>3&&o&&Object.defineProperty(e,i,o),o};Object.defineProperty(e,"__esModule",{value:!0});const r=i(147),a=i(595),o=i(98),s=i(392),l=i(593),u=i(299),c=i(521),d=i(412),h=i(269),m=i(249),y=i(958);console.info(`%c FORMULAONE-CARD %c ${r.version}`,"color: cyan; background: black; font-weight: bold;","color: darkblue; background: white; font-weight: bold;"),window.customCards=window.customCards||[],window.customCards.push({type:"formulaone-card",name:"FormulaOne card",preview:!1,description:"Present the data of hass-formulaoneapi in a pretty way"});let p=class extends s.LitElement{setConfig(t){(0,l.checkConfig)(t),this.config=Object.assign({},t)}shouldUpdate(t){return(0,l.hasConfigOrEntitiesChanged)(this.config,t)}set hass(t){this._hass=t,this.config.hass=t}static get styles(){return u.style}renderCardType(){switch(this.config.card_type){case o.FormulaOneCardType.ConstructorStandings:return new c.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.DriverStandings:return new d.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.Schedule:return new h.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.NextRace:return new m.default(this.config.sensor,this._hass,this.config).render();case o.FormulaOneCardType.LastResult:return new y.default(this.config.sensor,this._hass,this.config).render()}}render(){if(!this._hass||!this.config)return s.html``;try{return s.html` ${this.config.title?s.html`

${this.config.title}

`:""} ${this.renderCardType()} @@ -157,4 +157,4 @@ text-decoration: none; color: var(--secondary-text-color); } -`},98:(t,e)=>{var i,n;Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardType=e.PreviousRaceDisplay=void 0,(n=e.PreviousRaceDisplay||(e.PreviousRaceDisplay={})).Strikethrough="strikethrough",n.Italic="italic",n.Hide="hide",(i=e.FormulaOneCardType||(e.FormulaOneCardType={})).DriverStandings="driver_standings",i.ConstructorStandings="constructor_standings",i.NextRace="next_race",i.Schedule="schedule",i.LastResult="last_result"},593:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getDriverName=e.getCircuitName=e.getCountryFlagUrl=e.checkConfig=e.hasConfigOrEntitiesChanged=void 0,e.hasConfigOrEntitiesChanged=(t,e)=>{if(e.has("config"))return!0;const i=e.get("_hass");return!!i&&i.states[t.sensor]!==t.hass.states[t.sensor]},e.checkConfig=t=>{if(void 0===t.card_type)throw new Error("Please define FormulaOne card type (card_type).");if(void 0===t.sensor)throw new Error("Please define FormulaOne sensor.")},e.getCountryFlagUrl=t=>{const e=[{countryDashed:"USA",name:"United-States-of-America"},{countryDashed:"UAE",name:"United-Arab-Emirates"}].filter((e=>e.countryDashed==t));return e.length>0&&(t=e[0].name),`https://www.countries-ofthe-world.com/flags-normal/flag-of-${t}.png`},e.getCircuitName=t=>{const e=[{countryDashed:"UAE",name:"Abu_Dhabi"}].filter((e=>e.countryDashed==t));return e.length>0&&(t=e[0].name),t},e.getDriverName=(t,e)=>{const i="VER"==t.code?1:t.permanentNumber;return`${t.givenName} ${t.familyName}${e.show_carnumber?` #${i}`:""}`}},692:(t,e,i)=>{var n;i.r(e),i.d(e,{_$LH:()=>H,html:()=>w,noChange:()=>$,nothing:()=>A,render:()=>I,svg:()=>N});const r=window,a=r.trustedTypes,o=a?a.createPolicy("lit-html",{createHTML:t=>t}):void 0,s=`lit$${(Math.random()+"").slice(9)}$`,l="?"+s,u=`<${l}>`,c=document,d=(t="")=>c.createComment(t),h=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,y=t=>m(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),p=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,f=/-->/g,g=/>/g,v=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),_=/'/g,C=/"/g,b=/^(?:script|style|textarea|title)$/i,S=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),w=S(1),N=S(2),$=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),O=new WeakMap,I=(t,e,i)=>{var n,r;const a=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let o=a._$litPart$;if(void 0===o){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;a._$litPart$=o=new P(e.insertBefore(d(),t),t,void 0,null!=i?i:{})}return o._$AI(t),o},E=c.createTreeWalker(c,129,null,!1),T=(t,e)=>{const i=t.length-1,n=[];let r,a=2===e?"":"",l=p;for(let e=0;e"===c[0]?(l=null!=r?r:p,d=-1):void 0===c[1]?d=-2:(d=l.lastIndex-c[2].length,o=c[1],l=void 0===c[3]?v:'"'===c[3]?C:_):l===C||l===_?l=v:l===f||l===g?l=p:(l=v,r=void 0);const m=l===v&&t[e+1].startsWith("/>")?" ":"";a+=l===p?i+u:d>=0?(n.push(o),i.slice(0,d)+"$lit$"+i.slice(d)+s+m):i+s+(-2===d?(n.push(void 0),e):m)}const c=a+(t[i]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==o?o.createHTML(c):c,n]};class k{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const u=t.length-1,c=this.parts,[h,m]=T(t,e);if(this.el=k.createElement(h,i),E.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=E.nextNode())&&c.length0){n.textContent=a?a.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let a=!1;if(void 0===r)t=x(this,t,e,0),a=!h(t)||t!==this._$AH&&t!==$,a&&(this._$AH=t);else{const n=t;let o,s;for(t=r[0],o=0;o{i.r(e),i.d(e,{customElement:()=>n,eventOptions:()=>l,property:()=>a,query:()=>u,queryAll:()=>c,queryAssignedElements:()=>y,queryAssignedNodes:()=>p,queryAsync:()=>d,state:()=>o});const n=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),r=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function a(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):r(t,e)}function o(t){return a({...t,state:!0})}const s=({finisher:t,descriptor:e})=>(i,n)=>{var r;if(void 0===n){const n=null!==(r=i.originalKey)&&void 0!==r?r:i.key,a=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(a.finisher=function(e){t(e,n)}),a}{const r=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(r,n)}};function l(t){return s({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}function u(t,e){return s({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}function c(t){return s({descriptor:e=>({get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})}function d(t){return s({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var h;const m=null!=(null===(h=window.HTMLSlotElement)||void 0===h?void 0:h.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function y(t){const{slot:e,selector:i}=null!=t?t:{};return s({descriptor:n=>({get(){var n;const r="slot"+(e?`[name=${e}]`:":not([name])"),a=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(r),o=null!=a?m(a,t):[];return i?o.filter((t=>t.matches(i))):o},enumerable:!0,configurable:!0})})}function p(t,e,i){let n,r=t;return"object"==typeof t?(r=t.slot,n=t):n={flatten:e},i?y({slot:r,flatten:e,selector:i}):s({descriptor:t=>({get(){var t,e;const i="slot"+(r?`[name=${r}]`:":not([name])"),a=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==a?void 0:a.assignedNodes(n))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}},392:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>s,LitElement:()=>$,ReactiveElement:()=>C,UpdatingElement:()=>N,_$LE:()=>O,_$LH:()=>w._$LH,adoptStyles:()=>c,css:()=>u,defaultConverter:()=>g,getCompatibleStyle:()=>d,html:()=>w.html,noChange:()=>w.noChange,notEqual:()=>v,nothing:()=>w.nothing,render:()=>w.render,supportsAdoptingStyleSheets:()=>r,svg:()=>w.svg,unsafeCSS:()=>l});const n=window,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),o=new WeakMap;class s{constructor(t,e,i){if(this._$cssResult$=!0,i!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=o.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&o.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new s("string"==typeof t?t:t+"",void 0,a),u=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new s(i,t,a)},c=(t,e)=>{r?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),r=n.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},d=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t;var h;const m=window,y=m.trustedTypes,p=y?y.emptyScript:"",f=m.reactiveElementPolyfillSupport,g={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},v=(t,e)=>e!==t&&(e==e||t==t),_={attribute:!0,type:String,converter:g,reflect:!1,hasChanged:v};class C extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;null!==(e=this.h)&&void 0!==e||(this.h=[]),this.h.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=_){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||_}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(d(t))}else void 0!==t&&e.push(d(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=_){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const a=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:g).toAttribute(e,i.type);this._$El=t,null==a?this.removeAttribute(r):this.setAttribute(r,a),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),a="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:g;this._$El=r,this[r]=a.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||v)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}C.finalized=!0,C.elementProperties=new Map,C.elementStyles=[],C.shadowRootOptions={mode:"open"},null==f||f({ReactiveElement:C}),(null!==(h=m.reactiveElementVersions)&&void 0!==h?h:m.reactiveElementVersions=[]).push("1.4.1");var b,S,w=i(692);const N=C;class $ extends C{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,w.render)(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return w.noChange}}$.finalized=!0,$._$litElement$=!0,null===(b=globalThis.litElementHydrateSupport)||void 0===b||b.call(globalThis,{LitElement:$});const A=globalThis.litElementPolyfillSupport;null==A||A({LitElement:$});const O={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(S=globalThis.litElementVersions)&&void 0!==S?S:globalThis.litElementVersions=[]).push("3.2.2")},147:t=>{t.exports=JSON.parse('{"name":"formulaone-card","version":"0.1.4","description":"Frontend card for hass-formulaoneapi","main":"index.js","scripts":{"lint":"eslint src/**/*.ts","dev":"webpack -c webpack.config.js","build":"yarn lint && webpack -c webpack.config.js","test":"jest","coverage":"jest --coverage","workflow":"jest --coverage --json --outputFile=/home/runner/work/formulaone-card/formulaone-card/jest.results.json"},"repository":{"type":"git","url":"git+https://github.com/marcokreeft87/formulaone-card.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/marcokreeft87/formulaone-card/issues"},"homepage":"https://github.com/marcokreeft87/formulaone-card#readme","devDependencies":{"@types/jest":"^29.1.1","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","eslint":"^8.24.0","home-assistant-js-websocket":"^8.0.0","lit":"^2.3.1","typescript":"^4.8.4","webpack":"^5.74.0","webpack-cli":"^4.10.0"},"dependencies":{"@babel/plugin-transform-runtime":"^7.19.1","@babel/preset-env":"^7.19.3","@lit-labs/scoped-registry-mixin":"^1.0.1","babel-jest":"^29.1.2","compression-webpack-plugin":"^10.0.0","custom-card-helpers":"^1.9.0","jest-environment-jsdom":"^29.1.2","jest-ts-auto-mock":"^2.1.0","ts-auto-mock":"^3.6.2","ts-jest":"^29.0.3","ts-loader":"^9.4.1","ttypescript":"^1.5.13","yarn":"^1.22.19"}}')},634:t=>{t.exports=JSON.parse('[{"Code":"AD","Country":"Andorra","ISO":"53","Nationality":"Andorian"},{"Code":"AE","Country":"United Arab Emirates","ISO":"126","Nationality":"Emirian"},{"Code":"AF","Country":"Afghanistan","ISO":"133","Nationality":"Afghani"},{"Code":"AI","Country":"Anguilla","ISO":"55","Nationality":"Anguillan"},{"Code":"AM","Country":"Armenia","ISO":"58","Nationality":"Armenian"},{"Code":"AO","Country":"Angola","ISO":"54","Nationality":"Angolian"},{"Code":"AQ","Country":"Antarctica","ISO":"55","Nationality":"Antarctic"},{"Code":"AR","Country":"Argentina","ISO":"57","Nationality":"Argentine"},{"Code":"AS","Country":"Austria","ISO":"3","Nationality":"Austrian"},{"Code":"AU","Country":"Australia","ISO":"2","Nationality":"Australian"},{"Code":"AW","Country":"Aruba","ISO":"59","Nationality":"Arubian"},{"Code":"BA","Country":"Bangladesh","ISO":"45","Nationality":"Bangladeshi"},{"Code":"BB","Country":"Barbados","ISO":"63","Nationality":"Barbadian"},{"Code":"BE","Country":"Belgium","ISO":"4","Nationality":"Belgian"},{"Code":"BH","Country":"Bahrain","ISO":"62","Nationality":"Bahrainian"},{"Code":"BM","Country":"Bermuda","ISO":"67","Nationality":"Bermuda"},{"Code":"BO","Country":"Bolivia","ISO":"69","Nationality":"Bolivian"},{"Code":"BR","Country":"Brazil","ISO":"43","Nationality":"Brazilian"},{"Code":"BS","Country":"Bahamas","ISO":"61","Nationality":"Bahameese"},{"Code":"BT","Country":"Bhutan","ISO":"68","Nationality":"Bhutanese"},{"Code":"BU","Country":"Bulgaria","ISO":"44","Nationality":"Bulgarian"},{"Code":"BY","Country":"Belarus","ISO":"64","Nationality":"Belarusian"},{"Code":"BZ","Country":"Belize","ISO":"65","Nationality":"Belizean"},{"Code":"CA","Country":"Canada","ISO":"6","Nationality":"Canadian"},{"Code":"CG","Country":"Congo","ISO":"72","Nationality":"Congolese"},{"Code":"CH","Country":"China","ISO":"51","Nationality":"Chinese"},{"Code":"CH","Country":"Switzerland","ISO":"35","Nationality":"Swiss"},{"Code":"CL","Country":"Chile","ISO":"71","Nationality":"Chilean"},{"Code":"CM","Country":"Cambodia","ISO":"5","Nationality":"Cambodian"},{"Code":"CM","Country":"Cameroon","ISO":"70","Nationality":"Cameroonian"},{"Code":"CO","Country":"Columbia","ISO":"46","Nationality":"Columbian"},{"Code":"CR","Country":"Czech Republic","ISO":"50","Nationality":"Czech"},{"Code":"CR","Country":"Costa Rica","ISO":"73","Nationality":"Costa Rican"},{"Code":"CU","Country":"Cuba","ISO":"75","Nationality":"Cuban"},{"Code":"CY","Country":"Cyprus","ISO":"76","Nationality":"Cypriot"},{"Code":"DE","Country":"Germany","ISO":"10","Nationality":"German"},{"Code":"DK","Country":"Denmark","ISO":"7","Nationality":"Danish"},{"Code":"DM","Country":"Dominica","ISO":"77","Nationality":"Dominican"},{"Code":"EC","Country":"Ecuador","ISO":"78","Nationality":"Ecuadorean"},{"Code":"EE","Country":"Estonia","ISO":"79","Nationality":"Estonian"},{"Code":"EG","Country":"Egypt","ISO":"8","Nationality":"Egyptian"},{"Code":"ET","Country":"Ethiopia","ISO":"80","Nationality":"Ethiopian"},{"Code":"FI","Country":"Finland","ISO":"82","Nationality":"Finnish"},{"Code":"FJ","Country":"Fiji","ISO":"81","Nationality":"Fijian"},{"Code":"FR","Country":"France","ISO":"9","Nationality":"French"},{"Code":"GB","Country":"United Kingdom","ISO":"39","Nationality":"British"},{"Code":"GE","Country":"Georgia","ISO":"83","Nationality":"Georgian"},{"Code":"GH","Country":"Ghana","ISO":"84","Nationality":"Ghanaian"},{"Code":"GN","Country":"Guinea","ISO":"86","Nationality":"Guinean"},{"Code":"GR","Country":"Greece","ISO":"11","Nationality":"Greek"},{"Code":"GY","Country":"Guyana","ISO":"87","Nationality":"Guyanese"},{"Code":"HK","Country":"Hong Kong","ISO":"13","Nationality":"Chinese"},{"Code":"HR","Country":"Croatia","ISO":"74","Nationality":"Croatian"},{"Code":"HU","Country":"Hungary","ISO":"14","Nationality":"Hungarian"},{"Code":"ID","Country":"Indonesia","ISO":"16","Nationality":"Indonesian"},{"Code":"IE","Country":"Ireland","ISO":"90","Nationality":"Irish"},{"Code":"IN","Country":"India","ISO":"15","Nationality":"Indian"},{"Code":"IQ","Country":"Iraq","ISO":"89","Nationality":"Iraqi"},{"Code":"IR","Country":"Iran","ISO":"17","Nationality":"Iranian"},{"Code":"IS","Country":"Israel","ISO":"18","Nationality":"Israeli"},{"Code":"IS","Country":"Iceland","ISO":"88","Nationality":"Icelander"},{"Code":"IT","Country":"Italy","ISO":"19","Nationality":"Italian"},{"Code":"JM","Country":"Jamaica","ISO":"91","Nationality":"Jamaican"},{"Code":"JO","Country":"Jordan","ISO":"92","Nationality":"Jordanian"},{"Code":"JP","Country":"Japan","ISO":"20","Nationality":"Japanese"},{"Code":"KE","Country":"Kenya","ISO":"94","Nationality":"Kenyan"},{"Code":"KO","Country":"Korea","ISO":"21","Nationality":"Korean"},{"Code":"KW","Country":"Kuwait","ISO":"95","Nationality":"Kuwaiti"},{"Code":"KZ","Country":"Kazakhstan","ISO":"134","Nationality":"Kazakhstani"},{"Code":"KZ","Country":"Kazakhstan","ISO":"93","Nationality":"Kazakhstani"},{"Code":"LB","Country":"Lebanon","ISO":"96","Nationality":"Lebanese"},{"Code":"LK","Country":"Sri Lanka","ISO":"33","Nationality":"Sri Lankan"},{"Code":"LT","Country":"Lithuania","ISO":"97","Nationality":"Lithuanian"},{"Code":"LU","Country":"Luxembourg","ISO":"98","Nationality":"Luxembourger"},{"Code":"MA","Country":"Morocco","ISO":"104","Nationality":"Moroccan"},{"Code":"MC","Country":"Monaco","ISO":"102","Nationality":"Monegasque"},{"Code":"ME","Country":"Mexico","ISO":"47","Nationality":"Mexican"},{"Code":"MM","Country":"Myanmar","ISO":"105","Nationality":"Mayanmarese"},{"Code":"MN","Country":"Mongolia","ISO":"103","Nationality":"Mongolian"},{"Code":"MO","Country":"Macau","ISO":"42","Nationality":"Macau"},{"Code":"MU","Country":"Mauritius","ISO":"100","Nationality":"Mauritian"},{"Code":"MV","Country":"Maldives","ISO":"99","Nationality":"Maldivan"},{"Code":"MY","Country":"Malaysia","ISO":"22","Nationality":"Malaysian"},{"Code":"NA","Country":"Namibia","ISO":"106","Nationality":"Namibian"},{"Code":"NG","Country":"Nigeria","ISO":"108","Nationality":"Nigerian"},{"Code":"NL","Country":"Netherlands","ISO":"12","Nationality":"Dutch"},{"Code":"NO","Country":"Norway","ISO":"24","Nationality":"Norwegian"},{"Code":"NP","Country":"Nepal","ISO":"107","Nationality":"Nepalese"},{"Code":"NZ","Country":"New Zealand","ISO":"23","Nationality":"New Zealander"},{"Code":"OM","Country":"Oman","ISO":"109","Nationality":"Omani"},{"Code":"PA","Country":"Panama","ISO":"110","Nationality":"Panamanian"},{"Code":"PE","Country":"Peru","ISO":"112","Nationality":"Peruvian"},{"Code":"PH","Country":"Philippines","ISO":"27","Nationality":"Filipino"},{"Code":"PK","Country":"Pakistan","ISO":"26","Nationality":"Pakistani"},{"Code":"PO","Country":"Poland","ISO":"28","Nationality":"Polish"},{"Code":"PT","Country":"Portugal","ISO":"113","Nationality":"Portugees"},{"Code":"PY","Country":"Paraguay","ISO":"111","Nationality":"Paraguayan"},{"Code":"QA","Country":"Qatar","ISO":"115","Nationality":"Qatari"},{"Code":"RO","Country":"Romania","ISO":"48","Nationality":"Romanian"},{"Code":"RU","Country":"Russia","ISO":"29","Nationality":"Russian"},{"Code":"SA","Country":"Saudi Arabia","ISO":"116","Nationality":"Saudi Arabian"},{"Code":"SC","Country":"Seychelles","ISO":"119","Nationality":"Seychellois"},{"Code":"SE","Country":"Sweden","ISO":"34","Nationality":"Swedish"},{"Code":"SG","Country":"Singapore","ISO":"30","Nationality":"Singaporean"},{"Code":"SK","Country":"Slovakia","ISO":"120","Nationality":"Slovakian"},{"Code":"SN","Country":"Senegal","ISO":"117","Nationality":"Senegalese"},{"Code":"SO","Country":"Somalia","ISO":"121","Nationality":"Somali"},{"Code":"SP","Country":"Spain","ISO":"32","Nationality":"Spanish"},{"Code":"TH","Country":"Thailand","ISO":"37","Nationality":"Thai"},{"Code":"TN","Country":"Tunisia","ISO":"123","Nationality":"Tunisian"},{"Code":"TR","Country":"Turkey","ISO":"38","Nationality":"Turkish"},{"Code":"TW","Country":"Taiwan","ISO":"36","Nationality":"Taiwanese"},{"Code":"TZ","Country":"Tanzania","ISO":"122","Nationality":"Tanzanian"},{"Code":"UA","Country":"Ukraine","ISO":"125","Nationality":"Ukrainian"},{"Code":"UG","Country":"Uganda","ISO":"124","Nationality":"Ugandan"},{"Code":"US","Country":"United States of America","ISO":"40","Nationality":"American"},{"Code":"UY","Country":"Uruguay","ISO":"127","Nationality":"Uruguayan"},{"Code":"UZ","Country":"Uzbekistan","ISO":"128","Nationality":"Uzbekistani"},{"Code":"VE","Country":"Venezuela","ISO":"49","Nationality":"Venezuelan"},{"Code":"VN","Country":"Vietnam","ISO":"1","Nationality":"Vietnamese"},{"Code":"YE","Country":"Yemen","ISO":"130","Nationality":"Yemeni"},{"Code":"ZA","Country":"South Africa","ISO":"31","Nationality":"South African"},{"Code":"ZM","Country":"Zambia","ISO":"131","Nationality":"Zambian"},{"Code":"ZW","Country":"Zimbabwe","ISO":"132","Nationality":"Zimbabwean"}]')}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,i),a.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(607)})(); \ No newline at end of file +`},98:(t,e)=>{var i,n;Object.defineProperty(e,"__esModule",{value:!0}),e.FormulaOneCardType=e.PreviousRaceDisplay=void 0,(n=e.PreviousRaceDisplay||(e.PreviousRaceDisplay={})).Strikethrough="strikethrough",n.Italic="italic",n.Hide="hide",(i=e.FormulaOneCardType||(e.FormulaOneCardType={})).DriverStandings="driver_standings",i.ConstructorStandings="constructor_standings",i.NextRace="next_race",i.Schedule="schedule",i.LastResult="last_result"},593:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getDriverName=e.getCircuitName=e.getCountryFlagUrl=e.checkConfig=e.hasConfigOrEntitiesChanged=void 0,e.hasConfigOrEntitiesChanged=(t,e)=>{if(e.has("config"))return!0;const i=e.get("_hass");return!!i&&i.states[t.sensor]!==t.hass.states[t.sensor]},e.checkConfig=t=>{if(void 0===t.card_type)throw new Error("Please define FormulaOne card type (card_type).");if(void 0===t.sensor)throw new Error("Please define FormulaOne sensor.")},e.getCountryFlagUrl=t=>{const e=[{countryDashed:"USA",name:"United-States-of-America"},{countryDashed:"UAE",name:"United-Arab-Emirates"}].filter((e=>e.countryDashed==t));return e.length>0&&(t=e[0].name),`https://www.countries-ofthe-world.com/flags-normal/flag-of-${t}.png`},e.getCircuitName=t=>{const e=[{countryDashed:"UAE",name:"Abu_Dhabi"}].filter((e=>e.countryDashed==t));return e.length>0&&(t=e[0].name),t},e.getDriverName=(t,e)=>{const i="VER"==t.code?1:t.permanentNumber;return`${t.givenName} ${t.familyName}${e.show_carnumber?` #${i}`:""}`}},692:(t,e,i)=>{var n;i.r(e),i.d(e,{_$LH:()=>H,html:()=>w,noChange:()=>$,nothing:()=>A,render:()=>I,svg:()=>N});const r=window,a=r.trustedTypes,o=a?a.createPolicy("lit-html",{createHTML:t=>t}):void 0,s=`lit$${(Math.random()+"").slice(9)}$`,l="?"+s,u=`<${l}>`,c=document,d=(t="")=>c.createComment(t),h=t=>null===t||"object"!=typeof t&&"function"!=typeof t,m=Array.isArray,y=t=>m(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),p=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,f=/-->/g,g=/>/g,v=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),_=/'/g,C=/"/g,b=/^(?:script|style|textarea|title)$/i,S=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),w=S(1),N=S(2),$=Symbol.for("lit-noChange"),A=Symbol.for("lit-nothing"),O=new WeakMap,I=(t,e,i)=>{var n,r;const a=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:e;let o=a._$litPart$;if(void 0===o){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;a._$litPart$=o=new P(e.insertBefore(d(),t),t,void 0,null!=i?i:{})}return o._$AI(t),o},E=c.createTreeWalker(c,129,null,!1),x=(t,e)=>{const i=t.length-1,n=[];let r,a=2===e?"":"",l=p;for(let e=0;e"===c[0]?(l=null!=r?r:p,d=-1):void 0===c[1]?d=-2:(d=l.lastIndex-c[2].length,o=c[1],l=void 0===c[3]?v:'"'===c[3]?C:_):l===C||l===_?l=v:l===f||l===g?l=p:(l=v,r=void 0);const m=l===v&&t[e+1].startsWith("/>")?" ":"";a+=l===p?i+u:d>=0?(n.push(o),i.slice(0,d)+"$lit$"+i.slice(d)+s+m):i+s+(-2===d?(n.push(void 0),e):m)}const c=a+(t[i]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==o?o.createHTML(c):c,n]};class T{constructor({strings:t,_$litType$:e},i){let n;this.parts=[];let r=0,o=0;const u=t.length-1,c=this.parts,[h,m]=x(t,e);if(this.el=T.createElement(h,i),E.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(n=E.nextNode())&&c.length0){n.textContent=a?a.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,n){const r=this.strings;let a=!1;if(void 0===r)t=k(this,t,e,0),a=!h(t)||t!==this._$AH&&t!==$,a&&(this._$AH=t);else{const n=t;let o,s;for(t=r[0],o=0;o{i.r(e),i.d(e,{customElement:()=>n,eventOptions:()=>l,property:()=>a,query:()=>u,queryAll:()=>c,queryAssignedElements:()=>y,queryAssignedNodes:()=>p,queryAsync:()=>d,state:()=>o});const n=t=>e=>"function"==typeof e?((t,e)=>(customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){customElements.define(t,e)}}})(t,e),r=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function a(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):r(t,e)}function o(t){return a({...t,state:!0})}const s=({finisher:t,descriptor:e})=>(i,n)=>{var r;if(void 0===n){const n=null!==(r=i.originalKey)&&void 0!==r?r:i.key,a=null!=e?{kind:"method",placement:"prototype",key:n,descriptor:e(i.key)}:{...i,key:n};return null!=t&&(a.finisher=function(e){t(e,n)}),a}{const r=i.constructor;void 0!==e&&Object.defineProperty(i,n,e(n)),null==t||t(r,n)}};function l(t){return s({finisher:(e,i)=>{Object.assign(e.prototype[i],t)}})}function u(t,e){return s({descriptor:i=>{const n={get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t))&&void 0!==i?i:null},enumerable:!0,configurable:!0};if(e){const e="symbol"==typeof i?Symbol():"__"+i;n.get=function(){var i,n;return void 0===this[e]&&(this[e]=null!==(n=null===(i=this.renderRoot)||void 0===i?void 0:i.querySelector(t))&&void 0!==n?n:null),this[e]}}return n}})}function c(t){return s({descriptor:e=>({get(){var e,i;return null!==(i=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(t))&&void 0!==i?i:[]},enumerable:!0,configurable:!0})})}function d(t){return s({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(t)},enumerable:!0,configurable:!0})})}var h;const m=null!=(null===(h=window.HTMLSlotElement)||void 0===h?void 0:h.prototype.assignedElements)?(t,e)=>t.assignedElements(e):(t,e)=>t.assignedNodes(e).filter((t=>t.nodeType===Node.ELEMENT_NODE));function y(t){const{slot:e,selector:i}=null!=t?t:{};return s({descriptor:n=>({get(){var n;const r="slot"+(e?`[name=${e}]`:":not([name])"),a=null===(n=this.renderRoot)||void 0===n?void 0:n.querySelector(r),o=null!=a?m(a,t):[];return i?o.filter((t=>t.matches(i))):o},enumerable:!0,configurable:!0})})}function p(t,e,i){let n,r=t;return"object"==typeof t?(r=t.slot,n=t):n={flatten:e},i?y({slot:r,flatten:e,selector:i}):s({descriptor:t=>({get(){var t,e;const i="slot"+(r?`[name=${r}]`:":not([name])"),a=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(i);return null!==(e=null==a?void 0:a.assignedNodes(n))&&void 0!==e?e:[]},enumerable:!0,configurable:!0})})}},392:(t,e,i)=>{i.r(e),i.d(e,{CSSResult:()=>s,LitElement:()=>$,ReactiveElement:()=>C,UpdatingElement:()=>N,_$LE:()=>O,_$LH:()=>w._$LH,adoptStyles:()=>c,css:()=>u,defaultConverter:()=>g,getCompatibleStyle:()=>d,html:()=>w.html,noChange:()=>w.noChange,notEqual:()=>v,nothing:()=>w.nothing,render:()=>w.render,supportsAdoptingStyleSheets:()=>r,svg:()=>w.svg,unsafeCSS:()=>l});const n=window,r=n.ShadowRoot&&(void 0===n.ShadyCSS||n.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,a=Symbol(),o=new WeakMap;class s{constructor(t,e,i){if(this._$cssResult$=!0,i!==a)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(r&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=o.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&o.set(e,t))}return t}toString(){return this.cssText}}const l=t=>new s("string"==typeof t?t:t+"",void 0,a),u=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1]),t[0]);return new s(i,t,a)},c=(t,e)=>{r?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),r=n.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,t.appendChild(i)}))},d=r?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return l(e)})(t):t;var h;const m=window,y=m.trustedTypes,p=y?y.emptyScript:"",f=m.reactiveElementPolyfillSupport,g={toAttribute(t,e){switch(e){case Boolean:t=t?p:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},v=(t,e)=>e!==t&&(e==e||t==t),_={attribute:!0,type:String,converter:g,reflect:!1,hasChanged:v};class C extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;null!==(e=this.h)&&void 0!==e||(this.h=[]),this.h.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const n=this._$Ep(i,e);void 0!==n&&(this._$Ev.set(n,i),t.push(n))})),t}static createProperty(t,e=_){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(n){const r=this[t];this[e]=n,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||_}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(d(t))}else void 0!==t&&e.push(d(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return c(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=_){var n;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const a=(void 0!==(null===(n=i.converter)||void 0===n?void 0:n.toAttribute)?i.converter:g).toAttribute(e,i.type);this._$El=t,null==a?this.removeAttribute(r):this.setAttribute(r,a),this._$El=null}}_$AK(t,e){var i;const n=this.constructor,r=n._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=n.getPropertyOptions(r),a="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:g;this._$El=r,this[r]=a.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let n=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||v)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):n=!1),!this.isUpdatePending&&n&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}C.finalized=!0,C.elementProperties=new Map,C.elementStyles=[],C.shadowRootOptions={mode:"open"},null==f||f({ReactiveElement:C}),(null!==(h=m.reactiveElementVersions)&&void 0!==h?h:m.reactiveElementVersions=[]).push("1.4.1");var b,S,w=i(692);const N=C;class $ extends C{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=(0,w.render)(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return w.noChange}}$.finalized=!0,$._$litElement$=!0,null===(b=globalThis.litElementHydrateSupport)||void 0===b||b.call(globalThis,{LitElement:$});const A=globalThis.litElementPolyfillSupport;null==A||A({LitElement:$});const O={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(S=globalThis.litElementVersions)&&void 0!==S?S:globalThis.litElementVersions=[]).push("3.2.2")},147:t=>{t.exports=JSON.parse('{"name":"formulaone-card","version":"0.1.6","description":"Frontend card for hass-formulaoneapi","main":"index.js","scripts":{"lint":"eslint src/**/*.ts","dev":"webpack -c webpack.config.js","build":"yarn lint && webpack -c webpack.config.js","test":"jest","coverage":"jest --coverage","workflow":"jest --coverage --json --outputFile=/home/runner/work/formulaone-card/formulaone-card/jest.results.json"},"repository":{"type":"git","url":"git+https://github.com/marcokreeft87/formulaone-card.git"},"keywords":[],"author":"","license":"ISC","bugs":{"url":"https://github.com/marcokreeft87/formulaone-card/issues"},"homepage":"https://github.com/marcokreeft87/formulaone-card#readme","devDependencies":{"@types/jest":"^29.1.1","@typescript-eslint/eslint-plugin":"^5.39.0","@typescript-eslint/parser":"^5.39.0","eslint":"^8.24.0","home-assistant-js-websocket":"^8.0.0","lit":"^2.3.1","typescript":"^4.8.4","webpack":"^5.74.0","webpack-cli":"^4.10.0"},"dependencies":{"@babel/plugin-transform-runtime":"^7.19.1","@babel/preset-env":"^7.19.3","@lit-labs/scoped-registry-mixin":"^1.0.1","babel-jest":"^29.1.2","compression-webpack-plugin":"^10.0.0","custom-card-helpers":"^1.9.0","jest-environment-jsdom":"^29.1.2","jest-ts-auto-mock":"^2.1.0","ts-auto-mock":"^3.6.2","ts-jest":"^29.0.3","ts-loader":"^9.4.1","ttypescript":"^1.5.13","yarn":"^1.22.19"}}')},634:t=>{t.exports=JSON.parse('[{"Code":"AD","Country":"Andorra","ISO":"53","Nationality":"Andorian"},{"Code":"AE","Country":"United Arab Emirates","ISO":"126","Nationality":"Emirian"},{"Code":"AF","Country":"Afghanistan","ISO":"133","Nationality":"Afghani"},{"Code":"AI","Country":"Anguilla","ISO":"55","Nationality":"Anguillan"},{"Code":"AM","Country":"Armenia","ISO":"58","Nationality":"Armenian"},{"Code":"AO","Country":"Angola","ISO":"54","Nationality":"Angolian"},{"Code":"AQ","Country":"Antarctica","ISO":"55","Nationality":"Antarctic"},{"Code":"AR","Country":"Argentina","ISO":"57","Nationality":"Argentine"},{"Code":"AS","Country":"Austria","ISO":"3","Nationality":"Austrian"},{"Code":"AU","Country":"Australia","ISO":"2","Nationality":"Australian"},{"Code":"AW","Country":"Aruba","ISO":"59","Nationality":"Arubian"},{"Code":"BA","Country":"Bangladesh","ISO":"45","Nationality":"Bangladeshi"},{"Code":"BB","Country":"Barbados","ISO":"63","Nationality":"Barbadian"},{"Code":"BE","Country":"Belgium","ISO":"4","Nationality":"Belgian"},{"Code":"BH","Country":"Bahrain","ISO":"62","Nationality":"Bahrainian"},{"Code":"BM","Country":"Bermuda","ISO":"67","Nationality":"Bermuda"},{"Code":"BO","Country":"Bolivia","ISO":"69","Nationality":"Bolivian"},{"Code":"BR","Country":"Brazil","ISO":"43","Nationality":"Brazilian"},{"Code":"BS","Country":"Bahamas","ISO":"61","Nationality":"Bahameese"},{"Code":"BT","Country":"Bhutan","ISO":"68","Nationality":"Bhutanese"},{"Code":"BU","Country":"Bulgaria","ISO":"44","Nationality":"Bulgarian"},{"Code":"BY","Country":"Belarus","ISO":"64","Nationality":"Belarusian"},{"Code":"BZ","Country":"Belize","ISO":"65","Nationality":"Belizean"},{"Code":"CA","Country":"Canada","ISO":"6","Nationality":"Canadian"},{"Code":"CG","Country":"Congo","ISO":"72","Nationality":"Congolese"},{"Code":"CH","Country":"China","ISO":"51","Nationality":"Chinese"},{"Code":"CH","Country":"Switzerland","ISO":"35","Nationality":"Swiss"},{"Code":"CL","Country":"Chile","ISO":"71","Nationality":"Chilean"},{"Code":"CM","Country":"Cambodia","ISO":"5","Nationality":"Cambodian"},{"Code":"CM","Country":"Cameroon","ISO":"70","Nationality":"Cameroonian"},{"Code":"CO","Country":"Columbia","ISO":"46","Nationality":"Columbian"},{"Code":"CR","Country":"Czech Republic","ISO":"50","Nationality":"Czech"},{"Code":"CR","Country":"Costa Rica","ISO":"73","Nationality":"Costa Rican"},{"Code":"CU","Country":"Cuba","ISO":"75","Nationality":"Cuban"},{"Code":"CY","Country":"Cyprus","ISO":"76","Nationality":"Cypriot"},{"Code":"DE","Country":"Germany","ISO":"10","Nationality":"German"},{"Code":"DK","Country":"Denmark","ISO":"7","Nationality":"Danish"},{"Code":"DM","Country":"Dominica","ISO":"77","Nationality":"Dominican"},{"Code":"EC","Country":"Ecuador","ISO":"78","Nationality":"Ecuadorean"},{"Code":"EE","Country":"Estonia","ISO":"79","Nationality":"Estonian"},{"Code":"EG","Country":"Egypt","ISO":"8","Nationality":"Egyptian"},{"Code":"ET","Country":"Ethiopia","ISO":"80","Nationality":"Ethiopian"},{"Code":"FI","Country":"Finland","ISO":"82","Nationality":"Finnish"},{"Code":"FJ","Country":"Fiji","ISO":"81","Nationality":"Fijian"},{"Code":"FR","Country":"France","ISO":"9","Nationality":"French"},{"Code":"GB","Country":"United Kingdom","ISO":"39","Nationality":"British"},{"Code":"GE","Country":"Georgia","ISO":"83","Nationality":"Georgian"},{"Code":"GH","Country":"Ghana","ISO":"84","Nationality":"Ghanaian"},{"Code":"GN","Country":"Guinea","ISO":"86","Nationality":"Guinean"},{"Code":"GR","Country":"Greece","ISO":"11","Nationality":"Greek"},{"Code":"GY","Country":"Guyana","ISO":"87","Nationality":"Guyanese"},{"Code":"HK","Country":"Hong Kong","ISO":"13","Nationality":"Chinese"},{"Code":"HR","Country":"Croatia","ISO":"74","Nationality":"Croatian"},{"Code":"HU","Country":"Hungary","ISO":"14","Nationality":"Hungarian"},{"Code":"ID","Country":"Indonesia","ISO":"16","Nationality":"Indonesian"},{"Code":"IE","Country":"Ireland","ISO":"90","Nationality":"Irish"},{"Code":"IN","Country":"India","ISO":"15","Nationality":"Indian"},{"Code":"IQ","Country":"Iraq","ISO":"89","Nationality":"Iraqi"},{"Code":"IR","Country":"Iran","ISO":"17","Nationality":"Iranian"},{"Code":"IS","Country":"Israel","ISO":"18","Nationality":"Israeli"},{"Code":"IS","Country":"Iceland","ISO":"88","Nationality":"Icelander"},{"Code":"IT","Country":"Italy","ISO":"19","Nationality":"Italian"},{"Code":"JM","Country":"Jamaica","ISO":"91","Nationality":"Jamaican"},{"Code":"JO","Country":"Jordan","ISO":"92","Nationality":"Jordanian"},{"Code":"JP","Country":"Japan","ISO":"20","Nationality":"Japanese"},{"Code":"KE","Country":"Kenya","ISO":"94","Nationality":"Kenyan"},{"Code":"KO","Country":"Korea","ISO":"21","Nationality":"Korean"},{"Code":"KW","Country":"Kuwait","ISO":"95","Nationality":"Kuwaiti"},{"Code":"KZ","Country":"Kazakhstan","ISO":"134","Nationality":"Kazakhstani"},{"Code":"KZ","Country":"Kazakhstan","ISO":"93","Nationality":"Kazakhstani"},{"Code":"LB","Country":"Lebanon","ISO":"96","Nationality":"Lebanese"},{"Code":"LK","Country":"Sri Lanka","ISO":"33","Nationality":"Sri Lankan"},{"Code":"LT","Country":"Lithuania","ISO":"97","Nationality":"Lithuanian"},{"Code":"LU","Country":"Luxembourg","ISO":"98","Nationality":"Luxembourger"},{"Code":"MA","Country":"Morocco","ISO":"104","Nationality":"Moroccan"},{"Code":"MC","Country":"Monaco","ISO":"102","Nationality":"Monegasque"},{"Code":"ME","Country":"Mexico","ISO":"47","Nationality":"Mexican"},{"Code":"MM","Country":"Myanmar","ISO":"105","Nationality":"Mayanmarese"},{"Code":"MN","Country":"Mongolia","ISO":"103","Nationality":"Mongolian"},{"Code":"MO","Country":"Macau","ISO":"42","Nationality":"Macau"},{"Code":"MU","Country":"Mauritius","ISO":"100","Nationality":"Mauritian"},{"Code":"MV","Country":"Maldives","ISO":"99","Nationality":"Maldivan"},{"Code":"MY","Country":"Malaysia","ISO":"22","Nationality":"Malaysian"},{"Code":"NA","Country":"Namibia","ISO":"106","Nationality":"Namibian"},{"Code":"NG","Country":"Nigeria","ISO":"108","Nationality":"Nigerian"},{"Code":"NL","Country":"Netherlands","ISO":"12","Nationality":"Dutch"},{"Code":"NO","Country":"Norway","ISO":"24","Nationality":"Norwegian"},{"Code":"NP","Country":"Nepal","ISO":"107","Nationality":"Nepalese"},{"Code":"NZ","Country":"New Zealand","ISO":"23","Nationality":"New Zealander"},{"Code":"OM","Country":"Oman","ISO":"109","Nationality":"Omani"},{"Code":"PA","Country":"Panama","ISO":"110","Nationality":"Panamanian"},{"Code":"PE","Country":"Peru","ISO":"112","Nationality":"Peruvian"},{"Code":"PH","Country":"Philippines","ISO":"27","Nationality":"Filipino"},{"Code":"PK","Country":"Pakistan","ISO":"26","Nationality":"Pakistani"},{"Code":"PO","Country":"Poland","ISO":"28","Nationality":"Polish"},{"Code":"PT","Country":"Portugal","ISO":"113","Nationality":"Portugees"},{"Code":"PY","Country":"Paraguay","ISO":"111","Nationality":"Paraguayan"},{"Code":"QA","Country":"Qatar","ISO":"115","Nationality":"Qatari"},{"Code":"RO","Country":"Romania","ISO":"48","Nationality":"Romanian"},{"Code":"RU","Country":"Russia","ISO":"29","Nationality":"Russian"},{"Code":"SA","Country":"Saudi Arabia","ISO":"116","Nationality":"Saudi Arabian"},{"Code":"SC","Country":"Seychelles","ISO":"119","Nationality":"Seychellois"},{"Code":"SE","Country":"Sweden","ISO":"34","Nationality":"Swedish"},{"Code":"SG","Country":"Singapore","ISO":"30","Nationality":"Singaporean"},{"Code":"SK","Country":"Slovakia","ISO":"120","Nationality":"Slovakian"},{"Code":"SN","Country":"Senegal","ISO":"117","Nationality":"Senegalese"},{"Code":"SO","Country":"Somalia","ISO":"121","Nationality":"Somali"},{"Code":"SP","Country":"Spain","ISO":"32","Nationality":"Spanish"},{"Code":"TH","Country":"Thailand","ISO":"37","Nationality":"Thai"},{"Code":"TN","Country":"Tunisia","ISO":"123","Nationality":"Tunisian"},{"Code":"TR","Country":"Turkey","ISO":"38","Nationality":"Turkish"},{"Code":"TW","Country":"Taiwan","ISO":"36","Nationality":"Taiwanese"},{"Code":"TZ","Country":"Tanzania","ISO":"122","Nationality":"Tanzanian"},{"Code":"UA","Country":"Ukraine","ISO":"125","Nationality":"Ukrainian"},{"Code":"UG","Country":"Uganda","ISO":"124","Nationality":"Ugandan"},{"Code":"US","Country":"United States of America","ISO":"40","Nationality":"American"},{"Code":"UY","Country":"Uruguay","ISO":"127","Nationality":"Uruguayan"},{"Code":"UZ","Country":"Uzbekistan","ISO":"128","Nationality":"Uzbekistani"},{"Code":"VE","Country":"Venezuela","ISO":"49","Nationality":"Venezuelan"},{"Code":"VN","Country":"Vietnam","ISO":"1","Nationality":"Vietnamese"},{"Code":"YE","Country":"Yemen","ISO":"130","Nationality":"Yemeni"},{"Code":"ZA","Country":"South Africa","ISO":"31","Nationality":"South African"},{"Code":"ZM","Country":"Zambia","ISO":"131","Nationality":"Zambian"},{"Code":"ZW","Country":"Zimbabwe","ISO":"132","Nationality":"Zimbabwean"}]')}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,i),a.exports}i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i(607)})(); \ No newline at end of file diff --git a/formulaone-card.js.gz b/formulaone-card.js.gz index 058d4f509e95c58001ac0e0ea9c3f0e26d7803b2..c57ec8f44316815df57e926543d02297b47f3f16 100644 GIT binary patch delta 10707 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 F0RVo6JsAK1 delta 10633 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≀i+^olUP#L6Y4icFtxjBW0${}q8O%{>})N;o{8%T^hxI}w%S@kUEuP0Fa z!xdfxxCvP8Dpp7)>JloxkO|)h4hC@6cpmin3u7nQjfCV-UFLQfLTc>Czce&RK z*MAa7x=^ku(|bLY(Fa&>Zv}-DMP+h2NZJ% z1=a1MEXEln9a~@DyLD*t7QmQDZZ&7DWIBQk)Cw@RKP4q{2dDL^5ik(MS= zr0F9!?AaBS1b7UV>}tgOqU8EpuI+!W#D6Np@~*ZKQ`_K;=gM#$wQ-ZCwnK8)cktkGg%MMVYM?gn=g#)__NLp#olQvcyBbX&(viYiZxRQ%)mgO{O5cpj zV#ggbjDbqoP4+OKx*rtbYVSYFp^-NgD`#IHATs|k8#o?tr`3!Sniz@(|>4W zmsd4cX)q8nfuY~X2W%I{2QLUw*qR%zbUv^vDZVDL^lnQbZA=z$7;Btg9qAgwo1tip zPnI*C7H}4{I!VgX-z$js}gm>99GEb+Y3PAyhD41*#1}?78zC} z!Zkh+qBYd6I^ZrLx$}6WmF#gTd4B`HEM%8KV_H+=HvE!+vF1uSeXY1Rar8X2QE6+0 z(Ab*i*caPhNp ztgLEIr5N{Z+PqTIpnqpLe4dt7cy)4ze%?%OZGp=G==5`);2LH5&fBx}+m3+1#=gMtK0y2NVkm8HbIqA`UwWh zn!{woPi4lgCeU}Kx-NUXD?rmaMNF>CN|Ot@wx+vGLk0eKJhjHx(fHS0vje(G_o-^@ zY6zutwT00E{Xzqhyl~@wdw+4&jI<_di{k=tGwwyTx?%jo5aDfOGOwt73)!fyj;+9! zTh}V?b?KNJ`n0NprI(}GRQsVi@XW(U;6$iH=#n3ZnDT99{Z41_VVU5hn=p#X)W24? zbGVO6byr(K#g#B+gn`Z}$DRj7nI4h2LMyUhs!eQgKFU)aNP z+*SBP3$$#?U_h$imIojfDxu*0zFT5j*F!oK@;8^KE36F#K34LJhP28~JD8Wv_k@E} zwNOc>}&zdTbS9(tlju-(T8y)#bk3LfZ#8t%q8h_5)7)Q*UWOZC_xw^Az_5QtJ!q>;$pbmgk3 zdcmc15*kSDJm7r@D%SJsVtX&CiEZNu2{;@N8~MDg<|5zFT-PbDR~KVmE;JX#syRbf z`GGjW`Ls+bo4oKRQF0MPr`T{==I!kmFZB`&7CJH)_xBfE5|J^;XpFWyR)J&&LNX!_yeC*-GBK0`;G5Ac}A^WL)Hzum;?W{ z+M|~EDet@|SQiVJ@KEeFz_l?1vbNTGqz>K(0abp-KX`RKbQEvH<|(aqTcxDeZ%mUJ+ejC9g~0~a-KdbY_Ki?Gsd!l#0fJ`1%?NnY zc#_^CjelrosAtiY!`32=`0sUj2Oa#LE-vW8xml2olB<-l%lwBI)uuXh@w97Qv0K1w z4CDtjX9bIVnxu5ik%jT3IK#FM2D?Pt2@Mi&^K0AN2(xT~7w)+hQf1Cb{IyX26ST*e zU-r(f_ZY6YvUr36X+Z41ku(|65J3NH>m~4M7f*`vbmFo$XRQtXr#+7r6Jp1IJ?lJq z+1YF^OmibOO7R>_`k}M+l#;Ml__A?`tGqdI13iA6jINj{w@JldmJ)Kbo!_;})-d&H j=Lecuf|IU89RhlClg&fU0T8pCM0*GbXpn#JtN{T4{5|9q diff --git a/package-lock.json b/package-lock.json index 981b020..cc27a80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "formulaone-card", - "version": "0.1.4", + "version": "0.1.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "formulaone-card", - "version": "0.1.4", + "version": "0.1.6", "license": "ISC", "dependencies": { "@babel/plugin-transform-runtime": "^7.19.1", diff --git a/package.json b/package.json index 219f805..7361dbe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "formulaone-card", - "version": "0.1.4", + "version": "0.1.6", "description": "Frontend card for hass-formulaoneapi", "main": "index.js", "scripts": { diff --git a/src/cards/driver-standings.ts b/src/cards/driver-standings.ts index a0288ef..af9957a 100644 --- a/src/cards/driver-standings.ts +++ b/src/cards/driver-standings.ts @@ -12,7 +12,6 @@ export default class DriverStandings extends BaseCard { } getCountryFlag = (nationality: string) => { - console.log(nationality, countries.filter(x => x.Nationality === nationality).length); const country = countries.filter(x => x.Nationality === nationality)[0].Country; const countryDashed = country.replace(" ","-"); diff --git a/src/cards/next-race.ts b/src/cards/next-race.ts index caebbe2..343114a 100644 --- a/src/cards/next-race.ts +++ b/src/cards/next-race.ts @@ -29,12 +29,20 @@ export default class NextRace extends BaseCard { return html`

  ${this.next_race.round} : ${this.next_race.raceName}

${imageWithLinkHtml}
` } + renderSeasonEnded(): HTMLTemplateResult { + return html`
Season is over. See you next year!
`; + } + render() : HTMLTemplateResult { if(!this.sensor_entity_id.endsWith('_races') || this.next_race === undefined) { throw new Error('Please pass the correct sensor (races)') } + if(!this.next_race) { + return this.renderSeasonEnded(); + } + const raceDate = new Date(this.next_race.date + 'T' + this.next_race.time); const freePractice1 = formatDateTimeRaceInfo(new Date(this.next_race.FirstPractice.date + 'T' + this.next_race.FirstPractice.time), this.hass.locale); const freePractice2 = formatDateTimeRaceInfo(new Date(this.next_race.SecondPractice.date + 'T' + this.next_race.SecondPractice.time), this.hass.locale); diff --git a/src/cards/schedule.ts b/src/cards/schedule.ts index ba9cf97..18a7600 100644 --- a/src/cards/schedule.ts +++ b/src/cards/schedule.ts @@ -6,10 +6,20 @@ import { BaseCard } from "./base-card"; export default class Schedule extends BaseCard { + next_race: Race; + constructor(sensor: string, hass: HomeAssistant, config: FormulaOneCardConfig) { super(sensor, hass, config); + + const sensorEntity = this.hass.states[this.sensor_entity_id]; + + this.next_race = sensorEntity.attributes['next_race'] as Race; } + renderSeasonEnded(): HTMLTemplateResult { + return html`
Season is over. See you next year!
`; + } + renderLocation(circuit: Circuit) { const locationConcatted = `${circuit.Location.locality}, ${circuit.Location.country}`; return this.config.location_clickable ? html`${locationConcatted}` : locationConcatted; @@ -35,6 +45,10 @@ export default class Schedule extends BaseCard { if(!this.sensor_entity_id.endsWith('_races') || data === undefined) { throw new Error('Please pass the correct sensor (races)') } + + if(!this.next_race) { + return this.renderSeasonEnded(); + } return html` diff --git a/tests/cards/next-race.test.ts b/tests/cards/next-race.test.ts index 1754cd2..57e8b81 100644 --- a/tests/cards/next-race.test.ts +++ b/tests/cards/next-race.test.ts @@ -105,5 +105,17 @@ describe('Testing next-race file', () => { const htmlResult = getRenderString(result); expect(htmlResult).toMatch('

  1 : Bahrain Grand Prix


Date20-03-22 Practice 1vr 13:00
Race1 Practice 2vr 16:00
Race nameBahrain Grand Prix Practice 3-
Circuit nameBahrain International Circuit Qualifying-
LocationBahrain Sprintzo 10:00
CitySakhir Racezo 16:00
'); + }), + test('Calling render with hass and sensor when season ended', () => { + hassEntity.attributes['next_race'] = null; + hass.states = { + 'sensor.test_sensor_races': hassEntity + }; + + const card = new NextRace('sensor.test_sensor_races', hass, config); + const result = card.render(); + const htmlResult = getRenderString(result); + + expect(htmlResult).toMatch('
Season is over. See you next year!
'); }) }); \ No newline at end of file diff --git a/tests/cards/schedule.test.ts b/tests/cards/schedule.test.ts index 50c9281..d260396 100644 --- a/tests/cards/schedule.test.ts +++ b/tests/cards/schedule.test.ts @@ -38,6 +38,7 @@ describe('Testing schedule file', () => { expect(() => card.render()).toThrowError('Please pass the correct sensor (races)'); }), test('Calling render with hass and sensor', () => { + hassEntity.attributes['next_race'] = data[0] as Race; hassEntity.attributes['data'] = data as Race[]; hass.states = { 'sensor.test_sensor_races': hassEntity @@ -49,7 +50,8 @@ describe('Testing schedule file', () => { expect(htmlResult).toMatch('
  Race Location Date Time
1 Bahrain International Circuit Sakhir, Bahrain 20-03 16:00
2 Jeddah Corniche Circuit Jeddah, Saudi Arabia 27-03 19:00
3 Albert Park Grand Prix Circuit Melbourne, Australia 10-04 7:00
4 Autodromo Enzo e Dino Ferrari Imola, Italy 24-04 15:00
5 Miami International Autodrome Miami, USA 08-05 21:30
6 Circuit de Barcelona-Catalunya Montmeló, Spain 22-05 15:00
7 Circuit de Monaco Monte-Carlo, Monaco 29-05 15:00
8 Baku City Circuit Baku, Azerbaijan 12-06 13:00
9 Circuit Gilles Villeneuve Montreal, Canada 19-06 20:00
10 Silverstone Circuit Silverstone, UK 03-07 16:00
11 Red Bull Ring Spielberg, Austria 10-07 15:00
12 Circuit Paul Ricard Le Castellet, France 24-07 15:00
13 Hungaroring Budapest, Hungary 31-07 15:00
14 Circuit de Spa-Francorchamps Spa, Belgium 28-08 15:00
15 Circuit Park Zandvoort Zandvoort, Netherlands 04-09 15:00
16 Autodromo Nazionale di Monza Monza, Italy 11-09 15:00
17 Marina Bay Street Circuit Marina Bay, Singapore 02-10 14:00
18 Suzuka Circuit Suzuka, Japan 09-10 7:00
19 Circuit of the Americas Austin, USA 23-10 21:00
20 Autódromo Hermanos Rodríguez Mexico City, Mexico 30-10 21:00
21 Autódromo José Carlos Pace São Paulo, Brazil 13-11 19:00
22 Yas Marina Circuit Abu Dhabi, UAE 20-11 14:00
'); }), - test('Calling render with hass and sensor and location clickable', () => { + test('Calling render with hass and sensor and location clickable', () => { + hassEntity.attributes['next_race'] = data[0] as Race; hassEntity.attributes['data'] = data as Race[]; hass.states = { 'sensor.test_sensor_races': hassEntity @@ -84,5 +86,18 @@ describe('Testing schedule file', () => { jest.useRealTimers(); expect(htmlResult).toMatch(`
  Race Location Date Time
1 Bahrain International Circuit Sakhir, Bahrain 20-03 16:00
2 Jeddah Corniche Circuit Jeddah, Saudi Arabia 27-03 19:00
3 Albert Park Grand Prix Circuit Melbourne, Australia 10-04 7:00
4 Autodromo Enzo e Dino Ferrari Imola, Italy 24-04 15:00
5 Miami International Autodrome Miami, USA 08-05 21:30
6 Circuit de Barcelona-Catalunya Montmeló, Spain 22-05 15:00
7 Circuit de Monaco Monte-Carlo, Monaco 29-05 15:00
8 Baku City Circuit Baku, Azerbaijan 12-06 13:00
9 Circuit Gilles Villeneuve Montreal, Canada 19-06 20:00
10 Silverstone Circuit Silverstone, UK 03-07 16:00
11 Red Bull Ring Spielberg, Austria 10-07 15:00
12 Circuit Paul Ricard Le Castellet, France 24-07 15:00
13 Hungaroring Budapest, Hungary 31-07 15:00
14 Circuit de Spa-Francorchamps Spa, Belgium 28-08 15:00
15 Circuit Park Zandvoort Zandvoort, Netherlands 04-09 15:00
16 Autodromo Nazionale di Monza Monza, Italy 11-09 15:00
17 Marina Bay Street Circuit Marina Bay, Singapore 02-10 14:00
18 Suzuka Circuit Suzuka, Japan 09-10 7:00
19 Circuit of the Americas Austin, USA 23-10 21:00
20 Autódromo Hermanos Rodríguez Mexico City, Mexico 30-10 21:00
21 Autódromo José Carlos Pace São Paulo, Brazil 13-11 19:00
22 Yas Marina Circuit Abu Dhabi, UAE 20-11 14:00
`); + }), + test('Calling render with hass and sensor season ended', () => { + hassEntity.attributes['next_race'] = null; + hassEntity.attributes['data'] = data as Race[]; + hass.states = { + 'sensor.test_sensor_races': hassEntity + }; + + const card = new Schedule('sensor.test_sensor_races', hass, config); + const result = card.render(); + const htmlResult = getRenderString(result); + + expect(htmlResult).toMatch('
Season is over. See you next year!
'); }) }); \ No newline at end of file