Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5972140
TableOfContents.less
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
TableOfContents.less
View Options
.
citizen-toc
{
--citizen-toc-toggle-size
:
~
'calc( var( --line-height-small ) + var( --space-xs ) * 2 )'
;
.mixin-citizen-font-styles(
'small'
)
;
&-contents,
&-list
{
margin
:
0
0
0
var
(
--space-xs
);
list-style
:
none
;
border-left
:
var
(
--border-width-thick
)
solid
var
(
--border-color-base
);
.citizen-toc-link
{
border-top-left-radius
:
0
;
border-bottom-left-radius
:
0
;
}
}
&
-link
{
position
:
relative
;
display
:
flex
;
gap
:
var
(
--space-xs
);
align-items
:
center
;
padding
:
var
(
--space-xs
);
font-weight
:
var
(
--font-weight-medium
);
color
:
var
(
--color-base
);
text-decoration
:
none
;
border-radius
:
var
(
--border-radius-base
);
.citizen-toc
&.citizen-toc-top
{
height
:
0
;
padding-block
:
0
;
opacity
:
0
;
transition-timing-function
:
var
(
--transition-timing-function-ease-out
);
transition-duration
:
var
(
--transition-duration-medium
);
transition-property
:
opacity
,
height
;
}
&
:
has
(
+
.
citizen-toc-toggle
)
{
margin-right
:
var
(
--citizen-toc-toggle-size
);
//
Make
space
for
toggle
}
&
:
hover
{
background-color
:
var
(
--background-color-button-quiet--hover
);
}
&
:
active
{
background-color
:
var
(
--background-color-button-quiet--active
);
}
&
:
hover
,
&
:
focus
{
text-decoration
:
none
;
}
}
&
-toggle
{
position
:
absolute
;
top
:
0
;
right
:
0
;
display
:
none
;
width
:
var
(
--citizen-toc-toggle-size
);
height
:
var
(
--citizen-toc-toggle-size
);
padding
:
0
;
background
:
transparent
;
}
&
-indicator
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
flex-shrink
:
0
;
width
:
var
(
--border-width-thick
);
margin-block
:
var
(
--space-xs
);
margin-left
:
~
'calc( var( --border-width-thick ) * -1 )'
;
}
&
-text
{
display
:
flex
;
gap
:
var
(
--space-xs
);
}
&
-numb
{
display
:
none
;
color
:
var
(
--color-subtle
);
}
&
-summary
{
color
:
var
(
--color-subtle
);
}
&
-list-item
{
position
:
relative
;
&--active
{
>
.citizen-toc-link
{
color
:
var
(
--color-progressive
);
.citizen-toc-indicator
{
background-color
:
var
(
--color-progressive
);
}
}
}
}
}
//
Collapse
ToC
sections
by
default
,
excluding
no-js
.
client-js
.
citizen-toc
{
.citizen-toc-level-1
.citizen-toc-list-item
{
display
:
none
;
}
.
citizen-toc-level-1
.
citizen-toc-list-item--expanded
.
citizen-toc-list-item
{
display
:
block
;
}
.
citizen-toc-toggle
{
--size-icon
:
var
(
--font-size-x-small
);
display
:
grid
;
place-content
:
center
;
cursor
:
pointer
;
border-radius
:
var
(
--border-radius-base
);
.citizen-ui-icon
{
&::before
{
transform
:
rotate3d
(
1
,
0
,
0
,
180
deg
);
transition
:
var
(
--transition-hover
);
transition-property
:
transform
;
}
}
&
:
hover
{
background-color
:
var
(
--background-color-button-quiet--hover
);
}
&
:
active
{
background-color
:
var
(
--background-color-button-quiet--active
);
}
}
.
citizen-toc-level-1
.
citizen-toc-list-item--expanded
.
citizen-toc-toggle
.
citizen-ui-icon
::
before
{
transform
:
none
;
}
}
//
Sticky
header
styles
.
citizen-sticky-header-visible
{
.citizen-toc-top.citizen-toc-link
{
height
:
2
rem
;
//
1rem
text
+
1rem
padding
padding-block
:
var
(
--space-xs
);
opacity
:
1
;
}
}
@
media
(
max-width
:
(
@
max-width-breakpoint-tablet
)
)
{
.
citizen-toc
{
position
:
fixed
;
bottom
:
~
'calc( var( --header-size-block-end ) + max( env( safe-area-inset-bottom ), var( --space-xs ) ) )'
;
left
:
0
;
z-index
:
@
z-index
-
sticky
;
//
Keep
ToC
above
sticky
header
and
page
action,
but
below
site
header
pointer-events
:
none
;
//
HACK
:
Make
background
clickable
&-
card
{
//
Get
consistent
margin
bottom
:
~
'calc( 100% - var( --space-xs ) )'
;
width
:
max-content
;
//
This
is
not
bulletproof
since
it
will
get
covered
by
page
header
//
in
extremely
short
height.
but
it
should
be
good
for
now
max-height
:
~
'calc( var( --header-card-maxheight ) - 8rem )'
;
padding
:
var
(
--space-xs
);
transform-origin
:
var
(
--transform-origin-offset-start
)
var
(
--transform-origin-offset-end
);
}
.
citizen-dropdown
{
&-summary
{
box-sizing
:
border-box
;
display
:
grid
;
place-content
:
center
;
width
:
var
(
--toolbar-size
);
height
:
var
(
--toolbar-size
);
margin
:
var
(
--space-xs
);
pointer-events
:
auto
;
//
HACK
:
Make
button
clickable
background-color
:
var
(
--color-surface-1
);
border
:
1
px
solid
var
(
--border-color-base
);
border-radius
:
var
(
--border-radius-medium
);
box-shadow
:
var
(
--box-shadow-large
);
//
The
hover
state
colors
are
not
great
but
it
will
do
for
now
&:hover
{
background
:
~
'linear-gradient( var( --background-color-button-quiet--hover ), var( --background-color-button-quiet--hover ) ) var( --color-surface-1 )'
;
}
&
:
active
{
background
:
~
'linear-gradient( var( --background-color-button-quiet--active ), var( --background-color-button-quiet--active ) ) var( --color-surface-1 )'
;
}
}
&
-details
[
open
]
{
+
.
citizen-menu__card
{
pointer-events
:
auto
;
//
HACK
:
Make
ToC
clickable
after
ToC
is
expanded
}
>
.
citizen-dropdown-summary
{
background
:
~
'linear-gradient( var( --background-color-button-quiet--active ), var( --background-color-button-quiet--active ) ) var( --color-surface-1 )'
;
}
}
}
}
}
@
media
(
min-width
:
@
min-width-breakpoint-desktop
)
{
.
citizen-toc
{
position
:
-webkit-
sticky
;
position
:
sticky
;
top
:
var
(
--header-offset-block-start
);
max-height
:
~
'calc( 100vh - var( --header-offset-block-start ) )'
;
padding
:
var
(
--space-xs
)
0
;
overflow-y
:
auto
;
overscroll-behavior
:
contain
;
.citizen-menu__card
{
position
:
relative
;
min-width
:
auto
;
margin
:
0
;
content-visibility
:
visible
;
background
:
transparent
;
border
:
0
;
border-radius
:
0
;
box-shadow
:
none
;
transform
:
none
;
.citizen-menu__card-content
{
opacity
:
1
;
}
.
citizen-ui-icon
{
content-visibility
:
visible
;
}
}
//
Hide
button
in
desktop
viewport
.
citizen-dropdown-summary
{
display
:
none
;
}
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 3, 15:37 (15 h, 22 m ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
08/cc/0898fbc60d9c9296da109b712ccd
Default Alt Text
TableOfContents.less (5 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment