@import 'mediawiki.mixins'; /* stylelint-disable selector-class-pattern */ // OOUIHTMLForm styles @ooui-font-size-browser: 16; // assumed browser default of `16px` @ooui-font-size-base: 0.875em; // equals `14px` at browser default of `16px` @ooui-spacing-small: 8 / @ooui-font-size-browser / @ooui-font-size-base; // equals `0.57142857em`≈`8px` @ooui-spacing-medium: 12 / @ooui-font-size-browser / @ooui-font-size-base; // equals `0.8571429em`≈`12px` @ooui-spacing-large: 16 / @ooui-font-size-browser / @ooui-font-size-base; // equals `1.1428571em`≈`16px` @ooui-padding-horizontal: 12 / @ooui-font-size-browser / @ooui-font-size-base; @ooui-padding-vertical: 4 / @ooui-font-size-browser / @ooui-font-size-base; // equals `0.285714em`≈`4px` .mw-htmlform-ooui-wrapper.oo-ui-panelLayout-padded { // Reducing `padding-top`, as the heading's `line-height` provides similar distance. padding: @ooui-spacing-medium @ooui-spacing-large @ooui-spacing-large; .client-js & .oo-ui-fieldsetLayout.mw-collapsible .oo-ui-fieldsetLayout-header { // Push legend up when JS is on, to increase clickable area. margin-top: -@ooui-spacing-small; margin-bottom: @ooui-spacing-small; // Add `padding-top` to make up for negative `margin` above. padding: @ooui-spacing-small; // Make space for toggle icon defined below. padding-left: 24 / @ooui-font-size-browser / @ooui-font-size-base; } // Trigger only when collapsible & JS is available via `.mw-collapsed`. .client-js & .oo-ui-fieldsetLayout.mw-collapsed .oo-ui-fieldsetLayout-header { min-height: 30px; // Negative margin to match the reduced distance on the top caused by the previous rule. margin-bottom: -@ooui-spacing-medium; .oo-ui-labelElement-label { margin-bottom: 0; } } } .mw-htmlform-ooui { line-height: 1.4; // Override MediaWiki's default of `1.6` .oo-ui-fieldsetLayout-header { font-size: 100%; // Override MediaWiki's generic `legend` styling } .oo-ui-fieldLayout.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header { line-height: 16 / @ooui-font-size-browser / @ooui-font-size-base; } .mw-htmlform-field-HTMLCheckMatrix { width: 100%; } // Default OOUI styles produce a larger margin here .mw-htmlform-field-HTMLSizeFilterField { margin-top: @ooui-spacing-medium; } .mw-htmlform-matrix { border-spacing: 0 2px; th { font-weight: normal; } td { padding: @ooui-padding-vertical @ooui-padding-horizontal; text-align: center; .transition( background-color 250ms ); &:first-child { text-align: left; } &.first { margin-right: 5%; width: 39%; } } thead tr td { padding-bottom: 0; } tbody tr:nth-child( even ) td { background-color: #f8f9fa; } tbody tr:hover td { background-color: #eaecf0; } // Specificity needed because of necessary high OOUI specificity due to modularity .oo-ui-fieldLayout.oo-ui-fieldLayout-align-top .oo-ui-fieldLayout-help { margin-top: 0; } .oo-ui-fieldLayout.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header { padding-bottom: 0; } } } // Flatlist styling for PHP (`.oo-ui-fieldLayout-align-inline`) & // JS (`.oo-ui-radioOptionWidget, .oo-ui-checkboxMultioptionWidget`) widgets .mw-htmlform-flatlist { .oo-ui-fieldLayout-align-inline, .oo-ui-radioOptionWidget, .oo-ui-checkboxMultioptionWidget { display: inline-block; margin-right: @ooui-spacing-medium; } // Reduce label distance in flatlist &.oo-ui-fieldLayout.oo-ui-labelElement > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header { padding-bottom: 0; } } // First selector is flatlist specific .mw-htmlform-field-HTMLMultiSelectField.oo-ui-fieldLayout, .mw-htmlform-ooui .htmlform-tip, .mw-htmlform-ooui .mw-htmlform-submit-buttons { margin-top: @ooui-spacing-medium; } .oo-ui-fieldsetLayout.mw-collapsible { .oo-ui-fieldsetLayout-header { max-width: none; } .mw-collapsible-toggle .oo-ui-iconElement-icon { position: absolute; top: 0; left: 0; // Special case: Reduce to `16px` icon size here. min-width: 16px; width: 16 / @ooui-font-size-browser / @ooui-font-size-base; margin-right: 0.5em; } // When expanded: only 'collapse' icon visible .mw-collapsible-toggle .oo-ui-icon-expand { display: none; } // When collapsed: only 'expand' icon visible &.mw-collapsed { .mw-collapsible-toggle .oo-ui-icon-expand { display: inline-block; } .mw-collapsible-toggle .oo-ui-icon-collapse { display: none; } } }