iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 5.52 kB
JavaScript
export const __webpack_ids__=["64153"];export const __webpack_modules__={91502:function(e,i,t){t.a(e,(async function(e,a){try{t.r(i),t.d(i,{HuiClockCard:()=>p});var n=t(44249),o=t(72621),s=(t(9359),t(1331),t(16485)),r=t(57243),m=t(15093),d=(t(99426),t(54977),t(16922)),c=t(11104),l=e([s,c]);[s,c]=l.then?(await l)():l;const h=1e3;let p=(0,n.Z)([(0,m.Mo)("hui-clock-card")],(function(e,i){class a extends i{constructor(...i){super(...i),e(this)}}return{F:a,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,m.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_dateTimeFormat",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_timeHour",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_timeMinute",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_timeSecond",value:void 0},{kind:"field",decorators:[(0,m.SB)()],key:"_timeAmPm",value:void 0},{kind:"field",key:"_tickInterval",value:void 0},{kind:"method",key:"setConfig",value:function(e){this._config=e,this._initDate()}},{kind:"method",key:"_initDate",value:function(){if(!this._config||!this.hass)return;let e=this.hass?.locale;this._config?.time_format&&(e={...e,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,d.y)(e)?"h12":"h23",timeZone:this._config?.time_zone||(0,c.f)(e.time_zone,this.hass.config?.time_zone)}),this._tick()}},{kind:"method",key:"getCardSize",value:function(){return"small"===this._config?.clock_size?1:2}},{kind:"method",key:"getGridOptions",value:function(){return"medium"===this._config?.clock_size?{min_rows:this._config?.title?2:1,rows:2,max_rows:4,min_columns:4,columns:6}:"large"===this._config?.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(e){if(e.has("hass")){const i=e.get("hass");i&&i.locale===this.hass?.locale||this._initDate()}}},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(a,"connectedCallback",this,3)([]),this._startTick()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(a,"disconnectedCallback",this,3)([]),this._stopTick()}},{kind:"method",key:"_startTick",value:function(){this._tickInterval=window.setInterval((()=>this._tick()),h),this._tick()}},{kind:"method",key:"_stopTick",value:function(){this._tickInterval&&(clearInterval(this._tickInterval),this._tickInterval=void 0)}},{kind:"method",key:"_tick",value:function(){if(!this._dateTimeFormat)return;const e=this._dateTimeFormat.formatToParts();this._timeHour=e.find((e=>"hour"===e.type))?.value,this._timeMinute=e.find((e=>"minute"===e.type))?.value,this._timeSecond=this._config?.show_seconds?e.find((e=>"second"===e.type))?.value:void 0,this._timeAmPm=e.find((e=>"dayPeriod"===e.type))?.value}},{kind:"method",key:"render",value:function(){return this._config?r.dy` <ha-card> <div class="time-wrapper ${this._config.clock_size?`size-${this._config.clock_size}`:""}"> ${void 0!==this._config.title?r.dy`<div class="time-title">${this._config.title}</div>`:r.Ld} <div class="time-parts"> <div class="time-part hour">${this._timeHour}</div> <div class="time-part minute">${this._timeMinute}</div> ${void 0!==this._timeSecond?r.dy`<div class="time-part second">${this._timeSecond}</div>`:r.Ld} ${void 0!==this._timeAmPm?r.dy`<div class="time-part am-pm">${this._timeAmPm}</div>`:r.Ld} </div> </div> </ha-card> `:r.Ld}},{kind:"field",static:!0,key:"styles",value:()=>r.iv`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);a()}catch(e){a(e)}}))}};
//# sourceMappingURL=64153.546475a31b2ab1c6.js.map