Implement core spacing tokens (#27226)

This commit is contained in:
Jan-Philipp Benecke
2025-09-29 07:28:24 +02:00
committed by GitHub
parent e1edf7fb98
commit c0a9dadcbe
101 changed files with 164 additions and 141 deletions

View File

@@ -117,7 +117,7 @@ export class DemoHaBadge extends LitElement {
} }
.card-content { .card-content {
display: flex; display: flex;
gap: 24px; gap: var(--ha-space-6);
} }
`; `;
} }

View File

@@ -155,11 +155,11 @@ export class DemoHaButton extends LitElement {
.card-content { .card-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 24px; gap: var(--ha-space-6);
} }
.card-content div { .card-content div {
display: flex; display: flex;
gap: 8px; gap: var(--ha-space-2);
} }
`; `;
} }

View File

@@ -123,11 +123,11 @@ export class DemoHaProgressButton extends LitElement {
.card-content { .card-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 24px; gap: var(--ha-space-6);
} }
.card-content div { .card-content div {
display: flex; display: flex;
gap: 8px; gap: var(--ha-space-2);
} }
`; `;
} }

View File

@@ -88,7 +88,7 @@ export class DemoHaSlider extends LitElement {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
`; `;
} }

View File

@@ -70,7 +70,7 @@ export class DemoHaSpinner extends LitElement {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
`; `;
} }

View File

@@ -159,7 +159,7 @@ class HassioSystemManagedDialog extends LitElement {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
--mdc-icon-size: 48px; --mdc-icon-size: 48px;
margin-bottom: 32px; margin-bottom: 32px;
} }

View File

