UNPKG

iobroker.lovelace

Version:

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

1 lines 9.18 kB
export const __rspack_esm_id=93934;export const __rspack_esm_ids=[93934];export const __webpack_modules__={24790(t,e,o){o.d(e,{F:()=>a,r:()=>s});o(18111),o(13579);const i=/{%|{{/,a=t=>i.test(t),s=t=>{if(!t)return!1;if("string"==typeof t)return a(t);if("object"==typeof t){return(Array.isArray(t)?t:Object.values(t)).some(t=>t&&s(t))}return!1}},89865(t,e,o){o.a(t,async function(t,e){try{o(18111),o(61701);var i=o(62826),a=(o(22395),o(5124)),s=o(22441),r=o(1087),c=o(18350),l=(o(67094),t([c]));c=(l.then?(await l)():l)[0];class n extends a.WF{render(){return a.qy` <wa-button-group childSelector="ha-button"> ${this.buttons.map(t=>a.qy`<ha-button iconTag="ha-svg-icon" class="icon" .variant="${this.active===t.value&&this.activeVariant?this.activeVariant:this.variant}" .size="${this.size}" .value="${t.value}" @click="${this._handleClick}" .title="${t.label}" .appearance="${this.active===t.value?"accent":"filled"}"> ${t.iconPath?a.qy`<ha-svg-icon aria-label="${t.label}" .path="${t.iconPath}"></ha-svg-icon>`:t.label} </ha-button>`)} </wa-button-group> `}_handleClick(t){this.active=t.currentTarget.value,(0,r.r)(this,"value-changed",{value:this.active})}constructor(...t){super(...t),this.size="medium",this.nowrap=!1,this.fullWidth=!1,this.variant="brand"}}n.styles=a.AH`:host{--mdc-icon-size:var(--button-toggle-icon-size, 20px)}:host([no-wrap]) wa-button-group::part(base){flex-wrap:nowrap}wa-button-group{padding:var(--ha-button-toggle-group-padding)}:host([full-width]) wa-button-group,:host([full-width]) wa-button-group::part(base){width:100%}:host([full-width]) ha-button{flex:1}`,(0,i.Cg)([(0,s.MZ)({attribute:!1})],n.prototype,"buttons",void 0),(0,i.Cg)([(0,s.MZ)()],n.prototype,"active",void 0),(0,i.Cg)([(0,s.MZ)({reflect:!0})],n.prototype,"size",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"no-wrap"})],n.prototype,"nowrap",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,reflect:!0,attribute:"full-width"})],n.prototype,"fullWidth",void 0),(0,i.Cg)([(0,s.MZ)()],n.prototype,"variant",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"active-variant"})],n.prototype,"activeVariant",void 0),n=(0,i.Cg)([(0,s.EM)("ha-button-toggle-group")],n),e()}catch(t){e(t)}})},58141(t,e,o){o.a(t,async function(t,i){try{o.r(e),o.d(e,{HaChooseSelector:()=>d});o(74423),o(18111),o(61701);var a=o(62826),s=o(5124),r=o(22441),c=o(22786),l=o(1087),n=o(24790),h=o(89865),u=(o(11399),t([h]));h=(u.then?(await u)():u)[0];class d extends s.WF{willUpdate(t){!t.has("selector")||this._activeChoice&&this._activeChoice in this.selector.choose.choices||this._setActiveChoice(),t.has("value")&&t.get("value")?.active_choice&&t.get("value")?.active_choice!==this._activeChoice&&this._setActiveChoice()}render(){if(!this._activeChoice)return s.s6;const t=this._selector(this._activeChoice),e=this._value(this._activeChoice);return s.qy`<div class="multi-header"> <span>${this.label}${this.required?"*":""}</span> <ha-button-toggle-group size="small" .buttons="${this._toggleButtons(this.selector.choose.choices,this.selector.choose.translation_key,this.hass.localize)}" .active="${this._activeChoice}" @value-changed="${this._choiceChanged}"></ha-button-toggle-group> </div> <ha-selector .hass="${this.hass}" .selector="${t}" .value="${e}" .disabled="${this.disabled}" .required="${this.required}" @value-changed="${this._handleValueChanged}" .helper="${this.helper}"></ha-selector>`}_choiceChanged(t){t.stopPropagation();const e="object"==typeof this.value?this.value:{[this._activeChoice]:this.value};this._activeChoice=t.detail?.value||t.target.value,(0,l.r)(this,"value-changed",{value:{...e,active_choice:this._activeChoice}})}_handleValueChanged(t){t.stopPropagation();const e="object"==typeof this.value?this.value:{};(0,l.r)(this,"value-changed",{value:{...e,[this._activeChoice]:t.detail.value,active_choice:this._activeChoice}})}_selector(t){const e=this.selector.choose.choices;return(t=t||this.value?.active_choice)&&t in e?e[t].selector:e[Object.keys(e)[0]].selector}_value(t){if(this.value)return"object"==typeof this.value?this.value[t||this.value.active_choice]:this.value}_setActiveChoice(){if(this.value)if("object"==typeof this.value){if(this.value.active_choice in this.selector.choose.choices)return void(this._activeChoice=this.value.active_choice)}else{const t=typeof this.value,e=Object.values(this.selector.choose.choices).map(t=>Object.keys(t.selector)[0]);if("number"===t&&e.includes("number"))return void(this._activeChoice=Object.keys(this.selector.choose.choices)[e.indexOf("number")]);if("string"===t&&(0,n.F)(this.value)&&e.includes("template"))return void(this._activeChoice=Object.keys(this.selector.choose.choices)[e.indexOf("template")]);if("string"===t&&this.value.includes(".")&&e.includes("entity"))return void(this._activeChoice=Object.keys(this.selector.choose.choices)[e.indexOf("entity")]);if("string"===t&&e.includes("text"))return void(this._activeChoice=Object.keys(this.selector.choose.choices)[e.indexOf("text")])}this._activeChoice=Object.keys(this.selector.choose.choices)[0]}constructor(...t){super(...t),this.disabled=!1,this.required=!0,this._toggleButtons=(0,c.A)((t,e,o)=>Object.keys(t).map(t=>({label:this.localizeValue&&e?this.localizeValue(`${e}.choices.${t}`):t,value:t})))}}d.styles=s.AH`.multi-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--ha-space-2)}ha-button-toggle-group{display:block;justify-self:end}`,(0,a.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"selector",void 0),(0,a.Cg)([(0,r.MZ)()],d.prototype,"value",void 0),(0,a.Cg)([(0,r.MZ)()],d.prototype,"label",void 0),(0,a.Cg)([(0,r.MZ)()],d.prototype,"helper",void 0),(0,a.Cg)([(0,r.MZ)({attribute:!1})],d.prototype,"localizeValue",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],d.prototype,"disabled",void 0),(0,a.Cg)([(0,r.MZ)({type:Boolean})],d.prototype,"required",void 0),(0,a.Cg)([(0,r.wk)()],d.prototype,"_activeChoice",void 0),d=(0,a.Cg)([(0,r.EM)("ha-selector-choose")],d),i()}catch(t){i(t)}})},22395(t,e,o){var i=o(5124),a=o(22441),s=o(717),r=i.AH`:host{display:inline-flex}.button-group{display:flex;position:relative;isolation:isolate;flex-wrap:wrap}@media (hover:hover){.button-group::slotted(:hover),.button-group>:hover{z-index:1}}.button-group::slotted(:focus),.button-group::slotted([aria-checked=true]),.button-group::slotted([checked]),.button-group>:focus,.button-group>[aria-checked=true],.button-group>[checked]{z-index:2!important}:host([orientation=horizontal]) .button-group{flex-direction:row}:host([orientation=vertical]) .button-group{flex-direction:column}:host([orientation=horizontal]){--_button-horizontal-indent:var(--wa-form-control-border-width);--_button-horizontal-indent-outlined:calc(var(--wa-form-control-border-width) * -1)}:host([orientation=vertical]){--_button-vertical-indent:var(--wa-form-control-border-width);--_button-vertical-indent-outlined:calc(var(--wa-form-control-border-width) * -1)}::slotted(:not(:first-child):not(:last-child)){--_button-start-start-radius:0;--_button-start-end-radius:0;--_button-end-start-radius:0;--_button-end-end-radius:0}:host([orientation=horizontal]) ::slotted(:first-child:not(:last-child)){--_button-start-end-radius:0;--_button-end-end-radius:0}:host([orientation=horizontal]) ::slotted(:last-child:not(:first-child)){--_button-start-start-radius:0;--_button-end-start-radius:0}:host([orientation=vertical]) ::slotted(:first-child:not(:last-child)){--_button-end-start-radius:0;--_button-end-end-radius:0}:host([orientation=vertical]) ::slotted(:last-child:not(:first-child)){--_button-start-start-radius:0;--_button-start-end-radius:0}`,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,n=(t,e,o,i)=>{for(var a,s=i>1?void 0:i?l(e,o):e,r=t.length-1;r>=0;r--)(a=t[r])&&(s=(i?a(e,o,s):a(s))||s);return i&&s&&c(e,o,s),s};let h=class extends s.A{updated(t){super.updated(t),t.has("orientation")&&this.setAttribute("aria-orientation",this.orientation)}handleFocus(t){const e=u(t.target,this.childSelector);e?.classList.add("button-focus")}handleBlur(t){const e=u(t.target,this.childSelector);e?.classList.remove("button-focus")}handleMouseOver(t){const e=u(t.target,this.childSelector);e?.classList.add("button-hover")}handleMouseOut(t){const e=u(t.target,this.childSelector);e?.classList.remove("button-hover")}render(){return i.qy` <slot part="base" class="button-group" role="${this.disableRole?"presentation":"group"}" aria-label="${this.label}" aria-orientation="${this.orientation}" @focusout="${this.handleBlur}" @focusin="${this.handleFocus}" @mouseover="${this.handleMouseOver}" @mouseout="${this.handleMouseOut}"></slot> `}constructor(){super(...arguments),this.disableRole=!1,this.hasOutlined=!1,this.label="",this.orientation="horizontal",this.childSelector="wa-button, wa-radio-button"}};function u(t,e){return t.closest(e)??t.querySelector(e)}h.css=[r],n([(0,a.P)("slot")],h.prototype,"defaultSlot",2),n([(0,a.wk)()],h.prototype,"disableRole",2),n([(0,a.wk)()],h.prototype,"hasOutlined",2),n([(0,a.MZ)()],h.prototype,"label",2),n([(0,a.MZ)({reflect:!0})],h.prototype,"orientation",2),n([(0,a.MZ)()],h.prototype,"childSelector",2),h=n([(0,a.EM)("wa-button-group")],h)}};