UNPKG

iobroker.lovelace

Version:

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

3 lines 38.4 kB
/*! For license information please see 81119.ea7d9f074d7e0609.js.LICENSE.txt */ export const __webpack_ids__=["81119"];export const __webpack_modules__={83456:function(e,t,i){var n=i(44249),a=i(92444),o=i(76688),d=i(57243),s=i(15093);(0,n.Z)([(0,s.Mo)("ha-checkbox")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",static:!0,key:"styles",value:()=>[o.W,d.iv`:host{--mdc-theme-secondary:var(--primary-color)}`]}]}}),a.A)},53013:function(e,t,i){var n=i(44249),a=i(72621),o=(i(9359),i(56475),i(70104),i(48136),i(57243)),d=i(15093),s=i(94886),r=i.n(s),l=i(36522),c=(i(75656),i(50100),i(18084),i(75351));let h;const u=new(i(80262).L)(1e3),p={reType:/(?<input>(\[!(?<type>caution|important|note|tip|warning)\])(?:\s|\\n)?)/i,typeToHaAlert:{caution:"error",important:"info",note:"info",tip:"success",warning:"warning"}};(0,n.Z)([(0,d.Mo)("ha-markdown-element")],(function(e,t){class n extends t{constructor(...t){super(...t),e(this)}}return{F:n,d:[{kind:"field",decorators:[(0,d.Cb)()],key:"content",value:void 0},{kind:"field",decorators:[(0,d.Cb)({attribute:"allow-svg",type:Boolean})],key:"allowSvg",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"breaks",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,attribute:"lazy-images"})],key:"lazyImages",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"cache",value:()=>!1},{kind:"method",key:"disconnectedCallback",value:function(){if((0,a.Z)(n,"disconnectedCallback",this,3)([]),this.cache){const e=this._computeCacheKey();u.set(e,this.innerHTML)}}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"update",value:function(e){(0,a.Z)(n,"update",this,3)([e]),void 0!==this.content&&this._render()}},{kind:"method",key:"willUpdate",value:function(e){if(!this.innerHTML&&this.cache){const e=this._computeCacheKey();u.has(e)&&(this.innerHTML=u.get(e),this._resize())}}},{kind:"method",key:"_computeCacheKey",value:function(){return r()({content:this.content,allowSvg:this.allowSvg,breaks:this.breaks})}},{kind:"method",key:"_render",value:async function(){this.innerHTML=await(async(e,t,n)=>(h||(h=(0,c.Ud)(new Worker(new URL(i.p+i.u("45845"),i.b)))),h.renderMarkdown(e,t,n)))(String(this.content),{breaks:this.breaks,gfm:!0},{allowSvg:this.allowSvg}),this._resize();const e=document.createTreeWalker(this,NodeFilter.SHOW_ELEMENT,null);for(;e.nextNode();){const t=e.currentNode;if(t instanceof HTMLAnchorElement&&t.host!==document.location.host)t.target="_blank",t.rel="noreferrer noopener";else if(t instanceof HTMLImageElement)this.lazyImages&&(t.loading="lazy"),t.addEventListener("load",this._resize);else if(t instanceof HTMLQuoteElement){const i=t.firstElementChild?.firstChild?.textContent&&p.reType.exec(t.firstElementChild.firstChild.textContent);if(i){const{type:n}=i.groups,a=document.createElement("ha-alert");a.alertType=p.typeToHaAlert[n.toLowerCase()],a.append(...Array.from(t.childNodes).map((e=>{const t=Array.from(e.childNodes);if(!this.breaks&&t.length){const e=t[0];e.nodeType===Node.TEXT_NODE&&e.textContent===i.input&&e.textContent?.includes("\n")&&(e.textContent=e.textContent.split("\n").slice(1).join("\n"))}return t})).reduce(((e,t)=>e.concat(t)),[]).filter((e=>e.textContent&&e.textContent!==i.input))),e.parentNode().replaceChild(a,t)}}else t instanceof HTMLElement&&["ha-alert","ha-qr-code","ha-icon","ha-svg-icon"].includes(t.localName)&&i(23265)(`./${t.localName}`)}}},{kind:"field",key:"_resize",value(){return()=>(0,l.B)(this,"content-resize")}}]}}),o.fl)},92824:function(e,t,i){var n=i(44249),a=i(72621),o=i(60930),d=i(9714),s=i(57243),r=i(15093),l=i(22381),c=i(76320);i(23334);(0,n.Z)([(0,r.Mo)("ha-select")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"icon",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean,reflect:!0})],key:"clearable",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({attribute:"inline-arrow",type:Boolean})],key:"inlineArrow",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)()],key:"options",value:void 0},{kind:"method",key:"render",value:function(){return s.dy` ${(0,a.Z)(i,"render",this,3)([])} ${this.clearable&&!this.required&&!this.disabled&&this.value?s.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>`:s.Ld} `}},{kind:"method",key:"renderLeadingIcon",value:function(){return this.icon?s.dy`<span class="mdc-select__icon"><slot name="icon"></slot></span>`:s.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,l.D)((async()=>{await(0,c.y)(),this.layoutOptions()}),500)}},{kind:"field",static:!0,key:"styles",value:()=>[d.W,s.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}`]}]}}),o.K)},62801:function(e,t,i){var n=i(44249),a=i(72621),o=(i(9359),i(56475),i(22139),i(57243)),d=i(15093),s=i(36522);(0,n.Z)([(0,d.Mo)("ha-sortable")],(function(e,t){class n extends t{constructor(...t){super(...t),e(this)}}return{F:n,d:[{kind:"field",key:"_sortable",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"disabled",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,attribute:"no-style"})],key:"noStyle",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({type:String,attribute:"draggable-selector"})],key:"draggableSelector",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:String,attribute:"handle-selector"})],key:"handleSelector",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:String,attribute:"filter"})],key:"filter",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:String})],key:"group",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean,attribute:"invert-swap"})],key:"invertSwap",value:()=>!1},{kind:"field",decorators:[(0,d.Cb)({attribute:!1})],key:"options",value:void 0},{kind:"field",decorators:[(0,d.Cb)({type:Boolean})],key:"rollback",value:()=>!0},{kind:"method",key:"updated",value:function(e){e.has("disabled")&&(this.disabled?this._destroySortable():this._createSortable())}},{kind:"field",key:"_shouldBeDestroy",value:()=>!1},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(n,"disconnectedCallback",this,3)([]),this._shouldBeDestroy=!0,setTimeout((()=>{this._shouldBeDestroy&&(this._destroySortable(),this._shouldBeDestroy=!1)}),1)}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(n,"connectedCallback",this,3)([]),this._shouldBeDestroy=!1,this.hasUpdated&&!this.disabled&&this._createSortable()}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"render",value:function(){return this.noStyle?o.Ld:o.dy` <style>.sortable-fallback{display:none!important}.sortable-ghost{box-shadow:0 0 0 2px var(--primary-color);background:rgba(var(--rgb-primary-color),.25);border-radius:4px;opacity:.4}.sortable-drag{border-radius:4px;opacity:1;background:var(--card-background-color);box-shadow:0px 4px 8px 3px #00000026;cursor:grabbing}</style> `}},{kind:"method",key:"_createSortable",value:async function(){if(this._sortable)return;const e=this.children[0];if(!e)return;const t=(await Promise.all([i.e("34153"),i.e("467")]).then(i.bind(i,59807))).default,n={scroll:!0,forceAutoScrollFallback:!0,scrollSpeed:20,animation:150,...this.options,onChoose:this._handleChoose,onStart:this._handleStart,onEnd:this._handleEnd,onUpdate:this._handleUpdate,onAdd:this._handleAdd,onRemove:this._handleRemove};this.draggableSelector&&(n.draggable=this.draggableSelector),this.handleSelector&&(n.handle=this.handleSelector),void 0!==this.invertSwap&&(n.invertSwap=this.invertSwap),this.group&&(n.group=this.group),this.filter&&(n.filter=this.filter),this._sortable=new t(e,n)}},{kind:"field",key:"_handleUpdate",value(){return e=>{(0,s.B)(this,"item-moved",{newIndex:e.newIndex,oldIndex:e.oldIndex})}}},{kind:"field",key:"_handleAdd",value(){return e=>{(0,s.B)(this,"item-added",{index:e.newIndex,data:e.item.sortableData})}}},{kind:"field",key:"_handleRemove",value(){return e=>{(0,s.B)(this,"item-removed",{index:e.oldIndex})}}},{kind:"field",key:"_handleEnd",value(){return async e=>{(0,s.B)(this,"drag-end"),this.rollback&&e.item.placeholder&&(e.item.placeholder.replaceWith(e.item),delete e.item.placeholder)}}},{kind:"field",key:"_handleStart",value(){return()=>{(0,s.B)(this,"drag-start")}}},{kind:"field",key:"_handleChoose",value(){return e=>{this.rollback&&(e.item.placeholder=document.createComment("sort-placeholder"),e.item.after(e.item.placeholder))}}},{kind:"method",key:"_destroySortable",value:function(){this._sortable&&(this._sortable.destroy(),this._sortable=void 0)}}]}}),o.oi)},83166:function(e,t,i){var n=i(44249),a=i(72621),o=i(1105),d=i(33990),s=i(57243),r=i(15093),l=i(5111);(0,n.Z)([(0,r.Mo)("ha-textfield")],(function(e,t){class i extends t{constructor(...t){super(...t),e(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"invalid",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:"error-message"})],key:"errorMessage",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"icon",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"iconTrailing",value:()=>!1},{kind:"field",decorators:[(0,r.Cb)()],key:"autocomplete",value:void 0},{kind:"field",decorators:[(0,r.Cb)()],key:"autocorrect",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:"input-spellcheck"})],key:"inputSpellcheck",value:void 0},{kind:"field",decorators:[(0,r.IO)("input")],key:"formElement",value:void 0},{kind:"method",key:"updated",value:function(e){(0,a.Z)(i,"updated",this,3)([e]),(e.has("invalid")||e.has("errorMessage"))&&(this.setCustomValidity(this.invalid?this.errorMessage||this.validationMessage||"Invalid":""),(this.invalid||this.validateOnInitialRender||e.has("invalid")&&void 0!==e.get("invalid"))&&this.reportValidity()),e.has("autocomplete")&&(this.autocomplete?this.formElement.setAttribute("autocomplete",this.autocomplete):this.formElement.removeAttribute("autocomplete")),e.has("autocorrect")&&(this.autocorrect?this.formElement.setAttribute("autocorrect",this.autocorrect):this.formElement.removeAttribute("autocorrect")),e.has("inputSpellcheck")&&(this.inputSpellcheck?this.formElement.setAttribute("spellcheck",this.inputSpellcheck):this.formElement.removeAttribute("spellcheck"))}},{kind:"method",key:"renderIcon",value:function(e,t=!1){const i=t?"trailing":"leading";return s.dy` <span class="mdc-text-field__icon mdc-text-field__icon--${i}" tabindex="${t?1:-1}"> <slot name="${i}Icon"></slot> </span> `}},{kind:"field",static:!0,key:"styles",value:()=>[d.W,s.iv`.mdc-text-field__input{width:var(--ha-textfield-input-width,100%)}.mdc-text-field:not(.mdc-text-field--with-leading-icon){padding:var(--text-field-padding,0px 16px)}.mdc-text-field__affix--suffix{padding-left:var(--text-field-suffix-padding-left,12px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,12px);padding-inline-end:var(--text-field-suffix-padding-right,0px);direction:ltr}.mdc-text-field--with-leading-icon{padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,16px);direction:var(--direction)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:var(--text-field-suffix-padding-left,0px);padding-right:var(--text-field-suffix-padding-right,0px);padding-inline-start:var(--text-field-suffix-padding-left,0px);padding-inline-end:var(--text-field-suffix-padding-right,0px)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix{color:var(--secondary-text-color)}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__icon{color:var(--secondary-text-color)}.mdc-text-field__icon--leading{margin-inline-start:16px;margin-inline-end:8px;direction:var(--direction)}.mdc-text-field__icon--trailing{padding:var(--textfield-icon-trailing-padding,12px)}.mdc-floating-label:not(.mdc-floating-label--float-above){text-overflow:ellipsis;width:inherit;padding-right:30px;padding-inline-end:30px;padding-inline-start:initial;box-sizing:border-box;direction:var(--direction)}input{text-align:var(--text-field-text-align,start)}input[type=color]{height:20px}::-ms-reveal{display:none}:host([no-spinner]) input::-webkit-inner-spin-button,:host([no-spinner]) input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=color]::-webkit-color-swatch-wrapper{padding:0}:host([no-spinner]) input[type=number]{-moz-appearance:textfield}.mdc-text-field__ripple{overflow:hidden}.mdc-text-field{overflow:var(--text-field-overflow)}.mdc-floating-label{inset-inline-start:16px!important;inset-inline-end:initial!important;transform-origin:var(--float-start);direction:var(--direction);text-align:var(--float-start)}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px - var(--text-field-suffix-padding-left,0px));inset-inline-start:calc(48px + var(--text-field-suffix-padding-left,0px))!important;inset-inline-end:initial!important;direction:var(--direction)}.mdc-text-field__input[type=number]{direction:var(--direction)}.mdc-text-field__affix--prefix{padding-right:var(--text-field-prefix-padding-right,2px);padding-inline-end:var(--text-field-prefix-padding-right,2px);padding-inline-start:initial}.mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--prefix{color:var(--mdc-text-field-label-ink-color)}#helper-text ha-markdown{display:inline-block}`,"rtl"===l.E.document.dir?s.iv`.mdc-floating-label,.mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field__icon--leading,.mdc-text-field__input[type=number]{direction:rtl;--direction:rtl}`:s.iv``]}]}}),o.P)},95276:function(e,t,i){i.d(t,{$G:()=>u,$g:()=>l,CV:()=>m,He:()=>h,LO:()=>r,cA:()=>c,fC:()=>p,uo:()=>f,wL:()=>s});i(9359),i(56475),i(70104);var n=i(73850),a=i(47194),o=i(96194),d=i(1416);let s=function(e){return e.NeedsAction="needs_action",e.Completed="completed",e}({}),r=function(e){return e.NONE="none",e.ALPHA_ASC="alpha_asc",e.ALPHA_DESC="alpha_desc",e.DUEDATE_ASC="duedate_asc",e.DUEDATE_DESC="duedate_desc",e}({}),l=function(e){return e[e.CREATE_TODO_ITEM=1]="CREATE_TODO_ITEM",e[e.DELETE_TODO_ITEM=2]="DELETE_TODO_ITEM",e[e.UPDATE_TODO_ITEM=4]="UPDATE_TODO_ITEM",e[e.MOVE_TODO_ITEM=8]="MOVE_TODO_ITEM",e[e.SET_DUE_DATE_ON_ITEM=16]="SET_DUE_DATE_ON_ITEM",e[e.SET_DUE_DATETIME_ON_ITEM=32]="SET_DUE_DATETIME_ON_ITEM",e[e.SET_DESCRIPTION_ON_ITEM=64]="SET_DESCRIPTION_ON_ITEM",e}({});const c=e=>Object.keys(e.states).filter((t=>"todo"===(0,n.M)(t)&&!(0,o.rk)(e.states[t].state))).map((t=>({...e.states[t],entity_id:t,name:(0,a.C)(e.states[t])}))).sort(((t,i)=>(0,d.$K)(t.name,i.name,e.locale.language))),h=(e,t,i)=>e.connection.subscribeMessage(i,{type:"todo/item/subscribe",entity_id:t}),u=(e,t,i)=>e.callService("todo","update_item",{item:i.uid,rename:i.summary,status:i.status,description:i.description,due_datetime:i.due?.includes("T")?i.due:void 0,due_date:void 0===i.due||i.due?.includes("T")?void 0:i.due},{entity_id:t}),p=(e,t,i)=>e.callService("todo","add_item",{item:i.summary,description:i.description||void 0,due_datetime:i.due?.includes("T")?i.due:void 0,due_date:void 0===i.due||i.due?.includes("T")?void 0:i.due},{entity_id:t}),m=(e,t,i)=>e.callService("todo","remove_item",{item:i},{entity_id:t}),f=(e,t,i,n)=>e.callWS({type:"todo/item/move",entity_id:t,uid:i,previous_uid:n})},33841:function(e,t,i){i.a(e,(async function(e,n){try{i.r(t),i.d(t,{HuiTodoListCard:()=>$});var a=i(44249),o=i(72621),d=(i(84283),i(9359),i(56475),i(1331),i(70104),i(2060),i(96500)),s=i(97836),r=i(57243),l=i(15093),c=i(35359),h=i(91583),u=i(27486),p=i(82393),m=i(75278),f=i(49976),g=i(1416),v=(i(54977),i(48103),i(83456),i(23334),i(7285),i(53013),i(95975)),_=(i(92824),i(62801),i(37583),i(83166),i(96194)),y=i(95276),k=i(76131),b=i(4026),x=i(69223),w=i(62577),E=e([v]);v=(E.then?(await E)():E)[0];const I="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z",C="M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z",T="M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z",L="M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z",M="M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z",S="M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",A="M18 21L14 17H17V7H14L18 3L22 7H19V17H22M2 19V17H12V19M2 13V11H9V13M2 7V5H6V7H2Z";let $=(0,a.Z)([(0,l.Mo)("hui-todo-list-card")],(function(e,t){class n extends t{constructor(...t){super(...t),e(this)}}return{F:n,d:[{kind:"method",static:!0,key:"getConfigElement",value:async function(){return await i.e("53867").then(i.bind(i,96978)),document.createElement("hui-todo-list-card-editor")}},{kind:"method",static:!0,key:"getStubConfig",value:function(e,t,i){return{type:"todo-list",entity:(0,x.j)(e,1,t,i,["todo"])[0]||""}}},{kind:"field",decorators:[(0,l.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_entityId",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_items",value:void 0},{kind:"field",decorators:[(0,l.SB)()],key:"_reordering",value:()=>!1},{kind:"field",key:"_unsubItems",value:void 0},{kind:"method",key:"connectedCallback",value:function(){(0,o.Z)(n,"connectedCallback",this,3)([]),this.hasUpdated&&this._subscribeItems()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,o.Z)(n,"disconnectedCallback",this,3)([]),this._unsubItems?.then((e=>e())),this._unsubItems=void 0}},{kind:"method",key:"getCardSize",value:function(){return 3+(this._config&&this._config.title?2:0)}},{kind:"method",key:"setConfig",value:function(e){this.checkConfig(e),this._config=e,this._entityId=e.entity}},{kind:"method",key:"checkConfig",value:function(e){if(!e.entity||"todo"!==e.entity.split(".")[0])throw new Error("Specify an entity from within the todo domain")}},{kind:"method",key:"getEntityId",value:function(){}},{kind:"method",key:"_sortItems",value:function(e,t){if(t===y.LO.ALPHA_ASC||t===y.LO.ALPHA_DESC){const i=t===y.LO.ALPHA_ASC?1:-1;return e.sort(((e,t)=>i*(0,g.fe)(e.summary,t.summary,this.hass?.locale.language)))}if(t===y.LO.DUEDATE_ASC||t===y.LO.DUEDATE_DESC){const i=t===y.LO.DUEDATE_ASC?1:-1;return e.sort(((e,t)=>{const n=this._getDueDate(e)??1/0,a=this._getDueDate(t)??1/0;return n===a?0:n<a?-i:i}))}return e}},{kind:"field",key:"_getCheckedItems",value(){return(0,u.Z)(((e,t)=>e?this._sortItems(e.filter((e=>e.status===y.wL.Completed)),t):[]))}},{kind:"field",key:"_getUncheckedItems",value(){return(0,u.Z)(((e,t)=>e?this._sortItems(e.filter((e=>e.status===y.wL.NeedsAction)),t):[]))}},{kind:"method",key:"willUpdate",value:function(e){this.hasUpdated?!e.has("_entityId")&&this._items||(this._items=void 0,this._subscribeItems()):(this._entityId||(this._entityId=this.getEntityId()),this._subscribeItems())}},{kind:"method",key:"updated",value:function(e){if((0,o.Z)(n,"updated",this,3)([e]),!this._config||!this.hass)return;const t=e.get("hass"),i=e.get("_config");(e.has("hass")&&t?.themes!==this.hass.themes||e.has("_config")&&i?.theme!==this._config.theme)&&(0,p.R)(this,this.hass.themes,this._config.theme)}},{kind:"method",key:"render",value:function(){if(!this._config||!this.hass||!this._entityId)return r.Ld;const e=this.hass.states[this._entityId];if(!e)return r.dy` <hui-warning> ${(0,w.i)(this.hass,this._entityId)} </hui-warning> `;const t=(0,_.rk)(e.state),i=this._getCheckedItems(this._items,this._config.display_order),n=this._getUncheckedItems(this._items,this._config.display_order);return r.dy` <ha-card .header="${this._config.title}" class="${(0,c.$)({"has-header":"title"in this._config})}"> ${!this._config.hide_create&&this._todoListSupportsFeature(y.$g.CREATE_TODO_ITEM)?r.dy` <div class="addRow"> <ha-textfield class="addBox" .placeholder="${this.hass.localize("ui.panel.lovelace.cards.todo-list.add_item")}" @keydown="${this._addKeyPress}" .disabled="${t}"></ha-textfield> <ha-icon-button class="addButton" .path="${S}" .title="${this.hass.localize("ui.panel.lovelace.cards.todo-list.add_item")}" .disabled="${t}" @click="${this._addItem}"> </ha-icon-button> </div> `:r.Ld} <ha-sortable handle-selector="ha-svg-icon" draggable-selector=".draggable" .disabled="${!this._reordering}" @item-moved="${this._itemMoved}"> <mwc-list wrapFocus multi> ${n.length?r.dy` <div class="header" role="seperator"> <h2> ${this.hass.localize("ui.panel.lovelace.cards.todo-list.unchecked_items")} </h2> ${this._config.display_order&&this._config.display_order!==y.LO.NONE||!this._todoListSupportsFeature(y.$g.MOVE_TODO_ITEM)?r.Ld:r.dy`<ha-button-menu @closed="${f.U}" fixed @action="${this._handlePrimaryMenuAction}"> <ha-icon-button slot="trigger" .path="${L}"></ha-icon-button> <ha-list-item graphic="icon"> ${this.hass.localize(this._reordering?"ui.panel.lovelace.cards.todo-list.exit_reorder_items":"ui.panel.lovelace.cards.todo-list.reorder_items")} <ha-svg-icon slot="graphic" .path="${A}" .disabled="${t}"> </ha-svg-icon> </ha-list-item> </ha-button-menu>`} </div> ${this._renderItems(n,t)} `:r.dy`<p class="empty"> ${this.hass.localize("ui.panel.lovelace.cards.todo-list.no_unchecked_items")} </p>`} ${!this._config.hide_completed&&i.length?r.dy` <div role="separator"> <div class="divider"></div> <div class="header"> <h2> ${this.hass.localize("ui.panel.lovelace.cards.todo-list.checked_items")} </h2> ${this._todoListSupportsFeature(y.$g.DELETE_TODO_ITEM)?r.dy`<ha-button-menu @closed="${f.U}" fixed @action="${this._handleCompletedMenuAction}"> <ha-icon-button slot="trigger" .path="${L}"></ha-icon-button> <ha-list-item graphic="icon" class="warning"> ${this.hass.localize("ui.panel.lovelace.cards.todo-list.clear_items")} <ha-svg-icon class="warning" slot="graphic" .path="${T}" .disabled="${t}"> </ha-svg-icon> </ha-list-item> </ha-button-menu>`:r.Ld} </div> </div> ${this._renderItems(i,t)} `:""} </mwc-list> </ha-sortable> </ha-card> `}},{kind:"method",key:"_getDueDate",value:function(e){return e.due?e.due.includes("T")?new Date(e.due):(0,d.i)(new Date(`${e.due}T00:00:00`)):void 0}},{kind:"method",key:"_renderItems",value:function(e,t=!1){return r.dy` ${(0,h.r)(e,(e=>e.uid),(e=>{const i=this._todoListSupportsFeature(y.$g.DELETE_TODO_ITEM)&&!this._todoListSupportsFeature(y.$g.UPDATE_TODO_ITEM),n=e.status!==y.wL.Completed&&this._reordering,a=this._getDueDate(e),o=a&&!e.due.includes("T")&&(0,s.K)(new Date,a);return r.dy` <ha-check-list-item left .hasMeta="${n||i}" class="editRow ${(0,c.$)({draggable:e.status===y.wL.NeedsAction,completed:e.status===y.wL.Completed,multiline:Boolean(e.description||e.due)})}" .selected="${e.status===y.wL.Completed}" .disabled="${t||!this._todoListSupportsFeature(y.$g.UPDATE_TODO_ITEM)}" item-id="${e.uid}" .itemId="${e.uid}" @change="${this._completeItem}" @click="${this._openItem}" @request-selected="${this._requestSelected}" @keydown="${this._handleKeydown}"> <div class="column"> <span class="summary">${e.summary}</span> ${e.description?r.dy`<ha-markdown-element class="description" .content="${e.description}"></ha-markdown-element>`:r.Ld} ${a?r.dy`<div class="due ${a<new Date?"overdue":""}"> <ha-svg-icon .path="${I}"></ha-svg-icon>${o?this.hass.localize("ui.panel.lovelace.cards.todo-list.today"):r.dy`<ha-relative-time capitalize .hass="${this.hass}" .datetime="${a}"></ha-relative-time>`} </div>`:r.Ld} </div> ${n?r.dy` <ha-svg-icon .title="${this.hass.localize("ui.panel.lovelace.cards.todo-list.drag_and_drop")}" class="reorderButton handle" .path="${M}" slot="meta"> </ha-svg-icon> `:i?r.dy`<ha-icon-button .title="${this.hass.localize("ui.panel.lovelace.cards.todo-list.delete_item")}" class="deleteItemButton" .path="${C}" .itemId="${e.uid}" slot="meta" @click="${this._deleteItem}"> </ha-icon-button>`:r.Ld} </ha-check-list-item> `}))} `}},{kind:"method",key:"_todoListSupportsFeature",value:function(e){const t=this.hass.states[this._entityId];return t&&(0,m.e)(t,e)}},{kind:"method",key:"_subscribeItems",value:async function(){this._unsubItems&&(this._unsubItems.then((e=>e())),this._unsubItems=void 0),this.hass&&this._entityId&&this._entityId in this.hass.states&&(this._unsubItems=(0,y.He)(this.hass,this._entityId,(e=>{this._items=e.items})))}},{kind:"method",key:"_getItem",value:function(e){return this._items?.find((t=>t.uid===e))}},{kind:"method",key:"_requestSelected",value:function(e){e.stopPropagation()}},{kind:"method",key:"_handleKeydown",value:function(e){" "!==e.key?"Enter"===e.key&&this._openItem(e):this._completeItem(e)}},{kind:"method",key:"_openItem",value:function(e){if(e.stopPropagation(),e.composedPath().find((e=>["input","a","button"].includes(e.localName))))return;const t=this._getItem(e.currentTarget.itemId);(0,b.B)(this,{entity:this._entityId,item:t})}},{kind:"method",key:"_completeItem",value:async function(e){let t,i;"keydown"===e.type&&(i=this.renderRoot.querySelector("mwc-list"),t=i.getFocusedItemIndex());const n=this._getItem(e.currentTarget.itemId);n&&(await(0,y.$G)(this.hass,this._entityId,{uid:n.uid,summary:n.summary,status:n.status===y.wL.NeedsAction?y.wL.Completed:y.wL.NeedsAction}),void 0!==t&&i&&(await this.updateComplete,await i.updateComplete,i.focusItemAtIndex(t)))}},{kind:"method",key:"_handleCompletedMenuAction",value:function(e){if(0===e.detail.index)this._clearCompletedItems()}},{kind:"method",key:"_clearCompletedItems",value:function(){if(!this.hass)return;const e=this._getCheckedItems(this._items).map((e=>e.uid));(0,k.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.lovelace.cards.todo-list.delete_confirm_title"),text:this.hass.localize("ui.panel.lovelace.cards.todo-list.delete_confirm_text",{number:e.length}),dismissText:this.hass.localize("ui.common.cancel"),confirmText:this.hass.localize("ui.common.delete"),destructive:!0,confirm:()=>{(0,y.CV)(this.hass,this._entityId,e)}})}},{kind:"get",key:"_newItem",value:function(){return this.shadowRoot.querySelector(".addBox")}},{kind:"method",key:"_addItem",value:function(e){const t=this._newItem;t.value.length>0&&(0,y.fC)(this.hass,this._entityId,{summary:t.value}),t.value="",e&&t.focus()}},{kind:"method",key:"_deleteItem",value:function(e){const t=this._getItem(e.target.itemId);t&&(0,y.CV)(this.hass,this._entityId,[t.uid])}},{kind:"method",key:"_addKeyPress",value:function(e){"Enter"===e.key&&this._addItem(null)}},{kind:"method",key:"_handlePrimaryMenuAction",value:function(e){if(0===e.detail.index)this._toggleReorder()}},{kind:"method",key:"_toggleReorder",value:function(){this._reordering=!this._reordering}},{kind:"method",key:"_itemMoved",value:async function(e){e.stopPropagation();const{oldIndex:t,newIndex:i}=e.detail;this._moveItem(t,i)}},{kind:"method",key:"_moveItem",value:async function(e,t){e-=1,t-=1;const i=this._getUncheckedItems(this._items),n=i[e];let a;t>0&&(a=t<e?i[t-1]:i[t]);const o=this._items.findIndex((e=>e.uid===n.uid));if(this._items.splice(o,1),0===t)this._items.unshift(n);else{const e=this._items.findIndex((e=>e.uid===a.uid));this._items.splice(e+1,0,n)}this._items=[...this._items],await(0,y.uo)(this.hass,this._entityId,n.uid,a?.uid)}},{kind:"field",static:!0,key:"styles",value:()=>r.iv`ha-card{height:100%;box-sizing:border-box;overflow-y:auto}.has-header{padding-top:0}.addRow{padding:16px;padding-bottom:0;position:relative}.addRow ha-icon-button{position:absolute;right:16px;inset-inline-start:initial;inset-inline-end:16px}.addRow,.header{display:flex;flex-direction:row;align-items:center}.header{padding-left:30px;padding-right:16px;padding-inline-start:30px;padding-inline-end:16px;margin-top:8px;justify-content:space-between;direction:var(--direction)}.header h2{color:var(--primary-text-color);font-size:inherit;font-weight:500}.empty{padding:16px 32px;display:inline-block}.item{margin-top:8px}ha-check-list-item{--mdc-list-item-meta-size:56px;min-height:56px;height:auto}ha-check-list-item.multiline{align-items:flex-start;--check-list-item-graphic-margin-top:8px}.row{display:flex;justify-content:space-between}.multiline .column{display:flex;flex-direction:column;margin-top:18px;margin-bottom:12px}.completed .summary{text-decoration:line-through}.description,.due{font-size:12px;color:var(--secondary-text-color)}.description{white-space:initial;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.description p{margin:0}.description a{color:var(--primary-color)}.due{display:flex;align-items:center}.due ha-svg-icon{margin-right:4px;margin-inline-end:4px;margin-inline-start:initial;--mdc-icon-size:14px}.due.overdue{color:var(--warning-color)}.completed .due.overdue{color:var(--secondary-text-color)}.handle{cursor:move;cursor:grab;height:24px;padding:16px 4px}.deleteItemButton{position:relative;left:8px;inset-inline-start:8px;inset-inline-end:initial}ha-textfield{flex-grow:1}.divider{height:1px;background-color:var(--divider-color);margin:10px 0}.clearall{cursor:pointer}.todoList{display:block;padding:8px}.warning{color:var(--error-color)}`}]}}),r.oi);n()}catch(e){n(e)}}))},4026:function(e,t,i){i.d(t,{B:()=>o});var n=i(36522);const a=()=>Promise.all([i.e("46379"),i.e("97983"),i.e("41258"),i.e("3134"),i.e("28612"),i.e("58640"),i.e("3561"),i.e("68069")]).then(i.bind(i,54712)),o=(e,t)=>{(0,n.B)(e,"show-dialog",{dialogTag:"dialog-todo-item-editor",dialogImport:a,dialogParams:t})}},80262:function(e,t,i){i.d(t,{L:()=>n});class n{constructor(e){this._expiration=void 0,this._cache=new Map,this._expiration=e}get(e){return this._cache.get(e)}set(e,t){this._cache.set(e,t),this._expiration&&window.setTimeout((()=>this._cache.delete(e)),this._expiration)}has(e){return this._cache.has(e)}}},23265:function(e,t,i){var n={"./ha-icon":["65981","97406"],"./ha-icon-button-toggle":["79505","80175"],"./ha-svg-icon":["37583"],"./ha-icon-button-group":["45747","97792"],"./ha-svg-icon.ts":["37583"],"./ha-icon.ts":["65981","97406"],"./ha-icon-overflow-menu":["59959","91552","78456","56898","99287","35252"],"./ha-icon-next":["13928","99172"],"./ha-icon-picker":["21393","46379","66031","24199","27506","97077"],"./ha-qr-code.ts":["50634","53750","70472"],"./ha-icon-button-arrow-prev.ts":["54202","41069"],"./ha-icon-button-arrow-prev":["54202","41069"],"./ha-icon-overflow-menu.ts":["59959","91552","78456","56898","99287","35252"],"./ha-alert":["99426","4809"],"./ha-icon-button-next":["4635","51577"],"./ha-icon-button":["23334"],"./ha-icon-button-next.ts":["4635","51577"],"./ha-icon-picker.ts":["21393","46379","66031","24199","27506","97077"],"./ha-icon-button-group.ts":["45747","97792"],"./ha-icon-button-toggle.ts":["79505","80175"],"./ha-icon-button-arrow-next.ts":["54237","21559"],"./ha-icon-button-prev.ts":["5828","43537"],"./ha-icon-prev":["95499","87557"],"./ha-icon-prev.ts":["95499","87557"],"./ha-icon-button.ts":["23334"],"./ha-alert.ts":["99426","4809"],"./ha-icon-button-prev":["5828","43537"],"./ha-qr-code":["50634","53750","70472"],"./ha-icon-next.ts":["13928","99172"],"./ha-icon-button-arrow-next":["54237","21559"]};function a(e){if(!i.o(n,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],a=t[0];return Promise.all(t.slice(1).map(i.e)).then((function(){return i(a)}))}a.keys=()=>Object.keys(n),a.id=23265,e.exports=a},75351:function(e,t,i){i.d(t,{Ud:()=>u});i(9359),i(70104),i(48136);const n=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),o=Symbol("Comlink.releaseProxy"),d=Symbol("Comlink.finalizer"),s=Symbol("Comlink.thrown"),r=e=>"object"==typeof e&&null!==e||"function"==typeof e,l=new Map([["proxy",{canHandle:e=>r(e)&&e[n],serialize(e){const{port1:t,port2:i}=new MessageChannel;return c(e,t),[i,[i]]},deserialize:e=>(e.start(),u(e))}],["throw",{canHandle:e=>r(e)&&s in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function c(e,t=globalThis,i=["*"]){t.addEventListener("message",(function a(o){if(!o||!o.data)return;if(!function(e,t){for(const i of e){if(t===i||"*"===i)return!0;if(i instanceof RegExp&&i.test(t))return!0}return!1}(i,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:r,type:l,path:u}=Object.assign({path:[]},o.data),p=(o.data.argumentList||[]).map(b);let m;try{const t=u.slice(0,-1).reduce(((e,t)=>e[t]),e),i=u.reduce(((e,t)=>e[t]),e);switch(l){case"GET":m=i;break;case"SET":t[u.slice(-1)[0]]=b(o.data.value),m=!0;break;case"APPLY":m=i.apply(t,p);break;case"CONSTRUCT":m=function(e){return Object.assign(e,{[n]:!0})}(new i(...p));break;case"ENDPOINT":{const{port1:t,port2:i}=new MessageChannel;c(e,i),m=function(e,t){return y.set(e,t),e}(t,[t])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[s]:0}}Promise.resolve(m).catch((e=>({value:e,[s]:0}))).then((i=>{const[n,o]=k(i);t.postMessage(Object.assign(Object.assign({},n),{id:r}),o),"RELEASE"===l&&(t.removeEventListener("message",a),h(t),d in e&&"function"==typeof e[d]&&e[d]())})).catch((e=>{const[i,n]=k({value:new TypeError("Unserializable return value"),[s]:0});t.postMessage(Object.assign(Object.assign({},i),{id:r}),n)}))})),t.start&&t.start()}function h(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function u(e,t){const i=new Map;return e.addEventListener("message",(function(e){const{data:t}=e;if(!t||!t.id)return;const n=i.get(t.id);if(n)try{n(t)}finally{i.delete(t.id)}})),v(e,i,[],t)}function p(e){if(e)throw new Error("Proxy has been released and is not useable")}function m(e){return x(e,new Map,{type:"RELEASE"}).then((()=>{h(e)}))}const f=new WeakMap,g="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(f.get(e)||0)-1;f.set(e,t),0===t&&m(e)}));function v(e,t,i=[],n=function(){}){let d=!1;const s=new Proxy(n,{get(n,a){if(p(d),a===o)return()=>{!function(e){g&&g.unregister(e)}(s),m(e),t.clear(),d=!0};if("then"===a){if(0===i.length)return{then:()=>s};const n=x(e,t,{type:"GET",path:i.map((e=>e.toString()))}).then(b);return n.then.bind(n)}return v(e,t,[...i,a])},set(n,a,o){p(d);const[s,r]=k(o);return x(e,t,{type:"SET",path:[...i,a].map((e=>e.toString())),value:s},r).then(b)},apply(n,o,s){p(d);const r=i[i.length-1];if(r===a)return x(e,t,{type:"ENDPOINT"}).then(b);if("bind"===r)return v(e,t,i.slice(0,-1));const[l,c]=_(s);return x(e,t,{type:"APPLY",path:i.map((e=>e.toString())),argumentList:l},c).then(b)},construct(n,a){p(d);const[o,s]=_(a);return x(e,t,{type:"CONSTRUCT",path:i.map((e=>e.toString())),argumentList:o},s).then(b)}});return function(e,t){const i=(f.get(t)||0)+1;f.set(t,i),g&&g.register(e,t,e)}(s,e),s}function _(e){const t=e.map(k);return[t.map((e=>e[0])),(i=t.map((e=>e[1])),Array.prototype.concat.apply([],i))];var i}const y=new WeakMap;function k(e){for(const[t,i]of l)if(i.canHandle(e)){const[n,a]=i.serialize(e);return[{type:"HANDLER",name:t,value:n},a]}return[{type:"RAW",value:e},y.get(e)||[]]}function b(e){switch(e.type){case"HANDLER":return l.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,i,n){return new Promise((a=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.set(o,a),e.start&&e.start(),e.postMessage(Object.assign({id:o},i),n)}))}},96500:function(e,t,i){i.d(t,{i:()=>a});var n=i(18112);function a(e,t){const i=(0,n.Q)(e,t?.in);return i.setHours(23,59,59,999),i}},97836:function(e,t,i){i.d(t,{K:()=>o});var n=i(18492),a=i(7591);function o(e,t,i){const[o,d]=(0,n.d)(i?.in,e,t);return+(0,a.b)(o)==+(0,a.b)(d)}}}; //# sourceMappingURL=81119.ea7d9f074d7e0609.js.map