extensions/AbuseFilter/modules/ext.abuseFilter.less
@import 'mediawiki.skin.variables.less';

/* This code initially was stolen shamelessly from enwikipedia's Common.css */
table.mw-abuselog-details {
	margin: 1em 1em 1em 0;
	background: @background-color-interactive-subtle;
	border: @border-base;
	border-collapse: collapse;
	width: 100%;
	table-layout: fixed;

	th,
	td {
		border: @border-base;
		padding: 0.2em;
	}

	th {
		background: @background-color-interactive;
		text-align: center;
	}

	caption {
		font-weight: bold;
	}
}

.mw-abusefilter-log-hidden-entry {
	text-decoration: line-through;
	color: @color-disabled;
	font-style: italic;
}

body td.mw-abusefilter-history-changed {
	background: @background-color-destructive-subtle;
	font-weight: bold;
}

.mw-abuselog-var-value {
	white-space: pre-wrap;
	font-family: monospace;
}

div.mw-abuselog-var-value {
	max-height: 25em;
	max-width: 100%;
	overflow: auto;
}

td.mw-abuselog-var {
	width: 30%;
}

table.mw-abusefilter-list-scrollable {
	display: block;
	border: 0;
	overflow-x: auto;
}

.client-nojs .mw-abusefilter-javascript-tools {
	display: none;
}

#mw-abusefilter-throttle-parameters,
#mw-abusefilter-warn-parameters,
#mw-abusefilter-disallow-parameters,
#mw-abusefilter-tag-parameters,
#mw-abusefilter-block-parameters {
	width: 50%;
	padding-left: 3em;
}

.mw-abusefilter-preview-buttons {
	text-align: center;
}

#mw-abusefilter-warn-preview,
#mw-abusefilter-disallow-preview {
	border: @border-base;
	margin: 2em;
	padding: 1em;
}

.client-nojs #mw-abusefilter-export-link,
.client-js #mw-abusefilter-export {
	display: none;
}

tr.mw-abusefilter-list-disabled,
tr.mw-abusefilter-list-disabled td {
	color: @color-disabled;
}

tr.mw-abusefilter-list-deleted,
tr.mw-abusefilter-list-deleted td {
	color: @color-subtle;
}

tr.mw-abusefilter-list-throttled,
tr.mw-abusefilter-list-throttled td {
	color: @color-error;
}

.mw-abusefilter-examine-match,
.mw-abusefilter-syntaxresult-ok,
li.mw-abusefilter-changeslist-match {
	/* @embed */
	background-image: url( yes_check.png );
}

.mw-abusefilter-examine-nomatch,
.mw-abusefilter-syntaxresult-error,
li.mw-abusefilter-changeslist-nomatch {
	/* @embed */
	background-image: url( red_x.png );
}

#mw-abusefilter-edit-rules .mw-input {
	width: 100%; /* So that we can use relative width for mw-abusefilter-editor */
}

#mw-abusefilter-editing-form .mw-label {
	/* See T231962, the 100% width set above may squeeze the labels */
	white-space: nowrap;
}

div.mw-abusefilter-editor {
	width: 90%; /* Same as wpFilterRules and mw-abusefilter-notes-editor */
	height: 30em; /* Similar to wpFilterRules */
	line-height: 1.5em;
	border: @border-base;
	display: none;
}

#wpFilterRules {
	width: 90%; /* Same as mw-abusefilter-editor */
	height: 27em; /* Same as mw-abusefilter-editor, minus extra space */
}

#mw-abusefilter-notes-editor,
#mw-abusefilter-edit-description-input,
#mw-abusefilter-edit-group-input {
	width: 90%; /* Same as mw-abusefilter-editor */
	max-width: none; /* OOUI's default of 50em is too low for this field */
}

#mw-abusefilter-switcheditor {
	/* Hidden until the click handler is installed */
	display: none;
}

fieldset.mw-abusefilter-edit-buttons {
	margin-top: 1em;
}

.mw-abusefilter-load-filter-id {
	max-width: 50em;
}

.client-nojs .mw-abusefilter-load-filter-id {
	display: none;
}

/* Needs reinforced CSS selectors to override MonoBook's .special li */
/* @see T78304, T331211 */
#mw-abusefilter-syntaxresult,
#mw-content-text li.mw-abusefilter-changeslist-nomatch,
#mw-content-text li.mw-abusefilter-changeslist-match {
	/* Do not consolidate these into a "background:" rule; it will override the background-image: settings in above rulesets */
	background-repeat: no-repeat;
	padding-left: 25px;
	background-position: left center;
}

/* Name is in site content language */
/* @noflip */
.sitedir-ltr .TablePager_col_af_public_comments { /* stylelint-disable-line selector-class-pattern */
	direction: ltr;
}

/* @noflip */
.sitedir-rtl .TablePager_col_af_public_comments { /* stylelint-disable-line selector-class-pattern */
	direction: rtl;
}

#mw-abusefilter-filter-tools {
	display: inline;
}

#mw-abusefilter-expr-result {
	word-break: break-all;
	/* Shown dinamically via JS */
	display: none;
}

.mw-abusefilter-history-buttons {
	text-align: center;
}

.mw-abusefilter-tools-error {
	color: @color-error;
}

/* Ace highlight customisation */

span.ace_invalid.ace_deprecated { /* stylelint-disable-line selector-class-pattern */
	color: #fe6767;
	background-color: initial;
}

span.ace_support.ace_function { /* stylelint-disable-line selector-class-pattern */
	color: #495dd0;
}
