UNPKG

iobroker.lovelace

Version:

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

6 lines 19.7 kB
/*! For license information please see 5851.37e9d5a4fce04490.js.LICENSE.txt */ export const __webpack_ids__=["5851"];export const __webpack_modules__={97536:function(e,t,i){i.d(t,{W:()=>o});const o=i(57243).iv`:host(:not([twoline])){height:56px}:host(:not([left])) .mdc-deprecated-list-item__meta{height:40px;width:40px}`},99152:function(e,t,i){i.d(t,{V:()=>s});i(92519),i(42179),i(89256),i(24931),i(88463),i(57449),i(19814);const o=Symbol("selection controller");class a{constructor(){this.selected=null,this.ordered=null,this.set=new Set}}class s{constructor(e){this.sets={},this.focusedSet=null,this.mouseIsDown=!1,this.updating=!1,e.addEventListener("keydown",(e=>{this.keyDownHandler(e)})),e.addEventListener("mousedown",(()=>{this.mousedownHandler()})),e.addEventListener("mouseup",(()=>{this.mouseupHandler()}))}static getController(e){const t=!("global"in e)||"global"in e&&e.global?document:e.getRootNode();let i=t[o];return void 0===i&&(i=new s(t),t[o]=i),i}keyDownHandler(e){const t=e.target;"checked"in t&&this.has(t)&&("ArrowRight"==e.key||"ArrowDown"==e.key?this.selectNext(t):"ArrowLeft"!=e.key&&"ArrowUp"!=e.key||this.selectPrevious(t))}mousedownHandler(){this.mouseIsDown=!0}mouseupHandler(){this.mouseIsDown=!1}has(e){return this.getSet(e.name).set.has(e)}selectPrevious(e){const t=this.getOrdered(e),i=t.indexOf(e),o=t[i-1]||t[t.length-1];return this.select(o),o}selectNext(e){const t=this.getOrdered(e),i=t.indexOf(e),o=t[i+1]||t[0];return this.select(o),o}select(e){e.click()}focus(e){if(this.mouseIsDown)return;const t=this.getSet(e.name),i=this.focusedSet;this.focusedSet=t,i!=t&&t.selected&&t.selected!=e&&t.selected.focus()}isAnySelected(e){const t=this.getSet(e.name);for(const e of t.set)if(e.checked)return!0;return!1}getOrdered(e){const t=this.getSet(e.name);return t.ordered||(t.ordered=Array.from(t.set),t.ordered.sort(((e,t)=>e.compareDocumentPosition(t)==Node.DOCUMENT_POSITION_PRECEDING?1:0))),t.ordered}getSet(e){return this.sets[e]||(this.sets[e]=new a),this.sets[e]}register(e){const t=e.name||e.getAttribute("name")||"",i=this.getSet(t);i.set.add(e),i.ordered=null}unregister(e){const t=this.getSet(e.name);t.set.delete(e),t.ordered=null,t.selected==e&&(t.selected=null)}update(e){if(this.updating)return;this.updating=!0;const t=this.getSet(e.name);if(e.checked){for(const i of t.set)i!=e&&(i.checked=!1);t.selected=e}if(this.isAnySelected(e))for(const e of t.set){if(void 0===e.formElementTabIndex)break;e.formElementTabIndex=e.checked?0:-1}this.updating=!1}}},49976:function(e,t,i){i.d(t,{U:()=>o});const o=e=>e.stopPropagation()},99426:function(e,t,i){i.r(t);var o=i(44249),a=i(57243),s=i(15093),n=i(35359),l=i(36522);i(23334),i(37583);const d={info:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z",warning:"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16",error:"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z",success:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"};(0,o.Z)([(0,s.Mo)("ha-alert")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,s.Cb)()],key:"title",value:()=>""},{kind:"field",decorators:[(0,s.Cb)({attribute:"alert-type"})],key:"alertType",value:()=>"info"},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"dismissable",value:()=>!1},{kind:"field",decorators:[(0,s.Cb)({type:Boolean})],key:"narrow",value:()=>!1},{kind:"method",key:"render",value:function(){return a.dy` <div class="issue-type ${(0,n.$)({[this.alertType]:!0})}" role="alert"> <div class="icon ${this.title?"":"no-title"}"> <slot name="icon"> <ha-svg-icon .path="${d[this.alertType]}"></ha-svg-icon> </slot> </div> <div class="${(0,n.$)({content:!0,narrow:this.narrow})}"> <div class="main-content"> ${this.title?a.dy`<div class="title">${this.title}</div>`:a.Ld} <slot></slot> </div> <div class="action"> <slot name="action"> ${this.dismissable?a.dy`<ha-icon-button @click="${this._dismissClicked}" label="Dismiss alert" .path="${"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}"></ha-icon-button>`:a.Ld} </slot> </div> </div> </div> `}},{kind:"method",key:"_dismissClicked",value:function(){(0,l.B)(this,"alert-dismissed-clicked")}},{kind:"field",static:!0,key:"styles",value:()=>a.iv`.issue-type{position:relative;padding:8px;display:flex}.issue-type::after{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;pointer-events:none;content:"";border-radius:4px}.icon{z-index:1}.icon.no-title{align-self:center}.content{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:var(--float-start)}.content.narrow{flex-direction:column;align-items:flex-end}.action{z-index:1;width:min-content;--mdc-theme-primary:var(--primary-text-color)}.main-content{overflow-wrap:anywhere;word-break:break-word;margin-left:8px;margin-right:0;margin-inline-start:8px;margin-inline-end:0}.title{margin-top:2px;font-weight:700}.action ha-icon-button,.action mwc-button{--mdc-theme-primary:var(--primary-text-color);--mdc-icon-button-size:36px}.issue-type.info>.icon{color:var(--info-color)}.issue-type.info::after{background-color:var(--info-color)}.issue-type.warning>.icon{color:var(--warning-color)}.issue-type.warning::after{background-color:var(--warning-color)}.issue-type.error>.icon{color:var(--error-color)}.issue-type.error::after{background-color:var(--error-color)}.issue-type.success>.icon{color:var(--success-color)}.issue-type.success::after{background-color:var(--success-color)}:host ::slotted(ul){margin:0;padding-inline-start:20px}`}]}}),a.oi)},73729:function(e,t,i){i.d(t,{i:()=>h});var o=i(44249),a=i(72621),s=i(74966),n=i(51408),l=i(57243),d=i(15093),r=i(76525);i(23334);const c=["button","ha-list-item"],h=(e,t)=>l.dy` <div class="header_title"> <ha-icon-button .label="${e?.localize("ui.common.close")??"Close"}" .path="${"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}" dialogAction="close" class="header_button"></ha-icon-button> <span>${t}</span> </div> `;(0,o.Z)([(0,d.Mo)("ha-dialog")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",key:r.gA,value:void 0},{kind:"method",key:"scrollToPos",value:function(e,t){this.contentElement?.scrollTo(e,t)}},{kind:"method",key:"renderHeading",value:function(){return l.dy`<slot name="heading"> ${(0,a.Z)(i,"renderHeading",this,3)([])} </slot>`}},{kind:"method",key:"firstUpdated",value:function(){(0,a.Z)(i,"firstUpdated",this,3)([]),this.suppressDefaultPressSelector=[this.suppressDefaultPressSelector,c].join(", "),this._updateScrolledAttribute(),this.contentElement?.addEventListener("scroll",this._onScroll,{passive:!0})}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(i,"disconnectedCallback",this,3)([]),this.contentElement.removeEventListener("scroll",this._onScroll)}},{kind:"field",key:"_onScroll",value(){return()=>{this._updateScrolledAttribute()}}},{kind:"method",key:"_updateScrolledAttribute",value:function(){this.contentElement&&this.toggleAttribute("scrolled",0!==this.contentElement.scrollTop)}},{kind:"field",static:!0,key:"styles",value:()=>[n.W,l.iv`:host([scrolled]) ::slotted(ha-dialog-header){border-bottom:1px solid var(--mdc-dialog-scroll-divider-color,rgba(0,0,0,.12))}.mdc-dialog{--mdc-dialog-scroll-divider-color:var( --dialog-scroll-divider-color, var(--divider-color) );z-index:var(--dialog-z-index,8);-webkit-backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));backdrop-filter:var(--ha-dialog-scrim-backdrop-filter,var(--dialog-backdrop-filter,none));--mdc-dialog-box-shadow:var(--dialog-box-shadow, none);--mdc-typography-headline6-font-weight:400;--mdc-typography-headline6-font-size:1.574rem}.mdc-dialog__actions{justify-content:var(--justify-action-buttons,flex-end);padding-bottom:max(env(safe-area-inset-bottom),24px)}.mdc-dialog__actions span:first-child{flex:var(--secondary-action-button-flex,unset)}.mdc-dialog__actions span:nth-child(2){flex:var(--primary-action-button-flex,unset)}.mdc-dialog__container{align-items:var(--vertical-align-dialog,center)}.mdc-dialog__title{padding:24px 24px 0 24px}.mdc-dialog__title:has(span){padding:12px 12px 0}.mdc-dialog__actions{padding:12px 24px 12px 24px}.mdc-dialog__title::before{content:unset}.mdc-dialog .mdc-dialog__content{position:var(--dialog-content-position,relative);padding:var(--dialog-content-padding,24px)}:host([hideactions]) .mdc-dialog .mdc-dialog__content{padding-bottom:max(var(--dialog-content-padding,24px),env(safe-area-inset-bottom))}.mdc-dialog .mdc-dialog__surface{position:var(--dialog-surface-position,relative);top:var(--dialog-surface-top);margin-top:var(--dialog-surface-margin-top);min-height:var(--mdc-dialog-min-height,auto);border-radius:var(--ha-dialog-border-radius,28px);-webkit-backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);backdrop-filter:var(--ha-dialog-surface-backdrop-filter,none);background:var(--ha-dialog-surface-background,var(--mdc-theme-surface,#fff))}:host([flexContent]) .mdc-dialog .mdc-dialog__content{display:flex;flex-direction:column}.header_title{display:flex;align-items:center;direction:var(--direction)}.header_title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;padding-left:4px}.header_button{text-decoration:none;color:inherit;inset-inline-start:initial;inset-inline-end:-12px;direction:var(--direction)}.dialog-actions{inset-inline-start:initial!important;inset-inline-end:0px!important;direction:var(--direction)}`]}]}}),s.M)},92824:function(e,t,i){var o=i(44249),a=i(72621),s=i(60930),n=i(9714),l=i(57243),d=i(15093),r=i(22381),c=i(76320);i(23334);(0,o.Z)([(0,d.Mo)("ha-select")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"icon",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,reflect:!0})],key:"clearable",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({attribute:"inline-arrow",type:Boolean})],key:"inlineArrow",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)()],key:"options",value:void 0},{kind:"method",key:"render",value:function(){return l.dy` ${(0,a.Z)(i,"render",this,3)([])} ${this.clearable&&!this.required&&!this.disabled&&this.value?l.dy`<ha-icon-button label="clear" @click="${this._clearValue}" .path="${"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}"></ha-icon-button>`:l.Ld} `}},{kind:"method",key:"renderLeadingIcon",value:function(){return this.icon?l.dy`<span class="mdc-select__icon"><slot name="icon"></slot></span>`:l.Ld}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(i,"connectedCallback",this,3)([]),window.addEventListener("translations-updated",this._translationsUpdated)}},{kind:"method",key:"firstUpdated",value:async function(){(0,a.Z)(i,"firstUpdated",this,3)([]),this.inlineArrow&&this.shadowRoot?.querySelector(".mdc-select__selected-text-container")?.classList.add("inline-arrow")}},{kind:"method",key:"updated",value:function(e){if((0,a.Z)(i,"updated",this,3)([e]),e.has("inlineArrow")){const e=this.shadowRoot?.querySelector(".mdc-select__selected-text-container");this.inlineArrow?e?.classList.add("inline-arrow"):e?.classList.remove("inline-arrow")}e.get("options")&&(this.layoutOptions(),this.selectByValue(this.value))}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(i,"disconnectedCallback",this,3)([]),window.removeEventListener("translations-updated",this._translationsUpdated)}},{kind:"method",key:"_clearValue",value:function(){!this.disabled&&this.value&&(this.valueSetDirectly=!0,this.select(-1),this.mdcFoundation.handleChange())}},{kind:"field",key:"_translationsUpdated",value(){return(0,r.D)((async()=>{await(0,c.y)(),this.layoutOptions()}),500)}},{kind:"field",static:!0,key:"styles",value:()=>[n.W,l.iv`:host([clearable]){position:relative}.mdc-select:not(.mdc-select--disabled) .mdc-select__icon{color:var(--secondary-text-color)}.mdc-select__anchor{width:var(--ha-select-min-width,200px)}.mdc-select--filled .mdc-select__anchor{height:var(--ha-select-height,56px)}.mdc-select--filled .mdc-floating-label{inset-inline-start:12px;inset-inline-end:initial;direction:var(--direction)}.mdc-select--filled.mdc-select--with-leading-icon .mdc-floating-label{inset-inline-start:48px;inset-inline-end:initial;direction:var(--direction)}.mdc-select .mdc-select__anchor{padding-inline-start:12px;padding-inline-end:0px;direction:var(--direction)}.mdc-select__anchor .mdc-floating-label--float-above{transform-origin:var(--float-start)}.mdc-select__selected-text-container{padding-inline-end:var(--select-selected-text-padding-end,0px)}:host([clearable]) .mdc-select__selected-text-container{padding-inline-end:var(--select-selected-text-padding-end,12px)}ha-icon-button{position:absolute;top:10px;right:28px;--mdc-icon-button-size:36px;--mdc-icon-size:20px;color:var(--secondary-text-color);inset-inline-start:initial;inset-inline-end:28px;direction:var(--direction)}.inline-arrow{flex-grow:0}`]}]}}),s.K)},10571:function(e,t,i){function o(e){return"strategy"in e}i.d(t,{s:()=>o})},6649:function(e,t,i){i.d(t,{JR:()=>a,Y:()=>s,iM:()=>n,j2:()=>o});const o=e=>e.callWS({type:"lovelace/dashboards/list"}),a=(e,t)=>e.callWS({type:"lovelace/dashboards/create",...t}),s=(e,t,i)=>e.callWS({type:"lovelace/dashboards/update",dashboard_id:t,...i}),n=(e,t)=>e.callWS({type:"lovelace/dashboards/delete",dashboard_id:t})},67271:function(e,t,i){i.r(t),i.d(t,{HuiDialogSelectView:()=>L});var o=i(44249),a=(i(9359),i(70104),i(52924),i(31622),i(2060),i(87319),i(9065)),s=i(15093),n=i(97536),l=i(46289),d=(i(22139),i(47711)),r=i(81577);i(99152);let c=class extends d.J{};c.styles=[r.W],c=(0,a.__decorate)([(0,s.Mo)("mwc-radio")],c);var h=i(57243),u=i(35359),p=i(20552),m=i(65703);class g extends m.K{constructor(){super(...arguments),this.left=!1,this.graphic="control",this._changeFromClick=!1}render(){const e={"mdc-deprecated-list-item__graphic":this.left,"mdc-deprecated-list-item__meta":!this.left},t=this.renderText(),i=this.graphic&&"control"!==this.graphic&&!this.left?this.renderGraphic():h.dy``,o=this.hasMeta&&this.left?this.renderMeta():h.dy``,a=this.renderRipple();return h.dy` ${a} ${i} ${this.left?"":t} <mwc-radio global class="${(0,u.$)(e)}" tabindex="${this.tabindex}" name="${(0,p.o)(null===this.group?void 0:this.group)}" .checked="${this.selected}" ?disabled="${this.disabled}" @checked="${this.onChange}"> </mwc-radio> ${this.left?t:""} ${o}`}onClick(){this._changeFromClick=!0,super.onClick()}async onChange(e){const t=e.target;this.selected===t.checked||(this._skipPropRequest=!0,this.selected=t.checked,await this.updateComplete,this._skipPropRequest=!1,this._changeFromClick||this.fireRequestSelected(this.selected,"interaction")),this._changeFromClick=!1}}(0,a.__decorate)([(0,s.IO)("slot")],g.prototype,"slotElement",void 0),(0,a.__decorate)([(0,s.IO)("mwc-radio")],g.prototype,"radioElement",void 0),(0,a.__decorate)([(0,s.Cb)({type:Boolean})],g.prototype,"left",void 0),(0,a.__decorate)([(0,s.Cb)({type:String,reflect:!0})],g.prototype,"graphic",void 0);let v=class extends g{};v.styles=[l.W,n.W],v=(0,a.__decorate)([(0,s.Mo)("mwc-radio-list-item")],v);var f=i(36522),_=i(49976),y=(i(99426),i(73729)),k=(i(65981),i(92824),i(48977)),b=i(6649),w=i(28008),x=i(10571);let L=(0,o.Z)([(0,s.Mo)("hui-dialog-select-view")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",key:"hass",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_params",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_dashboards",value:()=>[]},{kind:"field",decorators:[(0,s.SB)()],key:"_urlPath",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,s.SB)()],key:"_selectedViewIdx",value:()=>0},{kind:"method",key:"showDialog",value:function(e){this._config=e.lovelaceConfig,this._urlPath=e.urlPath,this._params=e,this._params.allowDashboardChange&&this._getDashboards()}},{kind:"method",key:"closeDialog",value:function(){this._params=void 0,(0,f.B)(this,"dialog-closed",{dialog:this.localName})}},{kind:"method",key:"render",value:function(){return this._params?h.dy` <ha-dialog open @closed="${this.closeDialog}" .heading="${(0,y.i)(this.hass,this._params.header||this.hass.localize("ui.panel.lovelace.editor.select_view.header"))}"> ${this._params.allowDashboardChange?h.dy`<ha-select .label="${this.hass.localize("ui.panel.lovelace.editor.select_view.dashboard_label")}" .disabled="${!this._dashboards.length}" .value="${this._urlPath||this.hass.defaultPanel}" @selected="${this._dashboardChanged}" @closed="${_.U}" fixedMenuPosition naturalMenuWidth dialogInitialFocus> <mwc-list-item value="lovelace" .disabled="${"yaml"===this.hass.panels.lovelace?.config?.mode}"> Default </mwc-list-item> ${this._dashboards.map((e=>h.dy` <mwc-list-item .disabled="${"storage"!==e.mode}" .value="${e.url_path}">${e.title}</mwc-list-item> `))} </ha-select>`:""} ${!this._config||(this._config.views||[]).length<1?h.dy`<ha-alert alert-type="error">${this.hass.localize(this._config?"ui.panel.lovelace.editor.select_view.no_views":"ui.panel.lovelace.editor.select_view.no_config")}</ha-alert>`:this._config.views.length>1?h.dy` <mwc-list dialogInitialFocus> ${this._config.views.map(((e,t)=>{const i=(0,x.s)(e);return h.dy` <mwc-radio-list-item .graphic="${this._config?.views.some((({icon:e})=>e))?"icon":h.Ld}" @click="${this._viewChanged}" .value="${t.toString()}" .selected="${this._selectedViewIdx===t}" .disabled="${i&&!this._params?.includeStrategyViews}"> <span> ${e.title}${i?` (${this.hass.localize("ui.panel.lovelace.editor.select_view.strategy_type")})`:h.Ld} </span> <ha-icon .icon="${e.icon}" slot="graphic"></ha-icon> </mwc-radio-list-item> `}))} </mwc-list> `:""} <mwc-button slot="secondaryAction" @click="${this.closeDialog}" dialogInitialFocus> ${this.hass.localize("ui.common.cancel")} </mwc-button> <mwc-button slot="primaryAction" .disabled="${!this._config||(this._config.views||[]).length<1}" @click="${this._selectView}"> ${this._params.actionLabel||this.hass.localize("ui.common.move")} </mwc-button> </ha-dialog> `:h.Ld}},{kind:"method",key:"_getDashboards",value:async function(){this._dashboards=this._params.dashboards||await(0,b.j2)(this.hass)}},{kind:"method",key:"_dashboardChanged",value:async function(e){let t=e.target.value;if(t!==this._urlPath){"lovelace"===t&&(t=null),this._urlPath=t,this._selectedViewIdx=0;try{this._config=await(0,k.Q2)(this.hass.connection,t,!1)}catch(e){this._config=void 0}}}},{kind:"method",key:"_viewChanged",value:function(e){const t=Number(e.target.value);isNaN(t)||(this._selectedViewIdx=t)}},{kind:"method",key:"_selectView",value:function(){(0,f.B)(this,"view-selected",{view:this._selectedViewIdx}),this._params.viewSelectedCallback(this._urlPath,this._config,this._selectedViewIdx),this.closeDialog()}},{kind:"get",static:!0,key:"styles",value:function(){return[w.yu,h.iv`ha-select{width:100%}mwc-radio-list-item{direction:ltr}`]}}]}}),h.oi)}}; //# sourceMappingURL=5851.37e9d5a4fce04490.js.map