UNPKG

iobroker.lovelace

Version:

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

2 lines 6.22 kB
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["64153"],{91502:function(i,e,t){t.a(i,(async function(i,n){try{t.r(e),t.d(e,{HuiClockCard:()=>g});var a=t(61701),o=t(72621),s=t(16485),r=(t(71695),t(9359),t(1331),t(19423),t(40251),t(47021),t(57243)),d=t(50778),m=(t(99426),t(54977),t(16922)),l=t(11104),c=i([s,l]);[s,l]=c.then?(await c)():c;let h,u,p,v,f,_=i=>i;const k=1e3;let g=(0,a.Z)([(0,d.Mo)("hui-clock-card")],(function(i,e){class n extends e{constructor(...e){super(...e),i(this)}}return{F:n,d:[{kind:"method",static:!0,key:"getConfigElement",value:async function(){return await t.e("49513").then(t.bind(t,22712)),document.createElement("hui-clock-card-editor")}},{kind:"method",static:!0,key:"getStubConfig",value:function(){return{type:"clock"}}},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_dateTimeFormat",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_timeHour",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_timeMinute",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_timeSecond",value:void 0},{kind:"field",decorators:[(0,d.SB)()],key:"_timeAmPm",value:void 0},{kind:"field",key:"_tickInterval",value:void 0},{kind:"method",key:"setConfig",value:function(i){this._config=i,this._initDate()}},{kind:"method",key:"_initDate",value:function(){var i,e,t,n;if(!this._config||!this.hass)return;let a=null===(i=this.hass)||void 0===i?void 0:i.locale;null!==(e=this._config)&&void 0!==e&&e.time_format&&(a=Object.assign(Object.assign({},a),{},{time_format:this._config.time_format})),this._dateTimeFormat=new Intl.DateTimeFormat(this.hass.locale.language,{hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:(0,m.y)(a)?"h12":"h23",timeZone:(null===(t=this._config)||void 0===t?void 0:t.time_zone)||(0,l.f)(a.time_zone,null===(n=this.hass.config)||void 0===n?void 0:n.time_zone)}),this._tick()}},{kind:"method",key:"getCardSize",value:function(){var i;return"small"===(null===(i=this._config)||void 0===i?void 0:i.clock_size)?1:2}},{kind:"method",key:"getGridOptions",value:function(){var i,e,t;return"medium"===(null===(i=this._config)||void 0===i?void 0:i.clock_size)?{min_rows:null!==(t=this._config)&&void 0!==t&&t.title?2:1,rows:2,max_rows:4,min_columns:4,columns:6}:"large"===(null===(e=this._config)||void 0===e?void 0:e.clock_size)?{min_rows:2,rows:2,max_rows:4,min_columns:6,columns:6}:{min_rows:1,rows:1,max_rows:4,min_columns:3,columns:6}}},{kind:"method",key:"updated",value:function(i){if(i.has("hass")){var e;const t=i.get("hass");t&&t.locale===(null===(e=this.hass)||void 0===e?void 0:e.locale)||this._initDate()}}},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(n,"connectedCallback",this,3)([]),this._startTick()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(n,"disconnectedCallback",this,3)([]),this._stopTick()}},{kind:"method",key:"_startTick",value:function(){this._tickInterval=window.setInterval((()=>this._tick()),k),this._tick()}},{kind:"method",key:"_stopTick",value:function(){this._tickInterval&&(clearInterval(this._tickInterval),this._tickInterval=void 0)}},{kind:"method",key:"_tick",value:function(){var i,e,t,n,a;if(!this._dateTimeFormat)return;const o=this._dateTimeFormat.formatToParts();this._timeHour=null===(i=o.find((i=>"hour"===i.type)))||void 0===i?void 0:i.value,this._timeMinute=null===(e=o.find((i=>"minute"===i.type)))||void 0===e?void 0:e.value,this._timeSecond=null!==(t=this._config)&&void 0!==t&&t.show_seconds?null===(n=o.find((i=>"second"===i.type)))||void 0===n?void 0:n.value:void 0,this._timeAmPm=null===(a=o.find((i=>"dayPeriod"===i.type)))||void 0===a?void 0:a.value}},{kind:"method",key:"render",value:function(){return this._config?(0,r.dy)(h||(h=_` <ha-card> <div class="time-wrapper ${0}"> ${0} <div class="time-parts"> <div class="time-part hour">${0}</div> <div class="time-part minute">${0}</div> ${0} ${0} </div> </div> </ha-card> `),this._config.clock_size?`size-${this._config.clock_size}`:"",void 0!==this._config.title?(0,r.dy)(u||(u=_`<div class="time-title">${0}</div>`),this._config.title):r.Ld,this._timeHour,this._timeMinute,void 0!==this._timeSecond?(0,r.dy)(p||(p=_`<div class="time-part second">${0}</div>`),this._timeSecond):r.Ld,void 0!==this._timeAmPm?(0,r.dy)(v||(v=_`<div class="time-part am-pm">${0}</div>`),this._timeAmPm):r.Ld):r.Ld}},{kind:"field",static:!0,key:"styles",value(){return(0,r.iv)(f||(f=_`ha-card{height:100%}.time-wrapper{display:flex;height:calc(100% - 12px);align-items:center;flex-direction:column;justify-content:center;padding:6px 8px;row-gap:6px}.time-wrapper.size-large,.time-wrapper.size-medium{height:calc(100% - 32px);padding:16px;row-gap:12px}.time-title{color:var(--primary-text-color);font-size:14px;font-weight:400;line-height:18px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.time-wrapper.size-medium .time-title{font-size:18px;line-height:21px}.time-wrapper.size-large .time-title{font-size:24px;line-height:28px}.time-parts{align-items:center;display:grid;grid-template-areas:"hour minute second" "hour minute am-pm";font-size:2rem;font-weight:500;line-height:.8;direction:ltr}.time-title+.time-parts{font-size:1.5rem}.time-wrapper.size-medium .time-parts{font-size:3rem}.time-wrapper.size-large .time-parts{font-size:4rem}.time-wrapper.size-medium .time-parts .time-part.am-pm,.time-wrapper.size-medium .time-parts .time-part.second{font-size:16px;margin-left:6px}.time-wrapper.size-large .time-parts .time-part.am-pm,.time-wrapper.size-large .time-parts .time-part.second{font-size:24px;margin-left:8px}.time-parts .time-part.hour{grid-area:hour}.time-parts .time-part.minute{grid-area:minute}.time-parts .time-part.second{grid-area:second;line-height:.9;opacity:.4}.time-parts .time-part.am-pm{grid-area:am-pm;line-height:.9;opacity:.6}.time-parts .time-part.am-pm,.time-parts .time-part.second{font-size:10px;margin-left:4px}.time-parts .time-part.hour:after{content:":";margin:0 2px}`))}}]}}),r.oi);n()}catch(h){n(h)}}))}}]); //# sourceMappingURL=64153.68bd7151e0deec11.js.map