@@ -31,7 +31,7 @@ export const hassioStyle = css`
.card-group { .card-group {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
grid-gap: 8px; grid-gap: var(--ha-space-2);
} }
@media screen and (min-width: 640px) { @media screen and (min-width: 640px) {
.card-group { .card-group {

View File

@@ -213,7 +213,7 @@ class HaLandingPage extends LandingPageBaseElement {
ha-card .card-content { ha-card .card-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: var(--ha-space-4);
} }
ha-alert p { ha-alert p {
text-align: unset; text-align: unset;

View File

@@ -974,7 +974,7 @@ export class HaChartBase extends LitElement {
right: 4px; right: 4px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 4px; gap: var(--ha-space-1);
} }
.chart-controls.small { .chart-controls.small {
top: 0; top: 0;
@@ -1011,7 +1011,7 @@ export class HaChartBase extends LitElement {
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.chart-legend li { .chart-legend li {
height: 24px; height: 24px;

View File

@@ -54,7 +54,7 @@ export class HaBadge extends LitElement {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 8px; gap: var(--ha-space-2);
height: var(--ha-badge-size, 36px); height: var(--ha-badge-size, 36px);
min-width: var(--ha-badge-size, 36px); min-width: var(--ha-badge-size, 36px);
padding: 0px 12px; padding: 0px 12px;

View File

@@ -76,7 +76,7 @@ export class HaCopyTextfield extends LitElement {
.container { .container {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
margin-top: 8px; margin-top: 8px;
} }

View File

@@ -343,7 +343,7 @@ export class HaDateRangePicker extends LitElement {
.date-range-inputs { .date-range-inputs {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.date-range-ranges { .date-range-ranges {

View File

@@ -77,8 +77,8 @@ export class HaFormGrid extends LitElement implements HaFormElement {
var(--form-grid-column-count, auto-fit), var(--form-grid-column-count, auto-fit),
minmax(var(--form-grid-min-width, 200px), 1fr) minmax(var(--form-grid-min-width, 200px), 1fr)
); );
grid-column-gap: 8px; grid-column-gap: var(--ha-space-2);
grid-row-gap: 24px; grid-row-gap: var(--ha-space-6);
} }
:host > ha-form { :host > ha-form {
display: block; display: block;

View File

@@ -156,7 +156,7 @@ export class HaFormOptionalActions extends LitElement implements HaFormElement {
:host { :host {
display: flex !important; display: flex !important;
flex-direction: column; flex-direction: column;
gap: 24px; gap: var(--ha-space-6);
} }
:host ha-form { :host ha-form {
display: block; display: block;

View File

@@ -57,7 +57,7 @@ export class HaFormfield extends FormfieldBase {
} }
.mdc-form-field { .mdc-form-field {
align-items: var(--ha-formfield-align-items, center); align-items: var(--ha-formfield-align-items, center);
gap: 4px; gap: var(--ha-space-1);
} }
.mdc-form-field > label { .mdc-form-field > label {
direction: var(--direction); direction: var(--direction);

View File

@@ -227,7 +227,7 @@ export class HaGridSizeEditor extends LitElement {
"row-slider preview"; "row-slider preview";
grid-template-rows: auto auto; grid-template-rows: auto auto;
grid-template-columns: auto 1fr; grid-template-columns: auto 1fr;
gap: 8px; gap: var(--ha-space-2);
} }
#columns { #columns {
grid-area: column-slider; grid-area: column-slider;

View File

@@ -104,7 +104,7 @@ export class HaIconButtonToolbar extends LitElement {
background-color: transparent; background-color: transparent;
padding-right: 4px; padding-right: 4px;
height: var(--icon-button-toolbar-height); height: var(--icon-button-toolbar-height);
gap: 8px; gap: var(--ha-space-2);
} }
.icon-toolbar-button { .icon-toolbar-button {

View File

@@ -105,7 +105,7 @@ export class HaPickerField extends LitElement {
--md-list-item-bottom-space: 0px; --md-list-item-bottom-space: 0px;
--md-list-item-leading-space: 8px; --md-list-item-leading-space: 8px;
--md-list-item-trailing-space: 8px; --md-list-item-trailing-space: 8px;
--ha-md-list-item-gap: 8px; --ha-md-list-item-gap: var(--ha-space-2);
/* Remove the default focus ring */ /* Remove the default focus ring */
--md-focus-ring-width: 0px; --md-focus-ring-width: 0px;
--md-focus-ring-duration: 0s; --md-focus-ring-duration: 0s;

View File

@@ -90,7 +90,7 @@ class HaSegmentedBar extends LitElement {
.heading { .heading {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
} }
.heading .title { .heading .title {
flex: 1; flex: 1;
@@ -125,7 +125,7 @@ class HaSegmentedBar extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
gap: 12px; gap: var(--ha-space-3);
margin: 12px 0; margin: 12px 0;
padding: 0; padding: 0;
list-style: none; list-style: none;
@@ -133,7 +133,7 @@ class HaSegmentedBar extends LitElement {
.legend li { .legend li {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 4px; gap: var(--ha-space-1);
font-size: var(--ha-font-size-s); font-size: var(--ha-font-size-s);
} }
.legend li .bullet { .legend li .bullet {

View File

@@ -116,7 +116,7 @@ export class HaSelectBox extends LitElement {
.list { .list {
display: grid; display: grid;
grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr)); grid-template-columns: repeat(var(--columns, 1), minmax(0, 1fr));
gap: 12px; gap: var(--ha-space-3);
} }
.option { .option {
position: relative; position: relative;
@@ -128,7 +128,7 @@ export class HaSelectBox extends LitElement {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 12px; padding: 12px;
gap: 8px; gap: var(--ha-space-2);
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
} }
@@ -137,7 +137,7 @@ export class HaSelectBox extends LitElement {
position: relative; position: relative;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
min-width: 0; min-width: 0;
width: 100%; width: 100%;
} }
@@ -148,7 +148,7 @@ export class HaSelectBox extends LitElement {
.option .content .text { .option .content .text {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 4px; gap: var(--ha-space-1);
min-width: 0; min-width: 0;
flex: 1; flex: 1;
} }

View File

@@ -89,7 +89,7 @@ export class HaButtonToggleSelector extends LitElement {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
gap: 8px; gap: var(--ha-space-2);
align-items: center; align-items: center;
} }
@media all and (max-width: 600px) { @media all and (max-width: 600px) {

View File

@@ -321,7 +321,7 @@ export class HaMediaSelector extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 8px; padding: 8px;
gap: 12px; gap: var(--ha-space-3);
} }
ha-card .thumbnail { ha-card .thumbnail {
width: 40px; width: 40px;

View File

@@ -297,7 +297,7 @@ export class HaObjectSelector extends LitElement {
return [ return [
css` css`
ha-md-list { ha-md-list {
gap: 8px; gap: var(--ha-space-2);
} }
ha-md-list-item { ha-md-list-item {
border: 1px solid var(--divider-color); border: 1px solid var(--divider-color);

View File

@@ -217,7 +217,7 @@ class DialogJoinMediaPlayers extends LitElement {
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
row-gap: 16px; row-gap: var(--ha-space-4);
} }
ha-dialog-header ha-button { ha-dialog-header ha-button {

View File

@@ -1138,7 +1138,7 @@ export class HaMediaPlayerBrowse extends LitElement {
auto-fit, auto-fit,
minmax(var(--media-browse-item-size, 175px), 0.1fr) minmax(var(--media-browse-item-size, 175px), 0.1fr)
); );
grid-gap: 16px; grid-gap: var(--ha-space-4);
padding: 16px; padding: 16px;
} }

View File

@@ -54,7 +54,7 @@ class HaMediaPlayerToggle extends LitElement {
.list-item { .list-item {
display: grid; display: grid;
grid-template-columns: auto 1fr auto; grid-template-columns: auto 1fr auto;
column-gap: 16px; column-gap: var(--ha-space-4);
align-items: center; align-items: center;
width: 100%; width: 100%;
} }

View File

@@ -325,7 +325,7 @@ class StepFlowCreateEntry extends LitElement {
.device-info { .device-info {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.device-info img { .device-info img {
width: 40px; width: 40px;

View File

@@ -209,7 +209,7 @@ export class DialogEnterCode
display: grid; display: grid;
grid-template-columns: repeat(var(--keypad-columns), auto); grid-template-columns: repeat(var(--keypad-columns), auto);
grid-auto-rows: auto; grid-auto-rows: auto;
grid-gap: 24px; grid-gap: var(--ha-space-6);
justify-items: center; justify-items: center;
align-items: center; align-items: center;
} }

View File

@@ -32,7 +32,7 @@ export class HaMoreInfoControlSelectContainer extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: flex-start; justify-content: flex-start;
gap: 12px; gap: var(--ha-space-3);
margin: auto; margin: auto;
overflow: auto; overflow: auto;
-ms-overflow-style: none; /* IE and Edge */ -ms-overflow-style: none; /* IE and Edge */

View File

@@ -202,13 +202,13 @@ class MoreInfoSirenAdvancedControls extends LitElement {
.options { .options {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: var(--ha-space-4);
} }
.controls { .controls {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: center; justify-content: center;
gap: 16px; gap: var(--ha-space-4);
margin-top: 16px; margin-top: 16px;
} }
ha-control-button { ha-control-button {

View File

@@ -107,7 +107,7 @@ class MoreInfoCamera extends LitElement {
box-sizing: border-box; box-sizing: border-box;
padding: 16px; padding: 16px;
z-index: 1; z-index: 1;
gap: 8px; gap: var(--ha-space-2);
} }
`; `;
} }

View File

@@ -181,7 +181,7 @@ class MoreInfoLock extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
font-weight: var(--ha-font-weight-medium); font-weight: var(--ha-font-weight-medium);
color: var(--success-color); color: var(--success-color);
} }

View File

@@ -442,7 +442,7 @@ class MoreInfoMediaPlayer extends LitElement {
:host { :host {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 24px; gap: var(--ha-space-6);
margin-top: 0; margin-top: 0;
} }
@@ -510,7 +510,7 @@ class MoreInfoMediaPlayer extends LitElement {
.volume { .volume {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: var(--ha-space-3);
margin-left: 8px; margin-left: 8px;
} }
@@ -591,7 +591,7 @@ class MoreInfoMediaPlayer extends LitElement {
.bottom-controls { .bottom-controls {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 24px; gap: var(--ha-space-6);
align-self: center; align-self: center;
width: 320px; width: 320px;
} }

View File

@@ -508,7 +508,7 @@ class MoreInfoUpdate extends LitElement {
box-sizing: border-box; box-sizing: border-box;
padding: 16px; padding: 16px;
z-index: 1; z-index: 1;
gap: 8px; gap: var(--ha-space-2);
} }
a { a {

View File

@@ -269,7 +269,7 @@ class DialogShortcuts extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
margin: 4px 0; margin: 4px 0;
} }

View File

@@ -127,7 +127,7 @@ export class CloudStepIntro extends LitElement {
.features { .features {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
grid-gap: 16px; grid-gap: var(--ha-space-4);
padding: 16px; padding: 16px;
} }
.feature { .feature {

View File

@@ -427,7 +427,7 @@ export class HaVoiceAssistantSetupStepPipeline extends LitElement {
width: 100%; width: 100%;
height: 10px; height: 10px;
display: flex; display: flex;
gap: 4px; gap: var(--ha-space-1);
margin: 8px 0; margin: 8px 0;
} }
.segment { .segment {

View File

@@ -368,7 +368,7 @@ export class HaVoiceAssistantSetupStepSuccess extends LitElement {
margin-top: 24px; margin-top: 24px;
} }
.rows { .rows {
gap: 16px; gap: var(--ha-space-4);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }

View File

@@ -182,7 +182,7 @@ class HassSubpage extends LitElement {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-end; justify-content: flex-end;
gap: 8px; gap: var(--ha-space-2);
} }
:host([narrow]) #fab.tabs { :host([narrow]) #fab.tabs {
bottom: calc(84px + var(--safe-area-inset-bottom, 0px)); bottom: calc(84px + var(--safe-area-inset-bottom, 0px));

View File

@@ -740,7 +740,7 @@ export class HaTabsSubpageDataTable extends KeyboardShortcutMixin(LitElement) {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
padding: 0 16px; padding: 0 16px;
gap: 16px; gap: var(--ha-space-4);
box-sizing: border-box; box-sizing: border-box;
background: var(--primary-background-color); background: var(--primary-background-color);
border-bottom: 1px solid var(--divider-color); border-bottom: 1px solid var(--divider-color);
@@ -823,7 +823,7 @@ export class HaTabsSubpageDataTable extends KeyboardShortcutMixin(LitElement) {
display: flex; display: flex;
align-items: center; align-items: center;
min-width: 100%; min-width: 100%;
gap: 16px; gap: var(--ha-space-4);
padding: 0 16px; padding: 0 16px;
box-sizing: border-box; box-sizing: border-box;
overflow-x: scroll; overflow-x: scroll;
@@ -852,7 +852,7 @@ export class HaTabsSubpageDataTable extends KeyboardShortcutMixin(LitElement) {
.selection-controls { .selection-controls {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.selection-controls p { .selection-controls p {
@@ -864,7 +864,7 @@ export class HaTabsSubpageDataTable extends KeyboardShortcutMixin(LitElement) {
.center-vertical { .center-vertical {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.relative { .relative {

View File

@@ -362,7 +362,7 @@ class HassTabsSubpage extends LitElement {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-end; justify-content: flex-end;
gap: 8px; gap: var(--ha-space-2);
} }
:host([narrow]) #fab.tabs { :host([narrow]) #fab.tabs {
bottom: calc(84px + var(--safe-area-inset-bottom, 0px)); bottom: calc(84px + var(--safe-area-inset-bottom, 0px));

View File

@@ -212,7 +212,7 @@ class OnboardingIntegrations extends SubscribeMixin(LitElement) {
margin-top: 24px; margin-top: 24px;
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(106px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(106px, 1fr));
row-gap: 24px; row-gap: var(--ha-space-6);
} }
.more { .more {
display: flex; display: flex;

View File

@@ -64,8 +64,8 @@ class OnboardingWelcomeLinks extends LitElement {
display: grid; display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
margin-top: 16px; margin-top: 16px;
column-gap: 16px; column-gap: var(--ha-space-4);
row-gap: 16px; row-gap: var(--ha-space-4);
} }
@media (max-width: 550px) { @media (max-width: 550px) {
:host { :host {

View File

@@ -123,7 +123,7 @@ class OnboardingRestoreBackupCloudLogin extends LitElement {
font-size: var(--ha-font-size-2xl); font-size: var(--ha-font-size-2xl);
display: flex; display: flex;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
} }
h2 img { h2 img {
width: 48px; width: 48px;

View File

@@ -332,7 +332,7 @@ class OnboardingRestoreBackupRestore extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
h2 { h2 {

View File

@@ -736,7 +736,7 @@ class DialogAddAutomationElement
} }
.shortcut-label { .shortcut-label {
display: flex; display: flex;
gap: 12px; gap: var(--ha-space-3);
justify-content: space-between; justify-content: space-between;
} }
.shortcut-label .supporting-text { .shortcut-label .supporting-text {

View File

@@ -92,7 +92,7 @@ class DialogPasteReplace extends LitElement implements HassDialog {
} }
div[slot="primaryAction"] { div[slot="primaryAction"] {
display: flex; display: flex;
gap: 8px; gap: var(--ha-space-2);
} }
`, `,
]; ];

View File

@@ -118,7 +118,7 @@ export const manualEditorStyles = css`
var(--ha-automation-editor-max-width) - var(--ha-automation-editor-max-width) -
${CONTENT_MIN_WIDTH}px - var(--mdc-drawer-width, 0px) ${CONTENT_MIN_WIDTH}px - var(--mdc-drawer-width, 0px)
); );
--sidebar-gap: 16px; --sidebar-gap: var(--ha-space-4);
} }
.fab-positioner { .fab-positioner {
@@ -188,7 +188,7 @@ export const automationRowsStyles = css`
.rows { .rows {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: var(--ha-space-4);
} }
.rows.no-sidebar { .rows.no-sidebar {
margin-inline-end: 0; margin-inline-end: 0;
@@ -225,7 +225,7 @@ export const automationRowsStyles = css`
.buttons { .buttons {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 8px; gap: var(--ha-space-2);
order: 1; order: 1;
} }
`; `;
@@ -244,7 +244,7 @@ export const overflowStyles = css`
.overflow-label { .overflow-label {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
gap: 12px; gap: var(--ha-space-3);
white-space: nowrap; white-space: nowrap;
} }
.overflow-label .shortcut { .overflow-label .shortcut {

View File

@@ -806,7 +806,7 @@ export default class HaAutomationTriggerRow extends LitElement {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
gap: 4px; gap: var(--ha-space-1);
line-height: 1; line-height: 1;
padding: 0; padding: 0;
} }

View File

@@ -313,13 +313,13 @@ class HaBackupConfigAgents extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
.unencrypted-warning { .unencrypted-warning {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 4px; gap: var(--ha-space-1);
} }
.dot { .dot {
display: block; display: block;
@@ -341,7 +341,7 @@ class HaBackupConfigAgents extends LitElement {
align-items: flex-start; align-items: flex-start;
flex-direction: column; flex-direction: column;
justify-content: flex-start; justify-content: flex-start;
gap: 4px; gap: var(--ha-space-1);
} }
} }
`; `;

View File

@@ -119,7 +119,7 @@ class HaBackupAgentsPicker extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
font-size: var(--ha-font-size-l); font-size: var(--ha-font-size-l);
font-weight: var(--ha-font-weight-normal); font-weight: var(--ha-font-weight-normal);
line-height: var(--ha-line-height-normal); line-height: var(--ha-line-height-normal);

View File

@@ -110,7 +110,7 @@ class HaBackupDetailsRestore extends LitElement {
max-width: 690px; max-width: 690px;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: grid; display: grid;
} }
.card-content { .card-content {
@@ -133,7 +133,7 @@ class HaBackupDetailsRestore extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
`; `;

View File

@@ -138,7 +138,7 @@ class HaBackupDetailsSummary extends LitElement {
max-width: 690px; max-width: 690px;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: grid; display: grid;
} }
.card-content { .card-content {
@@ -168,7 +168,7 @@ class HaBackupDetailsSummary extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
`; `;

View File

@@ -35,7 +35,7 @@ class SupervisorFormfieldLabel extends LitElement {
:host { :host {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 16px; gap: var(--ha-space-4);
align-items: center; align-items: center;
} }
.label { .label {

View File

@@ -74,8 +74,8 @@ class HaBackupSummaryCard extends LitElement {
.summary { .summary {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
column-gap: 16px; column-gap: var(--ha-space-4);
row-gap: 8px; row-gap: var(--ha-space-2);
align-items: center; align-items: center;
padding: 16px; padding: 16px;
padding-bottom: 8px; padding-bottom: 8px;

View File

@@ -117,7 +117,7 @@ class HaBackupOverviewBackups extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: calc(72px + var(--safe-area-inset-bottom)); margin-bottom: calc(72px + var(--safe-area-inset-bottom));

View File

@@ -61,7 +61,7 @@ class HaBackupOverviewBackups extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
} }
.icon { .icon {
position: relative; position: relative;

View File

@@ -303,7 +303,7 @@ class HaBackupBackupsSummary extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: 24px; margin-bottom: 24px;

View File

@@ -334,7 +334,7 @@ class HaBackupOverviewBackups extends LitElement {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
} }
p { p {
margin: 0; margin: 0;

View File

@@ -579,7 +579,7 @@ class DialogBackupOnboarding extends LitElement implements HassDialog {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
.encryption-key p { .encryption-key p {
margin: 0; margin: 0;

View File

@@ -305,7 +305,7 @@ class DialogChangeBackupEncryptionKey extends LitElement implements HassDialog {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
.encryption-key p { .encryption-key p {
margin: 0; margin: 0;

View File

@@ -231,7 +231,7 @@ class DialogSetBackupEncryptionKey extends LitElement implements HassDialog {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
.encryption-key p { .encryption-key p {
margin: 0; margin: 0;

View File

@@ -153,7 +153,7 @@ class DialogShowBackupEncryptionKey extends LitElement implements HassDialog {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 24px; gap: var(--ha-space-6);
} }
.encryption-key p { .encryption-key p {
margin: 0; margin: 0;

View File

@@ -189,7 +189,7 @@ class HaConfigBackupBackups extends SubscribeMixin(LitElement) {
0 0
); );
return html` return html`
<div style="display: flex; gap: 4px;"> <div style="display: flex; gap: var(--ha-space-1);">
${displayedAgentIds.map((agentId) => { ${displayedAgentIds.map((agentId) => {
const name = computeBackupAgentName( const name = computeBackupAgentName(
this.hass.localize, this.hass.localize,

View File

@@ -356,7 +356,7 @@ class HaConfigBackupDetails extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: grid; display: grid;
margin-bottom: 24px; margin-bottom: 24px;
} }
@@ -399,7 +399,7 @@ class HaConfigBackupDetails extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
.dot { .dot {

View File

@@ -326,7 +326,7 @@ class HaConfigBackupDetails extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: grid; display: grid;
margin-bottom: 24px; margin-bottom: 24px;
} }
@@ -376,7 +376,7 @@ class HaConfigBackupDetails extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
line-height: var(--ha-line-height-condensed); line-height: var(--ha-line-height-condensed);
} }
.dot { .dot {

View File

@@ -248,7 +248,7 @@ class HaConfigBackupOverview extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: calc(var(--safe-area-inset-bottom) + 72px); margin-bottom: calc(var(--safe-area-inset-bottom) + 72px);

View File

@@ -510,7 +510,7 @@ class HaConfigBackupSettings extends LitElement {
padding: 28px 20px 0; padding: 28px 20px 0;
max-width: 690px; max-width: 690px;
margin: 0 auto; margin: 0 auto;
gap: 24px; gap: var(--ha-space-6);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-bottom: 24px; margin-bottom: 24px;
@@ -532,7 +532,7 @@ class HaConfigBackupSettings extends LitElement {
} }
.cloud-info .cloud-header { .cloud-info .cloud-header {
display: flex; display: flex;
gap: 16px; gap: var(--ha-space-4);
font-size: var(--ha-font-size-xl); font-size: var(--ha-font-size-xl);
align-items: center; align-items: center;
padding: 16px; padding: 16px;

View File

@@ -129,7 +129,7 @@ export class DialogSupportPackage extends LitElement {
} }
.actions { .actions {
display: flex; display: flex;
gap: 8px; gap: var(--ha-space-2);
justify-content: flex-end; justify-content: flex-end;
} }
hr { hr {

View File

@@ -59,7 +59,7 @@ export class DashboardCard extends LitElement {
padding: 12px; padding: 12px;
display: block; display: block;
text-align: var(--float-start); text-align: var(--float-start);
gap: 8px; gap: var(--ha-space-2);
} }
.preview { .preview {
padding: 16px; padding: 16px;

View File

@@ -921,7 +921,7 @@ class HaConfigIntegrationPage extends SubscribeMixin(LitElement) {
.header { .header {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 24px; gap: var(--ha-space-6);
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: 24px; margin-bottom: 24px;
@@ -932,7 +932,7 @@ class HaConfigIntegrationPage extends SubscribeMixin(LitElement) {
} }
.title { .title {
display: flex; display: flex;
gap: 4px; gap: var(--ha-space-1);
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
} }
@@ -991,7 +991,7 @@ class HaConfigIntegrationPage extends SubscribeMixin(LitElement) {
.actions { .actions {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 8px; gap: var(--ha-space-2);
} }
.section { .section {
width: 100%; width: 100%;
@@ -1013,7 +1013,7 @@ class HaConfigIntegrationPage extends SubscribeMixin(LitElement) {
.integration-info { .integration-info {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.integration-info ha-svg-icon { .integration-info ha-svg-icon {
min-width: 24px; min-width: 24px;

View File

@@ -1013,7 +1013,7 @@ class HaConfigIntegrationsDashboard extends KeyboardShortcutMixin(
z-index: 2; z-index: 2;
background-color: var(--primary-background-color); background-color: var(--primary-background-color);
padding: 0 16px; padding: 0 16px;
gap: 16px; gap: var(--ha-space-4);
box-sizing: border-box; box-sizing: border-box;
border-bottom: 1px solid var(--divider-color); border-bottom: 1px solid var(--divider-color);
} }

View File

@@ -91,7 +91,7 @@ class MatterAddDeviceNew extends LitElement {
justify-content: space-between; justify-content: space-between;
padding: 0 24px; padding: 0 24px;
box-sizing: border-box; box-sizing: border-box;
gap: 16px; gap: var(--ha-space-4);
width: 100%; width: 100%;
max-width: 400px; max-width: 400px;
} }

View File

@@ -209,7 +209,7 @@ class ZWaveJSCapabilityThermostatSetback extends LitElement {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
gap: 16px; gap: var(--ha-space-4);
} }
:host > ha-select { :host > ha-select {
width: 100%; width: 100%;
@@ -225,7 +225,7 @@ class ZWaveJSCapabilityThermostatSetback extends LitElement {
.setback-state { .setback-state {
width: 100%; width: 100%;
display: flex; display: flex;
gap: 16px; gap: var(--ha-space-4);
} }
.setback-state ha-select, .setback-state ha-select,
ha-textfield { ha-textfield {

View File

@@ -362,7 +362,7 @@ class DialogZWaveJSRemoveNode extends LitElement {
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
gap: 16px; gap: var(--ha-space-4);
text-align: center; text-align: center;
} }

View File

@@ -997,7 +997,7 @@ class ZWaveJSConfigDashboard extends SubscribeMixin(LitElement) {
.right-buttons { .right-buttons {
display: flex; display: flex;
gap: 8px; gap: var(--ha-space-2);
margin-left: auto; margin-left: auto;
} }

View File

@@ -224,7 +224,7 @@ class ZWaveJSCustomParam extends LitElement {
.custom-config-form { .custom-config-form {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 16px; gap: var(--ha-space-4);
margin-bottom: 8px; margin-bottom: 8px;
} }

View File

@@ -141,7 +141,7 @@ class DownloadLogsDialog extends LitElement {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
`, `,
]; ];

View File

@@ -444,7 +444,7 @@ class ConfigUrlForm extends SubscribeMixin(LitElement) {
.url-container { .url-container {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
margin-top: 8px; margin-top: 8px;
} }
.textfield-container { .textfield-container {

View File

@@ -803,7 +803,7 @@ export class HassioNetwork extends LitElement {
.address-row { .address-row {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
align-items: center; align-items: center;
} }
.address-row ha-textfield { .address-row ha-textfield {

View File

@@ -1197,7 +1197,7 @@ export class HaScriptEditor extends UndoRedoMixin<
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
pointer-events: none; pointer-events: none;
} }

View File

@@ -145,7 +145,7 @@ export class CloudDiscover extends LitElement {
.features { .features {
display: grid; display: grid;
grid-template-columns: auto; grid-template-columns: auto;
grid-gap: 16px; grid-gap: var(--ha-space-4);
padding: 16px; padding: 16px;
} }
@media (min-width: 600px) { @media (min-width: 600px) {

View File

@@ -470,7 +470,7 @@ export class AssistPipelineRunDebug extends LitElement {
.start-buttons { .start-buttons {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 8px; gap: var(--ha-space-2);
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }

View File

@@ -146,7 +146,7 @@ class HaPanelDevEvent extends LitElement {
haStyle, haStyle,
css` css`
.content { .content {
gap: 16px; gap: var(--ha-space-4);
padding: 16px; padding: 16px;
max-width: 1200px; max-width: 1200px;
margin: auto; margin: auto;

View File

@@ -542,7 +542,7 @@ class HaPanelDevState extends LitElement {
--mdc-icon-button-size: 24px; --mdc-icon-button-size: 24px;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.entity-id ha-icon-button { .entity-id ha-icon-button {
@@ -581,7 +581,7 @@ class HaPanelDevState extends LitElement {
display: flex; display: flex;
margin: 8px 0; margin: 8px 0;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
:host([narrow]) .state-wrapper { :host([narrow]) .state-wrapper {

View File

@@ -714,7 +714,7 @@ class HaPanelDevStatistics extends KeyboardShortcutMixin(LitElement) {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 8px; gap: var(--ha-space-2);
} }
ha-data-table { ha-data-table {
width: 100%; width: 100%;
@@ -733,7 +733,7 @@ class HaPanelDevStatistics extends KeyboardShortcutMixin(LitElement) {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
padding: 0 16px; padding: 0 16px;
gap: 16px; gap: var(--ha-space-4);
box-sizing: border-box; box-sizing: border-box;
background: var(--primary-background-color); background: var(--primary-background-color);
border-bottom: 1px solid var(--divider-color); border-bottom: 1px solid var(--divider-color);
@@ -750,7 +750,7 @@ class HaPanelDevStatistics extends KeyboardShortcutMixin(LitElement) {
.narrow-header-row { .narrow-header-row {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 16px; gap: var(--ha-space-4);
padding: 0 16px; padding: 0 16px;
overflow-x: scroll; overflow-x: scroll;
-ms-overflow-style: none; -ms-overflow-style: none;
@@ -772,7 +772,7 @@ class HaPanelDevStatistics extends KeyboardShortcutMixin(LitElement) {
.selection-controls { .selection-controls {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.selection-controls p { .selection-controls p {
@@ -784,7 +784,7 @@ class HaPanelDevStatistics extends KeyboardShortcutMixin(LitElement) {
.center-vertical { .center-vertical {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
} }
.relative { .relative {

View File

@@ -274,7 +274,7 @@ ${type === "object"
} }
.content { .content {
gap: 16px; gap: var(--ha-space-4);
padding: 16px; padding: 16px;
} }

View File

@@ -202,7 +202,7 @@ export class HuiViewBadges extends LitElement {
align-items: flex-start; align-items: flex-start;
flex-wrap: var(--badges-wrap, wrap); flex-wrap: var(--badges-wrap, wrap);
justify-content: var(--badges-aligmnent, center); justify-content: var(--badges-aligmnent, center);
gap: 8px; gap: var(--ha-space-2);
margin: 0; margin: 0;
} }
@@ -244,7 +244,7 @@ export class HuiViewBadges extends LitElement {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
outline: none; outline: none;
gap: 8px; gap: var(--ha-space-2);
height: 36px; height: 36px;
padding: 6px 20px 6px 20px; padding: 6px 20px 6px 20px;
box-sizing: border-box; box-sizing: border-box;

View File

@@ -150,7 +150,7 @@ class HuiLockOpenDoorCardFeature
align-items: center; align-items: center;
justify-content: center; justify-content: center;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
font-weight: var(--ha-font-weight-medium); font-weight: var(--ha-font-weight-medium);
color: var(--success-color); color: var(--success-color);
margin: 0 12px 12px 12px; margin: 0 12px 12px 12px;

View File

@@ -425,7 +425,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard {
display: grid; display: grid;
grid-template-columns: repeat(var(--keypad-columns), auto); grid-template-columns: repeat(var(--keypad-columns), auto);
grid-auto-rows: auto; grid-auto-rows: auto;
grid-gap: 16px; grid-gap: var(--ha-space-4);
justify-items: center; justify-items: center;
align-items: center; align-items: center;
} }

View File

@@ -747,7 +747,7 @@ export class HuiAreaCard extends LitElement implements LovelaceCard {
left: 0; left: 0;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 8px; gap: var(--ha-space-2);
padding: 8px; padding: 8px;
pointer-events: none; pointer-events: none;
z-index: 1; z-index: 1;

View File

@@ -159,7 +159,7 @@ export class HuiClockCard extends LitElement implements LovelaceCard {
.time-wrapper.size-large { .time-wrapper.size-large {
height: calc(100% - 32px); height: calc(100% - 32px);
padding: 16px; padding: 16px;
row-gap: 12px; row-gap: var(--ha-space-3);
} }
.time-title { .time-title {

View File

@@ -88,7 +88,7 @@ export class HuiErrorCard extends LitElement implements LovelaceCard {
.header { .header {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
padding: 16px; padding: 16px;
} }
.message { .message {

View File

@@ -154,7 +154,7 @@ export class HuiHeadingCard extends LitElement implements LovelaceCard {
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
overflow: hidden; overflow: hidden;
gap: 8px; gap: var(--ha-space-2);
} }
.content:hover ha-icon-next { .content:hover ha-icon-next {
transform: translateX(calc(4px * var(--scale-direction))); transform: translateX(calc(4px * var(--scale-direction)));
@@ -173,7 +173,7 @@ export class HuiHeadingCard extends LitElement implements LovelaceCard {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
gap: 8px; gap: var(--ha-space-2);
color: var(--ha-heading-card-title-color, var(--primary-text-color)); color: var(--ha-heading-card-title-color, var(--primary-text-color));
font-size: var(--ha-heading-card-title-font-size, var(--ha-font-size-l)); font-size: var(--ha-heading-card-title-font-size, var(--ha-font-size-l));
font-weight: var( font-weight: var(

View File

@@ -148,7 +148,7 @@ export class HuiDialogSuggestBadge extends LitElement {
align-items: flex-start; align-items: flex-start;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
gap: 8px; gap: var(--ha-space-2);
margin: 0; margin: 0;
} }
.editor { .editor {

View File

@@ -504,7 +504,7 @@ export class HuiDialogEditCard
} }
[slot="primaryAction"] { [slot="primaryAction"] {
gap: 8px; gap: var(--ha-space-2);
display: flex; display: flex;
} }
`, `,

View File

@@ -513,7 +513,7 @@ export class SectionsView extends LitElement implements LovelaceViewElement {
--mdc-icon-size: 18px; --mdc-icon-size: 18px;
display: flex; display: flex;
align-items: center; align-items: center;
gap: 12px; gap: var(--ha-space-3);
margin-bottom: 8px; margin-bottom: 8px;
} }
.imported-card-header .subtitle { .imported-card-header .subtitle {

View File

@@ -464,7 +464,7 @@ export class HuiViewHeader extends LitElement {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
outline: none; outline: none;
gap: 8px; gap: var(--ha-space-2);
height: 36px; height: 36px;
padding: 6px 20px 6px 20px; padding: 6px 20px 6px 20px;
box-sizing: border-box; box-sizing: border-box;

View File

@@ -19,6 +19,29 @@ export const coreStyles = css`
--ha-border-radius-pill: 9999px; --ha-border-radius-pill: 9999px;
--ha-border-radius-circle: 50%; --ha-border-radius-circle: 50%;
--ha-border-radius-square: 0; --ha-border-radius-square: 0;
# Spacing
--ha-space-0: 0px;
--ha-space-1: 4px;
--ha-space-2: 8px;
--ha-space-3: 12px;
--ha-space-4: 16px;
--ha-space-5: 20px;
--ha-space-6: 24px;
--ha-space-7: 28px;
--ha-space-8: 32px;
--ha-space-9: 36px;
--ha-space-10: 40px;
--ha-space-11: 44px;
--ha-space-12: 48px;
--ha-space-13: 44px;
--ha-space-14: 56px;
--ha-space-15: 60px;
--ha-space-16: 64px;
--ha-space-17: 68px;
--ha-space-18: 72px;
--ha-space-19: 76px;
--ha-space-20: 80px;
} }
`; `;

View File

@@ -537,7 +537,7 @@ export class HaStateControlClimateTemperature extends LitElement {
.dual { .dual {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
gap: 24px; gap: var(--ha-space-6);
} }
.target-button { .target-button {
outline: none; outline: none;
@@ -562,11 +562,11 @@ export class HaStateControlClimateTemperature extends LitElement {
opacity: 1; opacity: 1;
} }
.container.md .dual { .container.md .dual {
gap: 16px; gap: var(--ha-space-4);
} }
.container.sm .dual, .container.sm .dual,
.container.xs .dual { .container.xs .dual {
gap: 8px; gap: var(--ha-space-2);
} }
.container.sm .target-icon { .container.sm .target-icon {
display: none; display: none;

Some files were not shown because too many files have changed in this diff Show More