UNPKG

iobroker.lovelace

Version:

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

1 lines 11.3 kB
export const __rspack_esm_id=59067;export const __rspack_esm_ids=[59067];export const __webpack_modules__={45100(a,e,t){t.a(a,async function(a,i){try{t.r(e),t.d(e,{HaIconButtonPrev:()=>p});var s=t(62826),o=t(5124),n=t(22441),c=t(63091),l=t(26300),d=a([l]);l=(d.then?(await d)():d)[0];const h="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",r="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";class p extends o.WF{render(){return o.qy` <ha-icon-button .disabled="${this.disabled}" .label="${this.label||this.hass?.localize("ui.common.back")||"Back"}" .path="${this._icon}" .href="${this.href}" .target="${this.target}" .rel="${this.rel}" .download="${this.download}"></ha-icon-button> `}constructor(...a){super(...a),this.disabled=!1,this._icon="rtl"===c.G.document.dir?r:h}}(0,s.Cg)([(0,n.MZ)({attribute:!1})],p.prototype,"hass",void 0),(0,s.Cg)([(0,n.MZ)({type:Boolean})],p.prototype,"disabled",void 0),(0,s.Cg)([(0,n.MZ)()],p.prototype,"label",void 0),(0,s.Cg)([(0,n.MZ)()],p.prototype,"href",void 0),(0,s.Cg)([(0,n.MZ)()],p.prototype,"target",void 0),(0,s.Cg)([(0,n.MZ)()],p.prototype,"rel",void 0),(0,s.Cg)([(0,n.MZ)()],p.prototype,"download",void 0),(0,s.Cg)([(0,n.wk)()],p.prototype,"_icon",void 0),p=(0,s.Cg)([(0,n.EM)("ha-icon-button-prev")],p),i()}catch(a){i(a)}})},8022(a,e,t){t.a(a,async function(a,i){try{t.r(e);t(44114),t(17642),t(58004),t(33853),t(45876),t(32475),t(15024),t(31698);var s=t(62826),o=t(5124),n=t(22441),c=t(36312),l=t(1087),d=t(63130),h=t(18350),r=t(72554),p=(t(93444),t(26300)),u=t(45100),_=(t(43661),t(67094),t(1671),t(83892),t(50723),t(31420)),g=t(14503),b=t(81619),f=t(30619),k=t(59717),m=t(40840),y=a([h,r,p,u,f,k,m,_]);[h,r,p,u,f,k,m,_]=y.then?(await y)():y;const v="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",$="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z",w="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z",x=["welcome","key","setup","schedule","data","locations"],C=new Set(["setup"]),L=new Set(["schedule","data","locations"]),z={automatic_backups_configured:!1,create_backup:{agent_ids:[],include_folders:[],include_database:!0,include_addons:[],include_all_addons:!0,password:null,name:null},retention:{copies:3,days:null},schedule:{recurrence:_.qk.DAILY,time:null,days:[]},agents:{},last_attempted_automatic_backup:null,last_completed_automatic_backup:null,next_automatic_backup:null,next_automatic_backup_additional:!1};class S extends o.WF{showDialog(a){this._params=a,this._params.config?.create_backup.password?(this._config=this._params.config,this._step="setup"):(this._step=this._firstStep,this._config={...z,create_backup:{...z.create_backup,agent_ids:this._defaultAgents,password:(0,_.cq)()}}),this._open=!0}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._params?.cancel&&this._params.cancel(),this._step=void 0,this._config=void 0,this._params=void 0,this._open=!1,(0,l.r)(this,"dialog-closed",{dialog:this.localName})}get _firstStep(){return this._params?.skipWelcome?x[1]:x[0]}async _save(a=!1){if(!this._config)return;const e={create_backup:{password:this._config.create_backup.password,include_database:this._config.create_backup.include_database,agent_ids:this._config.create_backup.agent_ids},schedule:this._config.schedule,retention:this._config.retention,automatic_backups_configured:a};(0,c.x)(this.hass.config,"hassio")&&(e.create_backup.include_folders=this._config.create_backup.include_folders||[],e.create_backup.include_all_addons=this._config.create_backup.include_all_addons,e.create_backup.include_addons=this._config.create_backup.include_addons||[]),await(0,_.gb)(this.hass,e)}async _done(){try{await this._save(!0),this._params?.submit(!0),this.closeDialog()}catch(a){console.error(a),(0,b.P)(this,{message:"Failed to save backup configuration"})}}_previousStep(){const a=x.indexOf(this._step);0!==a&&(this._step=x[a-1])}_nextStep(){this._step&&L.has(this._step)&&this._save();const a=x.indexOf(this._step);a!==x.length-1&&(this._step=x[a+1])}updated(a){a.has("_step")&&"key"===this._step&&this._save()}render(){if(!this._params||!this._step)return o.s6;const a=this._step===x[x.length-1],e=this._step===this._firstStep;return o.qy` <ha-dialog .open="${this._open}" header-title="${this._stepTitle}" prevent-scrim-close @closed="${this._dialogClosed}"> ${e?o.qy` <ha-icon-button slot="headerNavigationIcon" data-dialog="close" .label="${this.hass.localize("ui.common.close")}" .path="${v}"></ha-icon-button> `:o.qy` <ha-icon-button-prev slot="headerNavigationIcon" @click="${this._previousStep}"></ha-icon-button-prev> `} <div>${this._renderStepContent()}</div> ${C.has(this._step)?o.s6:o.qy` <ha-dialog-footer slot="footer"> ${a?o.qy` <ha-button slot="primaryAction" @click="${this._done}" .disabled="${!this._isStepValid()}"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.save_and_create")} </ha-button> `:o.qy` <ha-button slot="primaryAction" @click="${this._nextStep}" .disabled="${!this._isStepValid()}"> ${this.hass.localize("ui.common.next")} </ha-button> `} </ha-dialog-footer> `} </ha-dialog> `}get _defaultAgents(){const a=[];return(0,c.x)(this.hass.config,"hassio")?a.push(_.mF):a.push(_.gv),this._params?.cloudStatus?.logged_in&&a.push(_.oJ),a}_useRecommended(){this._config?.create_backup.password?(this._config={...z,create_backup:{...z.create_backup,agent_ids:this._defaultAgents,password:this._config.create_backup.password}},this._done()):this.showDialog(this._params)}get _stepTitle(){switch(this._step){case"key":case"setup":case"schedule":case"data":case"locations":return this.hass.localize(`ui.panel.config.backup.dialogs.onboarding.${this._step}.title`);default:return""}}_isStepValid(){switch(this._step){case"key":case"setup":default:return!0;case"schedule":case"data":return!!this._config?.schedule;case"locations":return!!this._config?.create_backup.agent_ids.length}}_renderStepContent(){if(!this._config)return o.s6;switch(this._step){case"welcome":return o.qy` <div class="welcome"> <img src="/static/images/voice-assistant/hi.png" alt="Casita ioBroker logo"> <h1> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.welcome.title")} </h1> <p class="secondary"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.welcome.description")} </p> </div> `;case"key":return o.qy` <p> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.key.description")} </p> <div class="encryption-key"> <p>${this._config.create_backup.password}</p> <ha-icon-button .path="${$}" @click="${this._copyKeyToClipboard}"></ha-icon-button> </div> <ha-row-item> <span slot="headline"> ${this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit")} </span> <span slot="supporting-text"> ${this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit_description")} </span> <ha-button size="small" appearance="plain" slot="end" @click="${this._downloadKey}"> <ha-svg-icon .path="${w}" slot="start"></ha-svg-icon> ${this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit_action")} </ha-button> </ha-row-item> `;case"setup":return o.qy` <ha-list-base class="full"> <ha-list-item-button @click="${this._useRecommended}"> <span slot="headline"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.recommended_heading")} </span> <span slot="supporting-text"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.recommended_description")} </span> <ha-icon-next slot="end"></ha-icon-next> </ha-list-item-button> <ha-list-item-button @click="${this._nextStep}"> <span slot="headline"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.custom_heading")} </span> <span slot="supporting-text"> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.custom_description")} </span> <ha-icon-next slot="end"></ha-icon-next> </ha-list-item-button> </ha-list-base> `;case"schedule":return o.qy` <p> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.schedule.description")} </p> <ha-backup-config-schedule .hass="${this.hass}" .value="${this._config}" @value-changed="${this._scheduleChanged}"></ha-backup-config-schedule> `;case"data":return o.qy` <p> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.data.description")} </p> <ha-backup-config-data .hass="${this.hass}" .value="${this._dataConfig(this._config)}" @value-changed="${this._dataChanged}" force-home-assistant hide-addon-version></ha-backup-config-data> `;case"locations":return o.qy` <p> ${this.hass.localize("ui.panel.config.backup.dialogs.onboarding.locations.description")} </p> <ha-backup-config-agents .hass="${this.hass}" .value="${this._config.create_backup.agent_ids}" .cloudStatus="${this._params.cloudStatus}" @value-changed="${this._agentsConfigChanged}"></ha-backup-config-agents> `}return o.s6}_downloadKey(){const a=this._config?.create_backup.password;a&&(0,_.Sx)(this.hass,a)}async _copyKeyToClipboard(){await(0,d.l)(this._config.create_backup.password,this._copyContainer),(0,b.P)(this,{message:this.hass.localize("ui.common.copied_clipboard")})}_dataConfig(a){const{include_addons:e,include_all_addons:t,include_database:i,include_folders:s}=a.create_backup;return{include_homeassistant:!0,include_database:i,include_folders:s||void 0,include_all_addons:t,include_addons:e||void 0}}_dataChanged(a){const e=a.detail.value;this._config={...this._config,create_backup:{...this._config.create_backup,include_database:e.include_database,include_folders:e.include_folders||null,include_all_addons:e.include_all_addons,include_addons:e.include_addons||null}}}_scheduleChanged(a){const e=a.detail.value;this._config={...this._config,schedule:e.schedule,retention:e.retention}}_agentsConfigChanged(a){const e=a.detail.value;this._config={...this._config,create_backup:{...this._config.create_backup,agent_ids:e}}}static get styles(){return[g.RF,g.nA,o.AH`ha-dialog{--dialog-content-padding:var(--ha-space-2) var(--ha-space-6);--ha-dialog-max-height:min(605px, 100% - 48px)}ha-row-item{--ha-row-item-padding-inline:0}ha-list-base.full{--ha-row-item-padding-inline:var(--ha-space-6);margin:0 calc(-1 * var(--ha-space-6))}p{margin-top:0}.welcome{text-align:center}.encryption-key{border:1px solid var(--divider-color);background-color:var(--primary-background-color);border-radius:var(--ha-border-radius-md);padding:16px;display:flex;flex-direction:row;align-items:center;gap:var(--ha-space-6)}.encryption-key p{margin:0;flex:1;font-size:var(--ha-font-size-xl);font-family:var(--ha-font-family-code);font-style:normal;font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);text-align:center}.encryption-key ha-icon-button{flex:none;margin:-16px}`]}constructor(...a){super(...a),this._open=!1}}(0,s.Cg)([(0,n.MZ)({attribute:!1})],S.prototype,"hass",void 0),(0,s.Cg)([(0,n.wk)()],S.prototype,"_open",void 0),(0,s.Cg)([(0,n.wk)()],S.prototype,"_step",void 0),(0,s.Cg)([(0,n.wk)()],S.prototype,"_params",void 0),(0,s.Cg)([(0,n.wk)()],S.prototype,"_config",void 0),(0,s.Cg)([(0,n.P)("div")],S.prototype,"_copyContainer",void 0),S=(0,s.Cg)([(0,n.EM)("ha-dialog-backup-onboarding")],S),i()}catch(a){i(a)}})}};