Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1432249
dt.ui.ReplyWidget.less
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
11 KB
Referenced Files
None
Subscribers
None
dt.ui.ReplyWidget.less
View Options
@
import
'mediawiki.skin.variables.less'
;
.
ext-discussiontools-ui-replyWidget
{
margin-bottom
:
1
em
;
position
:
relative
;
clear
:
both
;
//
This
is
in
user
language,
do
not
inherit
text-align
from
the
content
(T306137).
//
We
can't
set
'
text-align
:
left
' (and rely on flipping), because
// that would affect the input field, which is in content language.
text-align: initial;
.skin-monobook & {
font-size: ( 12.8em / 12.7 );
}
}
.skin-vector-2022 {
.ext-discussiontools-ui-newTopic,
.ext-discussiontools-ui-replyWidget {
font-size: 0.875rem;
line-height: 1.5714285;
}
.ext-discussiontools-ui-replyWidget-bodyWrapper,
.ext-discussiontools-ui-newTopic-sectionTitle-field > .oo-ui-fieldLayout-body {
font-size: var( --font-size-medium );
line-height: var( --line-height-medium );
}
}
// @supports does not work when nested
@supports ( display: flow-root ) {
.ext-discussiontools-ui-replyWidget {
// Allow the widget to be squished next to floating elements (T278476).
//
// To ensure that everything is squished to the same width, introduce a block formatting context
// (otherwise the preview or textarea could be wider than the container and mess up the layout).
// https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
//
// All of the usual ways to do this (listed on that page) have unwanted side-effects
// (in particular, `overflow: hidden` cuts off VE inspectors), so we must use this relatively
// recent property, and only apply this fix on supporting browsers, notably excluding Safari <13
// (https://caniuse.com/?search=flow-root)
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
display: flow-root;
min-width: 20em;
clear: none;
}
}
.ext-discussiontools-ui-replyWidget { /* stylelint-disable-line no-descending-specificity */
&-bodyWrapper > .oo-ui-textInputWidget {
max-width: none;
.oo-ui-inputWidget-input {
line-height: 1.5em;
overflow-y: hidden;
// Leave space for newComments button
padding-bottom: 22px;
}
}
&-scrollback-top {
transform: translate( -50%, -150% );
top: 0;
left: 50%;
// .mw-sticky-header-element is also added to move the element down
// in skins that implement a sticky header
}
&-scrollback-bottom {
transform: translate( -50%, 150% );
bottom: 0;
left: 50%;
}
&-scrollback-top,
&-scrollback-bottom {
position: fixed;
opacity: 0;
transition: transform 250ms, opacity 250ms;
z-index: 1;
margin: 1em 0;
box-shadow: 0 2px 2px 0 rgba( 0, 0, 0, 0.25 );
// OOUI Apex theme
.skin-monobook & {
box-shadow: 0 0.2em 1em rgba( 0, 0, 0, 0.3 );
}
// Buttons can'
t
be
reliably
positioned
on
iOS
when
the
keyboard
//
is
visible
,
so
hide
them
.
ext-discussiontools-init-virtual-keyboard-open
.
ext-discussiontools-init-ios
&
{
display
:
none
;
}
}
/* stylelint-disable no-descending-specificity */
&
-floating-top
&
-scrollback-top
,
&
-floating-bottom
&
-scrollback-bottom
{
opacity
:
1
;
transform
:
translate
(
-50
%
,
0
);
}
/* stylelint-enable no-descending-specificity */
.
ve-ui-targetToolbar
>
.
oo-ui-toolbar-bar
{
background
:
none
;
box-shadow
:
none
;
border
:
0
;
//
Stretch
to
all
available
space
flex-grow
:
1
;
}
.
oo-ui-toolbar-position-top
.
ve-ui-toolbarDialog-position-above
{
border-top
:
0
;
.oo-ui-window-body
{
padding-left
:
0
;
padding-right
:
0
;
}
}
.
ve-ui-targetToolbar
{
display
:
flex
;
//
Allow
wrapping
when
the
space
is
very
narrow
(mode
switcher
above
toolbar)
flex-wrap
:
wrap-reverse
;
>
.oo-ui-windowManager
{
flex-basis
:
100
%
;
box-shadow
:
0
-1
px
1
px
0
rgba
(
0
,
0
,
0
,
0.1
);
}
}
.
skin-minerva
&
.
ve-ui-surface-visual
.
ve-ce-paragraphNode
{
//
Reduce
paragraph
spacing
in
editor,
as
replies
will
actually
generate
<dd>
not
<p>
margin
:
0
;
&:first-child
{
margin-top
:
0.5
em
;
}
}
.
skin-monobook
&
.
ve-ui-surface-visual
{
font-size
:
(
12.7
em
/
12.8
);
}
&
-modeTabs
{
box-shadow
:
none
;
height
:
3
em
;
text-align
:
right
;
//
Hide
outline
that
can
appear
after
switching
modes
via
keyboard
outline
:
0
;
.
oo-ui-tabOptionWidget
:
last
-
child
{
margin-right
:
2
px
;
}
.
ext-discussiontools-ui-modeTab
{
//
OOUI
Apex
theme
.skin-monobook
&
{
margin-top
:
0
;
}
}
//
When
mode
tabs
are
focussed
,
the
only
available
option
uses
the
same
styles
as
normal
focus
//
Hovering
also
adds
this
class
,
but
is
styled
upstream
with
just
an
underline
.
.
ext-discussiontools-ui-modeTab
.
oo-ui-optionWidget-highlighted
:
not
(
:
hover
)
{
color
:
@
color
-
progressive
;
border-radius
:
@
border-radius
-
base
;
box-shadow
:
@
box-shadow
-
inset
-
medium
@
box-shadow
-
color
-
progressive-selected
;
}
//
The
unavailable
option
in
mode
tabs
is
disabled
,
to
make
it
un-interactable
,
but
we
want
it
//
to
look
as
if
it
was
selected
.
ext-discussiontools-ui-modeTab
.
oo-ui-widget-disabled
{
color
:
@
color
-
progressive
;
box-shadow
:
@
box-shadow
-
inset
-
medium
-
vertical
@
box-shadow
-
color
-
progressive-selected
;
}
}
&
-editSwitch
{
text-align
:
right
;
.oo-ui-toolbar-bar
{
/* stylelint-disable-line no-descending-specificity */
border
:
0
;
box-shadow
:
none
;
}
.
oo-ui-toolbar-popups
{
text-align
:
left
;
}
}
&
-actionsWrapper
{
margin-top
:
0.5
em
;
display
:
flex
;
//
Allow
wrapping
when
the
space
is
very
narrow
(buttons
above
the
footer
text)
flex-wrap
:
wrap-reverse
;
//
When
wrapping,
align
actions
to
the
right
justify-content
:
flex-end
;
}
&
-actions
{
//
Add
spacing
before
the
footer
when
wrapping
margin-bottom
:
0.5
em
;
margin-left
:
3
em
;
white-space
:
nowrap
;
.skin-minerva
&
{
margin-top
:
-2
em
;
}
}
.
skin-minerva
&
-advanced
:
not
(
.
oo-ui-element-hidden
)
~
&
-actionsWrapper
&
-actions
{
margin-top
:
0
;
}
&
-footer
{
//
Preferred
width
;
if
there
isn't
enough
space,
this
wraps
under
the
actions
flex-basis
:
20
em
;
//
Stretch
to
all
available
space
flex-grow
:
1
;
font-size
:
@
font-size
-
x-small
;
color
:
@
color
-
subtle
;
>
p
{
margin-bottom
:
0.5
em
;
}
>
*
{
&:first-child
{
margin-top
:
0
;
}
&
:
last-child
{
margin-bottom
:
0
;
}
}
&
-links
{
//
Extra
specificity
to
override
rules
from
MediaWiki
&,
.mw-content-ltr
&,
.mw-content-rtl
&
{
margin
:
0
;
padding
:
0
;
}
li
{
display
:
inline
;
&::after
{
content
:
' • '
;
}
&
:
last-child
::
after
{
content
:
''
;
}
}
}
.
skin-minerva
&
>
p
{
margin-bottom
:
0
;
}
}
&
-preview
{
background
:
#f6f6f6
;
padding
:
0.5
em
1
em
;
//
Establish
a
block
formatting
context,
so
that
floated
content
(e.g.
image
thumbnails)
//
doesn't
leak
out
and
mess
up
our
layout.
(Also
hides
the
'Preview'
label
when
empty.)
overflow
:
hidden
;
&:empty
{
height
:
0
;
padding
:
0
;
}
&
::
before
{
content
:
attr
(
data
-label
);
color
:
#808080
;
}
>
.
mw-parser-output
{
.skin-monobook
&
{
font-size
:
(
12.7
em
/
12.8
);
}
}
.
ext-discussiontools-ui-replyWidget
:
not
(
.
ext-discussiontools-ui-replyWidget-newTopic
)
&
>
.
mw-parser-output
{
margin-left
:
-1.6
em
;
.skin-minerva
&
{
margin-left
:
-1
em
;
}
}
>
.
mw-parser-output
>
h2
:
first-child
{
//
Remove
excess
spacing
above
section
title
for
preview
padding-top
:
0
;
margin-top
:
0.25
em
;
}
.
ext-discussiontools-init-section-bar
{
//
Looks
just
a
little
weird
to
display
this
in
preview
of
your
own
new
topic
(T309423)
display
:
none
;
}
//
Hide
collapse
icons
on
mobile
.
section-heading
.
indicator
{
/* stylelint-disable-line selector-class-pattern */
display
:
none
;
}
//
...
and
expand
sections
.
collapsible-block
[
hidden
]
{
/* stylelint-disable-line selector-class-pattern */
//
If
hidden=until-found
is
supported,
this
will
set
content-visibility
:
hidden
;
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
content-visibility
:
visible
;
//
otherwise
it
will
set
display
:
none
;
display
:
block
;
}
//
TODO
:
Consider
doing
this
via
's Toggler.js'
s
APIs
,
rather
than
CSS
overrides
.
@
media
screen
{
html
.
skin-theme-clientpref-night
&
{
background
:
@
background-color
-
interactive-subtle
;
}
}
@
media
screen
and
(
prefers-color-scheme
:
dark
)
{
html
.
skin-theme-clientpref-os
&
{
background
:
@
background-color
-
interactive-subtle
;
}
}
}
&
-bodyWrapper
{
position
:
relative
;
}
&
-newComments
{
position
:
absolute
;
bottom
:
-1
em
;
left
:
50
%
;
transition
:
transform
250
ms
ease-in
,
opacity
250
ms
ease-in
;
transform
:
translate
(
-50
%
,
30
px
);
opacity
:
0
;
white-space
:
nowrap
;
.skin-minerva
&
{
//
stylelint-disable-next-line
declaration-property-unit-disallowed-list
font-size
:
14
px
;
}
&
-open
{
transform
:
translate
(
-50
%
,
0
);
opacity
:
1
;
}
//
Same
border-radius
is
applied
to
all
these
elements
to
ensure
that
the
trimmed-off
corner
//
areas
don
't capture clicks
&,
.oo-ui-buttonElement-framed:first-child,
.oo-ui-buttonElement-framed:first-child .oo-ui-buttonElement-button {
border-bottom-left-radius: 1.1em;
border-top-left-radius: 1.1em;
}
// Same border-radius is applied to all these elements to ensure that the trimmed-off corner
// areas don'
t
capture
clicks
&,
.
oo-ui-buttonElement-framed
:
last-child
,
.
oo-ui-buttonElement-framed
:
last-child
.
oo-ui-buttonElement-button
{
border-bottom-right-radius
:
1.1
em
;
border-top-right-radius
:
1.1
em
;
}
}
&
-anonWarning
,
&
-advanced
{
&.oo-ui-messageWidget-block
{
padding
:
8
px
12
px
;
}
}
&
-captcha
{
margin-top
:
0.5
em
;
}
&
-error
{
margin-bottom
:
0.5
em
;
}
&
-anonWarning
{
margin-bottom
:
0.5
em
;
display
:
flex
;
align-items
:
center
;
//
Allow
wrapping
when
the
space
is
very
narrow
(buttons
below
the
warning
text)
flex-wrap
:
wrap
;
//
When
wrapping,
align
actions
to
the
right
justify-content
:
flex-end
;
&.oo-ui-messageWidget-block
{
>
.oo-ui-iconElement-icon
{
background-position
:
center
center
;
transform
:
scale
(
1.5
);
transform-origin
:
0
center
;
left
:
1
em
;
//
Hide
warning
icon
below
tablet
width
@media
all
and
(
max-width
:
@
max-width
-
breakpoint-mobile
)
{
&
{
display
:
none
;
}
}
}
}
>
.
oo-ui-labelElement-label
{
flex-grow
:
1
;
flex-basis
:
20
em
;
margin-left
:
3
em
;
//
Hide
warning
icon
below
tablet
width
@media
all
and
(
max-width
:
@
max-width
-
breakpoint-mobile
)
{
&
{
margin-left
:
0
;
}
}
}
.
ext-discussiontools-ui-replyWidget-actions
{
//
Fix
alignment
within
message
widget
margin-top
:
0.5
em
;
}
}
&
-editSummaryField
{
//
We
want
to
display
the
"Summary"
label
and
the
checkboxes
on
the
same
line
(above
the
summary
//
field),
but
prevent
them
from
overlapping
if
there's
not
enough
space.
The
checkboxes
are
//
after
the
summary
field
in
the
DOM
for
accessibility
reasons,
but
we
want
to
display
them
//
above
it,
and
we
can't
achieve
this
with
floats.
.oo-ui-fieldLayout-body
{
display
:
flex
;
flex-flow
:
row-reverse
wrap
;
justify-content
:
space-between
;
}
.
ext-discussiontools-ui-replyWidget-checkboxes
{
order
:
1
;
}
.
oo-ui-fieldLayout-header
{
order
:
2
;
//
Stretch
to
all
available
space
on
the
line
flex-grow
:
1
;
}
.
oo-ui-fieldLayout-field
{
order
:
3
;
//
Force
to
a
separate
line
width
:
100
%
;
}
//
Change
field
layout
and
order
on
mobile
@
media
all
and
(
max-width
:
@
max-width-breakpoint-mobile
)
{
.
oo-ui-fieldLayout-header
{
order
:
1
;
}
.
oo-ui-fieldLayout-field
{
order
:
2
;
}
.
ext-discussiontools-ui-replyWidget-checkboxes
{
order
:
3
;
flex-grow
:
1
;
margin-top
:
1
em
;
}
}
}
&
-editSummary
{
max-width
:
none
;
}
&
-advanced
.
oo-ui-element-hidden
+
&
-anonWarning
{
//
Removing
spacing
between
message
widgets
when
the
first
is
hidden
margin-top
:
0
;
}
&
-advancedToggle
{
font-size
:
@
font-size
-
x-small
;
.oo-ui-indicatorElement-indicator
{
min-width
:
auto
;
}
.
oo-ui-buttonElement-button
{
min-height
:
auto
;
}
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, May 16, 21:33 (1 d, 4 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
61/a2/73757e33155b3d4d4af6c243b70c
Default Alt Text
dt.ui.ReplyWidget.less (11 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment