+
+ ${this.hass.localize("ui.auth_store.ask")}
+
+
+
+ ${this.hass.localize("ui.auth_store.decline")}
+
+
+ ${this.hass.localize("ui.auth_store.confirm")}
+
+
+
+ `;
+ }
+
+ firstUpdated() {
+ this.classList.toggle("small", window.innerWidth < 600);
+ }
+
+ private _save(): void {
+ enableWrite();
+ this._dismiss();
+ }
+
+ private _dismiss(): void {
+ const card = this.shadowRoot!.querySelector("ha-card") as HaCard;
+ card.style.bottom = `-${card.offsetHeight + 8}px`;
+ setTimeout(() => this.parentNode!.removeChild(this), 300);
+ }
+
+ static get styles() {
+ return css`
+ ha-card {
+ position: fixed;
+ padding: 8px 0;
+ bottom: 16px;
+ right: 16px;
+ transition: bottom 0.25s;
+ }
+
+ .card-actions {
+ text-align: right;
+ border-top: 0;
+ }
+
+ :host(.small) ha-card {
+ bottom: 0;
+ left: 0;
+ right: 0;
+ }
+ `;
+ }
+}
+
+customElements.define("ha-store-auth-card", HaStoreAuth);
+
+declare global {
+ interface HTMLElementTagNameMap {
+ "ha-store-auth-card": HaStoreAuth;
+ }
+}
diff --git a/src/state/auth-mixin.ts b/src/state/auth-mixin.ts
index 611a27f3b8..7800ce8433 100644
--- a/src/state/auth-mixin.ts
+++ b/src/state/auth-mixin.ts
@@ -32,8 +32,8 @@ export default