UNPKG

iobroker.lovelace

Version:

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

26 lines 9.81 kB
/*! For license information please see 45771.893d3b69b97a23f0.js.LICENSE.txt */ "use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[45771],{64138:function(e,a,t){t.a(e,async function(e,o){try{t.r(a),t.d(a,{HaIconPicker:function(){return $}});t(74423),t(44114),t(26910),t(18111),t(22489),t(7588),t(61701),t(13579),t(3362),t(27495),t(25440),t(62953);var i=t(40445),r=t(5124),s=t(67576),n=t(22786),l=t(1087),c=t(700),d=(t(75064),t(38508)),h=(t(47680),e([d]));d=(h.then?(await h)():h)[0];let u,p,g,v=e=>e,m=[],_=!1;const b=(e,a)=>{var t;const o=`${a}:${e.name}`,i=e.name,r=i.split("-"),s=null!==(t=e.keywords)&&void 0!==t?t:[],n={iconName:i};return r.forEach((e,a)=>{n[`part${a}`]=e}),s.forEach((e,a)=>{n[`keyword${a}`]=e}),{id:o,primary:o,icon:o,search_labels:n,sorting_label:o}},f=async()=>{_=!0;const e=await t.e(81340).then(t.t.bind(t,25143,19));m=e.default.map(e=>b(e,"mdi"));const a=[];Object.keys(c.y).forEach(e=>{a.push(y(e))}),(await Promise.all(a)).forEach(e=>{m.push(...e)})},y=async e=>{try{const a=c.y[e].getIconList;if("function"!=typeof a)return[];return(await a()).map(a=>b(a,e))}catch(a){return console.warn(`Unable to load icon list for ${e} iconset`),[]}},k=e=>(0,r.qy)(u||(u=v` <ha-combo-box-item type="button"> <ha-icon .icon="${0}" slot="start"></ha-icon> ${0} </ha-combo-box-item> `),e.id,e.id);class $ extends r.WF{render(){return(0,r.qy)(p||(p=v` <ha-generic-picker allow-custom-value .getItems="${0}" .helper="${0}" .disabled="${0}" .required="${0}" .errorMessage="${0}" .invalid="${0}" .rowRenderer="${0}" .icon="${0}" .label="${0}" .value="${0}" .searchFn="${0}" @value-changed="${0}"> <slot name="start"></slot> </ha-generic-picker> `),this._getIconPickerItems,this.helper,this.disabled,this.required,this.errorMessage,this.invalid,k,this._icon,this.label,this._value,this._filterIcons,this._valueChanged)}firstUpdated(){_||f().then(()=>{this._getIconPickerItems=()=>m,this.requestUpdate()})}_valueChanged(e){e.stopPropagation(),this._setValue(e.detail.value)}_setValue(e){this.value=e,(0,l.r)(this,"value-changed",{value:this._value},{bubbles:!1,composed:!1})}get _icon(){var e;return null!==(e=this.value)&&void 0!==e&&e.length?this.value:this.placeholder}get _value(){return this.value||""}constructor(...e){super(...e),this.disabled=!1,this.required=!1,this.invalid=!1,this._getIconPickerItems=()=>m,this._filterIcons=(0,n.A)((e,a,t)=>{const o=e.toLowerCase().replace(/\s+/g,"-"),i=null!=t&&t.length?t:a;if(!o.length)return i;const r=[];for(const s of i){const e=(s.id.split(":")[1]||s.id).toLowerCase().split("-"),a=s.search_labels?Object.values(s.search_labels).filter(e=>null!==e).map(e=>e.toLowerCase()):[],t=s.id.toLowerCase();e.includes(o)?r.push({item:s,rank:1}):a.includes(o)?r.push({item:s,rank:2}):t.includes(o)?r.push({item:s,rank:3}):a.some(e=>e.includes(o))&&r.push({item:s,rank:4})}return r.sort((e,a)=>e.rank-a.rank).map(e=>e.item)})}}$.styles=(0,r.AH)(g||(g=v`ha-generic-picker{width:100%;display:block}`)),(0,i.Cg)([(0,s.MZ)()],$.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)()],$.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)()],$.prototype,"helper",void 0),(0,i.Cg)([(0,s.MZ)()],$.prototype,"placeholder",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"error-message"})],$.prototype,"errorMessage",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],$.prototype,"disabled",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],$.prototype,"required",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],$.prototype,"invalid",void 0),$=(0,i.Cg)([(0,s.EM)("ha-icon-picker")],$),o()}catch(u){o(u)}})},64013:function(e,a,t){var o=t(40445),i=t(97086),r=t(5124),s=t(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-required-content:var( --ha-radio-group-required-marker, var(--ha-input-required-marker, "*") );--wa-form-control-required-content-offset:var( --ha-radio-group-required-marker-offset, 0.1rem )}`))]}constructor(){super(),this.radioTag="ha-radio-option"}}c=(0,o.Cg)([(0,s.EM)("ha-radio-group")],c)},92677:function(e,a,t){var o=t(40445),i=t(17010),r=t(5124),s=t(67576);let n,l=e=>e;class c extends i.A{static get styles(){return[i.A.styles,(0,r.AH)(n||(n=l`:host{--wa-form-control-activated-color:var( --ha-radio-option-active-color, var(--ha-color-fill-primary-loud-resting) );--wa-form-control-height:var(--ha-radio-option-height, 40px);--wa-form-control-toggle-size:var( --ha-radio-option-toggle-size, 20px );--wa-form-control-border-width:var( --ha-radio-option-border-width, var(--ha-border-width-md) );--wa-form-control-border-color:var( --ha-radio-option-border-color, var(--ha-color-border-neutral-normal) );--wa-form-control-background-color:var( --ha-radio-option-background-color, var(--wa-form-control-background-color) );--checked-icon-color:var( --ha-radio-option-checked-icon-color, var(--wa-form-control-activated-color) );--checked-icon-scale:var(--ha-radio-option-checked-icon-scale, 0.7)}:host([appearance=default]) .control{margin:var(--ha-radio-option-control-margin,var(--ha-space-3) var(--ha-space-2) var(--ha-space-3) var(--ha-space-3))}:host(:not([aria-checked=true],[aria-disabled=true]):hover) .control{border-color:var(--ha-radio-option-border-color-hover,var(--ha-radio-option-border-color,var(--ha-color-border-neutral-loud)));background-color:var(--ha-radio-option-background-color-hover,var(--ha-color-fill-neutral-quiet-hover))}:host([aria-checked=true]) .control{background-color:var(--ha-radio-option-checked-background-color,var(--ha-color-fill-primary-normal-resting));color:var(--checked-icon-color);border-color:var(--checked-icon-color)}[part~=label]{display:inline-flex;align-items:center;cursor:pointer}:host([disabled]) [part~=label]{cursor:not-allowed}`))]}}c=(0,o.Cg)([(0,s.EM)("ha-radio-option")],c)},837:function(e,a,t){t.a(e,async function(e,o){try{t.r(a);t(74423),t(62953);var i=t(40445),r=t(5124),s=t(67576),n=t(1087),l=t(64138),c=t(91485),d=(t(64013),t(92677),t(14503)),h=e([l,c]);[l,c]=h.then?(await h)():h;let u,p,g=e=>e;class v extends r.WF{set item(e){this._item=e,e?(this._name=e.name||"",this._icon=e.icon||"",this._mode=e.has_time&&e.has_date?"datetime":e.has_time?"time":"date",this._item.has_date=!e.has_date&&!e.has_time||e.has_date):(this._name="",this._icon="",this._mode="date")}focus(){this.updateComplete.then(()=>{var e;return null===(e=this._focusElement)||void 0===e?void 0:e.focus()})}render(){return this.hass?(0,r.qy)(u||(u=g` <div class="form"> <ha-input .value="${0}" .configValue="${0}" @input="${0}" .label="${0}" auto-validate required .validationMessage="${0}" dialogInitialFocus .disabled="${0}"></ha-input> <ha-icon-picker .hass="${0}" .value="${0}" .configValue="${0}" @value-changed="${0}" .label="${0}" .disabled="${0}"></ha-icon-picker> <ha-radio-group .label="${0}" .value="${0}" .disabled="${0}" name="mode" @change="${0}"> <ha-radio-option value="date"> ${0} </ha-radio-option> <ha-radio-option value="time"> ${0} </ha-radio-option> <ha-radio-option value="datetime"> ${0} </ha-radio-option> </ha-radio-group> </div> `),this._name,"name",this._valueChanged,this.hass.localize("ui.dialogs.helper_settings.generic.name"),this.hass.localize("ui.dialogs.helper_settings.required_error_msg"),this.disabled,this.hass,this._icon,"icon",this._valueChanged,this.hass.localize("ui.dialogs.helper_settings.generic.icon"),this.disabled,this.hass.localize("ui.dialogs.helper_settings.input_datetime.mode"),this._mode,this.disabled,this._modeChanged,this.hass.localize("ui.dialogs.helper_settings.input_datetime.date"),this.hass.localize("ui.dialogs.helper_settings.input_datetime.time"),this.hass.localize("ui.dialogs.helper_settings.input_datetime.datetime")):r.s6}_modeChanged(e){const a=String(e.currentTarget.value);(0,n.r)(this,"value-changed",{value:Object.assign(Object.assign({},this._item),{},{has_time:["time","datetime"].includes(a),has_date:["date","datetime"].includes(a)})})}_valueChanged(e){var a;if(!this.new&&!this._item)return;e.stopPropagation();const t=e.target.configValue,o=(null===(a=e.detail)||void 0===a?void 0:a.value)||e.target.value;if(this[`_${t}`]===o)return;const i=Object.assign({},this._item);o?i[t]=o:delete i[t],(0,n.r)(this,"value-changed",{value:i})}static get styles(){return[d.RF,(0,r.AH)(p||(p=g`.form{color:var(--primary-text-color)}.row{padding:var(--ha-space-4) 0}ha-input{margin:var(--ha-space-2) 0}ha-radio-group{margin-top:var(--ha-space-5)}`))]}constructor(...e){super(...e),this.new=!1,this.disabled=!1}}(0,i.Cg)([(0,s.MZ)({attribute:!1})],v.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],v.prototype,"new",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],v.prototype,"disabled",void 0),(0,i.Cg)([(0,s.wk)()],v.prototype,"_name",void 0),(0,i.Cg)([(0,s.wk)()],v.prototype,"_icon",void 0),(0,i.Cg)([(0,s.wk)()],v.prototype,"_mode",void 0),(0,i.Cg)([(0,s.P)("[dialogInitialFocus]")],v.prototype,"_focusElement",void 0),v=(0,i.Cg)([(0,s.EM)("ha-input_datetime-form")],v),o()}catch(u){o(u)}})},49546:function(e,a,t){t.d(a,{Y:function(){return o}});t(44114);const o=(e={})=>{let{validationElement:a,validationProperty:t}=e;a||(a=Object.assign(document.createElement("input"),{required:!0})),t||(t="value");const o={observedAttributes:["required"],message:a.validationMessage,checkValidity(e){var a;const i={message:"",isValid:!0,invalidKeys:[]};if(!(null!==(a=e.required)&&void 0!==a?a:e.hasAttribute("required")))return i;return!e[t]&&(i.message="function"==typeof o.message?o.message(e):o.message||"",i.isValid=!1,i.invalidKeys.push("valueMissing")),i}};return o}}}]);