mirror of
				https://github.com/home-assistant/frontend.git
				synced 2025-11-04 08:29:52 +00:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			20251001.3
			...
			Button-Edi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					14de223ffc | ||
| 
						 | 
					1290336cc5 | ||
| 
						 | 
					abaf5dd0f2 | 
@@ -1,6 +1,10 @@
 | 
			
		||||
import { css } from "lit";
 | 
			
		||||
 | 
			
		||||
export const configElementStyle = css`
 | 
			
		||||
  .card-config {
 | 
			
		||||
    /* Cancels overlapping Margins for HAForm + Card Config options */
 | 
			
		||||
    overflow: auto;
 | 
			
		||||
  }
 | 
			
		||||
  ha-switch {
 | 
			
		||||
    padding: 16px 6px;
 | 
			
		||||
  }
 | 
			
		||||
@@ -25,5 +29,6 @@ export const configElementStyle = css`
 | 
			
		||||
  ha-textfield,
 | 
			
		||||
  ha-icon-picker {
 | 
			
		||||
    margin-top: 8px;
 | 
			
		||||
    display: block;
 | 
			
		||||
  }
 | 
			
		||||
`;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,22 @@
 | 
			
		||||
import type { HassEntity } from "home-assistant-js-websocket";
 | 
			
		||||
import { CSSResultGroup, html, LitElement, TemplateResult } from "lit";
 | 
			
		||||
import { customElement, property, state } from "lit/decorators";
 | 
			
		||||
import { assert, boolean, object, optional, string, assign } from "superstruct";
 | 
			
		||||
import type { HassEntity } from "home-assistant-js-websocket";
 | 
			
		||||
import memoizeOne from "memoize-one";
 | 
			
		||||
import { assert, assign, boolean, object, optional, string } from "superstruct";
 | 
			
		||||
import { fireEvent } from "../../../../common/dom/fire_event";
 | 
			
		||||
import { computeDomain } from "../../../../common/entity/compute_domain";
 | 
			
		||||
import { domainIcon } from "../../../../common/entity/domain_icon";
 | 
			
		||||
import "../../../../components/ha-form/ha-form";
 | 
			
		||||
import type { HaFormSchema } from "../../../../components/ha-form/types";
 | 
			
		||||
import { ActionConfig } from "../../../../data/lovelace";
 | 
			
		||||
import type { HomeAssistant } from "../../../../types";
 | 
			
		||||
import type { ButtonCardConfig } from "../../cards/types";
 | 
			
		||||
import "../../components/hui-action-editor";
 | 
			
		||||
import "../../../../components/ha-form/ha-form";
 | 
			
		||||
import type { LovelaceCardEditor } from "../../types";
 | 
			
		||||
import { actionConfigStruct } from "../structs/action-struct";
 | 
			
		||||
import { baseLovelaceCardConfig } from "../structs/base-card-struct";
 | 
			
		||||
import type { EditorTarget } from "../types";
 | 
			
		||||
import { configElementStyle } from "./config-elements-style";
 | 
			
		||||
import { baseLovelaceCardConfig } from "../structs/base-card-struct";
 | 
			
		||||
import { computeDomain } from "../../../../common/entity/compute_domain";
 | 
			
		||||
import { domainIcon } from "../../../../common/entity/domain_icon";
 | 
			
		||||
import type { HaFormSchema } from "../../../../components/ha-form/types";
 | 
			
		||||
 | 
			
		||||
const cardConfigStruct = assign(
 | 
			
		||||
  baseLovelaceCardConfig,
 | 
			
		||||
@@ -149,38 +149,36 @@ export class HuiButtonCardEditor
 | 
			
		||||
        @value-changed=${this._valueChanged}
 | 
			
		||||
      ></ha-form>
 | 
			
		||||
      <div class="card-config">
 | 
			
		||||
        <div class="side-by-side">
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._tap_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"tap_action"}
 | 
			
		||||
            .tooltipText=${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.button.default_action_help"
 | 
			
		||||
            )}
 | 
			
		||||
            @value-changed=${this._actionChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._hold_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"hold_action"}
 | 
			
		||||
            .tooltipText=${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.button.default_action_help"
 | 
			
		||||
            )}
 | 
			
		||||
            @value-changed=${this._actionChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
        </div>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._tap_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"tap_action"}
 | 
			
		||||
          .tooltipText=${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.button.default_action_help"
 | 
			
		||||
          )}
 | 
			
		||||
          @value-changed=${this._actionChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._hold_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"hold_action"}
 | 
			
		||||
          .tooltipText=${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.button.default_action_help"
 | 
			
		||||
          )}
 | 
			
		||||
          @value-changed=${this._actionChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
 | 
			
		||||
import { customElement, property, state } from "lit/decorators";
 | 
			
		||||
import { assert, object, optional, string, assign } from "superstruct";
 | 
			
		||||
import { assert, assign, object, optional, string } from "superstruct";
 | 
			
		||||
import { fireEvent } from "../../../../common/dom/fire_event";
 | 
			
		||||
import { ActionConfig } from "../../../../data/lovelace";
 | 
			
		||||
import { HomeAssistant } from "../../../../types";
 | 
			
		||||
@@ -9,9 +9,9 @@ import "../../components/hui-action-editor";
 | 
			
		||||
import "../../components/hui-theme-select-editor";
 | 
			
		||||
import { LovelaceCardEditor } from "../../types";
 | 
			
		||||
import { actionConfigStruct } from "../structs/action-struct";
 | 
			
		||||
import { baseLovelaceCardConfig } from "../structs/base-card-struct";
 | 
			
		||||
import { EditorTarget } from "../types";
 | 
			
		||||
import { configElementStyle } from "./config-elements-style";
 | 
			
		||||
import { baseLovelaceCardConfig } from "../structs/base-card-struct";
 | 
			
		||||
 | 
			
		||||
const cardConfigStruct = assign(
 | 
			
		||||
  baseLovelaceCardConfig,
 | 
			
		||||
@@ -78,32 +78,30 @@ export class HuiPictureCardEditor
 | 
			
		||||
          .configValue=${"theme"}
 | 
			
		||||
          @value-changed=${this._valueChanged}
 | 
			
		||||
        ></hui-theme-select-editor>
 | 
			
		||||
        <div class="side-by-side">
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._tap_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"tap_action"}
 | 
			
		||||
            @value-changed=${this._valueChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._hold_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"hold_action"}
 | 
			
		||||
            @value-changed=${this._valueChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
        </div>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._tap_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"tap_action"}
 | 
			
		||||
          @value-changed=${this._valueChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._hold_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"hold_action"}
 | 
			
		||||
          @value-changed=${this._valueChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -108,32 +108,30 @@ export class HuiPictureEntityCardEditor
 | 
			
		||||
        @value-changed=${this._valueChanged}
 | 
			
		||||
      ></ha-form>
 | 
			
		||||
      <div class="card-config">
 | 
			
		||||
        <div class="side-by-side">
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._tap_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"tap_action"}
 | 
			
		||||
            @value-changed=${this._changed}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label="${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
            )} (${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
            )})"
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._hold_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"hold_action"}
 | 
			
		||||
            @value-changed=${this._changed}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
        </div>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._tap_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"tap_action"}
 | 
			
		||||
          @value-changed=${this._changed}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label="${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
          )} (${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.config.optional"
 | 
			
		||||
          )})"
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._hold_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"hold_action"}
 | 
			
		||||
          @value-changed=${this._changed}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
      </div>
 | 
			
		||||
    `;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
