2021-03-10 17:25:52 +00:00
|
|
|
span[ data-mw-comment-start ] {
|
|
|
|
// Give comment anchors a negative offset so we don't position
|
|
|
|
// them right at the edge of the page when jumping to them
|
|
|
|
position: relative;
|
2021-04-29 18:03:37 +00:00
|
|
|
top: -1em;
|
2021-03-10 17:25:52 +00:00
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-replylink-buttons {
|
2019-10-30 16:12:27 +00:00
|
|
|
user-select: none;
|
2021-02-10 15:36:13 +00:00
|
|
|
display: none;
|
2019-10-30 16:12:27 +00:00
|
|
|
|
2021-08-20 18:46:23 +00:00
|
|
|
// If a site has text-indent set on content, it would be inherited here and cause excessive padding
|
|
|
|
text-indent: 0;
|
|
|
|
|
2021-01-08 17:05:32 +00:00
|
|
|
.mw-content-ltr & {
|
|
|
|
/* @noflip */
|
|
|
|
margin-left: 0.5em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.mw-content-rtl & {
|
|
|
|
/* @noflip */
|
|
|
|
margin-right: 0.5em;
|
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-replytool-enabled & {
|
2021-02-10 15:36:13 +00:00
|
|
|
// Chromium bug (T260072): Element with `user-select: none` at the end of a paragraph causes
|
|
|
|
// triple-click (to select the paragraph) to also select the first character of the next paragraph
|
|
|
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1116214
|
|
|
|
display: inline-flex;
|
|
|
|
|
|
|
|
.client-nojs & {
|
|
|
|
display: none;
|
|
|
|
}
|
2020-09-16 12:07:27 +00:00
|
|
|
}
|
|
|
|
|
2020-12-15 19:45:05 +00:00
|
|
|
// No support for reply links in the mobile talk overlay
|
|
|
|
// stylelint-disable-next-line no-descending-specificity, selector-class-pattern
|
|
|
|
.talk-overlay & {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-replylink {
|
2020-06-09 18:55:14 +00:00
|
|
|
&-reply {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Similar to mw-editsection-bracket
|
|
|
|
&-bracket {
|
|
|
|
color: #54595d;
|
|
|
|
|
2021-01-08 17:05:32 +00:00
|
|
|
.mw-content-ltr &:first-of-type,
|
|
|
|
.mw-content-rtl &:not( :first-of-type ) {
|
|
|
|
/* @noflip */
|
2020-06-09 18:55:14 +00:00
|
|
|
margin-right: 0.25em;
|
|
|
|
}
|
|
|
|
|
2021-01-08 17:05:32 +00:00
|
|
|
.mw-content-ltr &:not( :first-of-type ),
|
|
|
|
.mw-content-rtl &:first-of-type {
|
|
|
|
/* @noflip */
|
2020-06-09 18:55:14 +00:00
|
|
|
margin-left: 0.25em;
|
|
|
|
}
|
|
|
|
}
|
2020-04-20 22:49:20 +00:00
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
&.ext-discussiontools-init-replylink-active {
|
2019-11-25 16:20:41 +00:00
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-replylink-open & > a {
|
2019-10-30 16:12:27 +00:00
|
|
|
color: #72777d;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
2020-08-10 15:54:45 +00:00
|
|
|
|
|
|
|
@media print {
|
|
|
|
display: none;
|
|
|
|
}
|
2019-10-30 16:12:27 +00:00
|
|
|
}
|
2019-11-13 13:57:57 +00:00
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-highlight {
|
2019-11-13 13:57:57 +00:00
|
|
|
position: absolute;
|
|
|
|
pointer-events: none;
|
2020-11-30 23:32:29 +00:00
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
|
Handle highlighting and scrolling to comments for bundled notifications
Notifications are bundled by section, so instead of linking to the
comment, link to the section.
Additionally, add a parameter to the URL listing all the comment IDs
from the bundle, and highlight them all and scroll to the topmost one.
Having to handle both URL fragments and URL query parameters makes
this code kind of a mess :(
Also, some unexpected changes became necessary:
* EventDispatcher.php: Store the section title in events using
HeadingItem::getLinkableTitle() instead of ThreadItem::getText().
The result is mostly the same, except in case of wacky markup like
images or extension tags. We can more reliably use it to link to the
section on the page, and we already use getLinkableTitle() when
generating edit summaries in the reply tool for this reason.
* dt.init.less: Change the mix-blend-mode for the highlights from
'multiply' to 'darken', so that multiple overlapping highlights do
not look more opaque. This affects how the highlights look on
non-white backgrounds and images (they're less blue, and on darker
backgrounds entirely invisible), but it seems worth it.
Bug: T286620
Change-Id: I21bb5c003abc2747f0350d3f3af558dfb55693e9
2021-08-05 20:04:17 +00:00
|
|
|
@supports ( mix-blend-mode: darken ) {
|
2021-05-31 19:31:01 +00:00
|
|
|
.ext-discussiontools-init-highlight {
|
Handle highlighting and scrolling to comments for bundled notifications
Notifications are bundled by section, so instead of linking to the
comment, link to the section.
Additionally, add a parameter to the URL listing all the comment IDs
from the bundle, and highlight them all and scroll to the topmost one.
Having to handle both URL fragments and URL query parameters makes
this code kind of a mess :(
Also, some unexpected changes became necessary:
* EventDispatcher.php: Store the section title in events using
HeadingItem::getLinkableTitle() instead of ThreadItem::getText().
The result is mostly the same, except in case of wacky markup like
images or extension tags. We can more reliably use it to link to the
section on the page, and we already use getLinkableTitle() when
generating edit summaries in the reply tool for this reason.
* dt.init.less: Change the mix-blend-mode for the highlights from
'multiply' to 'darken', so that multiple overlapping highlights do
not look more opaque. This affects how the highlights look on
non-white backgrounds and images (they're less blue, and on darker
backgrounds entirely invisible), but it seems worth it.
Bug: T286620
Change-Id: I21bb5c003abc2747f0350d3f3af558dfb55693e9
2021-08-05 20:04:17 +00:00
|
|
|
mix-blend-mode: darken;
|
2020-12-14 22:56:08 +00:00
|
|
|
// Support: Safari
|
|
|
|
// Safari doesn't blend this overlay with the text unless GPU rendering is forced.
|
|
|
|
transform: translateZ( 0 );
|
2020-11-30 23:32:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-highlight-fadein {
|
2019-11-13 13:57:57 +00:00
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
2021-03-13 14:39:39 +00:00
|
|
|
.ext-discussiontools-init-highlight-fadeout {
|
2019-11-13 13:57:57 +00:00
|
|
|
opacity: 0;
|
2021-02-04 19:12:03 +00:00
|
|
|
transition: opacity 250ms ease-out;
|
2019-11-13 13:57:57 +00:00
|
|
|
}
|
2021-02-17 22:34:02 +00:00
|
|
|
|
2021-04-29 18:03:37 +00:00
|
|
|
.ext-discussiontools-init-publishedcomment {
|
|
|
|
// Support: IE11
|
|
|
|
// On supporting browsers, we instead use non-transparent color with mix-blend-mode.
|
|
|
|
// Identical to #ffe29e on white background.
|
|
|
|
background-color: rgba( 255, 198, 60, 0.5 );
|
|
|
|
}
|
|
|
|
|
Handle highlighting and scrolling to comments for bundled notifications
Notifications are bundled by section, so instead of linking to the
comment, link to the section.
Additionally, add a parameter to the URL listing all the comment IDs
from the bundle, and highlight them all and scroll to the topmost one.
Having to handle both URL fragments and URL query parameters makes
this code kind of a mess :(
Also, some unexpected changes became necessary:
* EventDispatcher.php: Store the section title in events using
HeadingItem::getLinkableTitle() instead of ThreadItem::getText().
The result is mostly the same, except in case of wacky markup like
images or extension tags. We can more reliably use it to link to the
section on the page, and we already use getLinkableTitle() when
generating edit summaries in the reply tool for this reason.
* dt.init.less: Change the mix-blend-mode for the highlights from
'multiply' to 'darken', so that multiple overlapping highlights do
not look more opaque. This affects how the highlights look on
non-white backgrounds and images (they're less blue, and on darker
backgrounds entirely invisible), but it seems worth it.
Bug: T286620
Change-Id: I21bb5c003abc2747f0350d3f3af558dfb55693e9
2021-08-05 20:04:17 +00:00
|
|
|
@supports ( mix-blend-mode: darken ) {
|
2021-04-29 18:03:37 +00:00
|
|
|
.ext-discussiontools-init-publishedcomment {
|
|
|
|
background-color: #ffe29e;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.ext-discussiontools-init-targetcomment {
|
|
|
|
// Support: IE11, see above
|
|
|
|
background-color: rgba( 216, 235, 255, 0.5 );
|
|
|
|
}
|
|
|
|
|
Handle highlighting and scrolling to comments for bundled notifications
Notifications are bundled by section, so instead of linking to the
comment, link to the section.
Additionally, add a parameter to the URL listing all the comment IDs
from the bundle, and highlight them all and scroll to the topmost one.
Having to handle both URL fragments and URL query parameters makes
this code kind of a mess :(
Also, some unexpected changes became necessary:
* EventDispatcher.php: Store the section title in events using
HeadingItem::getLinkableTitle() instead of ThreadItem::getText().
The result is mostly the same, except in case of wacky markup like
images or extension tags. We can more reliably use it to link to the
section on the page, and we already use getLinkableTitle() when
generating edit summaries in the reply tool for this reason.
* dt.init.less: Change the mix-blend-mode for the highlights from
'multiply' to 'darken', so that multiple overlapping highlights do
not look more opaque. This affects how the highlights look on
non-white backgrounds and images (they're less blue, and on darker
backgrounds entirely invisible), but it seems worth it.
Bug: T286620
Change-Id: I21bb5c003abc2747f0350d3f3af558dfb55693e9
2021-08-05 20:04:17 +00:00
|
|
|
@supports ( mix-blend-mode: darken ) {
|
2021-04-29 18:03:37 +00:00
|
|
|
.ext-discussiontools-init-targetcomment {
|
|
|
|
// Same color as the :target selector for references (from Cite).
|
|
|
|
// Not sure if that's a good idea, but it should be different from -publishedcomment.
|
|
|
|
background-color: #eaf3ff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-02-17 22:34:02 +00:00
|
|
|
// NB Directional properties for anything immediately visible
|
|
|
|
// in the header must be based on content direction.
|
2021-05-05 11:44:51 +00:00
|
|
|
.ext-discussiontools-init-section {
|
2021-02-17 22:34:02 +00:00
|
|
|
&-subscribe {
|
|
|
|
display: none;
|
|
|
|
|
2021-05-05 11:44:51 +00:00
|
|
|
.mw-content-ltr & {
|
|
|
|
/* @noflip */
|
|
|
|
float: right;
|
|
|
|
}
|
2021-02-17 22:34:02 +00:00
|
|
|
|
2021-05-05 11:44:51 +00:00
|
|
|
.mw-content-rtl & {
|
|
|
|
/* @noflip */
|
|
|
|
float: left;
|
|
|
|
}
|
2021-02-17 22:34:02 +00:00
|
|
|
|
2021-05-05 11:44:51 +00:00
|
|
|
&.mw-editsection-like {
|
|
|
|
-moz-user-select: none;
|
|
|
|
-webkit-user-select: none;
|
|
|
|
-ms-user-select: none;
|
|
|
|
user-select: none;
|
|
|
|
margin-top: 0.7em;
|
2021-02-17 22:34:02 +00:00
|
|
|
}
|
|
|
|
|
2021-11-05 00:16:23 +00:00
|
|
|
.skin-minerva & {
|
|
|
|
// Temporary fix for desktop Minerva (T292241)
|
|
|
|
float: none;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
|
2021-05-05 11:44:51 +00:00
|
|
|
.ext-discussiontools-topicsubscription-enabled & {
|
2021-02-17 22:34:02 +00:00
|
|
|
display: block;
|
2021-05-05 11:44:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Similar to mw-editsection-bracket
|
|
|
|
&-bracket {
|
|
|
|
color: #54595d;
|
|
|
|
|
|
|
|
.mw-content-ltr &:first-of-type,
|
|
|
|
.mw-content-rtl &:not( :first-of-type ) {
|
|
|
|
/* @noflip */
|
|
|
|
margin-right: 0.25em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.mw-content-ltr &:not( :first-of-type ),
|
|
|
|
.mw-content-rtl &:first-of-type {
|
|
|
|
/* @noflip */
|
|
|
|
margin-left: 0.25em;
|
|
|
|
}
|
2021-02-17 22:34:02 +00:00
|
|
|
}
|
2021-08-19 20:35:32 +00:00
|
|
|
|
|
|
|
&-link&-link-pending {
|
|
|
|
color: #72777d;
|
|
|
|
pointer-events: none;
|
|
|
|
}
|
2021-02-17 22:34:02 +00:00
|
|
|
}
|
|
|
|
}
|
2021-07-29 06:12:10 +00:00
|
|
|
|
2021-04-29 14:24:49 +00:00
|
|
|
.ext-discussiontools-init-new-topic {
|
|
|
|
margin-top: 1em;
|
|
|
|
}
|
|
|
|
|
2021-07-29 06:12:10 +00:00
|
|
|
.ext-discussiontools-emptystate {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
|
2021-04-29 14:24:49 +00:00
|
|
|
.skin-minerva & {
|
|
|
|
// Add space between this and page-actions-menu in Minerva
|
|
|
|
margin-top: 1em;
|
|
|
|
}
|
|
|
|
|
2021-08-11 19:33:43 +00:00
|
|
|
> img {
|
|
|
|
width: 250px;
|
2021-07-29 06:12:10 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-08-27 15:06:22 +00:00
|
|
|
/* stylelint-disable selector-class-pattern */
|
|
|
|
.ext-discussiontools-init-replylink-open {
|
|
|
|
.ext-discussiontools-emptystate,
|
|
|
|
> .error,
|
|
|
|
> .warningbox {
|
|
|
|
display: none;
|
|
|
|
}
|
2021-07-29 06:12:10 +00:00
|
|
|
}
|
2021-08-27 15:06:22 +00:00
|
|
|
/* stylelint-enable selector-class-pattern */
|
2021-08-23 20:23:37 +00:00
|
|
|
|
|
|
|
// Styles inspired by the Popups extension
|
|
|
|
// (and occasionally copypasted from there)
|
|
|
|
.ext-discussiontools-autotopicsubpopup {
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
|
|
|
|
// Increase specificity to override .oo-ui-popupWidget
|
|
|
|
.oo-ui-popupWidget& {
|
|
|
|
// Animations
|
|
|
|
opacity: 0;
|
|
|
|
transform: translate( 0, -20px );
|
|
|
|
transition: opacity 0.2s, transform 0.2s;
|
|
|
|
|
|
|
|
&-fadein {
|
|
|
|
opacity: 1;
|
|
|
|
transform: translate( 0, 0 );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.oo-ui-popupWidget-popup {
|
|
|
|
padding: 1.5em;
|
|
|
|
box-sizing: border-box;
|
|
|
|
// Center horizontally
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
right: 0;
|
|
|
|
margin: 0 auto;
|
|
|
|
// Position above the highlight
|
|
|
|
bottom: 3em;
|
|
|
|
|
|
|
|
&.ext-discussiontools-autotopicsubpopup-overlap {
|
|
|
|
// If there isn't enough space above, position on top of the highlight
|
|
|
|
top: -1em;
|
|
|
|
bottom: auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&-title {
|
|
|
|
font-weight: bold;
|
|
|
|
font-size: 1.2em;
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-image {
|
|
|
|
/* @embed */
|
|
|
|
background: url( autotopicsubpopup-image.svg ) center center no-repeat;
|
|
|
|
width: 200px;
|
|
|
|
height: 200px;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Desktop
|
|
|
|
@media ( min-width: 720px ) {
|
|
|
|
.oo-ui-popupWidget-popup {
|
|
|
|
width: 450px;
|
|
|
|
min-height: 200px;
|
|
|
|
padding-right: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-image {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
right: 0;
|
|
|
|
height: 100%;
|
2021-12-15 23:43:56 +00:00
|
|
|
z-index: 1;
|
2021-08-23 20:23:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
&-body {
|
|
|
|
margin-bottom: 1em;
|
|
|
|
margin-top: 1em;
|
2021-12-15 23:43:56 +00:00
|
|
|
margin-right: 200px;
|
2021-08-23 20:23:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
&-title,
|
|
|
|
&-actions {
|
2021-12-15 23:43:56 +00:00
|
|
|
margin-right: 150px;
|
|
|
|
position: relative;
|
|
|
|
z-index: 2;
|
2021-08-23 20:23:37 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Mobile
|
|
|
|
@media ( max-width: 719px ) {
|
|
|
|
.oo-ui-popupWidget-popup {
|
|
|
|
width: 320px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-image {
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
&-body {
|
|
|
|
margin-bottom: 1em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|