UNPKG

iobroker.lovelace

Version:

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

1 lines 13.5 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[75939],{28170:function(t,e,i){i.d(e,{o:function(){return l}});i(62953);var s=i(40445),o=i(5124),a=i(67576),n=i(1087),r=i(83892);let h;class l extends r.x{connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role",this.defaultRole),(0,n.r)(this,"ha-list-item-register",{item:this})}disconnectedCallback(){super.disconnectedCallback(),(0,n.r)(this,"ha-list-item-unregister",{item:this})}activate(){this.click()}constructor(...t){super(...t),this.interactive=!1,this.defaultRole="listitem"}}l.styles=[r.x.styles,(0,o.AH)(h||(h=(t=>t)`:host{--ha-list-item-focus-radius:var(--ha-border-radius-sm);--ha-list-item-focus-width:2px;--ha-list-item-focus-width-start:var(--ha-space-2);--ha-list-item-focus-offset:-2px;--ha-list-item-focus-background:var(--ha-color-fill-neutral-quiet-hover)}:host(:focus){outline:0}.base{border-radius:var(--ha-list-item-focus-radius);outline:var(--ha-list-item-focus-width) solid transparent;outline-offset:var(--ha-list-item-focus-offset);transition:outline-color var(--ha-animation-duration-fast) ease-out,background-color var(--ha-animation-duration-fast) ease-out}@keyframes ha-list-item-focus-in{from{outline-width:var(--ha-list-item-focus-width-start);outline-offset:calc(-1 * var(--ha-list-item-focus-width-start))}to{outline-width:var(--ha-list-item-focus-width);outline-offset:var(--ha-list-item-focus-offset)}}:host(:focus-visible) .base{outline-color:var(--ha-color-focus);background-color:var(--ha-list-item-focus-background);animation:ha-list-item-focus-in var(--ha-animation-duration-normal) ease-in}`))],(0,s.Cg)([(0,a.MZ)({type:Boolean,reflect:!0})],l.prototype,"interactive",void 0),l=(0,s.Cg)([(0,a.EM)("ha-list-item-base")],l)},1671:function(t,e,i){i(62953);var s=i(40445),o=i(5124),a=i(67576),n=i(63672),r=(i(54276),i(28170));let h,l,d,c,u=t=>t;class p extends r.o{activate(){var t;null===(t=this._item)||void 0===t||t.click()}_renderBase(t){return void 0!==this.href?(0,o.qy)(h||(h=u`<a part="base" class="base interactive" id="item" href="${0}" target="${0}" rel="${0}" download="${0}" tabindex="-1" aria-disabled="${0}"> ${0}${0} </a>`),(0,n.J)(this.disabled?void 0:this.href),(0,n.J)(this.target),(0,n.J)(this.rel),(0,n.J)(this.download),this.disabled?"true":"false",this._renderRipple(),t):(0,o.qy)(l||(l=u`<button part="base" class="base interactive" id="item" type="button" ?disabled="${0}" tabindex="-1"> ${0}${0} </button>`),this.disabled,this._renderRipple(),t)}_renderRipple(){return(0,o.qy)(d||(d=u`<ha-ripple part="ripple" for="item" ?disabled="${0}"></ha-ripple>`),this.disabled)}constructor(...t){super(...t),this.interactive=!0}}p.styles=[r.o.styles,(0,o.AH)(c||(c=u`:host{cursor:pointer;--ha-ripple-color:var(--primary-text-color)}:host([disabled]){cursor:default}.base.interactive{width:100%;border:none;background:0 0;color:inherit;font:inherit;text-align:inherit;text-decoration:none;appearance:none;cursor:inherit}:host([disabled]) .base.interactive{color:var(--disabled-text-color)}`))],(0,s.Cg)([(0,a.MZ)({type:String})],p.prototype,"href",void 0),(0,s.Cg)([(0,a.MZ)({type:String})],p.prototype,"target",void 0),(0,s.Cg)([(0,a.MZ)({type:String})],p.prototype,"rel",void 0),(0,s.Cg)([(0,a.MZ)({type:String})],p.prototype,"download",void 0),(0,s.Cg)([(0,a.P)("#item")],p.prototype,"_item",void 0),p=(0,s.Cg)([(0,a.EM)("ha-list-item-button")],p)},83892:function(t,e,i){i.d(e,{x:function(){return v}});i(18111),i(13579),i(27495),i(42762),i(62953);var s=i(40445),o=i(92070),a=i(5124),n=i(67576);let r,h,l,d,c,u,p,m=t=>t;class v extends a.WF{_onSlotChange(t){return e=>{const i=e.target.assignedNodes({flatten:!0}).some(t=>{var e;return t.nodeType===Node.ELEMENT_NODE||t.nodeType===Node.TEXT_NODE&&""!==(null===(e=t.textContent)||void 0===e?void 0:e.trim())});"start"===t?this._hasStart=i:this._hasEnd=i}}render(){return this._renderBase(this._renderInner())}_renderBase(t){return(0,a.qy)(r||(r=m`<div part="base" class="base" id="item">${0}</div>`),t)}_renderInner(){const t=this._slotController.test("content");return(0,a.qy)(h||(h=m` <div part="start" class="start" ?hidden="${0}"> <slot name="start" @slotchange="${0}"></slot> </div> <div part="content" class="content"> ${0} </div> <div part="end" class="end" ?hidden="${0}"> <slot name="end" @slotchange="${0}"></slot> </div> `),!this._hasStart,this._onSlotChange("start"),t?(0,a.qy)(l||(l=m`<slot name="content"></slot>`)):this._renderDefaultContent(),!this._hasEnd,this._onSlotChange("end"))}_renderDefaultContent(){var t,e;const i=this._slotController.test("headline"),s=this._slotController.test("supporting-text"),o=i||void 0!==this.headline,n=s||void 0!==this.supportingText;return(0,a.qy)(d||(d=m` ${0} ${0} `),o?(0,a.qy)(c||(c=m`<div part="headline" class="headline"> <slot name="headline">${0}</slot> </div>`),null!==(t=this.headline)&&void 0!==t?t:a.s6):a.s6,n?(0,a.qy)(u||(u=m`<div part="supporting-text" class="supporting"> <slot name="supporting-text">${0}</slot> </div>`),null!==(e=this.supportingText)&&void 0!==e?e:a.s6):a.s6)}constructor(...t){super(...t),this.disabled=!1,this._slotController=new o.X(this,"headline","supporting-text","content"),this._hasStart=!1,this._hasEnd=!1}}v.styles=(0,a.AH)(p||(p=m`:host{display:block;color:var(--primary-text-color);font-size:var(--ha-font-size-m);line-height:var(--ha-line-height-normal)}:host([disabled]){color:var(--disabled-text-color);pointer-events:none}.base{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--ha-row-item-gap,var(--ha-space-4));padding-block:var(--ha-row-item-padding-block,var(--ha-space-3));padding-inline:var(--ha-row-item-padding-inline,var(--ha-space-4));min-height:var(--ha-row-item-min-height,48px);box-sizing:border-box}.content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center}.end,.start{display:flex;align-items:center;flex:0 0 auto}.end[hidden],.start[hidden]{display:none}.headline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supporting{color:var(--secondary-text-color);font-size:var(--ha-font-size-s);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}`)),(0,s.Cg)([(0,n.MZ)({type:String})],v.prototype,"headline",void 0),(0,s.Cg)([(0,n.MZ)({type:String,attribute:"supporting-text"})],v.prototype,"supportingText",void 0),(0,s.Cg)([(0,n.MZ)({type:Boolean,reflect:!0})],v.prototype,"disabled",void 0),(0,s.Cg)([(0,n.wk)()],v.prototype,"_hasStart",void 0),(0,s.Cg)([(0,n.wk)()],v.prototype,"_hasEnd",void 0),v=(0,s.Cg)([(0,n.EM)("ha-row-item")],v)},50723:function(t,e,i){i.d(e,{N:function(){return p}});i(74423),i(26910),i(18111),i(22489),i(7588),i(62953);var s=i(40445),o=i(5124),a=i(67576),n=i(91335);i(44114),i(94490);const r=t=>{const e=[];let i=t;for(;i;){e.push(i);const t=i.parentNode;if(t instanceof ShadowRoot)i=t.host;else if(t)i=t;else{const t=i.getRootNode();i=t instanceof ShadowRoot?t.host:null}}return e.reverse()},h=(t,e)=>{if(t===e)return 0;const i=r(t),s=r(e);let o=0;for(;o<i.length&&o<s.length&&i[o]===s[o];)o++;return 0===o?0:o===i.length?-1:o===s.length?1:i[o].compareDocumentPosition(s[o])&Node.DOCUMENT_POSITION_FOLLOWING?-1:1};var l=i(1087);let d,c,u=t=>t;class p extends o.WF{connectedCallback(){super.connectedCallback(),this.hasAttribute("ha-list")||this.setAttribute("ha-list",""),!this.hasAttribute("role")&&this.hostRole&&this.setAttribute("role",this.hostRole),this._unbindKeys=(0,n.Tc)(this,{ArrowDown:this._onForward,ArrowUp:this._onBack,Home:this._onHome,End:this._onEnd,Enter:this._onActivate,Space:this._onActivate}),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("ha-list-item-register",this._onItemRegister),this.addEventListener("ha-list-item-unregister",this._onItemUnregister)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._unbindKeys)||void 0===t||t.call(this),this._unbindKeys=void 0,this.removeEventListener("focusin",this._onFocusIn),this.removeEventListener("ha-list-item-register",this._onItemRegister),this.removeEventListener("ha-list-item-unregister",this._onItemUnregister)}focus(t){this.items.length?this.focusItemAtIndex(this._activeItemIndex>=0?this._activeItemIndex:0):super.focus(t)}focusItemAtIndex(t){t<0||this.setActiveItemIndex(t,!0)}getActiveItemIndex(){return this._activeItemIndex}setActiveItemIndex(t,e=!1){this._hasFocusableItem?(this._activeItemIndex=Math.max(0,Math.min(this.items.length-1,t)),this._isFocusable(this._activeItemIndex)||(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(e)):this._activeItemIndex=-1}updateListItems(){this._recomputeFocusableIndexes(),(this._activeItemIndex>=this.items.length||!this._hasFocusableItem||this._activeItemIndex<0)&&(this._activeItemIndex=this._firstFocusableIndex),this._applyActive(!1)}_recomputeFocusableIndexes(){let t=-1,e=-1;for(let i=0;i<this.items.length;i++)this._isFocusable(i)&&(-1===t&&(t=i),e=i);this._firstFocusableIndex=t,this._lastFocusableIndex=e,this._hasFocusableItem=-1!==t}render(){return(0,o.qy)(d||(d=u`<div part="base" class="base"> <slot></slot> </div>`))}_isFocusable(t){const e=this.items[t];return!!e&&e.interactive&&!e.disabled}_applyActive(t){var e;(this.items.forEach((t,e)=>{t.interactive&&!t.disabled?t.tabIndex=e===this._activeItemIndex?0:-1:t.removeAttribute("tabindex")}),t&&this._activeItemIndex>=0)&&(null===(e=this.items[this._activeItemIndex])||void 0===e||e.focus())}_moveFocus(t,e){!this._hasFocusableItem||e<0||e===this._activeItemIndex||(t.preventDefault(),this._activeItemIndex=e,this._applyActive(!0))}_stepIndex(t,e){const i=this.items.length;if(!i||!this._hasFocusableItem)return t;let s=t;for(let o=0;o<i;o++){if(s+=e,s<0||s>=i){if(!this.wrapFocus)return t;s=(s+i)%i}if(this._isFocusable(s))return s}return t}constructor(...t){super(...t),this.wrapFocus=!1,this.ariaLabel=null,this.items=[],this.hostRole="list",this._activeItemIndex=-1,this._firstFocusableIndex=-1,this._lastFocusableIndex=-1,this._hasFocusableItem=!1,this._onItemRegister=t=>{t.stopPropagation();const e=t.detail.item;if(this.items.includes(e))return;const i=[...this.items,e];i.sort(h),this.items=i,this.updateListItems()},this._onItemUnregister=t=>{t.stopPropagation();const e=t.detail.item;this.items.includes(e)&&(this.items=this.items.filter(t=>t!==e),this.updateListItems())},this._onFocusIn=t=>{const e=t.composedPath();for(let i=0;i<this.items.length;i++)if(e.includes(this.items[i]))return void(i!==this._activeItemIndex&&(this._activeItemIndex=i,this._applyActive(!1)))},this._onForward=t=>{this._moveFocus(t,this._stepIndex(this._activeItemIndex,1))},this._onBack=t=>{this._moveFocus(t,this._stepIndex(this._activeItemIndex,-1))},this._onHome=t=>{this._moveFocus(t,this._firstFocusableIndex)},this._onEnd=t=>{this._moveFocus(t,this._lastFocusableIndex)},this._onActivate=t=>{if(!this._isFocusable(this._activeItemIndex))return;t.preventDefault();const e=this.items[this._activeItemIndex];e.activate(),(0,l.r)(this,"ha-list-activated",{index:this._activeItemIndex,item:e})}}}p.styles=(0,o.AH)(c||(c=u`:host{display:block}.base{display:flex;flex-direction:column;gap:var(--ha-list-gap,0);padding:var(--ha-list-padding,0);margin:0;list-style:none}`)),(0,s.Cg)([(0,a.MZ)({type:Boolean,attribute:"wrap-focus"})],p.prototype,"wrapFocus",void 0),(0,s.Cg)([(0,a.MZ)({type:String,attribute:"aria-label",reflect:!0})],p.prototype,"ariaLabel",void 0),p=(0,s.Cg)([(0,a.EM)("ha-list-base")],p)},21006:function(t,e,i){i.a(t,async function(t,s){try{i.r(e),i.d(e,{ListItemsDialog:function(){return I}});i(89463),i(18111),i(61701),i(3362),i(62953);var o=i(40445),a=i(5124),n=i(67576),r=i(1087),h=i(99611),l=i(72554),d=(i(47680),i(67094),i(1671),i(50723),t([h,l]));[h,l]=d.then?(await d)():d;let c,u,p,m,v,_,g,f,b=t=>t;class I extends a.WF{async showDialog(t){this._params=t,this._open=!0}closeDialog(t){return this._open=!1,!0}_dialogClosed(){this._params=void 0,(0,r.r)(this,"dialog-closed",{dialog:this.localName})}_itemClicked(t){const e=t.currentTarget.item;e&&(e.action(),this.closeDialog())}render(){var t;if(!this._params||!this.hass)return a.s6;const e=(0,a.qy)(c||(c=b` <div class="container"> <ha-list-base> ${0} </ha-list-base> </div> `),this._params.items.map(t=>(0,a.qy)(u||(u=b` <ha-list-item-button @click="${0}" .item="${0}"> ${0} <span slot="headline">${0}</span> ${0} </ha-list-item-button> `),this._itemClicked,t,t.iconPath?(0,a.qy)(p||(p=b` <ha-svg-icon .path="${0}" slot="start"></ha-svg-icon> `),t.iconPath):t.icon?(0,a.qy)(m||(m=b` <ha-icon icon="${0}" slot="start"></ha-icon> `),t.icon):a.s6,t.label,t.description?(0,a.qy)(v||(v=b` <span slot="supporting-text">${0}</span> `),t.description):a.s6)));return"bottom-sheet"===this._params.mode?(0,a.qy)(_||(_=b` <ha-bottom-sheet placement="bottom" .open="${0}" @closed="${0}"> ${0} </ha-bottom-sheet> `),this._open,this._dialogClosed,e):(0,a.qy)(g||(g=b` <ha-dialog .open="${0}" header-title="${0}" @closed="${0}"> ${0} </ha-dialog> `),this._open,null!==(t=this._params.title)&&void 0!==t?t:" ",this._dialogClosed,e)}constructor(...t){super(...t),this._open=!1}}I.styles=(0,a.AH)(f||(f=b`ha-bottom-sheet,ha-dialog{--dialog-z-index:104;--dialog-content-padding:0;--ha-row-item-padding-inline:var(--ha-space-6)}ha-bottom-sheet{--ha-bottom-sheet-content-padding:var(--ha-space-4) 0 0}`)),(0,o.Cg)([(0,n.MZ)({attribute:!1})],I.prototype,"hass",void 0),(0,o.Cg)([(0,n.wk)()],I.prototype,"_params",void 0),(0,o.Cg)([(0,n.wk)()],I.prototype,"_open",void 0),I=(0,o.Cg)([(0,n.EM)("dialog-list-items")],I),s()}catch(c){s(c)}})}}]);