-
${this._config.title}
+
- ${this._element}`;
+ ${this._element}
+
+ ${this._config.right_button !== undefined ||
+ this._config.left_button !== undefined
+ ? html`
+
+ `
+ : ""}
+ `;
}
static get styles() {
@@ -106,10 +143,44 @@ class PopupCard extends LitElement {
display: block !important;
border: 1px solid var(--primary-color);
}
- h2 {
- padding-left: 16px;
- padding-top: 16px;
- margin: 0;
+ ha-card {
+ background-color: var(
+ --popup-background-color,
+ var(--ha-card-background, var(--card-background-color, white))
+ );
+ }
+ .app-toolbar {
+ color: var(--primary-text-color);
+ background-color: var(
+ --popup-header-background-color,
+ var(--popup-background-color, --sidebar-background-color)
+ );
+ display: var(--layout-horizontal_-_display);
+ flex-direction: var(--layout-horizontal_-_flex-direction);
+ align-items: var(--layout-center_-_align-items);
+ height: 64px;
+ padding: 0 16px;
+ font-size: var(--app-toolbar-font-size, 20px);
+ }
+ ha-icon-button > * {
+ display: flex;
+ }
+ .main-title {
+ margin-left: 16px;
+ line-height: 1.3em;
+ max-height: 2.6em;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .mdc-dialog__actions {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ min-height: 52px;
+ margin: 0px;
+ padding: 8px;
+ border-top: 1px solid transparent;
}
`;
}
diff --git a/js/plugin/popups.ts b/js/plugin/popups.ts
index 5f7d36c..26f19e2 100644
--- a/js/plugin/popups.ts
+++ b/js/plugin/popups.ts
@@ -157,7 +157,9 @@ class BrowserModPopup extends LitElement {
`
: ""}
`;
@@ -166,18 +168,22 @@ class BrowserModPopup extends LitElement {
static get styles() {
return css`
ha-dialog {
- --mdc-dialog-min-width: 400px;
- --mdc-dialog-max-width: 600px;
+ --mdc-dialog-min-width: var(--popup-min-width, 400px);
+ --mdc-dialog-max-width: var(--popup-max-width, 600px);
--mdc-dialog-heading-ink-color: var(--primary-text-color);
--mdc-dialog-content-ink-color: var(--primary-text-color);
--justify-action-buttons: space-between;
- --mdc-dialog-box-shadow: 0px 0px 0px var(--ha-card-border-width, 2px)
- var(--ha-card-border-color, var(--divider-color, #e0e0e0));
- --ha-dialog-border-radius: 8px;
+ --mdc-dialog-box-shadow: 0px 0px 0px
+ var(--popup-border-width, var(--ha-card-border-width, 2px))
+ var(
+ --popup-border-color,
+ var(--ha-card-border-color, var(--divider-color, #e0e0e0))
+ );
+ --ha-dialog-border-radius: var(--popup-border-radius, 8px);
--mdc-theme-surface: var(
- --ha-card-background,
- var(--card-background-color, white)
+ --popup-background-color,
+ var(--ha-card-background, var(--card-background-color, white))
);
}
:host([wide]) ha-dialog {
@@ -205,7 +211,10 @@ class BrowserModPopup extends LitElement {
app-toolbar {
flex-shrink: 0;
color: var(--primary-text-color);
- background-color: var(--sidebar-background-color);
+ background-color: var(
+ --popup-header-background-color,
+ var(--popup-background-color, --sidebar-background-color)
+ );
}
ha-icon-button > * {
display: flex;
@@ -234,7 +243,7 @@ class BrowserModPopup extends LitElement {
--padding-y: 0px;
}
:host([actions]) .content {
- border-bottom: 1px solid var(--divider-color);
+ border-bottom: 1px solid var(--popup-border-color, var(--divider-color));
--footer-height: 54px;
}
:host([wide]) .content {
@@ -261,7 +270,8 @@ class BrowserModPopup extends LitElement {
}
}
-customElements.define("browser-mod-popup", BrowserModPopup);
+if (!customElements.get("browser-mod-popup"))
+ customElements.define("browser-mod-popup", BrowserModPopup);
export const PopupMixin = (SuperClass) => {
return class PopupMixinClass extends SuperClass {