UNPKG

iobroker.lovelace

Version:

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

1 lines 25.7 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[47987],{22130:function(t,e,a){a.r(e),a.d(e,{fetchAddonInfo:function(){return b},fetchHassioAddonChangelog:function(){return l},fetchHassioAddonDocumentation:function(){return d},fetchHassioAddonInfo:function(){return r},fetchHassioAddonLogs:function(){return c},fetchHassioAddonsInfo:function(){return o},installHassioAddon:function(){return f},rebuildLocalAddon:function(){return $},reloadHassioAddons:function(){return s},restartHassioAddon:function(){return m},setHassioAddonOption:function(){return h},setHassioAddonSecurity:function(){return v},startHassioAddon:function(){return u},stopHassioAddon:function(){return g},uninstallHassioAddon:function(){return _},updateHassioAddon:function(){return y},validateHassioAddonOption:function(){return p}});a(16280),a(18111),a(20116),a(3362);var i=a(35541),n=a(47351);const s=async t=>{await t.callWS({type:"supervisor/api",endpoint:"/addons/reload",method:"post"})},o=async t=>t.callWS({type:"supervisor/api",endpoint:"/addons",method:"get"}),r=async(t,e)=>t({type:"supervisor/api",endpoint:`/addons/${e}/info`,method:"get"}),l=async(t,e)=>t.callApi("GET",`hassio/addons/${e}/changelog`),c=async(t,e)=>t.callApi("GET",`hassio/addons/${e}/logs`),d=async(t,e)=>t.callApi("GET",`hassio/addons/${e}/documentation`),h=async(t,e,a)=>{const i=await t({type:"supervisor/api",endpoint:`/addons/${e}/options`,method:"post",data:a});if("error"===i.result)throw Error((0,n.VR)(i));return i},p=async(t,e,a)=>t({type:"supervisor/api",endpoint:`/addons/${e}/options/validate`,method:"post",data:a}),u=async(t,e)=>t({type:"supervisor/api",endpoint:`/addons/${e}/start`,method:"post",timeout:null}),g=async(t,e)=>t({type:"supervisor/api",endpoint:`/addons/${e}/stop`,method:"post",timeout:null}),v=async(t,e,a)=>{await t({type:"supervisor/api",endpoint:`/addons/${e}/security`,method:"post",data:a})},f=async(t,e)=>{await t({type:"supervisor/api",endpoint:`/addons/${e}/install`,method:"post",timeout:null})},y=async(t,e,a)=>{await t.callWS({type:"hassio/update/addon",addon:e,backup:a})},m=async(t,e)=>{await t({type:"supervisor/api",endpoint:`/addons/${e}/restart`,method:"post",timeout:null})},_=async(t,e,a)=>{await t({type:"supervisor/api",endpoint:`/addons/${e}/uninstall`,method:"post",timeout:null,data:{remove_config:a}})},b=(t,e,a)=>{var n;return(0,i.X)(t,null!==(n=e.addon)&&void 0!==n&&n.addons.find(t=>t.slug===a)?`/addons/${a}/info`:`/store/addons/${a}`)},$=async(t,e)=>t({type:"supervisor/api",endpoint:`/addons/${e}/rebuild`,method:"post",timeout:null})},35541:function(t,e,a){a.d(e,{X:function(){return s}});a(3362);var i=a(62384),n=a(47351);const s=async(t,e,a)=>{var s;return(0,i.v)(t.config.version,2021,2,4)?t.callWS({type:"supervisor/api",endpoint:e,method:(null==a?void 0:a.method)||"get",timeout:null!==(s=null==a?void 0:a.timeout)&&void 0!==s?s:null,data:null==a?void 0:a.data}):(0,n.PS)(await t.callApi((a.method||"get").toUpperCase(),`hassio${e}`,null==a?void 0:a.data))}},78391:function(t,e,a){a.a(t,async function(t,e){try{a(18111),a(61701),a(62953);var i=a(40445),n=a(5124),s=a(67576),o=a(1087),r=a(63004),l=(a(11382),a(606)),c=a(91485),d=(a(28170),a(83892),t([l,c]));[l,c]=d.then?(await d)():d;let h,p,u,g=t=>t;const v=1,f=9999;const y={copies_3:{copies:3,days:null},forever:{copies:null,days:null},global:null};class m extends n.WF{willUpdate(){if(!this._configLoaded&&void 0!==this.retention){var t,e;if(this._configLoaded=!0,this.retention)if(null===(null===(t=this.retention)||void 0===t?void 0:t.days)&&null===(null===(e=this.retention)||void 0===e?void 0:e.copies))this._preset="forever";else{var a;if(this._value=this.retention.copies||this.retention.days||3,this.retention.days||this.locationSpecific||3!==this.retention.copies)this._preset="custom",this._type=null!==(a=this.retention)&&void 0!==a&&a.copies?"copies":"days"}else this._preset="global";this.locationSpecific&&(this.presetOptions=["global","forever","custom"])}}render(){var t;return this._configLoaded?(0,n.qy)(h||(h=g` <ha-list-item-base> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-select slot="end" @selected="${0}" .value="${0}" .options="${0}"></ha-select> </ha-list-item-base> ${0} `),null!==(t=this.headline)&&void 0!==t?t:this.hass.localize("ui.panel.config.backup.schedule.retention"),this.hass.localize("ui.panel.config.backup.schedule.retention_description"),this._retentionPresetChanged,this._preset,this.presetOptions.map(t=>({value:t,label:this.hass.localize(`ui.panel.config.backup.schedule.retention_presets.${t}`)})),"custom"===this._preset?(0,n.qy)(p||(p=g`<ha-expansion-panel expanded .header="${0}" outlined> <ha-row-item> <span slot="headline"> ${0} </span> <ha-input slot="end" @change="${0}" .value="${0}" id="value" type="number" .min="${0}" .max="${0}" step="1"> </ha-input> <ha-select slot="end" @selected="${0}" .value="${0}" id="type" .options="${0}"></ha-select></ha-row-item></ha-expansion-panel> `),this.hass.localize("ui.panel.config.backup.schedule.custom_retention"),this.hass.localize("ui.panel.config.backup.schedule.custom_retention_label"),this._retentionValueChanged,this._value.toString(),v.toString(),f.toString(),this._retentionTypeChanged,this._type,[{value:"days",label:this.hass.localize("ui.panel.config.backup.schedule.retention_units.days")},{value:"copies",label:this.hass.localize("ui.panel.config.backup.schedule.retention_units.copies")}]):n.s6):n.s6}_retentionPresetChanged(t){let e=t.detail.value;if(e&&("custom"!==e||!this.locationSpecific&&"forever"!==this._preset?this._preset=e:(this._preset=e,e="copies_3"),this.locationSpecific||"custom"!==e)){const t=y[e];(0,o.r)(this,"value-changed",{value:t})}}_retentionValueChanged(t){var e,a;t.stopPropagation();const i=t.currentTarget,n=parseInt(null!==(e=i.value)&&void 0!==e?e:""),s=(0,r.q)(n,v,f);i.value=s.toString();const l=null===(a=this._customTypeField)||void 0===a?void 0:a.value;(0,o.r)(this,"value-changed",{value:{copies:"copies"===l?s:null,days:"days"===l?s:null}})}_retentionTypeChanged(t){var e;const a=t.detail.value;if(!a)return;this._type=a;const i=null===(e=this._customValueField)||void 0===e?void 0:e.value;(0,o.r)(this,"value-changed",{value:{copies:"copies"===a?Number(i):null,days:"days"===a?Number(i):null}})}constructor(...t){super(...t),this.locationSpecific=!1,this._preset="copies_3",this._type="copies",this._value=3,this._configLoaded=!1,this.presetOptions=["copies_3","forever","custom"]}}m.styles=(0,n.AH)(u||(u=g`ha-list-item-base,ha-row-item{--ha-row-item-padding-inline:0}ha-row-item::part(end){align-items:flex-start}ha-list-item-base::part(headline),ha-list-item-base::part(supporting-text){white-space:wrap}ha-select{min-width:210px}@media all and (max-width:450px){ha-select{min-width:160px;width:160px}}ha-input#value{min-width:70px}ha-select#type{min-width:100px}@media all and (max-width:450px){ha-input#value{min-width:60px;margin:0 -8px}ha-select#type{min-width:120px;width:120px}}ha-expansion-panel{--expansion-panel-summary-padding:0 16px;--expansion-panel-content-padding:0 16px;margin-bottom:16px}`)),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],m.prototype,"retention",void 0),(0,i.Cg)([(0,s.MZ)()],m.prototype,"headline",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean,attribute:"location-specific"})],m.prototype,"locationSpecific",void 0),(0,i.Cg)([(0,s.wk)()],m.prototype,"_preset",void 0),(0,i.Cg)([(0,s.wk)()],m.prototype,"_type",void 0),(0,i.Cg)([(0,s.wk)()],m.prototype,"_value",void 0),(0,i.Cg)([(0,s.P)("#value")],m.prototype,"_customValueField",void 0),(0,i.Cg)([(0,s.P)("#type")],m.prototype,"_customTypeField",void 0),m=(0,i.Cg)([(0,s.EM)("ha-backup-config-retention")],m),e()}catch(h){e(h)}})},76127:function(t,e,a){a(74423),a(44114),a(26910),a(18111),a(22489),a(20116),a(61701),a(62953);var i=a(40445),n=a(5124),s=a(67576),o=a(22786),r=a(1087),l=a(52220);a(9503),a(27826);let c,d,h,p=t=>t;class u extends n.WF{render(){return(0,n.qy)(c||(c=p` <div class="items"> ${0} </div> `),this._addons(this.addons).map(t=>{var e,a;return(0,n.qy)(d||(d=p` <ha-checkbox .id="${0}" .checked="${0}" @change="${0}" .disabled="${0}"> <ha-backup-formfield-label .label="${0}" .version="${0}" .iconPath="${0}" .imageUrl="${0}"> </ha-backup-formfield-label> </ha-checkbox> `),t.slug,(null===(e=this.value)||void 0===e?void 0:e.includes(t.slug))||!1,this._checkboxChanged,this.disabled,t.name,this.hideVersion?void 0:t.version,t.iconPath||"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z",null!==(a=this.addons)&&void 0!==a&&null!==(a=a.find(e=>e.slug===t.slug))&&void 0!==a&&a.icon?`/api/hassio/addons/${t.slug}/icon`:void 0)}))}_checkboxChanged(t){var e;t.stopPropagation();let a=null!==(e=this.value)&&void 0!==e?e:[];const i=t.currentTarget;i.checked?a.push(i.id):a=a.filter(t=>t!==i.id),(0,r.r)(this,"value-changed",{value:a})}constructor(...t){super(...t),this.hideVersion=!1,this.disabled=!1,this._addons=(0,o.A)(t=>t.sort((t,e)=>{var a;return(0,l.xL)(t.name,e.name,null===(a=this.hass)||void 0===a||null===(a=a.locale)||void 0===a?void 0:a.language)}))}}u.styles=(0,n.AH)(h||(h=p`.items{display:flex;flex-direction:column;gap:var(--ha-space-2);padding-inline-start:var(--ha-space-2);padding-bottom:var(--ha-space-3)}`)),(0,i.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"addons",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],u.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"hide-version",type:Boolean})],u.prototype,"hideVersion",void 0),(0,i.Cg)([(0,s.MZ)({type:Boolean})],u.prototype,"disabled",void 0),u=(0,i.Cg)([(0,s.EM)("ha-backup-addons-picker")],u)},70074:function(t,e,a){a(74423),a(44114),a(72712),a(18111),a(22489),a(61701),a(18237),a(3362),a(62953);var i=a(40445),n=a(5124),s=a(67576),o=a(22786),r=a(36312),l=a(1087),c=a(52943),d=(a(9503),a(22130)),h=a(53580);a(76127),a(27826);let p,u,g,v,f,y=t=>t;const m="M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z",_={config:"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z",database:"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17Z",media:"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z",share:m,ssl:"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z"};class b extends n.WF{firstUpdated(t){super.firstUpdated(t),this.hass&&(0,r.x)(this.hass.config,"hassio")&&this._fetchAddonInfo()}async _fetchAddonInfo(){const{addons:t}=await(0,d.fetchHassioAddonsInfo)(this.hass);this._addonIcons=t.reduce((t,e)=>Object.assign(Object.assign({},t),{},{[e.slug]:e.icon}),{})}_localizeFolder(t){const e=this.localize||this.hass.localize;switch(t){case"media":return e(`ui.panel.${this.translationKeyPanel}.data_picker.media`);case"share":return e(`ui.panel.${this.translationKeyPanel}.data_picker.share_folder`);case"ssl":return e(`ui.panel.${this.translationKeyPanel}.data_picker.ssl`);case"addons/local":return e(`ui.panel.${this.translationKeyPanel}.data_picker.local_apps`)}return(0,c.Z)(t)}_homeassistantChanged(t){const e=this._parseValue(this.value),a=t.currentTarget;a.checked?e.homeassistant.push(a.id):e.homeassistant=e.homeassistant.filter(t=>t!==a.id);const i=this._formatValue(e,this.data);(0,l.r)(this,"value-changed",{value:i})}_addonsChanged(t){t.stopPropagation();const e=this._parseValue(this.value),a=t.detail.value;e.addons=a;const i=this._formatValue(e,this.data);(0,l.r)(this,"value-changed",{value:i})}_sectionChanged(t){const e=this._parseValue(this.value),a=this._parseValue(this.data),i=t.currentTarget,n=i.id;i.checked?e[n]=a[n]:e[n]=[];const s=this._formatValue(e,this.data);(0,l.r)(this,"value-changed",{value:s})}render(){const t=this.localize||this.hass.localize,e=this._homeAssistantItems(this.data,t),a=this._addonsItems(this.data,t,this._addonIcons),i=this._parseValue(this.value);return(0,n.qy)(p||(p=y` ${0} ${0} `),e.length?(0,n.qy)(u||(u=y` <div class="section"> <ha-checkbox .id="${0}" .checked="${0}" .indeterminate="${0}" @change="${0}" ?disabled="${0}"> <ha-backup-formfield-label label="ioBroker" .iconPath="${0}"> </ha-backup-formfield-label> </ha-checkbox> <div class="items"> ${0} </div> </div> `),"homeassistant",i.homeassistant.length===e.length,i.homeassistant.length>0&&i.homeassistant.length<e.length,this._sectionChanged,this.requiredItems.length>0,h.mdiHomeAssistant,e.map(t=>(0,n.qy)(g||(g=y` <ha-checkbox .id="${0}" .checked="${0}" @change="${0}" .disabled="${0}"> <ha-backup-formfield-label .label="${0}" .version="${0}" .iconPath="${0}"> </ha-backup-formfield-label> </ha-checkbox> `),t.id,i.homeassistant.includes(t.id),this._homeassistantChanged,this.requiredItems.includes(t.id),t.label,t.version,_[t.id]||m))):n.s6,a.length?(0,n.qy)(v||(v=y` <div class="section"> <ha-checkbox .id="${0}" .checked="${0}" .indeterminate="${0}" @change="${0}" .disabled="${0}"> <ha-backup-formfield-label .label="${0}" .iconPath="${0}"> </ha-backup-formfield-label> </ha-checkbox> <ha-backup-addons-picker .hass="${0}" .value="${0}" @value-changed="${0}" .addons="${0}" .disabled="${0}"> </ha-backup-addons-picker> </div> `),"addons",i.addons.length===a.length,i.addons.length>0&&i.addons.length<a.length,this._sectionChanged,this.addonsDisabled,t(`ui.panel.${this.translationKeyPanel}.data_picker.apps`),"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z",this.hass,i.addons,this._addonsChanged,a,this.addonsDisabled):n.s6)}constructor(...t){super(...t),this.requiredItems=[],this.translationKeyPanel="config.backup",this.addonsDisabled=!1,this._addonIcons={},this._homeAssistantItems=(0,o.A)((t,e)=>{const a=[];return t.homeassistant_included&&a.push({label:e(`ui.panel.${this.translationKeyPanel}.data_picker.${t.database_included?"settings_and_history":"settings"}`),id:"config",version:t.homeassistant_version}),a.push(...t.folders.map(t=>({label:this._localizeFolder(t),id:t}))),a}),this._addonsItems=(0,o.A)((t,e,a)=>t.addons.map(t=>({name:t.name,slug:t.slug,version:t.version,icon:a[t.slug]}))),this._parseValue=(0,o.A)(t=>{if(!t)return{homeassistant:[],addons:[]};const e=[],a=[];t.homeassistant_included&&e.push("config");const i=t.folders;e.push(...i);const n=t.addons.map(t=>t.slug);return a.push(...n),{homeassistant:e,addons:a}}),this._formatValue=(0,o.A)((t,e)=>({homeassistant_version:e.homeassistant_version,homeassistant_included:t.homeassistant.includes("config"),database_included:e.database_included&&t.homeassistant.includes("config"),addons:e.addons.filter(e=>t.addons.includes(e.slug)),folders:e.folders.filter(e=>t.homeassistant.includes(e))}))}}b.styles=(0,n.AH)(f||(f=y`.section{margin-left:-16px;margin-inline-start:-16px;margin-inline-end:initial}.items{padding-inline-start:52px;padding-inline-end:initial;display:flex;flex-direction:column;gap:var(--ha-space-2);margin-bottom:var(--ha-space-3)}ha-backup-addons-picker{display:block;padding-inline-start:42px;padding-inline-end:initial}ha-checkbox{justify-content:center}.section>ha-checkbox{min-height:40px;padding-inline-start:var(--ha-space-5)}`)),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"hass",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"data",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"value",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"localize",void 0),(0,i.Cg)([(0,s.MZ)({type:Array,attribute:"required-items"})],b.prototype,"requiredItems",void 0),(0,i.Cg)([(0,s.MZ)({attribute:"translation-key-panel"})],b.prototype,"translationKeyPanel",void 0),(0,i.Cg)([(0,s.MZ)({attribute:!1})],b.prototype,"addonsDisabled",void 0),(0,i.Cg)([(0,s.wk)()],b.prototype,"_addonIcons",void 0),b=(0,i.Cg)([(0,s.EM)("ha-backup-data-picker")],b)},27826:function(t,e,a){var i=a(40445),n=a(5124),s=a(67576);a(67094);let o,r,l,c,d,h=t=>t;class p extends n.WF{render(){return(0,n.qy)(o||(o=h` ${0} <span class="label"> ${0} ${0} </span> `),this.imageUrl?(0,n.qy)(r||(r=h`<img loading="lazy" alt="" src="${0}" class="icon">`),this.imageUrl):this.iconPath?(0,n.qy)(l||(l=h` <ha-svg-icon .path="${0}" class="icon"></ha-svg-icon> `),this.iconPath):n.s6,this.label,this.version?(0,n.qy)(c||(c=h`<span class="version">(${0})</span>`),this.version):n.s6)}}p.styles=(0,n.AH)(d||(d=h`:host{display:flex;flex-direction:row;gap:var(--ha-space-1);align-items:center}.label{margin-right:4px;margin-inline-end:4px;margin-inline-start:initial;font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal);letter-spacing:.5px}.version{color:var(--secondary-text-color)}.icon{--mdi-icon-size:24px;width:24px;height:24px}`)),(0,i.Cg)([(0,s.MZ)({type:String})],p.prototype,"label",void 0),(0,i.Cg)([(0,s.MZ)({type:String,attribute:"image-url"})],p.prototype,"imageUrl",void 0),(0,i.Cg)([(0,s.MZ)({type:String,attribute:"icon-path"})],p.prototype,"iconPath",void 0),(0,i.Cg)([(0,s.MZ)({type:String})],p.prototype,"version",void 0),p=(0,i.Cg)([(0,s.EM)("ha-backup-formfield-label")],p)},14878:function(t,e,a){a.a(t,async function(t,i){try{a.r(e);a(16280),a(18111),a(20116),a(3362),a(62953);var n=a(40445),s=a(5124),o=a(67576),r=a(1087),l=(a(3109),a(38962)),c=a(18350),d=(a(76776),a(26300)),h=a(65829),p=a(59646),u=(a(83892),a(31420)),g=a(81310),v=a(33963),f=a(78391),y=(a(70074),t([l,c,d,h,p,g,f,u,v]));[l,c,d,h,p,g,f,u,v]=y.then?(await y)():y;let m,_,b,$,k,C,x,w,A,H,V,z=t=>t;class M extends s.WF{willUpdate(t){t.has("agentId")&&(this.agentId?this._fetchAgent():this._error="Agent id not defined")}render(){var t;if(!this.hass)return s.s6;const e=this._isEncryptionTurnedOn(),a=this._agent&&(0,u.q7)(this.hass.localize,this.agentId,this.agents)||this.hass.localize("ui.panel.config.backup.location.header");return(0,s.qy)(m||(m=z` <hass-subpage back-path="/config/backup/settings" .hass="${0}" .narrow="${0}" .header="${0}"> <div class="content"> ${0} ${0} </div> </hass-subpage> `),this.hass,this.narrow,a,this._error&&(0,s.qy)(_||(_=z`<ha-alert alert-type="error">${0}</ha-alert>`),this._error),null===this._agent?(0,s.qy)(b||(b=z` <ha-alert alert-type="warning" .title="${0}"> ${0} </ha-alert> `),this.hass.localize("ui.panel.config.backup.location.not_found"),this.hass.localize("ui.panel.config.backup.location.not_found_description",{agentId:this.agentId})):this.agentId?(0,s.qy)(k||(k=z` <ha-card> <div class="card-header"> ${0} </div> ${0} </ha-card> <ha-card> <div class="card-header"> ${0} </div> <div class="card-content"> <p> ${0} </p> ${0} </div> </ha-card> `),this.hass.localize("ui.panel.config.backup.location.configuration.title"),u.oJ===this.agentId?(0,s.qy)(C||(C=z` <div class="card-content"> <p> ${0} </p> </div> `),this.hass.localize("ui.panel.config.backup.location.configuration.cloud_description")):(0,s.qy)(x||(x=z`<ha-backup-config-retention location-specific .headline="${0}" .hass="${0}" .retention="${0}" @value-changed="${0}"></ha-backup-config-retention>`),this.hass.localize("ui.panel.config.backup.location.retention_for_"+((0,u.Bi)(this.agentId)?"this_system":"location"),{location:a}),this.hass,this.config?(null===(t=this.config.agents[this.agentId])||void 0===t?void 0:t.retention)||null:void 0,this._retentionChanged),this.hass.localize("ui.panel.config.backup.location.encryption.title"),this.hass.localize("ui.panel.config.backup.location.encryption.description"),u.oJ===this.agentId?(0,s.qy)(w||(w=z` <ha-row-item> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-button href="https://www.nabucasa.com/config/backups/" target="_blank" slot="end" rel="noreferrer noopener" appearance="plain" size="small"> ${0} </ha-button> </ha-row-item> `),this.hass.localize("ui.panel.config.backup.location.encryption.location_encrypted"),this.hass.localize("ui.panel.config.backup.location.encryption.location_encrypted_cloud_description"),this.hass.localize("ui.panel.config.backup.location.encryption.location_encrypted_cloud_learn_more")):e?(0,s.qy)(A||(A=z` <ha-row-item> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-button slot="end" @click="${0}" variant="danger"> ${0} </ha-button> </ha-row-item> `),this.hass.localize("ui.panel.config.backup.location.encryption.location_encrypted"),this.hass.localize("ui.panel.config.backup.location.encryption.location_encrypted_description"),this._turnOffEncryption,this.hass.localize("ui.panel.config.backup.location.encryption.encryption_turn_off")):(0,s.qy)(H||(H=z` <ha-alert alert-type="warning" .title="${0}"> ${0} </ha-alert> <ha-row-item> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-button slot="end" @click="${0}"> ${0} </ha-button> </ha-row-item> `),this.hass.localize("ui.panel.config.backup.location.encryption.warning_encryption_turn_off"),this.hass.localize("ui.panel.config.backup.location.encryption.warning_encryption_turn_off_description"),this.hass.localize("ui.panel.config.backup.location.encryption.location_unencrypted"),this.hass.localize("ui.panel.config.backup.location.encryption.location_unencrypted_description"),this._turnOnEncryption,this.hass.localize("ui.panel.config.backup.location.encryption.encryption_turn_on"))):(0,s.qy)($||($=z`<ha-fade-in .delay="${0}"><ha-spinner></ha-spinner></ha-fade-in>`),1e3))}_isEncryptionTurnedOn(){var t;const e=null===(t=this.config)||void 0===t?void 0:t.agents[this.agentId];return!e||e.protected}async _fetchAgent(){try{const{agents:t}=await(0,u.P_)(this.hass),e=t.find(t=>t.agent_id===this.agentId);if(!e)throw new Error("Agent not found");this._agent=e}catch(t){this._error=(null==t?void 0:t.message)||this.hass.localize("ui.panel.config.backup.details.error")}}async _updateAgentConfig(t){try{var e;const a=(null===(e=this.config)||void 0===e?void 0:e.agents)||{};a[this.agentId]=Object.assign(Object.assign({},a[this.agentId]||{}),t),await(0,u.gb)(this.hass,{agents:a}),(0,r.r)(this,"ha-refresh-backup-config")}catch(a){this._error=this.hass.localize("ui.panel.config.backup.location.save_error",{error:a.message})}}_retentionChanged(t){const e=t.detail.value;this._updateAgentConfig({retention:e})}async _updateAgentEncryption(t){this._updateAgentConfig({protected:t})}_turnOnEncryption(){this._updateAgentEncryption(!0)}async _turnOffEncryption(){await(0,v.showConfirmationDialog)(this,{title:this.hass.localize("ui.panel.config.backup.location.encryption.encryption_turn_off_confirm_title"),text:this.hass.localize("ui.panel.config.backup.location.encryption.encryption_turn_off_confirm_text"),confirmText:this.hass.localize("ui.panel.config.backup.location.encryption.encryption_turn_off_confirm_action"),dismissText:this.hass.localize("ui.common.cancel"),destructive:!0})&&this._updateAgentEncryption(!1)}constructor(...t){super(...t),this.narrow=!1,this.agents=[]}}M.styles=(0,s.AH)(V||(V=z`.content{padding:28px 20px 0;max-width:690px;margin:0 auto;gap:var(--ha-space-6);display:grid;margin-bottom:24px}.card-content{padding:0 20px}.card-actions{display:flex;justify-content:flex-end}ha-row-item{--ha-row-item-padding-inline:0}ha-row-item img{width:48px}ha-row-item ha-svg-icon[slot=start]{--mdc-icon-size:48px;color:var(--primary-text-color)}.warning{color:var(--error-color)}.warning ha-svg-icon{color:var(--error-color)}ha-button.danger{--mdc-theme-primary:var(--error-color)}ha-backup-data-picker{display:block}ha-row-item::part(supporting-text){white-space:wrap}.dot{display:block;position:relative;width:8px;height:8px;background-color:var(--disabled-color);border-radius:var(--ha-border-radius-circle);flex:none}.dot.success{background-color:var(--success-color)}.dot.error{background-color:var(--error-color)}.card-header{padding-bottom:8px}ha-spinner{margin:24px auto}ha-backup-config-retention{display:block;padding:16px}`)),(0,n.Cg)([(0,o.MZ)({attribute:!1})],M.prototype,"hass",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean})],M.prototype,"narrow",void 0),(0,n.Cg)([(0,o.MZ)({attribute:"agent-id"})],M.prototype,"agentId",void 0),(0,n.Cg)([(0,o.MZ)({attribute:!1})],M.prototype,"config",void 0),(0,n.Cg)([(0,o.MZ)({attribute:!1})],M.prototype,"agents",void 0),(0,n.Cg)([(0,o.wk)()],M.prototype,"_agent",void 0),(0,n.Cg)([(0,o.wk)()],M.prototype,"_error",void 0),M=(0,n.Cg)([(0,o.EM)("ha-config-backup-location")],M),i()}catch(m){i(m)}})}}]);