import "../../components/hui-action-editor";
 | 
			
		||||
import "../../../../components/ha-form/ha-form";
 | 
			
		||||
import { CSSResultGroup, html, LitElement, TemplateResult } from "lit";
 | 
			
		||||
import { customElement, property, state } from "lit/decorators";
 | 
			
		||||
import { array, assert, assign, object, optional, string } from "superstruct";
 | 
			
		||||
import { fireEvent } from "../../../../common/dom/fire_event";
 | 
			
		||||
import "../../../../components/ha-form/ha-form";
 | 
			
		||||
import type { HaFormSchema } from "../../../../components/ha-form/types";
 | 
			
		||||
import type { ActionConfig } from "../../../../data/lovelace";
 | 
			
		||||
import type { HomeAssistant } from "../../../../types";
 | 
			
		||||
import type { PictureGlanceCardConfig } from "../../cards/types";
 | 
			
		||||
import "../../components/hui-action-editor";
 | 
			
		||||
import "../../components/hui-entity-editor";
 | 
			
		||||
import type { EntityConfig } from "../../entity-rows/types";
 | 
			
		||||
import type { LovelaceCardEditor } from "../../types";
 | 
			
		||||
@@ -96,28 +96,26 @@ export class HuiPictureGlanceCardEditor
 | 
			
		||||
        @value-changed=${this._valueChanged}
 | 
			
		||||
      ></ha-form>
 | 
			
		||||
      <div class="card-config">
 | 
			
		||||
        <div class="side-by-side">
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label=${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
            )}
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._tap_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"tap_action"}
 | 
			
		||||
            @value-changed=${this._valueChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
          <hui-action-editor
 | 
			
		||||
            .label=${this.hass.localize(
 | 
			
		||||
              "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
            )}
 | 
			
		||||
            .hass=${this.hass}
 | 
			
		||||
            .config=${this._hold_action}
 | 
			
		||||
            .actions=${actions}
 | 
			
		||||
            .configValue=${"hold_action"}
 | 
			
		||||
            @value-changed=${this._valueChanged}
 | 
			
		||||
          ></hui-action-editor>
 | 
			
		||||
        </div>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label=${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.tap_action"
 | 
			
		||||
          )}
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._tap_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"tap_action"}
 | 
			
		||||
          @value-changed=${this._valueChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
        <hui-action-editor
 | 
			
		||||
          .label=${this.hass.localize(
 | 
			
		||||
            "ui.panel.lovelace.editor.card.generic.hold_action"
 | 
			
		||||
          )}
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .config=${this._hold_action}
 | 
			
		||||
          .actions=${actions}
 | 
			
		||||
          .configValue=${"hold_action"}
 | 
			
		||||
          @value-changed=${this._valueChanged}
 | 
			
		||||
        ></hui-action-editor>
 | 
			
		||||
        <hui-entity-editor
 | 
			
		||||
          .hass=${this.hass}
 | 
			
		||||
          .entities=${this._configEntities}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user