iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
3 lines • 31.9 kB
JavaScript
/*! For license information please see 44701.a82da924d366a188.js.LICENSE.txt */
export const __webpack_ids__=["44701"];export const __webpack_modules__={24427:function(e,r,i){var a=i(9065),s=i(15093),t=i(4428),n=i(57243),o=i(35359),d=i(20552),l=i(69634);class c extends n.oi{constructor(){super(...arguments),this.indeterminate=!1,this.progress=0,this.buffer=1,this.reverse=!1,this.closed=!1,this.stylePrimaryHalf="",this.stylePrimaryFull="",this.styleSecondaryQuarter="",this.styleSecondaryHalf="",this.styleSecondaryFull="",this.animationReady=!0,this.closedAnimationOff=!1,this.resizeObserver=null}connectedCallback(){super.connectedCallback(),this.rootEl&&this.attachResizeObserver()}render(){const e={"mdc-linear-progress--closed":this.closed,"mdc-linear-progress--closed-animation-off":this.closedAnimationOff,"mdc-linear-progress--indeterminate":this.indeterminate,"mdc-linear-progress--animation-ready":this.animationReady},r={"--mdc-linear-progress-primary-half":this.stylePrimaryHalf,"--mdc-linear-progress-primary-half-neg":""!==this.stylePrimaryHalf?`-${this.stylePrimaryHalf}`:"","--mdc-linear-progress-primary-full":this.stylePrimaryFull,"--mdc-linear-progress-primary-full-neg":""!==this.stylePrimaryFull?`-${this.stylePrimaryFull}`:"","--mdc-linear-progress-secondary-quarter":this.styleSecondaryQuarter,"--mdc-linear-progress-secondary-quarter-neg":""!==this.styleSecondaryQuarter?`-${this.styleSecondaryQuarter}`:"","--mdc-linear-progress-secondary-half":this.styleSecondaryHalf,"--mdc-linear-progress-secondary-half-neg":""!==this.styleSecondaryHalf?`-${this.styleSecondaryHalf}`:"","--mdc-linear-progress-secondary-full":this.styleSecondaryFull,"--mdc-linear-progress-secondary-full-neg":""!==this.styleSecondaryFull?`-${this.styleSecondaryFull}`:""},i={"flex-basis":this.indeterminate?"100%":100*this.buffer+"%"},a={transform:this.indeterminate?"scaleX(1)":`scaleX(${this.progress})`};return n.dy` <div role="progressbar" class="mdc-linear-progress ${(0,o.$)(e)}" style="${(0,l.V)(r)}" dir="${(0,d.o)(this.reverse?"rtl":void 0)}" aria-label="${(0,d.o)(this.ariaLabel)}" aria-valuemin="0" aria-valuemax="1" aria-valuenow="${(0,d.o)(this.indeterminate?void 0:this.progress)}" ="${this.syncClosedState}"> <div class="mdc-linear-progress__buffer"> <div class="mdc-linear-progress__buffer-bar" style="${(0,l.V)(i)}"> </div> <div class="mdc-linear-progress__buffer-dots"></div> </div> <div class="mdc-linear-progress__bar mdc-linear-progress__primary-bar" style="${(0,l.V)(a)}"> <span class="mdc-linear-progress__bar-inner"></span> </div> <div class="mdc-linear-progress__bar mdc-linear-progress__secondary-bar"> <span class="mdc-linear-progress__bar-inner"></span> </div> </div>`}update(e){!e.has("closed")||this.closed&&void 0!==e.get("closed")||this.syncClosedState(),super.update(e)}async firstUpdated(e){super.firstUpdated(e),this.attachResizeObserver()}syncClosedState(){this.closedAnimationOff=this.closed}updated(e){!e.has("indeterminate")&&e.has("reverse")&&this.indeterminate&&this.restartAnimation(),e.has("indeterminate")&&void 0!==e.get("indeterminate")&&this.indeterminate&&window.ResizeObserver&&this.calculateAndSetAnimationDimensions(this.rootEl.offsetWidth),super.updated(e)}disconnectedCallback(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),super.disconnectedCallback()}attachResizeObserver(){if(window.ResizeObserver)return this.resizeObserver=new window.ResizeObserver((e=>{if(this.indeterminate)for(const r of e)if(r.contentRect){const e=r.contentRect.width;this.calculateAndSetAnimationDimensions(e)}})),void this.resizeObserver.observe(this.rootEl);this.resizeObserver=null}calculateAndSetAnimationDimensions(e){const r=.8367142*e,i=2.00611057*e,a=.37651913*e,s=.84386165*e,t=1.60277782*e;this.stylePrimaryHalf=`${r}px`,this.stylePrimaryFull=`${i}px`,this.styleSecondaryQuarter=`${a}px`,this.styleSecondaryHalf=`${s}px`,this.styleSecondaryFull=`${t}px`,this.restartAnimation()}async restartAnimation(){this.animationReady=!1,await this.updateComplete,await new Promise(requestAnimationFrame),this.animationReady=!0,await this.updateComplete}open(){this.closed=!1}close(){this.closed=!0}}(0,a.__decorate)([(0,s.IO)(".mdc-linear-progress")],c.prototype,"rootEl",void 0),(0,a.__decorate)([(0,s.Cb)({type:Boolean,reflect:!0})],c.prototype,"indeterminate",void 0),(0,a.__decorate)([(0,s.Cb)({type:Number})],c.prototype,"progress",void 0),(0,a.__decorate)([(0,s.Cb)({type:Number})],c.prototype,"buffer",void 0),(0,a.__decorate)([(0,s.Cb)({type:Boolean,reflect:!0})],c.prototype,"reverse",void 0),(0,a.__decorate)([(0,s.Cb)({type:Boolean,reflect:!0})],c.prototype,"closed",void 0),(0,a.__decorate)([t.L,(0,s.Cb)({attribute:"aria-label"})],c.prototype,"ariaLabel",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"stylePrimaryHalf",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"stylePrimaryFull",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"styleSecondaryQuarter",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"styleSecondaryHalf",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"styleSecondaryFull",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"animationReady",void 0),(0,a.__decorate)([(0,s.SB)()],c.prototype,"closedAnimationOff",void 0);const p=n.iv` mdc-linear-progress-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5,0,0.701732,0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435,0.381352,0.55,0.956352);transform:translateX(83.67142%);transform:translateX(var(--mdc-linear-progress-primary-half,83.67142%))}100%{transform:translateX(200.611057%);transform:translateX(var(--mdc-linear-progress-primary-full,200.611057%))}} mdc-linear-progress-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(0.334731,0.12482,0.785844,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(0.06,0.11,0.6,1);transform:scaleX(.661479)}100%{transform:scaleX(.08)}} mdc-linear-progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15,0,0.515058,0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033,0.284058,0.8,0.733712);transform:translateX(37.651913%);transform:translateX(var(--mdc-linear-progress-secondary-quarter,37.651913%))}48.35%{animation-timing-function:cubic-bezier(0.4,0.627035,0.6,0.902026);transform:translateX(84.386165%);transform:translateX(var(--mdc-linear-progress-secondary-half,84.386165%))}100%{transform:translateX(160.277782%);transform:translateX(var(--mdc-linear-progress-secondary-full,160.277782%))}} mdc-linear-progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028,0.057051,0.57661,0.453971);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(0.152313,0.196432,0.648374,1.004315);transform:scaleX(.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759,-0.003163,0.211762,1.38179);transform:scaleX(.72796)}100%{transform:scaleX(.08)}} mdc-linear-progress-buffering{from{transform:rotate(180deg) translateX(-10px)}} mdc-linear-progress-primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5,0,0.701732,0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435,0.381352,0.55,0.956352);transform:translateX(-83.67142%);transform:translateX(var(--mdc-linear-progress-primary-half-neg,-83.67142%))}100%{transform:translateX(-200.611057%);transform:translateX(var(--mdc-linear-progress-primary-full-neg,-200.611057%))}} mdc-linear-progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15,0,0.515058,0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033,0.284058,0.8,0.733712);transform:translateX(-37.651913%);transform:translateX(var(--mdc-linear-progress-secondary-quarter-neg,-37.651913%))}48.35%{animation-timing-function:cubic-bezier(0.4,0.627035,0.6,0.902026);transform:translateX(-84.386165%);transform:translateX(var(--mdc-linear-progress-secondary-half-neg,-84.386165%))}100%{transform:translateX(-160.277782%);transform:translateX(var(--mdc-linear-progress-secondary-full-neg,-160.277782%))}} mdc-linear-progress-buffering-reverse{from{transform:translateX(-10px)}}.mdc-linear-progress{position:relative;width:100%;transform:translateZ(0);outline:1px solid transparent;overflow:hidden;transition:opacity 250ms 0s cubic-bezier(.4, 0, .6, 1)} screen and (forced-colors:active){.mdc-linear-progress{outline-color:CanvasText}}.mdc-linear-progress__bar{position:absolute;width:100%;height:100%;animation:none;transform-origin:top left;transition:transform 250ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid}.mdc-linear-progress__buffer{display:flex;position:absolute;width:100%;height:100%}.mdc-linear-progress__buffer-dots{background-repeat:repeat-x;flex:auto;transform:rotate(180deg);animation:mdc-linear-progress-buffering 250ms infinite linear}.mdc-linear-progress__buffer-bar{flex:0 1 100%;transition:flex-basis 250ms 0s cubic-bezier(.4, 0, .6, 1)}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress__secondary-bar{display:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;display:block}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation:mdc-linear-progress-primary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-primary-indeterminate-scale 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation:mdc-linear-progress-secondary-indeterminate-translate 2s infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-secondary-indeterminate-scale 2s infinite linear}.mdc-linear-progress[dir=rtl]:not([dir=ltr]) .mdc-linear-progress__bar,[dir=rtl] .mdc-linear-progress:not([dir=ltr]) .mdc-linear-progress__bar{right:0;-webkit-transform-origin:center right;transform-origin:center right}.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar,[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation-name:mdc-linear-progress-primary-indeterminate-translate-reverse}.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar,[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation-name:mdc-linear-progress-secondary-indeterminate-translate-reverse}.mdc-linear-progress[dir=rtl]:not([dir=ltr]) .mdc-linear-progress__buffer-dots,[dir=rtl] .mdc-linear-progress:not([dir=ltr]) .mdc-linear-progress__buffer-dots{animation:mdc-linear-progress-buffering-reverse 250ms infinite linear;transform:rotate(0)}.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar,[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress[dir=rtl]:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar,[dir=rtl] .mdc-linear-progress:not([dir=ltr]).mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}.mdc-linear-progress--closed{opacity:0}.mdc-linear-progress--closed-animation-off .mdc-linear-progress__buffer-dots{animation:none}.mdc-linear-progress--closed-animation-off.mdc-linear-progress--indeterminate .mdc-linear-progress__bar,.mdc-linear-progress--closed-animation-off.mdc-linear-progress--indeterminate .mdc-linear-progress__bar .mdc-linear-progress__bar-inner{animation:none}.mdc-linear-progress__bar-inner{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee)}.mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E")}.mdc-linear-progress__buffer-bar{background-color:#e6e6e6}.mdc-linear-progress{height:4px}.mdc-linear-progress__bar-inner{border-top-width:4px}.mdc-linear-progress__buffer-dots{background-size:10px 4px}:host{display:block}.mdc-linear-progress__buffer-bar{background-color:#e6e6e6;background-color:var(--mdc-linear-progress-buffer-color,#e6e6e6)}.mdc-linear-progress__buffer-dots{background-image:url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E");background-image:var(--mdc-linear-progress-buffering-dots-image, url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 5 2' xml:space='preserve' viewBox='0 0 5 2' preserveAspectRatio='none slice'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23e6e6e6'/%3E%3C/svg%3E"))}`;let m=class extends c{};m.styles=[p],m=(0,a.__decorate)([(0,s.Mo)("mwc-linear-progress")],m)},45061:function(e,r,i){i.d(r,{K:()=>a});const a=e=>{switch(e.language){case"cs":case"de":case"fi":case"fr":case"sk":case"sv":return" ";default:return""}}},59826:function(e,r,i){var a=i(44249),s=i(31622),t=i(57243),n=i(15093),o=i(22344);(0,a.Z)([(0,n.Mo)("ha-button")],(function(e,r){return{F:class extends r{constructor(...r){super(...r),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[o.W,t.iv`::slotted([slot=icon]){margin-inline-start:0px;margin-inline-end:8px;direction:var(--direction);display:block}.mdc-button{height:var(--button-height,36px)}.trailing-icon{display:flex}.slot-container{overflow:var(--button-slot-container-overflow,visible)}:host([destructive]){--mdc-theme-primary:var(--error-color)}`]}]}}),s.Button)},78951:function(e,r,i){var a=i(44249),s=i(72621),t=(i(9359),i(70104),i(24427),i(57243)),n=i(15093),o=i(35359),d=i(36522),l=(i(59826),i(23334),i(45061)),c=i(95262),p=i(90698);const m="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",u="M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z";(0,a.Z)([(0,n.Mo)("ha-file-upload")],(function(e,r){class i extends r{constructor(...r){super(...r),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:!1})],key:"localize",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"accept",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"icon",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"label",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"secondary",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:"uploading-label"})],key:"uploadingLabel",value:void 0},{kind:"field",decorators:[(0,n.Cb)({attribute:"delete-label"})],key:"deleteLabel",value:void 0},{kind:"field",decorators:[(0,n.Cb)()],key:"supports",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Object})],key:"value",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"multiple",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,reflect:!0})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Boolean})],key:"uploading",value:()=>!1},{kind:"field",decorators:[(0,n.Cb)({type:Number})],key:"progress",value:void 0},{kind:"field",decorators:[(0,n.Cb)({type:Boolean,attribute:"auto-open-file-dialog"})],key:"autoOpenFileDialog",value:()=>!1},{kind:"field",decorators:[(0,n.SB)()],key:"_drag",value:()=>!1},{kind:"field",decorators:[(0,n.IO)("#input")],key:"_input",value:void 0},{kind:"method",key:"firstUpdated",value:function(e){(0,s.Z)(i,"firstUpdated",this,3)([e]),this.autoOpenFileDialog&&this._openFilePicker()}},{kind:"get",key:"_name",value:function(){if(void 0===this.value)return"";if("string"==typeof this.value)return this.value;return(this.value instanceof FileList?Array.from(this.value):(0,c.r)(this.value)).map((e=>e.name)).join(", ")}},{kind:"method",key:"render",value:function(){const e=this.localize||this.hass.localize;return t.dy` ${this.uploading?t.dy`<div class="container"> <div class="uploading"> <span class="header">${this.uploadingLabel||this.value?e("ui.components.file-upload.uploading_name",{name:this._name}):e("ui.components.file-upload.uploading")}</span> ${this.progress?t.dy`<div class="progress"> ${this.progress}${this.hass&&(0,l.K)(this.hass.locale)}% </div>`:t.Ld} </div> <mwc-linear-progress .indeterminate="${!this.progress}" .progress="${this.progress?this.progress/100:void 0}"></mwc-linear-progress> </div>`:t.dy`<label for="${this.value?"":"input"}" class="container ${(0,o.$)({dragged:this._drag,multiple:this.multiple,value:Boolean(this.value)})}" ="${this._handleDrop}" ="${this._handleDragStart}" ="${this._handleDragStart}" ="${this._handleDragEnd}" ="${this._handleDragEnd}">${this.value?"string"==typeof this.value?t.dy`<div class="row"> <div class="value" ="${this._openFilePicker}"> <ha-svg-icon .path="${this.icon||u}"></ha-svg-icon> ${this.value} </div> <ha-icon-button ="${this._clearValue}" .label="${this.deleteLabel||e("ui.common.delete")}" .path="${m}"></ha-icon-button> </div>`:(this.value instanceof FileList?Array.from(this.value):(0,c.r)(this.value)).map((r=>t.dy`<div class="row"> <div class="value" ="${this._openFilePicker}"> <ha-svg-icon .path="${this.icon||u}"></ha-svg-icon> ${r.name} - ${(0,p.d)(r.size)} </div> <ha-icon-button ="${this._clearValue}" .label="${this.deleteLabel||e("ui.common.delete")}" .path="${m}"></ha-icon-button> </div>`)):t.dy`<ha-svg-icon class="big-icon" .path="${this.icon||u}"></ha-svg-icon> <ha-button unelevated ="${this._openFilePicker}"> ${this.label||e("ui.components.file-upload.label")} </ha-button> <span class="secondary">${this.secondary||e("ui.components.file-upload.secondary")}</span> <span class="supports">${this.supports}</span>`} <input id="input" type="file" class="file" .accept="${this.accept}" .multiple="${this.multiple}" ="${this._handleFilePicked}"></label>`} `}},{kind:"method",key:"_openFilePicker",value:function(){this._input?.click()}},{kind:"method",key:"_handleDrop",value:function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer?.files&&(0,d.B)(this,"file-picked",{files:this.multiple||1===e.dataTransfer.files.length?Array.from(e.dataTransfer.files):[e.dataTransfer.files[0]]}),this._drag=!1}},{kind:"method",key:"_handleDragStart",value:function(e){e.preventDefault(),e.stopPropagation(),this._drag=!0}},{kind:"method",key:"_handleDragEnd",value:function(e){e.preventDefault(),e.stopPropagation(),this._drag=!1}},{kind:"method",key:"_handleFilePicked",value:function(e){0!==e.target.files.length&&(this.value=e.target.files,(0,d.B)(this,"file-picked",{files:e.target.files}))}},{kind:"method",key:"_clearValue",value:function(e){e.preventDefault(),this._input.value="",this.value=void 0,(0,d.B)(this,"change"),(0,d.B)(this,"files-cleared")}},{kind:"field",static:!0,key:"styles",value:()=>t.iv`:host{display:block;height:240px}:host([disabled]){pointer-events:none;color:var(--disabled-text-color)}.container{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:solid 1px var(--mdc-text-field-idle-line-color,rgba(0,0,0,.42));border-radius:var(--mdc-shape-small,4px);height:100%}.row{display:flex;align-items:center}label.container{border:dashed 1px var(--mdc-text-field-idle-line-color,rgba(0,0,0,.42));cursor:pointer}.container .uploading{display:flex;flex-direction:column;width:100%;align-items:flex-start;padding:0 32px;box-sizing:border-box}:host([disabled]) .container{border-color:var(--disabled-color)}label.dragged,label:hover{border-style:solid}label.dragged{border-color:var(--primary-color)}.dragged:before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--primary-color);content:"";opacity:var(--dark-divider-opacity);pointer-events:none;border-radius:var(--mdc-shape-small,4px)}label.value{cursor:default}label.value.multiple{justify-content:unset;overflow:auto}.highlight{color:var(--primary-color)}ha-button{margin-bottom:4px}.supports{color:var(--secondary-text-color);font-size:12px}:host([disabled]) .secondary{color:var(--disabled-text-color)}input.file{display:none}.value{cursor:pointer}.value ha-svg-icon{margin-right:8px;margin-inline-end:8px;margin-inline-start:initial}.big-icon{--mdc-icon-size:48px;margin-bottom:8px}ha-button{--mdc-button-outline-color:var(--primary-color);--mdc-icon-button-size:24px}mwc-linear-progress{width:100%;padding:8px 32px;box-sizing:border-box}.header{font-weight:500}.progress{color:var(--secondary-text-color)}button.link{background:0 0;border:none;padding:0;font-size:14px;color:var(--primary-color);text-decoration:underline;cursor:pointer}`}]}}),t.oi)},42921:function(e,r,i){i.r(r);var a=i(44249),s=(i(31622),i(24427),i(57243)),t=i(15093),n=i(36522),o=i(86431),d=i(73729),l=(i(78951),i(29073),i(37583),i(79011)),c=i(76131),p=i(28008);const m=[{name:"firmware_target",type:"integer",valueMin:0}];(0,a.Z)([(0,t.Mo)("dialog-zwave_js-update-firmware-node")],(function(e,r){return{F:class extends r{constructor(...r){super(...r),e(this)}},d:[{kind:"field",decorators:[(0,t.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"device",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"_uploading",value:()=>!1},{kind:"field",decorators:[(0,t.SB)()],key:"_updateFinishedMessage",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"_updateProgressMessage",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"_updateInProgress",value:()=>!1},{kind:"field",decorators:[(0,t.SB)()],key:"_firmwareFile",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"_nodeStatus",value:void 0},{kind:"field",decorators:[(0,t.SB)()],key:"_firmwareTarget",value:void 0},{kind:"field",key:"_subscribedNodeStatus",value:void 0},{kind:"field",key:"_subscribedNodeFirmwareUpdate",value:void 0},{kind:"field",key:"_deviceName",value:void 0},{kind:"method",key:"showDialog",value:function(e){this._deviceName=(0,o.wZ)(e.device,this.hass),this.device=e.device,this._fetchData(),this._subscribeNodeStatus()}},{kind:"method",key:"closeDialog",value:function(){this._unsubscribeNodeFirmwareUpdate(),this._unsubscribeNodeStatus(),this.device=void 0,this._updateProgressMessage=void 0,this._updateFinishedMessage=void 0,this._firmwareFile=void 0,this._nodeStatus=void 0,this._firmwareTarget=void 0,this._uploading=this._updateInProgress=!1,(0,n.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"method",key:"render",value:function(){if(!this.device||!this._nodeStatus||void 0===this._updateInProgress)return s.Ld;const e=s.dy`<ha-file-upload .hass="${this.hass}" .uploading="${this._uploading}" .icon="${"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z"}" .label="${this.hass.localize("ui.panel.config.zwave_js.update_firmware.upload_firmware")}" .value="${this._firmwareFile}" -picked="${this._uploadFile}"></ha-file-upload> ${this._nodeStatus.is_controller_node?s.Ld:s.dy`<p> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.firmware_target_intro")} </p> <ha-form .hass="${this.hass}" .data="${{firmware_target:this._firmwareTarget}}" .schema="${m}" -changed="${this._firmwareTargetChanged}"></ha-form>`} <mwc-button slot="primaryAction" ="${this._beginFirmwareUpdate}" .disabled="${void 0===this._firmwareFile}"> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.begin_update")} </mwc-button>`,r=this._updateFinishedMessage?this._updateFinishedMessage.success?"success":"error":void 0,i=this._nodeStatus.is_controller_node?"_controller":"",a=this._nodeStatus.is_controller_node?s.Ld:s.dy` <mwc-button slot="primaryAction" ="${this._abortFirmwareUpdate}"> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.abort")} </mwc-button> `;return s.dy` <ha-dialog open ="${this.closeDialog}" .heading="${(0,d.i)(this.hass,this.hass.localize("ui.panel.config.zwave_js.update_firmware.title"))}"> ${this._updateProgressMessage||this._updateFinishedMessage?this._updateProgressMessage&&!this._updateFinishedMessage?s.dy` <p> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.in_progress",{device:s.dy`<strong>${this._deviceName}</strong>`,progress:(100*this._updateProgressMessage.sent_fragments/this._updateProgressMessage.total_fragments).toFixed(2)})} </p> <mwc-linear-progress determinate .progress="${this._updateProgressMessage.sent_fragments/this._updateProgressMessage.total_fragments}"></mwc-linear-progress> <p> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.close",{device:s.dy`<strong>${this._deviceName}</strong>`})} </p> ${a} `:s.dy` <div class="flex-container"> <ha-svg-icon .path="${this._updateFinishedMessage.success?"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z":"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z"}" .class="${r}"></ha-svg-icon> <div class="status"> <p> ${this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.${r}`,{device:s.dy`<strong>${this._deviceName}</strong>`,message:this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.${this._nodeStatus.is_controller_node?l.i_[this._updateFinishedMessage.status]:l.dK[this._updateFinishedMessage.status]}`)})} </p> </div> </div> ${this._updateFinishedMessage.success?s.dy`<p> ${this.hass.localize(`ui.panel.config.zwave_js.update_firmware.finished_status.done${i}`)} </p>`:s.dy`<p> ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.finished_status.try_again")} </p> ${e}`} `:this._updateInProgress?s.dy` <p> ${this._nodeStatus.status===l.e4.Asleep?this.hass.localize("ui.panel.config.zwave_js.update_firmware.queued",{device:s.dy`<strong>${this._deviceName}</strong>`}):this.hass.localize("ui.panel.config.zwave_js.update_firmware.awake",{device:s.dy`<strong>${this._deviceName}</strong>`})} </p> <p> ${this._nodeStatus.status===l.e4.Asleep?this.hass.localize("ui.panel.config.zwave_js.update_firmware.close_queued",{device:s.dy`<strong>${this._deviceName}</strong>`}):this.hass.localize("ui.panel.config.zwave_js.update_firmware.close",{device:s.dy`<strong>${this._deviceName}</strong>`})} </p> ${a} `:s.dy` <p> ${this.hass.localize(`ui.panel.config.zwave_js.update_firmware.introduction${i}`,{device:s.dy`<strong>${this._deviceName}</strong>`})} </p> ${e} `} </ha-dialog> `}},{kind:"method",key:"_fetchData",value:async function(){[this._nodeStatus,this._updateInProgress]=await Promise.all([(0,l.mZ)(this.hass,this.device.id),(0,l.a2)(this.hass,this.device.id)]),this._updateInProgress&&this._subscribeNodeFirmwareUpdate()}},{kind:"method",key:"_beginFirmwareUpdate",value:async function(){this._uploading=!0,this._updateProgressMessage=this._updateFinishedMessage=void 0;try{this._subscribeNodeFirmwareUpdate(),await(0,l.zn)(this.hass,this.device.id,this._firmwareFile,this._firmwareTarget),this._updateInProgress=!0,this._uploading=!1}catch(e){this._unsubscribeNodeFirmwareUpdate(),this._uploading=!1,(0,c.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.update_firmware.upload_failed"),text:e.message,confirmText:this.hass.localize("ui.common.close")})}}},{kind:"method",key:"_abortFirmwareUpdate",value:async function(){if(await(0,c.showConfirmationDialog)(this,{text:this.hass.localize("ui.panel.config.zwave_js.update_firmware.confirm_abort",{device:s.dy`<strong>${this._deviceName}</strong>`}),dismissText:this.hass.localize("ui.common.no"),confirmText:this.hass.localize("ui.common.yes")})){this._unsubscribeNodeFirmwareUpdate();try{await(0,l.JL)(this.hass,this.device.id)}catch(e){(0,c.showAlertDialog)(this,{title:this.hass.localize("ui.panel.config.zwave_js.update_firmware.abort_failed"),text:e.message,confirmText:this.hass.localize("ui.common.close")})}this._firmwareFile=void 0,this._updateFinishedMessage=void 0,this._updateProgressMessage=void 0,this._updateInProgress=!1}}},{kind:"method",key:"_subscribeNodeStatus",value:function(){this.hass&&this.device&&!this._subscribedNodeStatus&&(this._subscribedNodeStatus=(0,l.B7)(this.hass,this.device.id,(e=>{this._nodeStatus.status=e.status})))}},{kind:"method",key:"_unsubscribeNodeStatus",value:function(){this._subscribedNodeStatus&&(this._subscribedNodeStatus.then((e=>e())),this._subscribedNodeStatus=void 0)}},{kind:"method",key:"_subscribeNodeFirmwareUpdate",value:function(){this.hass&&this.device&&!this._subscribedNodeFirmwareUpdate&&(this._subscribedNodeFirmwareUpdate=(0,l.IG)(this.hass,this.device.id,(e=>{"firmware update progress"===e.event?this._updateFinishedMessage||(this._updateProgressMessage=e):(this._unsubscribeNodeFirmwareUpdate(),this._updateProgressMessage=void 0,this._updateInProgress=!1,this._updateFinishedMessage=e)})))}},{kind:"method",key:"_unsubscribeNodeFirmwareUpdate",value:function(){this._subscribedNodeFirmwareUpdate&&(this._subscribedNodeFirmwareUpdate.then((e=>e())),this._subscribedNodeFirmwareUpdate=void 0)}},{kind:"method",key:"_firmwareTargetChanged",value:async function(e){this._firmwareTarget=e.detail.value.firmware_target}},{kind:"method",key:"_uploadFile",value:async function(e){this._firmwareFile=e.detail.files[0]}},{kind:"get",static:!0,key:"styles",value:function(){return[p.yu,s.iv`.success{color:var(--success-color)}.error{color:var(--error-color)}.flex-container{display:flex;align-items:center;margin-bottom:5px}ha-svg-icon{width:68px;height:48px}`]}}]}}),s.oi)},90698:function(e,r,i){i.d(r,{d:()=>a});const a=(e=0,r=2)=>{if(0===e)return"0 Bytes";r=r<0?0:r;const i=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/1024**i).toFixed(r))} ${["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]}`}},30338:function(e,r,i){var a=i(97934),s=i(71998),t=i(4576),n=i(36760);e.exports=function(e,r){r&&"string"==typeof e||s(e);var i=n(e);return t(s(void 0!==i?a(i,e):e))}},25677:function(e,r,i){var a=i(40810),s=i(97934),t=i(63983),n=i(71998),o=i(4576),d=i(30338),l=i(79995),c=i(14181),p=i(92288),m=l((function(){for(var e,r,i=this.iterator,a=this.mapper;;){if(r=this.inner)try{if(!(e=n(s(r.next,r.iterator))).done)return e.value;this.inner=null}catch(e){c(i,"throw",e)}if(e=n(s(this.next,i)),this.done=!!e.done)return;try{this.inner=d(a(e.value,this.counter++),!1)}catch(e){c(i,"throw",e)}}}));a({target:"Iterator",proto:!0,real:!0,forced:p},{flatMap:function(e){return n(this),t(e),new m(o(this),{mapper:e,inner:null})}})}};
//# sourceMappingURL=44701.a82da924d366a188.js.map