From eba1f401ccc54034a46b7aef3eb482092e8278eb Mon Sep 17 00:00:00 2001 From: Wendelin <12148533+wendevlin@users.noreply.github.com> Date: Thu, 31 Jul 2025 12:40:17 +0200 Subject: [PATCH] Fix ha-button with missing label and links (#26332) --- .github/copilot-instructions.md | 6 +- demo/src/custom-cards/ha-demo-card.ts | 13 +++-- .../src/pages/components/ha-alert.markdown | 4 +- gallery/src/pages/components/ha-alert.ts | 16 ++---- .../src/pages/components/ha-button.markdown | 13 +++-- .../dialogs/network/dialog-hassio-network.ts | 4 +- .../update-available/update-available-card.ts | 18 +++--- .../src/components/landing-page-logs.ts | 7 +-- src/components/ha-button.ts | 3 +- src/components/ha-picture-upload.ts | 7 ++- src/components/ha-qr-scanner.ts | 2 +- src/components/ha-yaml-editor.ts | 2 +- .../media-player/dialog-media-manage.ts | 26 +++------ .../media-player/ha-media-manage-button.ts | 14 +---- src/dialogs/config-flow/step-flow-form.ts | 33 +++-------- src/dialogs/config-flow/styles.ts | 2 +- .../lights/dialog-light-color-favorite.ts | 2 +- .../more-info/controls/more-info-camera.ts | 9 +-- .../more-info/controls/more-info-siren.ts | 6 +- .../more-info/controls/more-info-update.ts | 2 +- .../notification-item-template.ts | 2 +- .../update_backup/dialog-update-backup.ts | 2 +- .../cloud/cloud-step-signin.ts | 1 - .../cloud/cloud-step-signup.ts | 4 +- .../voice-assistant-setup-step-check.ts | 12 ++-- .../voice-assistant-setup-step-local.ts | 47 ++++++++-------- .../voice-assistant-setup-step-pipeline.ts | 5 +- .../voice-assistant-setup-step-success.ts | 27 +++++++-- .../voice-assistant-setup-step-wake-word.ts | 5 +- .../ha-voice-command-dialog.ts | 1 - src/layouts/ha-init-page.ts | 4 +- src/managers/notification-manager.ts | 7 ++- ...boarding-restore-backup-no-cloud-backup.ts | 13 ++--- .../onboarding-restore-backup-restore.ts | 16 +++--- .../calendar/confirm-event-dialog-box.ts | 6 +- src/panels/calendar/ha-panel-calendar.ts | 25 +-------- .../dialog-add-application-credential.ts | 45 +++++++-------- .../automation/action/ha-automation-action.ts | 7 ++- .../condition/ha-automation-condition.ts | 5 ++ .../automation/manual-automation-editor.ts | 2 + .../automation/option/ha-automation-option.ts | 10 ++-- .../dialog-paste-replace.ts | 6 +- .../overview/ha-backup-overview-backups.ts | 12 ++-- .../dialogs/dialog-backup-onboarding.ts | 9 ++- .../dialog-change-backup-encryption-key.ts | 9 +-- .../dialog-download-decrypted-backup.ts | 2 +- .../backup/dialogs/dialog-restore-backup.ts | 2 +- .../dialog-set-backup-encryption-key.ts | 9 ++- .../dialog-show-backup-encryption-key.ts | 9 ++- .../backup/dialogs/dialog-upload-backup.ts | 5 +- .../config/backup/ha-config-backup-backups.ts | 6 +- .../backup/ha-config-backup-location.ts | 14 ++--- .../config/cloud/account/cloud-remote-pref.ts | 6 +- .../config/cloud/account/cloud-tts-pref.ts | 2 +- .../account/dialog-cloud-support-package.ts | 4 +- .../settings/entity-settings-helper-tab.ts | 2 +- .../entities/entity-registry-settings.ts | 4 +- .../forms/dialog-schedule-block-info.ts | 3 +- .../helpers/forms/ha-input_select-form.ts | 2 +- .../integrations/ha-config-entry-row.ts | 2 +- .../ha-disabled-config-entry-card.ts | 7 +-- .../ha-ignored-config-entry-card.ts | 7 +-- .../integrations/ha-integration-card.ts | 55 +++++++++---------- .../ssdp/dialog-ssdp-discovery-info.ts | 6 +- .../zha/dialog-zha-reconfigure-device.ts | 12 +++- .../zha/zha-add-group-page.ts | 2 +- .../integration-panels/zha/zha-group-page.ts | 2 +- .../add-node/zwave-js-add-node-failed.ts | 12 ++-- .../zwave_js/dialog-zwave_js-remove-node.ts | 12 +++- .../zwave_js/zwave_js-custom-param.ts | 4 +- .../config/logs/dialog-download-logs.ts | 2 +- src/panels/config/logs/error-log-card.ts | 23 ++------ .../config/network/ha-config-url-form.ts | 2 +- .../config/network/supervisor-network.ts | 17 +++--- .../assist-pipeline-detail-tts.ts | 6 +- .../debug/assist-pipeline-run-debug.ts | 21 +++++-- .../dialog-voice-assistant-pipeline-detail.ts | 12 ++-- .../assist/developer-tools-assist.ts | 12 ++-- .../dialog-statistics-adjust-sum.ts | 1 + .../card-editor/hui-dialog-suggest-card.ts | 11 ++-- .../hui-card-features-editor.ts | 11 +--- .../hui-heading-badges-editor.ts | 6 +- .../hui-dialog-select-dashboard.ts | 6 +- .../view-editor/hui-dialog-edit-view.ts | 7 ++- .../hui-dialog-edit-view-header.ts | 4 +- .../media-browser/ha-bar-media-player.ts | 11 ---- .../dialog-ha-mfa-module-setup-flow.ts | 5 -- src/panels/todo/ha-panel-todo.ts | 27 +-------- 88 files changed, 407 insertions(+), 439 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index d52ff00f5e..bf543cb04c 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -310,7 +310,11 @@ export class DialogMyFeature .heading=${createCloseHeading(this.hass, this._params.title)} > - + ${this.hass.localize("ui.common.cancel")} diff --git a/demo/src/custom-cards/ha-demo-card.ts b/demo/src/custom-cards/ha-demo-card.ts index b9e1a32e68..81b3f140bc 100644 --- a/demo/src/custom-cards/ha-demo-card.ts +++ b/demo/src/custom-cards/ha-demo-card.ts @@ -89,11 +89,14 @@ export class HADemoCard extends LitElement implements LovelaceCard { )}
- - - ${this.hass.localize("ui.panel.page-demo.cards.demo.learn_more")} - - + + ${this.hass.localize("ui.panel.page-demo.cards.demo.learn_more")} +
`; diff --git a/gallery/src/pages/components/ha-alert.markdown b/gallery/src/pages/components/ha-alert.markdown index 0ba70b3913..85957808cc 100644 --- a/gallery/src/pages/components/ha-alert.markdown +++ b/gallery/src/pages/components/ha-alert.markdown @@ -147,13 +147,13 @@ The `title ` option should not be used without a description. This is a success alert — check it out! - + Undo ```html This is a success alert — check it out! - + Undo ``` diff --git a/gallery/src/pages/components/ha-alert.ts b/gallery/src/pages/components/ha-alert.ts index cf4aa27ba2..039365889e 100644 --- a/gallery/src/pages/components/ha-alert.ts +++ b/gallery/src/pages/components/ha-alert.ts @@ -78,21 +78,13 @@ const alerts: { title: "Error with action", description: "This is a test error alert with action", type: "error", - actionSlot: html``, + actionSlot: html`restart`, }, { title: "Unsaved data", description: "You have unsaved data", type: "warning", - actionSlot: html``, + actionSlot: html`save`, }, { title: "Slotted icon", @@ -116,7 +108,7 @@ const alerts: { title: "Slotted action", description: "Alert with slotted action", type: "info", - actionSlot: html``, + actionSlot: html`action`, }, { description: "Dismissable information (RTL)", @@ -128,7 +120,7 @@ const alerts: { title: "Error with action", description: "This is a test error alert with action (RTL)", type: "error", - actionSlot: html``, + actionSlot: html`restart`, rtl: true, }, { diff --git a/gallery/src/pages/components/ha-button.markdown b/gallery/src/pages/components/ha-button.markdown index 0195b996db..76bb342b0b 100644 --- a/gallery/src/pages/components/ha-button.markdown +++ b/gallery/src/pages/components/ha-button.markdown @@ -53,12 +53,13 @@ Check the [webawesome documentation](https://webawesome.com/docs/components/butt **Properties/Attributes** -| Name | Type | Default | Description | -| ----------- | ---------------------------------------------- | -------- | -------------------------------------------------- | -| appearance | "accent"/"filled"/"plain" | "accent" | Sets the button appearance. | -| variants | "brand"/"danger"/"neutral"/"warning"/"success" | "brand" | Sets the button color variant. "brand" is default. | -| size | "small"/"medium" | "medium" | Sets the button size. | -| hideContent | Boolean | false | Hides the button content (for overlays) | +| Name | Type | Default | Description | +| ---------- | ---------------------------------------------- | -------- | --------------------------------------------------------------------------------- | +| appearance | "accent"/"filled"/"plain" | "accent" | Sets the button appearance. | +| variants | "brand"/"danger"/"neutral"/"warning"/"success" | "brand" | Sets the button color variant. "brand" is default. | +| size | "small"/"medium" | "medium" | Sets the button size. | +| loading | Boolean | false | Shows a loading indicator instead of the buttons label and disable buttons click. | +| disabled | Boolean | false | Disables the button and prevents user interaction. | **CSS Custom Properties** diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index 40fdba7f6f..38c533adf2 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -604,8 +604,8 @@ export class DialogHassioNetwork var(--mdc-dialog-scroll-divider-color, rgba(0, 0, 0, 0.12)); display: flex; justify-content: space-between; - padding: 8px; - padding-bottom: max(var(--safe-area-inset-bottom), 8px); + padding: 16px; + padding-bottom: max(var(--safe-area-inset-bottom), 16px); background-color: var(--mdc-theme-surface, #fff); } .warning { diff --git a/hassio/src/update-available/update-available-card.ts b/hassio/src/update-available/update-available-card.ts index 7c2a8f2ca6..dd40d6e886 100644 --- a/hassio/src/update-available/update-available-card.ts +++ b/hassio/src/update-available/update-available-card.ts @@ -208,14 +208,16 @@ class UpdateAvailableCard extends LitElement {
${changelog ? html` - - - - + + ${this.supervisor.localize( + "update_available.open_release_notes" + )} + ` : nothing} diff --git a/landing-page/src/components/landing-page-logs.ts b/landing-page/src/components/landing-page-logs.ts index 9dd7f01fa9..5017cc7f1c 100644 --- a/landing-page/src/components/landing-page-logs.ts +++ b/landing-page/src/components/landing-page-logs.ts @@ -110,12 +110,9 @@ class LandingPageLogs extends LitElement { })}" @click=${this._scrollToBottom} > - + ${this.localize("logs.scroll_down_button")} - + `; } diff --git a/src/components/ha-button.ts b/src/components/ha-button.ts index eab93b843e..7577004480 100644 --- a/src/components/ha-button.ts +++ b/src/components/ha-button.ts @@ -32,7 +32,8 @@ export type Appearance = "accent" | "filled" | "outlined" | "plain"; * @attr {("small"|"medium")} size - Sets the button size. * @attr {("brand"|"neutral"|"danger"|"warning"|"success")} variant - Sets the button color variant. "primary" is default. * @attr {("accent"|"filled"|"plain")} appearance - Sets the button appearance. - * @attr {boolean} hideContent - Hides the button content (for overlays). + * @attr {boolean} loading - shows a loading indicator instead of the buttons label and disable buttons click. + * @attr {boolean} disabled - Disables the button and prevents user interaction. */ @customElement("ha-button") export class HaButton extends Button { diff --git a/src/components/ha-picture-upload.ts b/src/components/ha-picture-upload.ts index a5edd4fbce..8c0bc91ba8 100644 --- a/src/components/ha-picture-upload.ts +++ b/src/components/ha-picture-upload.ts @@ -92,11 +92,12 @@ export class HaPictureUpload extends LitElement { />
+ ${this.hass.localize("ui.components.picture-upload.clear_picture")}
diff --git a/src/components/ha-qr-scanner.ts b/src/components/ha-qr-scanner.ts index 94a905596e..2bb385f97b 100644 --- a/src/components/ha-qr-scanner.ts +++ b/src/components/ha-qr-scanner.ts @@ -103,7 +103,7 @@ class HaQrScanner extends LitElement { > ${this._error || this._warning} ${this._error - ? html` + ? html` ${this.hass.localize("ui.components.qr-scanner.retry")} ` : nothing} diff --git a/src/components/ha-yaml-editor.ts b/src/components/ha-yaml-editor.ts index 53a7e579c7..142ec9b4ec 100644 --- a/src/components/ha-yaml-editor.ts +++ b/src/components/ha-yaml-editor.ts @@ -130,7 +130,7 @@ export class HaYamlEditor extends LitElement {
${this.copyClipboard ? html` - + ${this.hass.localize( "ui.components.yaml-editor.copy_to_clipboard" )} diff --git a/src/components/media-player/dialog-media-manage.ts b/src/components/media-player/dialog-media-manage.ts index da2bacc886..ca5c35509c 100644 --- a/src/components/media-player/dialog-media-manage.ts +++ b/src/components/media-player/dialog-media-manage.ts @@ -119,15 +119,15 @@ class DialogMediaManage extends LitElement { class="danger" slot="navigationIcon" .disabled=${this._deleting} - .label=${this.hass.localize( + @click=${this._handleDelete} + > + + ${this.hass.localize( `ui.components.media-browser.file_management.${ this._deleting ? "deleting" : "delete" }`, { count: this._selected.size } )} - @click=${this._handleDelete} - > - ${this._deleting @@ -135,15 +135,15 @@ class DialogMediaManage extends LitElement { : html` + ${this.hass.localize( + `ui.components.media-browser.file_management.deselect_all` + )} `} `} @@ -331,20 +331,10 @@ class DialogMediaManage extends LitElement { --mdc-theme-primary: var(--error-color); } - ha-svg-icon[slot="icon"] { - vertical-align: middle; - } - ha-tip { margin: 16px; } - ha-svg-icon[slot="icon"] { - margin-inline-start: 0px !important; - margin-inline-end: 8px !important; - direction: var(--direction); - } - .refresh { display: flex; height: 200px; diff --git a/src/components/media-player/ha-media-manage-button.ts b/src/components/media-player/ha-media-manage-button.ts index 8a8e8d7a52..0c6f9dbcd7 100644 --- a/src/components/media-player/ha-media-manage-button.ts +++ b/src/components/media-player/ha-media-manage-button.ts @@ -1,5 +1,5 @@ import { mdiFolderEdit } from "@mdi/js"; -import { css, html, LitElement, nothing } from "lit"; +import { html, LitElement, nothing } from "lit"; import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../../common/dom/fire_event"; import type { MediaPlayerItem } from "../../data/media-player"; @@ -53,18 +53,6 @@ class MediaManageButton extends LitElement { onClose: () => fireEvent(this, "media-refresh"), }); } - - static styles = css` - ha-svg-icon[slot="icon"] { - vertical-align: middle; - } - - ha-svg-icon[slot="icon"] { - margin-inline-start: 0px; - margin-inline-end: 8px; - direction: var(--direction); - } - `; } declare global { diff --git a/src/dialogs/config-flow/step-flow-form.ts b/src/dialogs/config-flow/step-flow-form.ts index 48bcace33a..87da585f39 100644 --- a/src/dialogs/config-flow/step-flow-form.ts +++ b/src/dialogs/config-flow/step-flow-form.ts @@ -104,22 +104,12 @@ class StepFlowForm extends LitElement {
` : nothing}
- ${this._loading - ? html` -
- -
- ` - : html` -
- - ${this.flowConfig.renderShowFormStepSubmitButton( - this.hass, - this.step - )} - -
- `} + + ${this.flowConfig.renderShowFormStepSubmitButton( + this.hass, + this.step + )} +
`; } @@ -304,15 +294,6 @@ class StepFlowForm extends LitElement { color: red; } - .submit-spinner { - height: 36px; - display: flex; - align-items: center; - margin-right: 16px; - margin-inline-end: 16px; - margin-inline-start: initial; - } - ha-alert, ha-form { margin-top: 24px; @@ -320,7 +301,7 @@ class StepFlowForm extends LitElement { } .buttons { - padding: 8px; + padding: 16px; } `, ]; diff --git a/src/dialogs/config-flow/styles.ts b/src/dialogs/config-flow/styles.ts index dce0b9c326..50be26080b 100644 --- a/src/dialogs/config-flow/styles.ts +++ b/src/dialogs/config-flow/styles.ts @@ -34,7 +34,7 @@ export const configFlowContentStyles = css` .buttons { position: relative; - padding: 8px 16px 8px 24px; + padding: 16px; margin: 8px 0 0; color: var(--primary-color); display: flex; diff --git a/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts b/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts index 77879f12b1..7ff90662a3 100644 --- a/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts +++ b/src/dialogs/more-info/components/lights/dialog-light-color-favorite.ts @@ -228,7 +228,7 @@ class DialogLightColorFavorite extends LitElement {
- + ${this.hass.localize("ui.common.cancel")} ${this.hass.localize( "ui.dialogs.more_info_control.camera.download_snapshot" @@ -104,7 +105,7 @@ class MoreInfoCamera extends LitElement { flex-wrap: wrap; justify-content: flex-end; box-sizing: border-box; - padding: 12px; + padding: 16px; z-index: 1; gap: 8px; } diff --git a/src/dialogs/more-info/controls/more-info-siren.ts b/src/dialogs/more-info/controls/more-info-siren.ts index 191427e611..c5edf272e4 100644 --- a/src/dialogs/more-info/controls/more-info-siren.ts +++ b/src/dialogs/more-info/controls/more-info-siren.ts @@ -51,7 +51,11 @@ class MoreInfoSiren extends LitElement { .iconPathOff=${mdiVolumeOff} > ${allowAdvanced - ? html` + ? html` ${this.hass.localize("ui.components.siren.advanced_controls")} ` : nothing} diff --git a/src/dialogs/more-info/controls/more-info-update.ts b/src/dialogs/more-info/controls/more-info-update.ts index 7dec37eb35..14fc8ddca3 100644 --- a/src/dialogs/more-info/controls/more-info-update.ts +++ b/src/dialogs/more-info/controls/more-info-update.ts @@ -508,7 +508,7 @@ class MoreInfoUpdate extends LitElement { flex-wrap: wrap; justify-content: flex-end; box-sizing: border-box; - padding: 12px; + padding: 16px; z-index: 1; gap: 8px; } diff --git a/src/dialogs/notifications/notification-item-template.ts b/src/dialogs/notifications/notification-item-template.ts index c9859f9102..978de1f4a6 100644 --- a/src/dialogs/notifications/notification-item-template.ts +++ b/src/dialogs/notifications/notification-item-template.ts @@ -38,7 +38,7 @@ export class HuiNotificationItemTemplate extends LitElement { .actions { border-top: 1px solid var(--divider-color, #e8e8e8); - padding: 5px 16px; + padding: 8px; display: flex; justify-content: flex-end; } diff --git a/src/dialogs/update_backup/dialog-update-backup.ts b/src/dialogs/update_backup/dialog-update-backup.ts index ef59d4d778..6ca708dcc5 100644 --- a/src/dialogs/update_backup/dialog-update-backup.ts +++ b/src/dialogs/update_backup/dialog-update-backup.ts @@ -32,7 +32,7 @@ class DialogBox extends LitElement { )} >

${this.hass.localize("ui.dialogs.update_backup.text")}

- + ${this.hass!.localize("ui.common.no")} diff --git a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts index fe7adc84a0..be0d08a399 100644 --- a/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts +++ b/src/dialogs/voice-assistant-setup/cloud/cloud-step-signin.ts @@ -76,7 +76,6 @@ export class CloudStepSignin extends LitElement {
`; diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts index 96e6406307..5ba5871c50 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-success.ts @@ -126,8 +126,15 @@ export class HaVoiceAssistantSetupStepSuccess extends LitElement { ` )} - - + + ${this.hass.localize( "ui.panel.config.voice_assistants.satellite_wizard.success.test_wakeword" )} @@ -151,8 +158,12 @@ export class HaVoiceAssistantSetupStepSuccess extends LitElement { ` )} - - + + ${this.hass.localize( "ui.panel.config.voice_assistants.satellite_wizard.success.edit_pipeline" )} @@ -169,8 +180,12 @@ export class HaVoiceAssistantSetupStepSuccess extends LitElement { @value-changed=${this._voicePicked} @closed=${stopPropagation} > - - + + ${this.hass.localize( "ui.panel.config.voice_assistants.satellite_wizard.success.try_tts" )} diff --git a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts index 521bd934d0..fe534c44d9 100644 --- a/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts +++ b/src/dialogs/voice-assistant-setup/voice-assistant-setup-step-wake-word.ts @@ -148,7 +148,10 @@ export class HaVoiceAssistantSetupStepWakeWord extends LitElement { ${this.assistConfiguration && this.assistConfiguration.available_wake_words.length > 1 ? html` `; } diff --git a/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts b/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts index f0c13f8dad..43e738f4db 100644 --- a/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts +++ b/src/onboarding/restore-backup/onboarding-restore-backup-restore.ts @@ -131,18 +131,17 @@ class OnboardingRestoreBackupRestore extends LitElement { ${this.localize( "ui.panel.page-onboarding.restore.details.addons_unsupported" )} - + ${this.localize( + "ui.panel.page-onboarding.restore.ha-cloud.learn_more" + )} - ${this.localize( - "ui.panel.page-onboarding.restore.ha-cloud.learn_more" - )} - ` : nothing} ${!onlyHomeAssistantBackup @@ -191,14 +190,13 @@ class OnboardingRestoreBackupRestore extends LitElement {
${this.mode === "cloud" - ? html` + ? html` ${this.localize( "ui.panel.page-onboarding.restore.ha-cloud.sign_out" )} ` : nothing}

${this._params.text}

- + ${this.hass.localize("ui.common.cancel")} ${this.hass.localize("ui.components.calendar.my_calendars")} - + ${calendarItems} ${this.hass.user?.is_admin @@ -303,25 +300,7 @@ class PanelCalendar extends LitElement { --calendar-border-width: 1px 0; } ha-button-menu ha-button { - --mdc-theme-primary: currentColor; - --mdc-typography-button-text-transform: none; - --mdc-typography-button-font-size: var( - --mdc-typography-headline6-font-size, - var(--ha-font-size-l) - ); - --mdc-typography-button-font-weight: var( - --mdc-typography-headline6-font-weight, - var(--ha-font-weight-medium) - ); - --mdc-typography-button-letter-spacing: var( - --mdc-typography-headline6-letter-spacing, - 0.0125em - ); - --mdc-typography-button-line-height: var( - --mdc-typography-headline6-line-height, - var(--ha-line-height-expanded) - ); - --button-height: 40px; + --ha-font-size-m: var(--ha-font-size-l); } :host([mobile]) .lists { --mdc-menu-min-width: 100vw; diff --git a/src/panels/config/application_credentials/dialog-add-application-credential.ts b/src/panels/config/application_credentials/dialog-add-application-credential.ts index 2bdfce39a2..af3cb18e16 100644 --- a/src/panels/config/application_credentials/dialog-add-application-credential.ts +++ b/src/panels/config/application_credentials/dialog-add-application-credential.ts @@ -220,32 +220,25 @@ export class DialogAddApplicationCredential extends LitElement { helperPersistent > - ${this._loading - ? html` -
- -
- ` - : html` - - ${this.hass.localize("ui.common.cancel")} - - - ${this.hass.localize( - "ui.panel.config.application_credentials.editor.add" - )} - - `} + + + ${this.hass.localize("ui.common.cancel")} + + + ${this.hass.localize( + "ui.panel.config.application_credentials.editor.add" + )} + `; } diff --git a/src/panels/config/automation/action/ha-automation-action.ts b/src/panels/config/automation/action/ha-automation-action.ts index 23b35c613d..c56757fc90 100644 --- a/src/panels/config/automation/action/ha-automation-action.ts +++ b/src/panels/config/automation/action/ha-automation-action.ts @@ -30,6 +30,8 @@ export default class HaAutomationAction extends LitElement { @property({ type: Boolean }) public disabled = false; + @property({ type: Boolean }) public root = false; + @property({ attribute: false }) public actions!: Action[]; @property({ attribute: false }) public highlightedActions?: Action[]; @@ -110,6 +112,8 @@ export default class HaAutomationAction extends LitElement { ${this.hass.localize( @@ -117,9 +121,10 @@ export default class HaAutomationAction extends LitElement { )} ${this.hass.localize( diff --git a/src/panels/config/automation/condition/ha-automation-condition.ts b/src/panels/config/automation/condition/ha-automation-condition.ts index 094b82a92d..e7d311ac24 100644 --- a/src/panels/config/automation/condition/ha-automation-condition.ts +++ b/src/panels/config/automation/condition/ha-automation-condition.ts @@ -34,6 +34,8 @@ export default class HaAutomationCondition extends LitElement { @property({ type: Boolean }) public disabled = false; + @property({ type: Boolean }) public root = false; + @state() private _showReorder = false; @state() @@ -159,6 +161,8 @@ export default class HaAutomationCondition extends LitElement { ${this.hass.localize( @@ -168,6 +172,7 @@ export default class HaAutomationCondition extends LitElement { diff --git a/src/panels/config/automation/manual-automation-editor.ts b/src/panels/config/automation/manual-automation-editor.ts index d7f5b24eef..118254b787 100644 --- a/src/panels/config/automation/manual-automation-editor.ts +++ b/src/panels/config/automation/manual-automation-editor.ts @@ -228,6 +228,7 @@ export class HaManualAutomationEditor extends LitElement { @value-changed=${this._conditionChanged} .hass=${this.hass} .disabled=${this.disabled} + root >
@@ -269,6 +270,7 @@ export class HaManualAutomationEditor extends LitElement { .hass=${this.hass} .narrow=${this.narrow} .disabled=${this.disabled} + root > `; } diff --git a/src/panels/config/automation/option/ha-automation-option.ts b/src/panels/config/automation/option/ha-automation-option.ts index 8a3184a724..bbfaa23421 100644 --- a/src/panels/config/automation/option/ha-automation-option.ts +++ b/src/panels/config/automation/option/ha-automation-option.ts @@ -100,14 +100,14 @@ export default class HaAutomationOption extends LitElement { )}
- + + ${this.hass.localize( + "ui.panel.config.automation.editor.actions.type.choose.add_option" + )}
diff --git a/src/panels/config/automation/paste-replace-dialog/dialog-paste-replace.ts b/src/panels/config/automation/paste-replace-dialog/dialog-paste-replace.ts index c6fd39aa38..101cd83799 100644 --- a/src/panels/config/automation/paste-replace-dialog/dialog-paste-replace.ts +++ b/src/panels/config/automation/paste-replace-dialog/dialog-paste-replace.ts @@ -58,7 +58,7 @@ class DialogPasteReplace extends LitElement implements HassDialog { >
- + ${this.hass.localize("ui.common.append")} @@ -89,6 +89,10 @@ class DialogPasteReplace extends LitElement implements HassDialog { font-size: inherit; font-weight: inherit; } + div[slot="primaryAction"] { + display: flex; + gap: 8px; + } `, ]; } diff --git a/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts b/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts index 76bcc6e5ac..f3e8f90832 100644 --- a/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts +++ b/src/panels/config/backup/components/overview/ha-backup-overview-backups.ts @@ -99,13 +99,11 @@ class HaBackupOverviewBackups extends LitElement {
- - - ${this.hass.localize( - "ui.panel.config.backup.overview.backups.show_all" - )} - - + + ${this.hass.localize( + "ui.panel.config.backup.overview.backups.show_all" + )} +
`; diff --git a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts index 668d310fed..4fa015dafd 100644 --- a/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts +++ b/src/panels/config/backup/dialogs/dialog-backup-onboarding.ts @@ -375,8 +375,13 @@ class DialogBackupOnboarding extends LitElement implements HassDialog { "ui.panel.config.backup.encryption_key.download_emergency_kit_description" )} - - + + ${this.hass.localize( "ui.panel.config.backup.encryption_key.download_emergency_kit_action" )} diff --git a/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts index 330cadb6b0..ec05e567ed 100644 --- a/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-change-backup-encryption-key.ts @@ -128,7 +128,7 @@ class DialogChangeBackupEncryptionKey extends LitElement implements HassDialog { ${this.hass.localize( "ui.panel.config.backup.dialogs.change_encryption_key.actions.change" @@ -176,7 +176,7 @@ class DialogChangeBackupEncryptionKey extends LitElement implements HassDialog { )} - + ${this.hass.localize( "ui.panel.config.backup.encryption_key.download_old_emergency_kit_action" )} @@ -211,7 +211,7 @@ class DialogChangeBackupEncryptionKey extends LitElement implements HassDialog { )} - + ${this.hass.localize( "ui.panel.config.backup.encryption_key.download_emergency_kit_action" )} @@ -297,9 +297,6 @@ class DialogChangeBackupEncryptionKey extends LitElement implements HassDialog { --md-list-item-leading-space: 0; --md-list-item-trailing-space: 0; } - ha-button.danger { - --mdc-theme-primary: var(--error-color); - } .encryption-key { border: 1px solid var(--divider-color); background-color: var(--primary-background-color); diff --git a/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts b/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts index df7b23ccb0..17b3a44288 100644 --- a/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-download-decrypted-backup.ts @@ -112,7 +112,7 @@ class DialogDownloadDecryptedBackup extends LitElement implements HassDialog { : nothing}
- + ${this.hass.localize("ui.common.cancel")} diff --git a/src/panels/config/backup/dialogs/dialog-restore-backup.ts b/src/panels/config/backup/dialogs/dialog-restore-backup.ts index 7b8d6bd1c4..e2149ba044 100644 --- a/src/panels/config/backup/dialogs/dialog-restore-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-restore-backup.ts @@ -227,7 +227,7 @@ class DialogRestoreBackup extends LitElement implements HassDialog { private _renderConfirmActions() { return html` - + ${this.hass.localize("ui.common.cancel")} diff --git a/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts index c96e6c4915..ee6423b38f 100644 --- a/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-set-backup-encryption-key.ts @@ -151,8 +151,13 @@ class DialogSetBackupEncryptionKey extends LitElement implements HassDialog { "ui.panel.config.backup.encryption_key.download_emergency_kit_description" )} - - + + ${this.hass.localize( "ui.panel.config.backup.encryption_key.download_emergency_kit_action" )} diff --git a/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts b/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts index f9f57320e6..0f9a2df226 100644 --- a/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts +++ b/src/panels/config/backup/dialogs/dialog-show-backup-encryption-key.ts @@ -87,8 +87,13 @@ class DialogShowBackupEncryptionKey extends LitElement implements HassDialog { "ui.panel.config.backup.encryption_key.download_emergency_kit_description" )} - - + + ${this.hass.localize( "ui.panel.config.backup.encryption_key.download_emergency_kit_action" )} diff --git a/src/panels/config/backup/dialogs/dialog-upload-backup.ts b/src/panels/config/backup/dialogs/dialog-upload-backup.ts index 4a2621b6fe..59478a81f2 100644 --- a/src/panels/config/backup/dialogs/dialog-upload-backup.ts +++ b/src/panels/config/backup/dialogs/dialog-upload-backup.ts @@ -113,7 +113,10 @@ export class DialogUploadBackup >
- ${this.hass.localize("ui.common.cancel")} ${!this.narrow ? html` - + ${this.hass.localize( "ui.panel.config.backup.backups.delete_selected" )} diff --git a/src/panels/config/backup/ha-config-backup-location.ts b/src/panels/config/backup/ha-config-backup-location.ts index c9f848372c..ebe0c44d13 100644 --- a/src/panels/config/backup/ha-config-backup-location.ts +++ b/src/panels/config/backup/ha-config-backup-location.ts @@ -158,18 +158,18 @@ class HaConfigBackupDetails extends LitElement { "ui.panel.config.backup.location.encryption.location_encrypted_cloud_description" )} - - - ${this.hass.localize( - "ui.panel.config.backup.location.encryption.location_encrypted_cloud_learn_more" - )} - - + ${this.hass.localize( + "ui.panel.config.backup.location.encryption.location_encrypted_cloud_learn_more" + )} + ` : encrypted diff --git a/src/panels/config/cloud/account/cloud-remote-pref.ts b/src/panels/config/cloud/account/cloud-remote-pref.ts index b7f9e88821..61203f0ea4 100644 --- a/src/panels/config/cloud/account/cloud-remote-pref.ts +++ b/src/panels/config/cloud/account/cloud-remote-pref.ts @@ -187,7 +187,11 @@ export class CloudRemotePref extends LitElement { ) : nothing} - + ${this.hass.localize( "ui.panel.config.cloud.account.remote.more_info" )} diff --git a/src/panels/config/cloud/account/cloud-tts-pref.ts b/src/panels/config/cloud/account/cloud-tts-pref.ts index c52352a8f9..959fbb0fc6 100644 --- a/src/panels/config/cloud/account/cloud-tts-pref.ts +++ b/src/panels/config/cloud/account/cloud-tts-pref.ts @@ -126,7 +126,7 @@ export class CloudTTSPref extends LitElement { `}
- + ${this.hass.localize("ui.panel.config.cloud.account.tts.try")} diff --git a/src/panels/config/cloud/account/dialog-cloud-support-package.ts b/src/panels/config/cloud/account/dialog-cloud-support-package.ts index 7caab2260a..e5b7148d24 100644 --- a/src/panels/config/cloud/account/dialog-cloud-support-package.ts +++ b/src/panels/config/cloud/account/dialog-cloud-support-package.ts @@ -77,7 +77,9 @@ export class DialogSupportPackage extends LitElement {
- Close + Close Download
diff --git a/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts b/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts index 8e71a1db84..d63f58ce05 100644 --- a/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts +++ b/src/panels/config/entities/editor-tabs/settings/entity-settings-helper-tab.ts @@ -202,7 +202,7 @@ export class EntitySettingsHelperTab extends LitElement { box-sizing: border-box; display: flex; justify-content: space-between; - padding: 0 24px 24px 24px; + padding: 16px; background-color: var(--mdc-theme-surface, #fff); } .error { diff --git a/src/panels/config/entities/entity-registry-settings.ts b/src/panels/config/entities/entity-registry-settings.ts index 8f4b55672a..c891cda58f 100644 --- a/src/panels/config/entities/entity-registry-settings.ts +++ b/src/panels/config/entities/entity-registry-settings.ts @@ -249,9 +249,9 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) { .buttons { box-sizing: border-box; display: flex; - padding: 8px; + padding: 16px; justify-content: space-between; - padding-bottom: max(var(--safe-area-inset-bottom), 8px); + padding-bottom: max(var(--safe-area-inset-bottom), 16px); background-color: var(--mdc-theme-surface, #fff); border-top: 1px solid var(--divider-color); position: sticky; diff --git a/src/panels/config/helpers/forms/dialog-schedule-block-info.ts b/src/panels/config/helpers/forms/dialog-schedule-block-info.ts index 12dcef4f5c..9c5142c19d 100644 --- a/src/panels/config/helpers/forms/dialog-schedule-block-info.ts +++ b/src/panels/config/helpers/forms/dialog-schedule-block-info.ts @@ -92,8 +92,9 @@ class DialogScheduleBlockInfo extends LitElement { ${this.hass!.localize("ui.common.delete")} diff --git a/src/panels/config/helpers/forms/ha-input_select-form.ts b/src/panels/config/helpers/forms/ha-input_select-form.ts index 19d8b77928..aed00830d5 100644 --- a/src/panels/config/helpers/forms/ha-input_select-form.ts +++ b/src/panels/config/helpers/forms/ha-input_select-form.ts @@ -145,7 +145,7 @@ class HaInputSelectForm extends LitElement { )} @keydown=${this._handleKeyAdd} > - ${this.hass!.localize( "ui.dialogs.helper_settings.input_select.add" )} ${item.disabled_by === "user" - ? html` + ? html` ${this.hass.localize("ui.common.enable")} ` : configPanel && diff --git a/src/panels/config/integrations/ha-disabled-config-entry-card.ts b/src/panels/config/integrations/ha-disabled-config-entry-card.ts index 6e292e913f..e4c6cdc9bf 100644 --- a/src/panels/config/integrations/ha-disabled-config-entry-card.ts +++ b/src/panels/config/integrations/ha-disabled-config-entry-card.ts @@ -45,10 +45,9 @@ export class HaDisabledConfigEntryCard extends LitElement { > - + + ${this.hass.localize("ui.common.enable")} + `; } diff --git a/src/panels/config/integrations/ha-ignored-config-entry-card.ts b/src/panels/config/integrations/ha-ignored-config-entry-card.ts index dc8f441bd1..3c2ee6a43f 100644 --- a/src/panels/config/integrations/ha-ignored-config-entry-card.ts +++ b/src/panels/config/integrations/ha-ignored-config-entry-card.ts @@ -34,12 +34,11 @@ export class HaIgnoredConfigEntryCard extends LitElement { this.entry.localized_domain_name : this.entry.title} > - + ${this.hass.localize( "ui.panel.config.integrations.ignore.stop_ignore" )} - > + `; } diff --git a/src/panels/config/integrations/ha-integration-card.ts b/src/panels/config/integrations/ha-integration-card.ts index 6bd63ca2cc..92363e8100 100644 --- a/src/panels/config/integrations/ha-integration-card.ts +++ b/src/panels/config/integrations/ha-integration-card.ts @@ -112,7 +112,8 @@ export class HaIntegrationCard extends LitElement { return html`
${devices.length > 0 - ? html` - - ${this.hass.localize( - `ui.panel.config.integrations.config_entry.${ - services ? "services" : "devices" - }`, - { count: devices.length } - )} - - ` + ${this.hass.localize( + `ui.panel.config.integrations.config_entry.${ + services ? "services" : "devices" + }`, + { count: devices.length } + )} + ` : entitiesCount > 0 - ? html` - - ${this.hass.localize( - `ui.panel.config.integrations.config_entry.entities`, - { count: entitiesCount } - )} - - ` + ${this.hass.localize( + `ui.panel.config.integrations.config_entry.entities`, + { count: entitiesCount } + )} + ` : this.items.find((itm) => itm.source !== "yaml") - ? html` - - ${this.hass.localize( - `ui.panel.config.integrations.config_entry.entries`, - { - count: this.items.filter((itm) => itm.source !== "yaml") - .length, - } - )} - - ` + ${this.hass.localize( + `ui.panel.config.integrations.config_entry.entries`, + { + count: this.items.filter((itm) => itm.source !== "yaml") + .length, + } + )} + ` : html`
`}
${this.manifest && !this.manifest.is_built_in diff --git a/src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts b/src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts index bfe1031932..2463021d7b 100644 --- a/src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts +++ b/src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts @@ -114,7 +114,11 @@ class DialogSSDPDiscoveryInfo extends LitElement implements HassDialog { - + ${this.hass.localize("ui.panel.config.ssdp.copy_to_clipboard")} diff --git a/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts b/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts index 1250ac0593..a5c32617d1 100644 --- a/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts +++ b/src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts @@ -160,7 +160,11 @@ class DialogZHAReconfigureDevice extends LitElement { ${this.hass.localize("ui.common.close")} - + ${this._showDetails ? this.hass.localize( `ui.dialogs.zha_reconfigure_device.button_hide` @@ -189,7 +193,11 @@ class DialogZHAReconfigureDevice extends LitElement { ${this.hass.localize("ui.common.close")} - + ${this._showDetails ? this.hass.localize( `ui.dialogs.zha_reconfigure_device.button_hide` diff --git a/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts index 3a12f2789a..3ec0cf2573 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-add-group-page.ts @@ -176,7 +176,7 @@ export class ZHAAddGroupPage extends LitElement { } .buttons { align-items: flex-end; - padding: 8px; + padding: 16px; } .buttons .warning { --mdc-theme-primary: var(--error-color); diff --git a/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts b/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts index 26a3b558a2..14f509600c 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-group-page.ts @@ -305,7 +305,7 @@ export class ZHAGroupPage extends LitElement { } .buttons { align-items: flex-end; - padding: 8px; + padding: 16px; } .buttons .warning { --mdc-theme-primary: var(--error-color); diff --git a/src/panels/config/integrations/integration-panels/zwave_js/add-node/zwave-js-add-node-failed.ts b/src/panels/config/integrations/integration-panels/zwave_js/add-node/zwave-js-add-node-failed.ts index 72d0793f37..5994b2d7d4 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/add-node/zwave-js-add-node-failed.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/add-node/zwave-js-add-node-failed.ts @@ -33,13 +33,11 @@ export class ZWaveJsAddNodeFailed extends LitElement {
` : nothing} ${this.device?.id - ? html` - - ${this.hass.localize( - "ui.panel.config.zwave_js.add_node.view_device" - )} - - ` + ? html` + ${this.hass.localize( + "ui.panel.config.zwave_js.add_node.view_device" + )} + ` : nothing} `; } diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts index 2bbb6d13fe..1a376ca857 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-remove-node.ts @@ -219,7 +219,11 @@ class DialogZWaveJSRemoveNode extends LitElement { if (this._step === "start_removal") { return html` - + ${this.hass.localize("ui.common.cancel")} + ${this.hass.localize("ui.common.cancel")}
${this._isLoading ? html`` : nothing} - + ${this.hass.localize( "ui.panel.config.zwave_js.node_config.get_value" )} - + ${this.hass.localize( "ui.panel.config.zwave_js.node_config.set_value" )} diff --git a/src/panels/config/logs/dialog-download-logs.ts b/src/panels/config/logs/dialog-download-logs.ts index 528235c4e5..de616b39d7 100644 --- a/src/panels/config/logs/dialog-download-logs.ts +++ b/src/panels/config/logs/dialog-download-logs.ts @@ -94,7 +94,7 @@ class DownloadLogsDialog extends LitElement {
- + ${this.hass.localize("ui.common.cancel")} diff --git a/src/panels/config/logs/error-log-card.ts b/src/panels/config/logs/error-log-card.ts index e14cebf249..eb912f8a1a 100644 --- a/src/panels/config/logs/error-log-card.ts +++ b/src/panels/config/logs/error-log-card.ts @@ -312,17 +312,16 @@ class ErrorLogCard extends LitElement { !this._scrolledToBottomController.value) || false, })}" + size="small" + appearance="filled" @click=${this._scrollToBottom} > ${localize("ui.panel.config.logs.scroll_down_button")} - + ${streaming && this._boot === 0 && !this._error ? html`
@@ -823,25 +822,15 @@ class ErrorLogCard extends LitElement { } .new-logs-indicator { - --mdc-theme-primary: var(--text-primary-color); - overflow: hidden; position: absolute; - bottom: 0; - left: 0; - right: 0; + bottom: 4px; height: 0; - background-color: var(--primary-color); - border-radius: 8px; - transition: height 0.4s ease-out; - display: flex; - justify-content: space-between; - align-items: center; } .new-logs-indicator.visible { - height: 24px; + height: 32px; } .error { diff --git a/src/panels/config/network/ha-config-url-form.ts b/src/panels/config/network/ha-config-url-form.ts index b7ba8a3467..2ca71d860c 100644 --- a/src/panels/config/network/ha-config-url-form.ts +++ b/src/panels/config/network/ha-config-url-form.ts @@ -284,7 +284,7 @@ class ConfigUrlForm extends SubscribeMixin(LitElement) { .url=${internalUrl} @click=${this._copyURL} > - + ${this.hass.localize("ui.panel.config.common.copy_link")}
diff --git a/src/panels/config/network/supervisor-network.ts b/src/panels/config/network/supervisor-network.ts index dcc2f89e1f..ceb7622af6 100644 --- a/src/panels/config/network/supervisor-network.ts +++ b/src/panels/config/network/supervisor-network.ts @@ -145,13 +145,12 @@ export class HassioNetwork extends LitElement { class="scan" @click=${this._scanForAP} .disabled=${this._scanning} + .loading=${this._scanning} > - ${this._scanning - ? html` ` - : this.hass.localize( - "ui.panel.config.network.supervisor.scan_ap" - )} - + ${this.hass.localize( + "ui.panel.config.network.supervisor.scan_ap" + )} +
${this._accessPoints.length ? html` @@ -261,6 +260,9 @@ export class HassioNetwork extends LitElement { : nothing}
+ + ${this.hass.localize("ui.panel.config.network.supervisor.reset")} + ${this.hass.localize("ui.common.save")} - - ${this.hass.localize("ui.panel.config.network.supervisor.reset")} -
`; } diff --git a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts index 7a0dd73646..7fd9f5d514 100644 --- a/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts +++ b/src/panels/config/voice-assistants/assist-pipeline-detail/assist-pipeline-detail-tts.ts @@ -91,12 +91,10 @@ export class AssistPipelineDetailTTS extends LitElement { ${ this.data?.tts_engine ? html`` : nothing diff --git a/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts b/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts index db714ea87c..43359df353 100644 --- a/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts +++ b/src/panels/config/voice-assistants/debug/assist-pipeline-run-debug.ts @@ -61,10 +61,12 @@ export class AssistPipelineRunDebug extends LitElement { slot="toolbar-icon" @click=${this._clearConversation} .disabled=${!this._finished} + appearance="plain" > ${this.hass.localize("ui.common.clear")}
@@ -83,13 +85,16 @@ export class AssistPipelineRunDebug extends LitElement { @value-changed=${this._pipelinePicked} >
- + ${this.hass.localize( "ui.panel.config.voice_assistants.debug.pipeline.run_text_pipeline" )} + ${this.hass.localize( "ui.panel.config.voice_assistants.debug.pipeline.continue_listening" )} ` - : html` + : html` ${this.hass.localize( "ui.panel.config.voice_assistants.debug.pipeline.continue_talking" )} diff --git a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts index d92d68fe3a..9786c6a89b 100644 --- a/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts +++ b/src/panels/config/voice-assistants/dialog-voice-assistant-pipeline-detail.ts @@ -182,13 +182,11 @@ export class DialogVoiceAssistantPipelineDetail extends LitElement { ${this.hass.localize( "ui.panel.config.voice_assistants.assistants.pipeline.detail.no_cloud_message" )} - - - ${this.hass.localize( - "ui.panel.config.voice_assistants.assistants.pipeline.detail.no_cloud_action" - )} - - + + ${this.hass.localize( + "ui.panel.config.voice_assistants.assistants.pipeline.detail.no_cloud_action" + )} + ` : nothing} diff --git a/src/panels/developer-tools/assist/developer-tools-assist.ts b/src/panels/developer-tools/assist/developer-tools-assist.ts index b2ea1d322f..f76898be0f 100644 --- a/src/panels/developer-tools/assist/developer-tools-assist.ts +++ b/src/panels/developer-tools/assist/developer-tools-assist.ts @@ -164,12 +164,16 @@ class HaPanelDevAssist extends SubscribeMixin(LitElement) { ${this._results.length ? html`
- - + + ${this.hass.localize("ui.common.clear")} - - + + ${this.hass.localize( "ui.panel.developer-tools.tabs.assist.download_results" )} diff --git a/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts b/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts index 8e14cb897e..7181af62f2 100644 --- a/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts +++ b/src/panels/developer-tools/statistics/dialog-statistics-adjust-sum.ts @@ -287,6 +287,7 @@ export class DialogStatisticsFixUnsupportedUnitMetadata extends LitElement { slot="secondaryAction" .disabled=${this._busy} @click=${this._clearChosenStatistic} + appearance="plain" > ${this.hass.localize("ui.common.back")} diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts index aa3c50e90c..3b9f55167d 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-suggest-card.ts @@ -154,14 +154,11 @@ export class HuiDialogSuggestCard extends LitElement { slot="primaryAction" .disabled=${this._saving} @click=${this._save} + .loading=${this._saving} > - ${this._saving - ? html` - - ` - : this.hass!.localize( - "ui.panel.lovelace.editor.suggest_card.add" - )} + ${this.hass!.localize( + "ui.panel.lovelace.editor.suggest_card.add" + )} ` : nothing} diff --git a/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts b/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts index 0b0c17f27b..273aaa390f 100644 --- a/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-card-features-editor.ts @@ -372,14 +372,9 @@ export class HuiCardFeaturesEditor extends LitElement { @action=${this._addFeature} @closed=${stopPropagation} > - - + + + ${this.hass!.localize(`ui.panel.lovelace.editor.features.add`)} ${types.map( (type) => html` diff --git a/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts b/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts index 330518c93e..a5f3d61d75 100644 --- a/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-heading-badges-editor.ts @@ -120,11 +120,11 @@ export class HuiHeadingBadgesEditor extends LitElement {
- + + ${this.hass!.localize(`ui.panel.lovelace.editor.entities.add`)} ${this._renderPicker()}
diff --git a/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts b/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts index da18eb45ca..b0661a941c 100644 --- a/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts +++ b/src/panels/lovelace/editor/select-dashboard/hui-dialog-select-dashboard.ts @@ -110,7 +110,11 @@ export class HuiDialogSelectDashboard extends LitElement {
`}
- + ${this.hass!.localize("ui.common.cancel")} + ${this.hass!.localize( + "ui.panel.lovelace.editor.edit_view.convert_view" + )} ` diff --git a/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts b/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts index 8af0e2679b..d2b630352c 100644 --- a/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts +++ b/src/panels/lovelace/editor/view-header/hui-dialog-edit-view-header.ts @@ -139,10 +139,8 @@ export class HuiDialogEditViewHeader extends LitElement { slot="primaryAction" .disabled=${!this._config || this._saving || !this._dirty} @click=${this._save} + .loading=${this._saving} > - ${this._saving - ? html`` - : nothing} ${this.hass!.localize("ui.common.save")} diff --git a/src/panels/media-browser/ha-bar-media-player.ts b/src/panels/media-browser/ha-bar-media-player.ts index 22cc0c0997..6cad6f0dbf 100644 --- a/src/panels/media-browser/ha-bar-media-player.ts +++ b/src/panels/media-browser/ha-bar-media-player.ts @@ -703,17 +703,6 @@ export class BarMediaPlayer extends SubscribeMixin(LitElement) { ha-list-item[selected] { font-weight: var(--ha-font-weight-bold); } - - span[slot="icon"] { - display: flex; - align-items: center; - } - - ha-svg-icon[slot="trailingIcon"] { - margin-inline-start: 8px !important; - margin-inline-end: 0px !important; - direction: var(--direction); - } `; } diff --git a/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts b/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts index 3397bd60a2..960d2cce79 100644 --- a/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts +++ b/src/panels/profile/dialog-ha-mfa-module-setup-flow.ts @@ -187,11 +187,6 @@ class HaMfaModuleSetupFlow extends LitElement { padding: 10px 100px 34px; text-align: center; } - .submit-spinner { - margin-right: 16px; - margin-inline-end: 16px; - margin-inline-start: initial; - } `, ]; } diff --git a/src/panels/todo/ha-panel-todo.ts b/src/panels/todo/ha-panel-todo.ts index fe79b63ef1..b18330e32c 100644 --- a/src/panels/todo/ha-panel-todo.ts +++ b/src/panels/todo/ha-panel-todo.ts @@ -191,10 +191,7 @@ class PanelTodo extends LitElement { : this._entityId : ""}
- +
${listItems} ${this.hass.user?.is_admin @@ -395,27 +392,7 @@ class PanelTodo extends LitElement { max-width: 100%; } ha-button-menu ha-button { - --button-slot-container-overflow: hidden; - max-width: 100%; - --mdc-theme-primary: currentColor; - --mdc-typography-button-text-transform: none; - --mdc-typography-button-font-size: var( - --mdc-typography-headline6-font-size, - var(--ha-font-size-l) - ); - --mdc-typography-button-font-weight: var( - --mdc-typography-headline6-font-weight, - 500 - ); - --mdc-typography-button-letter-spacing: var( - --mdc-typography-headline6-letter-spacing, - 0.0125em - ); - --mdc-typography-button-line-height: var( - --mdc-typography-headline6-line-height, - var(--ha-line-height-expanded) - ); - --button-height: 40px; + --ha-font-size-m: var(--ha-font-size-l); } ha-button-menu ha-button div { text-overflow: ellipsis;