Files
Michael Telatynski 30f442208a Fix React hydration issues (#32958)
* Add more playwright axe tests to settings dialogs

* Add utility to jest setupTests to detect React hydration errors

* Iterate jest utility

* Fix axe issue heading-order

* Fix div-in-p issues

* Fix setupTests.ts

* Fix heading order

* Make types happier

* Fix hydration issues of thead containing text nodes

* Update tests

* Fix form-in-form React hydration issues

* Fix li-in-li React hydration issues

* Fix checked in form without onChange React hydration issue

* Fix styling bleeding from _common.pcss

* Update snapshots

* Fix more remaining issues

* Remove _common.pcss h2 rule altogether

* Fix test

* Update snapshots

* Iterate

* Iterate

* Update snapshots

* Simplify diff

* Test

* Update screenshots

* Update screenshot
2026-04-16 13:35:40 +00:00

88 lines
1.8 KiB
Plaintext

/*
Copyright 2019-2024 New Vector Ltd.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_SettingsTab {
--SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */
color: $primary-content;
a {
color: $links;
}
form {
display: flex;
flex-direction: column;
gap: var(--cpd-space-3x);
flex-grow: 1;
}
// never want full width buttons
// event when other content is 100% width
.mx_AccessibleButton {
align-self: flex-start;
justify-self: flex-start;
}
.mx_Field {
margin: 0;
flex: 1;
}
}
.mx_SettingsTab_warningText {
color: $alert;
}
.mx_SettingsTab_subsectionText {
color: $secondary-content;
font: var(--cpd-font-body-md-regular);
display: block;
margin-top: 10px;
margin-inline-end: 80px; /* Align with the rest of the view */
margin-bottom: 10px;
margin-inline-start: 0;
}
.mx_SettingsTab_section {
$end-gutter: 80px;
margin-bottom: $spacing-24;
.mx_SettingsFlag {
margin-inline-end: $end-gutter;
margin-bottom: 10px;
.mx_SettingsFlag_label {
vertical-align: middle;
display: inline-block;
max-width: calc(100% - $font-48px); /* Force word wrap instead of colliding with the switch */
box-sizing: border-box;
}
.mx_ToggleSwitch {
float: inline-end;
}
}
> p {
margin-inline-end: $end-gutter;
}
&.mx_SettingsTab_subsectionText .mx_SettingsFlag {
margin-inline-end: 0 !important;
}
}
.mx_SettingsTab_sections {
display: grid;
grid-template-columns: 1fr;
gap: $spacing-32;
padding-bottom: $spacing-16;
}