diff --git a/src/components/entity/ha-entity-picker.ts b/src/components/entity/ha-entity-picker.ts index ff26c4a79d..31d2af9062 100644 --- a/src/components/entity/ha-entity-picker.ts +++ b/src/components/entity/ha-entity-picker.ts @@ -1,3 +1,4 @@ +import "../ha-list-item"; import { HassEntity } from "home-assistant-js-websocket"; import { html, LitElement, PropertyValues, TemplateResult } from "lit"; import { ComboBoxLitRenderer } from "@vaadin/combo-box/lit"; @@ -9,7 +10,6 @@ import { computeStateName } from "../../common/entity/compute_state_name"; import { caseInsensitiveStringCompare } from "../../common/string/compare"; import { PolymerChangedEvent } from "../../polymer-types"; import { HomeAssistant } from "../../types"; -import "../ha-list-item"; import "../ha-combo-box"; import type { HaComboBox } from "../ha-combo-box"; import "../ha-icon-button"; diff --git a/src/components/ha-button.ts b/src/components/ha-button.ts new file mode 100644 index 0000000000..318fe8c483 --- /dev/null +++ b/src/components/ha-button.ts @@ -0,0 +1,24 @@ +import { Button } from "@material/mwc-button"; +import { css } from "lit"; +import { customElement } from "lit/decorators"; +import { styles } from "@material/mwc-button/styles.css"; + +@customElement("ha-button") +export class HaButton extends Button { + static override styles = [ + styles, + css` + ::slotted([slot="icon"]) { + margin-inline-start: 0px; + margin-inline-end: 8px; + direction: var(--direction); + } + `, + ]; +} + +declare global { + interface HTMLElementTagNameMap { + "ha-button": HaButton; + } +} diff --git a/src/components/ha-combo-box.ts b/src/components/ha-combo-box.ts index 27691d1a5f..061a241e07 100644 --- a/src/components/ha-combo-box.ts +++ b/src/components/ha-combo-box.ts @@ -16,7 +16,6 @@ import { fireEvent } from "../common/dom/fire_event"; import { HomeAssistant } from "../types"; import "./ha-list-item"; import "./ha-icon-button"; -import "./ha-textfield"; import type { HaTextField } from "./ha-textfield"; registerStyles( diff --git a/src/panels/config/automation/action/ha-automation-action.ts b/src/panels/config/automation/action/ha-automation-action.ts index 0a56ac1318..7ff8100b76 100644 --- a/src/panels/config/automation/action/ha-automation-action.ts +++ b/src/panels/config/automation/action/ha-automation-action.ts @@ -11,6 +11,7 @@ import { fireEvent } from "../../../../common/dom/fire_event"; import { stringCompare } from "../../../../common/string/compare"; import { LocalizeFunc } from "../../../../common/translations/localize"; import "../../../../components/ha-button-menu"; +import "../../../../components/ha-button"; import type { HaSelect } from "../../../../components/ha-select"; import "../../../../components/ha-svg-icon"; import { ACTION_TYPES } from "../../../../data/action"; @@ -132,7 +133,7 @@ export default class HaAutomationAction extends LitElement { @action=${this._addAction} .disabled=${this.disabled} > - - + ${this._processedTypes(this.hass.localize).map( ([opt, label, icon]) => html` diff --git a/src/panels/config/automation/action/types/ha-automation-action-choose.ts b/src/panels/config/automation/action/types/ha-automation-action-choose.ts index bbc9b5a039..e515b49d1c 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-choose.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-choose.ts @@ -4,6 +4,7 @@ import { customElement, property, state } from "lit/decorators"; import { fireEvent } from "../../../../../common/dom/fire_event"; import { ensureArray } from "../../../../../common/array/ensure-array"; import "../../../../../components/ha-icon-button"; +import "../../../../../components/ha-button"; import { Condition } from "../../../../../data/automation"; import { Action, ChooseAction } from "../../../../../data/script"; import { haStyle } from "../../../../../resources/styles"; @@ -80,7 +81,7 @@ export class HaChooseAction extends LitElement implements ActionElement { ` )} - - + ${this._showDefault || action.default ? html`

@@ -196,6 +197,9 @@ export class HaChooseAction extends LitElement implements ActionElement { ha-icon-button { position: absolute; right: 0; + inset-inline-start: initial; + inset-inline-end: 0; + direction: var(--direction); padding: 4px; } ha-svg-icon { diff --git a/src/panels/config/automation/condition/ha-automation-condition.ts b/src/panels/config/automation/condition/ha-automation-condition.ts index 1b93b508e5..d936b7a4f3 100644 --- a/src/panels/config/automation/condition/ha-automation-condition.ts +++ b/src/panels/config/automation/condition/ha-automation-condition.ts @@ -8,6 +8,7 @@ import { repeat } from "lit/directives/repeat"; import memoizeOne from "memoize-one"; import type { SortableEvent } from "sortablejs"; import { fireEvent } from "../../../../common/dom/fire_event"; +import "../../../../components/ha-button"; import "../../../../components/ha-button-menu"; import "../../../../components/ha-svg-icon"; import type { Condition } from "../../../../data/automation"; @@ -177,7 +178,7 @@ export default class HaAutomationCondition extends LitElement { @action=${this._addCondition} .disabled=${this.disabled} > - - + ${this._processedTypes(this.hass.localize).map( ([opt, label, icon]) => html` diff --git a/src/panels/config/automation/trigger/ha-automation-trigger.ts b/src/panels/config/automation/trigger/ha-automation-trigger.ts index 7bc099265d..7c8b8bd755 100644 --- a/src/panels/config/automation/trigger/ha-automation-trigger.ts +++ b/src/panels/config/automation/trigger/ha-automation-trigger.ts @@ -11,6 +11,7 @@ import { fireEvent } from "../../../../common/dom/fire_event"; import { stringCompare } from "../../../../common/string/compare"; import type { LocalizeFunc } from "../../../../common/translations/localize"; import "../../../../components/ha-button-menu"; +import "../../../../components/ha-button"; import type { HaSelect } from "../../../../components/ha-select"; import "../../../../components/ha-svg-icon"; import { Trigger } from "../../../../data/automation"; @@ -125,7 +126,7 @@ export default class HaAutomationTrigger extends LitElement { )} - - + ${this._processedTypes(this.hass.localize).map( ([opt, label, icon]) => html` diff --git a/src/panels/config/logs/ha-config-logs.ts b/src/panels/config/logs/ha-config-logs.ts index f632d1ef6a..3a40d0e5ad 100644 --- a/src/panels/config/logs/ha-config-logs.ts +++ b/src/panels/config/logs/ha-config-logs.ts @@ -4,6 +4,7 @@ import { customElement, property, query, state } from "lit/decorators"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { extractSearchParam } from "../../../common/url/search-params"; import "../../../components/ha-button-menu"; +import "../../../components/ha-button"; import "../../../components/search-input"; import { LogProvider } from "../../../data/error_log"; import { fetchHassioAddonsInfo } from "../../../data/hassio/addon"; @@ -115,7 +116,7 @@ export class HaConfigLogs extends LitElement { this.hass.userData?.showAdvanced ? html` - p.key === this._selectedLogProvider @@ -125,7 +126,7 @@ export class HaConfigLogs extends LitElement { slot="trailingIcon" .path=${mdiChevronDown} > - + ${this._logProviders.map( (provider) => html` - - + ${this._supportedFeatureTypes.map( (featureType) => html` ` : html` - - + ` }