Make fab blue (#7839)

This commit is contained in:
Bram Kragten 2020-11-28 17:22:42 +01:00 committed by GitHub
parent cae94175fe
commit b5724ed343
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 99 additions and 131 deletions

20
src/components/ha-fab.ts Normal file
View File

@ -0,0 +1,20 @@
import type { Fab } from "@material/mwc-fab";
import "@material/mwc-fab";
import { customElement } from "lit-element";
import { Constructor } from "../types";
const MwcFab = customElements.get("mwc-fab") as Constructor<Fab>;
@customElement("ha-fab")
export class HaFab extends MwcFab {
protected firstUpdated(changedProperties) {
super.firstUpdated(changedProperties);
this.style.setProperty("--mdc-theme-secondary", "var(--primary-color)");
}
}
declare global {
interface HTMLElementTagNameMap {
"ha-fab": HaFab;
}
}

View File

@ -1,5 +1,5 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab/mwc-fab"; import "../ha-fab";
import "@material/mwc-list/mwc-list"; import "@material/mwc-list/mwc-list";
import "@material/mwc-list/mwc-list-item"; import "@material/mwc-list/mwc-list-item";
import { mdiArrowLeft, mdiClose, mdiPlay, mdiPlus } from "@mdi/js"; import { mdiArrowLeft, mdiClose, mdiPlay, mdiPlus } from "@mdi/js";
@ -170,7 +170,7 @@ export class HaMediaPlayerBrowse extends LitElement {
> >
${this._narrow && currentItem?.can_play ${this._narrow && currentItem?.can_play
? html` ? html`
<mwc-fab <ha-fab
mini mini
.item=${currentItem} .item=${currentItem}
@click=${this._actionClicked} @click=${this._actionClicked}
@ -185,7 +185,7 @@ export class HaMediaPlayerBrowse extends LitElement {
${this.hass.localize( ${this.hass.localize(
`ui.components.media-browser.${this.action}` `ui.components.media-browser.${this.action}`
)} )}
</mwc-fab> </ha-fab>
` `
: ""} : ""}
</div> </div>
@ -927,7 +927,7 @@ export class HaMediaPlayerBrowse extends LitElement {
transition: width 0.4s, height 0.4s, padding-bottom 0.4s; transition: width 0.4s, height 0.4s, padding-bottom 0.4s;
} }
mwc-fab { ha-fab {
position: absolute; position: absolute;
--mdc-theme-secondary: var(--primary-color); --mdc-theme-secondary: var(--primary-color);
bottom: -20px; bottom: -20px;
@ -1011,7 +1011,7 @@ export class HaMediaPlayerBrowse extends LitElement {
margin-bottom: 0; margin-bottom: 0;
} }
:host([scroll]) mwc-fab { :host([scroll]) ha-fab {
bottom: 4px; bottom: 4px;
right: 4px; right: 4px;
--mdc-fab-box-shadow: none; --mdc-fab-box-shadow: none;

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item";
import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-item/paper-item-body";
@ -124,7 +124,7 @@ export class HaConfigAreasDashboard extends LitElement {
icon="hass:help-circle" icon="hass:help-circle"
@click=${this._showHelp} @click=${this._showHelp}
></ha-icon-button> ></ha-icon-button>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.areas.picker.create_area" "ui.panel.config.areas.picker.create_area"
@ -133,7 +133,7 @@ export class HaConfigAreasDashboard extends LitElement {
@click=${this._createArea} @click=${this._createArea}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -278,17 +278,9 @@ export class HaBlueprintAutomationEditor extends LitElement {
ha-card { ha-card {
overflow: hidden; overflow: hidden;
} }
.errors {
padding: 20px;
font-weight: bold;
color: var(--error-color);
}
.padding { .padding {
padding: 16px; padding: 16px;
} }
.content {
padding-bottom: 20px;
}
.blueprint-picker-container { .blueprint-picker-container {
padding: 16px; padding: 16px;
display: flex; display: flex;
@ -317,20 +309,6 @@ export class HaBlueprintAutomationEditor extends LitElement {
:host(:not([narrow])) ha-settings-row ha-selector { :host(:not([narrow])) ha-settings-row ha-selector {
width: 50%; width: 50%;
} }
mwc-fab {
position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s;
}
mwc-fab.dirty {
bottom: 0;
}
.selected_menu_item {
color: var(--primary-color);
}
li[role="separator"] {
border-bottom-color: var(--divider-color);
}
`, `,
]; ];
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { import {
mdiCheck, mdiCheck,
mdiContentDuplicate, mdiContentDuplicate,
@ -271,7 +271,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
</div> </div>
` `
: ""} : ""}
<mwc-fab <ha-fab
slot="fab" slot="fab"
class=${classMap({ dirty: this._dirty })} class=${classMap({ dirty: this._dirty })}
.label=${this.hass.localize("ui.panel.config.automation.editor.save")} .label=${this.hass.localize("ui.panel.config.automation.editor.save")}
@ -279,7 +279,7 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
@click=${this._saveAutomation} @click=${this._saveAutomation}
> >
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }
@ -524,21 +524,18 @@ export class HaAutomationEditor extends KeyboardShortcutMixin(LitElement) {
.content { .content {
padding-bottom: 20px; padding-bottom: 20px;
} }
span[slot="introduction"] a {
color: var(--primary-color);
}
p { p {
margin-bottom: 0; margin-bottom: 0;
} }
ha-entity-toggle { ha-entity-toggle {
margin-right: 8px; margin-right: 8px;
} }
mwc-fab { ha-fab {
position: relative; position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom)); bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s; transition: bottom 0.3s;
} }
mwc-fab.dirty { ha-fab.dirty {
bottom: 0; bottom: 0;
} }
.selected_menu_item { .selected_menu_item {

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import { mdiPlus, mdiHelpCircle } from "@mdi/js"; import { mdiPlus, mdiHelpCircle } from "@mdi/js";
import "@polymer/paper-tooltip/paper-tooltip"; import "@polymer/paper-tooltip/paper-tooltip";
@ -170,7 +170,7 @@ class HaAutomationPicker extends LitElement {
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}> <mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon> <ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
</mwc-icon-button> </mwc-icon-button>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.automation.picker.add_automation" "ui.panel.config.automation.picker.add_automation"
@ -179,7 +179,7 @@ class HaAutomationPicker extends LitElement {
@click=${this._createNew} @click=${this._createNew}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -309,14 +309,6 @@ export class HaManualAutomationEditor extends LitElement {
ha-card { ha-card {
overflow: hidden; overflow: hidden;
} }
.errors {
padding: 20px;
font-weight: bold;
color: var(--error-color);
}
.content {
padding-bottom: 20px;
}
span[slot="introduction"] a { span[slot="introduction"] a {
color: var(--primary-color); color: var(--primary-color);
} }
@ -326,20 +318,6 @@ export class HaManualAutomationEditor extends LitElement {
ha-entity-toggle { ha-entity-toggle {
margin-right: 8px; margin-right: 8px;
} }
mwc-fab {
position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s;
}
mwc-fab.dirty {
bottom: 0;
}
.selected_menu_item {
color: var(--primary-color);
}
li[role="separator"] {
border-bottom-color: var(--divider-color);
}
`, `,
]; ];
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import { mdiPlus, mdiHelpCircle, mdiDelete, mdiRobot } from "@mdi/js"; import { mdiPlus, mdiHelpCircle, mdiDelete, mdiRobot } from "@mdi/js";
import "@polymer/paper-tooltip/paper-tooltip"; import "@polymer/paper-tooltip/paper-tooltip";
@ -174,7 +174,7 @@ class HaBlueprintOverview extends LitElement {
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}> <mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon> <ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
</mwc-icon-button> </mwc-icon-button>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.blueprint.overview.add_blueprint" "ui.panel.config.blueprint.overview.add_blueprint"
@ -183,7 +183,7 @@ class HaBlueprintOverview extends LitElement {
@click=${this._addBlueprint} @click=${this._addBlueprint}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import "@polymer/paper-checkbox/paper-checkbox"; import "@polymer/paper-checkbox/paper-checkbox";
import "@polymer/paper-dropdown-menu/paper-dropdown-menu"; import "@polymer/paper-dropdown-menu/paper-dropdown-menu";
@ -158,7 +158,7 @@ export class HaConfigHelpers extends LitElement {
"ui.panel.config.helpers.picker.no_helpers" "ui.panel.config.helpers.picker.no_helpers"
)} )}
> >
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.helpers.picker.add_helper" "ui.panel.config.helpers.picker.add_helper"
@ -167,7 +167,7 @@ export class HaConfigHelpers extends LitElement {
@click=${this._createHelpler} @click=${this._createHelpler}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import "@material/mwc-list/mwc-list-item"; import "@material/mwc-list/mwc-list-item";
import { mdiDotsVertical, mdiPlus } from "@mdi/js"; import { mdiDotsVertical, mdiPlus } from "@mdi/js";
@ -474,7 +474,7 @@ class HaConfigIntegrations extends SubscribeMixin(LitElement) {
` `
: ""} : ""}
</div> </div>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.integrations.add_integration" "ui.panel.config.integrations.add_integration"
@ -483,7 +483,7 @@ class HaConfigIntegrations extends SubscribeMixin(LitElement) {
@click=${this._createFlow} @click=${this._createFlow}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }

View File

@ -1,5 +1,4 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab";
import { mdiCheckCircle, mdiCircle, mdiCloseCircle, mdiZWave } from "@mdi/js"; import { mdiCheckCircle, mdiCircle, mdiCloseCircle, mdiZWave } from "@mdi/js";
import "@polymer/paper-item/paper-icon-item"; import "@polymer/paper-item/paper-icon-item";
import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-item/paper-item-body";

View File

@ -1,5 +1,4 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab";
import { mdiCheckCircle, mdiCircle, mdiCloseCircle } from "@mdi/js"; import { mdiCheckCircle, mdiCircle, mdiCloseCircle } from "@mdi/js";
import { import {
css, css,

View File

@ -1,5 +1,4 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab";
import { mdiAlert, mdiCheck } from "@mdi/js"; import { mdiAlert, mdiCheck } from "@mdi/js";
import { import {
CSSResult, CSSResult,

View File

@ -1,5 +1,4 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab";
import { import {
css, css,
CSSResultArray, CSSResultArray,

View File

@ -1,5 +1,4 @@
import "@material/mwc-button/mwc-button"; import "@material/mwc-button/mwc-button";
import "@material/mwc-fab";
import { import {
css, css,
CSSResultArray, CSSResultArray,

View File

@ -1,6 +1,6 @@
import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item";
import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-item/paper-item-body";
import "@material/mwc-fab"; import "../../../../../components/ha-fab";
import { import {
css, css,
CSSResultArray, CSSResultArray,
@ -88,13 +88,13 @@ class ZHAConfigDashboard extends LitElement {
: ""} : ""}
</ha-card> </ha-card>
<a href="/config/zha/add" slot="fab"> <a href="/config/zha/add" slot="fab">
<mwc-fab <ha-fab
.label=${this.hass.localize("ui.panel.config.zha.add_device")} .label=${this.hass.localize("ui.panel.config.zha.add_device")}
extended extended
?rtl=${computeRTL(this.hass)} ?rtl=${computeRTL(this.hass)}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</a> </a>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;

View File

@ -1,5 +1,5 @@
import "@material/mwc-button"; import "@material/mwc-button";
import "@material/mwc-fab"; import "../../../../../components/ha-fab";
import "../../../../../components/ha-icon-button"; import "../../../../../components/ha-icon-button";
import memoizeOne from "memoize-one"; import memoizeOne from "memoize-one";
import { import {
@ -127,14 +127,14 @@ export class ZHAGroupsDashboard extends LitElement {
clickable clickable
> >
<a href="/config/zha/group-add" slot="fab"> <a href="/config/zha/group-add" slot="fab">
<mwc-fab <ha-fab
.label=${this.hass!.localize( .label=${this.hass!.localize(
"ui.panel.config.zha.groups.add_group" "ui.panel.config.zha.groups.add_group"
)} )}
extended extended
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</a> </a>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import "@polymer/paper-tooltip/paper-tooltip"; import "@polymer/paper-tooltip/paper-tooltip";
import { import {
@ -223,7 +223,7 @@ export class HaConfigLovelaceDashboards extends LitElement {
hasFab hasFab
clickable clickable
> >
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.lovelace.dashboards.picker.add_dashboard" "ui.panel.config.lovelace.dashboards.picker.add_dashboard"
@ -232,7 +232,7 @@ export class HaConfigLovelaceDashboards extends LitElement {
@click=${this._addDashboard} @click=${this._addDashboard}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import "@polymer/paper-checkbox/paper-checkbox"; import "@polymer/paper-checkbox/paper-checkbox";
import "@polymer/paper-dropdown-menu/paper-dropdown-menu"; import "@polymer/paper-dropdown-menu/paper-dropdown-menu";
@ -103,7 +103,7 @@ export class HaConfigLovelaceRescources extends LitElement {
hasFab hasFab
clickable clickable
> >
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.lovelace.resources.picker.add_resource" "ui.panel.config.lovelace.resources.picker.add_resource"
@ -112,7 +112,7 @@ export class HaConfigLovelaceRescources extends LitElement {
@click=${this._addResource} @click=${this._addResource}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import "@polymer/paper-item/paper-icon-item"; import "@polymer/paper-item/paper-icon-item";
import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-item/paper-item-body";
@ -146,14 +146,14 @@ class HaConfigPerson extends LitElement {
` `
: ""} : ""}
</ha-config-section> </ha-config-section>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${hass.localize("ui.panel.config.person.add_person")} .label=${hass.localize("ui.panel.config.person.add_person")}
extended extended
@click=${this._createPerson} @click=${this._createPerson}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import { mdiPlus, mdiHelpCircle } from "@mdi/js"; import { mdiPlus, mdiHelpCircle } from "@mdi/js";
import "@polymer/paper-tooltip/paper-tooltip"; import "@polymer/paper-tooltip/paper-tooltip";
@ -152,14 +152,14 @@ class HaSceneDashboard extends LitElement {
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon> <ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
</mwc-icon-button> </mwc-icon-button>
<a href="/config/scene/edit/new" slot="fab"> <a href="/config/scene/edit/new" slot="fab">
<mwc-fab <ha-fab
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.scene.picker.add_scene" "ui.panel.config.scene.picker.add_scene"
)} )}
extended extended
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</a> </a>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;

View File

@ -25,7 +25,7 @@ import "../../../components/device/ha-device-picker";
import "../../../components/entity/ha-entities-picker"; import "../../../components/entity/ha-entities-picker";
import "../../../components/ha-card"; import "../../../components/ha-card";
import "../../../components/ha-icon-input"; import "../../../components/ha-icon-input";
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { import {
computeDeviceName, computeDeviceName,
DeviceRegistryEntry, DeviceRegistryEntry,
@ -403,7 +403,7 @@ export class HaSceneEditor extends SubscribeMixin(
` `
: ""} : ""}
</div> </div>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize("ui.panel.config.scene.editor.save")} .label=${this.hass.localize("ui.panel.config.scene.editor.save")}
extended extended
@ -411,7 +411,7 @@ export class HaSceneEditor extends SubscribeMixin(
class=${classMap({ dirty: this._dirty })} class=${classMap({ dirty: this._dirty })}
> >
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }
@ -786,12 +786,12 @@ export class HaSceneEditor extends SubscribeMixin(
span[slot="introduction"] a { span[slot="introduction"] a {
color: var(--primary-color); color: var(--primary-color);
} }
mwc-fab { ha-fab {
position: relative; position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom)); bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s; transition: bottom 0.3s;
} }
mwc-fab.dirty { ha-fab.dirty {
bottom: 0; bottom: 0;
} }
`, `,

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { import {
mdiCheck, mdiCheck,
mdiContentSave, mdiContentSave,
@ -388,7 +388,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) {
` `
: ``} : ``}
</div> </div>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.script.editor.save_script" "ui.panel.config.script.editor.save_script"
@ -400,7 +400,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) {
})} })}
> >
<ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiContentSave}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }
@ -690,12 +690,12 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) {
span[slot="introduction"] a { span[slot="introduction"] a {
color: var(--primary-color); color: var(--primary-color);
} }
mwc-fab { ha-fab {
position: relative; position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom)); bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s; transition: bottom 0.3s;
} }
mwc-fab.dirty { ha-fab.dirty {
bottom: 0; bottom: 0;
} }
.selected_menu_item { .selected_menu_item {

View File

@ -16,7 +16,7 @@ import { fireEvent } from "../../../common/dom/fire_event";
import { computeStateName } from "../../../common/entity/compute_state_name"; import { computeStateName } from "../../../common/entity/compute_state_name";
import { computeRTL } from "../../../common/util/compute_rtl"; import { computeRTL } from "../../../common/util/compute_rtl";
import { DataTableColumnContainer } from "../../../components/data-table/ha-data-table"; import { DataTableColumnContainer } from "../../../components/data-table/ha-data-table";
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { triggerScript } from "../../../data/script"; import { triggerScript } from "../../../data/script";
import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box"; import { showAlertDialog } from "../../../dialogs/generic/show-dialog-box";
import "../../../layouts/hass-tabs-subpage-data-table"; import "../../../layouts/hass-tabs-subpage-data-table";
@ -147,7 +147,7 @@ class HaScriptPicker extends LitElement {
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon> <ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
</mwc-icon-button> </mwc-icon-button>
<a href="/config/script/edit/new" slot="fab"> <a href="/config/script/edit/new" slot="fab">
<mwc-fab <ha-fab
?is-wide=${this.isWide} ?is-wide=${this.isWide}
?narrow=${this.narrow} ?narrow=${this.narrow}
.label=${this.hass.localize( .label=${this.hass.localize(
@ -157,7 +157,7 @@ class HaScriptPicker extends LitElement {
?rtl=${computeRTL(this.hass)} ?rtl=${computeRTL(this.hass)}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</a> </a>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import { import {
mdiCog, mdiCog,
@ -207,14 +207,14 @@ export class HaConfigTags extends SubscribeMixin(LitElement) {
<mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}> <mwc-icon-button slot="toolbar-icon" @click=${this._showHelp}>
<ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon> <ha-svg-icon .path=${mdiHelpCircle}></ha-svg-icon>
</mwc-icon-button> </mwc-icon-button>
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize("ui.panel.config.tags.add_tag")} .label=${this.hass.localize("ui.panel.config.tags.add_tag")}
extended extended
@click=${this._addTag} @click=${this._addTag}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import { mdiPlus } from "@mdi/js"; import { mdiPlus } from "@mdi/js";
import { import {
customElement, customElement,
@ -112,14 +112,14 @@ export class HaConfigUsers extends LitElement {
hasFab hasFab
clickable clickable
> >
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${this.hass.localize("ui.panel.config.users.picker.add_user")} .label=${this.hass.localize("ui.panel.config.users.picker.add_user")}
extended extended
@click=${this._addUser} @click=${this._addUser}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage-data-table> </hass-tabs-subpage-data-table>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "@material/mwc-icon-button"; import "@material/mwc-icon-button";
import { mdiPencil, mdiPencilOff, mdiPlus } from "@mdi/js"; import { mdiPencil, mdiPencilOff, mdiPlus } from "@mdi/js";
import "@polymer/paper-item/paper-icon-item"; import "@polymer/paper-item/paper-icon-item";
@ -255,14 +255,14 @@ export class HaConfigZone extends SubscribeMixin(LitElement) {
</div> </div>
` `
: ""} : ""}
<mwc-fab <ha-fab
slot="fab" slot="fab"
.label=${hass.localize("ui.panel.config.zone.add_zone")} .label=${hass.localize("ui.panel.config.zone.add_zone")}
extended extended
@click=${this._createZone} @click=${this._createZone}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</hass-tabs-subpage> </hass-tabs-subpage>
`; `;
} }

View File

@ -1,4 +1,4 @@
import "@material/mwc-fab"; import "../../../../components/ha-fab";
import { import {
css, css,
CSSResult, CSSResult,
@ -108,13 +108,13 @@ export class HuiUnusedEntities extends LitElement {
selected: this._selectedEntities.length, selected: this._selectedEntities.length,
})}" })}"
> >
<mwc-fab <ha-fab
.label=${this.hass.localize("ui.panel.lovelace.editor.edit_card.add")} .label=${this.hass.localize("ui.panel.lovelace.editor.edit_card.add")}
extended extended
@click=${this._addToLovelaceView} @click=${this._addToLovelaceView}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
</div> </div>
`; `;
} }
@ -189,12 +189,12 @@ export class HuiUnusedEntities extends LitElement {
padding-right: 16px; padding-right: 16px;
padding-left: calc(16px + env(safe-area-inset-left)); padding-left: calc(16px + env(safe-area-inset-left));
} }
mwc-fab { ha-fab {
position: relative; position: relative;
bottom: calc(-80px - env(safe-area-inset-bottom)); bottom: calc(-80px - env(safe-area-inset-bottom));
transition: bottom 0.3s; transition: bottom 0.3s;
} }
.fab.selected mwc-fab { .fab.selected ha-fab {
bottom: 0; bottom: 0;
} }
`; `;

View File

@ -1,3 +1,3 @@
// hui-view dependencies for when in edit mode. // hui-view dependencies for when in edit mode.
import "@material/mwc-fab"; import "../../../components/ha-fab";
import "../components/hui-card-options"; import "../components/hui-card-options";

View File

@ -83,7 +83,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
<div id="columns"></div> <div id="columns"></div>
${this.lovelace?.editMode ${this.lovelace?.editMode
? html` ? html`
<mwc-fab <ha-fab
.label=${this.hass!.localize( .label=${this.hass!.localize(
"ui.panel.lovelace.editor.edit_card.add" "ui.panel.lovelace.editor.edit_card.add"
)} )}
@ -94,7 +94,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
})} })}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
` `
: ""} : ""}
`; `;
@ -296,7 +296,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
margin: 4px 4px 8px; margin: 4px 4px 8px;
} }
mwc-fab { ha-fab {
position: sticky; position: sticky;
float: right; float: right;
right: calc(16px + env(safe-area-inset-right)); right: calc(16px + env(safe-area-inset-right));
@ -304,7 +304,7 @@ export class MasonryView extends LitElement implements LovelaceViewElement {
z-index: 1; z-index: 1;
} }
mwc-fab.rtl { ha-fab.rtl {
float: left; float: left;
right: auto; right: auto;
left: calc(16px + env(safe-area-inset-left)); left: calc(16px + env(safe-area-inset-left));

View File

@ -75,7 +75,7 @@ export class PanelView extends LitElement implements LovelaceViewElement {
${this._card} ${this._card}
${this.lovelace?.editMode && this.cards.length === 0 ${this.lovelace?.editMode && this.cards.length === 0
? html` ? html`
<mwc-fab <ha-fab
.label=${this.hass!.localize( .label=${this.hass!.localize(
"ui.panel.lovelace.editor.edit_card.add" "ui.panel.lovelace.editor.edit_card.add"
)} )}
@ -86,7 +86,7 @@ export class PanelView extends LitElement implements LovelaceViewElement {
})} })}
> >
<ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon> <ha-svg-icon slot="icon" .path=${mdiPlus}></ha-svg-icon>
</mwc-fab> </ha-fab>
` `
: ""} : ""}
`; `;
@ -137,7 +137,7 @@ export class PanelView extends LitElement implements LovelaceViewElement {
height: 100%; height: 100%;
} }
mwc-fab { ha-fab {
position: sticky; position: sticky;
float: right; float: right;
right: calc(16px + env(safe-area-inset-right)); right: calc(16px + env(safe-area-inset-right));
@ -145,7 +145,7 @@ export class PanelView extends LitElement implements LovelaceViewElement {
z-index: 1; z-index: 1;
} }
mwc-fab.rtl { ha-fab.rtl {
float: left; float: left;
right: auto; right: auto;
left: calc(16px + env(safe-area-inset-left)); left: calc(16px + env(safe-area-inset-left));