wikijs-fork/client/themes/default/scss/app.scss

855 lines
18 KiB
SCSS
Raw Normal View History

/* THEME SPECIFIC STYLES */
.v-content .contents {
color: mc('grey', '800');
2019-07-29 04:50:03 +00:00
padding: .5rem 0 50px;
2019-05-21 20:45:27 +00:00
position: relative;
> div > *:first-child {
margin-top: 0;
}
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
color: mc('grey', '300');
2019-09-02 19:33:40 +00:00
}
// ---------------------------------
// LINKS
// ---------------------------------
a {
color: mc('blue', '700');
&.is-internal-link.is-invalid-page {
color: mc('red', '700');
@at-root .theme--dark & {
color: mc('red', '200');
}
}
2018-12-30 03:12:52 +00:00
2019-09-02 19:33:40 +00:00
&.is-external-link {
padding-right: 3px;
&::after {
2019-09-08 16:01:17 +00:00
font-family: 'Material Design Icons', sans-serif;
2019-09-02 19:33:40 +00:00
font-size: 24px/1;
padding-left: 3px;
display: inline-block;
2020-03-27 22:51:51 +00:00
content: '\F03CC';
2019-09-02 19:33:40 +00:00
color: mc('grey', '500');
text-decoration: none;
}
}
@at-root .theme--dark & {
color: mc('blue', '200');
2018-12-30 03:12:52 +00:00
}
2018-12-02 04:03:14 +00:00
}
2018-11-24 02:10:24 +00:00
// ---------------------------------
// HEADERS
// ---------------------------------
2018-09-17 04:36:44 +00:00
h1, h2, h3, h4, h5, h6 {
position: relative;
&:first-child {
padding-top: 0;
}
2018-09-17 04:36:44 +00:00
&:hover {
.toc-anchor {
display: block;
}
}
.toc-anchor {
display: none;
position: absolute;
right: 1rem;
bottom: .5rem;
font-size: 1.25rem;
text-decoration: none;
color: mc('grey', '500');
}
& + h2, & + h3, & + h4, & + h5, & + h6 {
margin-top: 8px;
}
2018-09-17 04:36:44 +00:00
}
h1 {
2019-07-29 04:50:03 +00:00
padding: 0;
color: mc('blue', '800');
margin-top: 2rem;
position: relative;
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
2019-08-05 03:53:21 +00:00
color: mc('grey', '300');
2018-12-02 04:03:14 +00:00
}
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(to right, mc('theme', 'primary'), rgba(mc('theme', 'primary'), 0));
2019-07-29 04:50:03 +00:00
border-radius: 3px;
2018-12-30 03:12:52 +00:00
@at-root .theme--dark & {
2019-08-05 03:53:21 +00:00
background: linear-gradient(to right, mc('blue', '300') 0%, mc('blue', '500') 10%, rgba(mc('blue', '900'), 0) 100%);
2018-12-30 03:12:52 +00:00
}
@at-root .is-rtl & {
background: linear-gradient(to left, mc('theme', 'primary'), rgba(mc('theme', 'primary'), 0));
}
@at-root .theme--dark.is-rtl & {
background: linear-gradient(to left, mc('grey', '600'), rgba(mc('grey', '600'), 0));
}
}
}
h2 {
2019-07-29 04:50:03 +00:00
margin: 1rem 0 0 0;
color: mc('grey', '800');
position: relative;
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
color: mc('grey', '400');
2018-12-02 04:03:14 +00:00
}
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(to right, mc('grey', '700'), rgba(mc('grey', '700'), 0));
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
background: linear-gradient(to right, mc('grey', '300'), rgba(mc('grey', '700'), 0));
}
2018-09-16 04:35:03 +00:00
@at-root .is-rtl & {
background: linear-gradient(to left, mc('grey', '700'), rgba(mc('grey', '700'), 0));
}
@at-root .theme--dark.is-rtl & {
background: linear-gradient(to left, mc('grey', '300'), rgba(mc('grey', '700'), 0));
}
2018-09-16 04:35:03 +00:00
}
}
h3 {
2019-08-17 22:29:58 +00:00
margin: 8px 0 0 0;
2018-09-16 04:35:03 +00:00
color: mc('grey', '700');
position: relative;
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
color: mc('grey', '600');
}
2018-09-16 04:35:03 +00:00
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(to right, mc('grey', '500'), rgba(mc('grey', '500'), 0) 90%);
}
}
h4, h5, h6 {
font-size: 1rem;
2019-08-17 22:29:58 +00:00
margin: 8px 0 0 0;
color: mc('grey', '700');
position: relative;
@at-root .theme--dark & {
color: mc('grey', '600');
}
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 1px;
background: linear-gradient(to right, mc('grey', '500'), rgba(mc('grey', '500'), 0) 70%);
}
}
h5 {
&::after {
background: linear-gradient(to right, mc('grey', '500'), rgba(mc('grey', '500'), 0) 50%);
}
}
h6 {
&::after {
background: linear-gradient(to right, mc('grey', '500'), rgba(mc('grey', '500'), 0) 30%);
2018-09-16 04:35:03 +00:00
}
}
2018-11-24 02:10:24 +00:00
// ---------------------------------
// PARAGRAPHS
// ---------------------------------
p {
padding: 1rem 0 0 0;
margin: 0;
@at-root .contents > div > p:first-child {
padding-top: 0;
}
2019-07-29 04:50:03 +00:00
@at-root .v-application & {
margin-bottom: 0;
}
}
2018-09-16 04:35:03 +00:00
2018-11-25 06:28:20 +00:00
hr {
2019-07-29 04:50:03 +00:00
margin: 1rem 0;
2018-11-25 06:28:20 +00:00
height: 1px;
border: none;
background-color: mc('grey', '400');
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
background-color: mc('grey', '700');
}
2018-11-25 06:28:20 +00:00
}
2019-01-18 20:58:39 +00:00
.emoji {
height: 1.25em;
margin: 0 1px -4px;
}
2018-11-24 02:10:24 +00:00
blockquote {
padding: 0 1rem 1rem 1rem;
border-left: 5px solid mc('blue', '500');
2018-11-24 02:10:24 +00:00
border-radius: .5rem;
2019-07-29 04:50:03 +00:00
margin: 1rem 0;
2018-11-24 02:10:24 +00:00
2019-01-19 21:57:25 +00:00
> p:first-child .emoji {
margin-right: .5rem;
}
2019-06-02 21:29:50 +00:00
&.valign-center > p {
display: flex;
align-items: center;
}
2018-11-24 02:10:24 +00:00
&.is-info {
background-color: mc('blue', '50');
2019-10-13 23:59:50 +00:00
border-color: mc('blue', '300');
color: mc('blue', '900');
2018-11-24 02:10:24 +00:00
code {
background-color: mc('blue', '50');
color: mc('blue', '800');
}
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
2019-10-13 23:59:50 +00:00
background-color: mc('blue', '900');
color: mc('blue', '50');
2018-12-02 04:03:14 +00:00
border-color: mc('blue', '500');
}
2018-11-24 02:10:24 +00:00
}
&.is-warning {
background-color: mc('orange', '50');
2019-10-13 23:59:50 +00:00
border-color: mc('orange', '300');
color: darken(mc('orange', '900'), 10%);
2018-11-24 02:10:24 +00:00
code {
background-color: mc('orange', '50');
color: mc('orange', '800');
}
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
2019-10-13 23:59:50 +00:00
background-color: darken(mc('orange', '900'), 5%);
color: mc('orange', '100');
2018-12-02 04:03:14 +00:00
border-color: mc('orange', '500');
box-shadow: 0 0 2px 0 mc('grey', '900');
}
2018-11-24 02:10:24 +00:00
}
&.is-danger {
background-color: mc('red', '50');
2019-10-13 23:59:50 +00:00
border-color: mc('red', '300');
color: mc('red', '900');
2018-11-24 02:10:24 +00:00
code {
background-color: mc('red', '50');
color: mc('red', '800');
}
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
2019-10-13 23:59:50 +00:00
background-color: mc('red', '900');
color: mc('red', '100');
2018-12-02 04:03:14 +00:00
border-color: mc('red', '500');
}
2018-11-24 02:10:24 +00:00
}
&.is-success {
background-color: mc('green', '50');
2019-10-13 23:59:50 +00:00
border-color: mc('green', '300');
color: mc('green', '900');
2018-11-24 02:10:24 +00:00
code {
background-color: mc('green', '50');
color: mc('green', '800');
}
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
2019-10-13 23:59:50 +00:00
background-color: mc('green', '900');
color: mc('green', '50');
2018-12-02 04:03:14 +00:00
border-color: mc('green', '500');
}
2018-11-24 02:10:24 +00:00
}
}
2019-01-18 20:58:39 +00:00
// ---------------------------------
// LISTS
// ---------------------------------
ol, ul {
padding-top: 1rem;
width: 100%;
2019-01-18 20:58:39 +00:00
@at-root .is-rtl & {
padding-left: 0;
padding-right: 1rem;
}
2019-10-26 20:43:25 +00:00
li > ul, li > ol {
padding-top: .5rem;
2019-10-26 20:43:25 +00:00
padding-left: 1rem;
@at-root .is-rtl & {
padding-left: 0;
padding-right: 1rem;
}
2019-10-26 20:43:25 +00:00
}
2019-01-18 20:58:39 +00:00
li + li {
margin-top: .5rem;
}
&.links-list {
padding-left: 0;
list-style-type: none;
@at-root .is-rtl & {
padding-right: 0;
}
li {
background-color: mc('grey', '50');
background-image: linear-gradient(to bottom, #FFF, mc('grey', '50'));
border-right: 1px solid mc('grey', '200');
border-bottom: 1px solid mc('grey', '200');
border-left: 5px solid mc('grey', '300');
box-shadow: 0 3px 8px 0 rgba(116, 129, 141, 0.1);
padding: 1rem;
border-radius: 5px;
font-weight: 500;
@at-root .is-rtl & {
border-left-width: 1px;
border-right-width: 5px;
}
&:hover {
background-image: linear-gradient(to bottom, #FFF, lighten(mc('blue', '50'), 4%));
border-left-color: mc('blue', '500');
cursor: pointer;
@at-root .is-rtl & {
border-left-color: mc('grey', '200');
border-right-width: mc('blue', '500');
}
}
&::before {
content: '';
display: none;
}
> a {
display: block;
text-decoration: none;
margin: -1rem;
padding: 1rem;
2019-06-02 21:29:50 +00:00
> em {
font-weight: 400;
font-style: normal;
color: mc('grey', '700');
display: inline-block;
padding-left: .5rem;
border-left: 1px solid mc('grey', '300');
margin-left: .5rem;
&.is-block {
display: block;
padding-left: 0;
margin-left: 0;
border-left: none;
}
}
}
> em {
font-weight: 400;
font-style: normal;
}
@at-root .theme--dark & {
background-color: mc('grey', '50');
background-image: linear-gradient(to bottom, lighten(mc('grey', '900'), 5%), mc('grey', '900'));
border-right: 1px solid mc('grey', '900');
border-bottom: 1px solid mc('grey', '900');
border-left: 5px solid mc('grey', '700');
box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.1);
@at-root .theme--dark.is-rtl & {
border-left-width: 1px;
border-right-width: 5px;
}
&:hover {
background-image: linear-gradient(to bottom, lighten(mc('grey', '900'), 2%), darken(mc('grey', '900'), 3%));
border-left-color: mc('indigo', '300');
cursor: pointer;
@at-root .theme--dark.is-rtl & {
border-left-color: mc('grey', '900');
border-right-width: mc('indigo', '300');
}
}
}
}
}
&.grid-list {
margin: 1rem 0 0 0;
background-color: #FFF;
border: 1px solid mc('grey', '200');
padding: 1px;
display: inline-block;
list-style-type: none;
@at-root .theme--dark & {
background-color: #000;
border: 1px solid mc('grey', '800');
}
li {
background-color: mc('grey', '50');
padding: .6rem 1rem;
display: block;
&:nth-child(odd) {
background-color: mc('grey', '100');
}
& + li {
margin-top: 0;
}
&::before {
2019-05-21 20:45:27 +00:00
content: '';
display: none;
}
@at-root .theme--dark & {
background-color: mc('grey', '900');
&:nth-child(odd) {
background-color: darken(mc('grey', '900'), 5%);
}
}
}
}
2019-01-18 20:58:39 +00:00
}
ul {
list-style: none;
> li::before {
position: absolute;
left: -1.1rem;
content: '\25b8';
color: mc('grey', '600');
width: 1.35rem;
2020-02-01 03:34:38 +00:00
@at-root .is-rtl & {
content: '\25C3';
}
}
}
ul, ol {
> li {
position: relative;
> p {
display:inline-block;
vertical-align:top;
padding-top:0;
}
}
2019-01-18 20:58:39 +00:00
}
2018-11-24 02:10:24 +00:00
// ---------------------------------
// CODE
// ---------------------------------
2018-09-16 04:35:03 +00:00
code {
2019-09-27 15:47:45 +00:00
background-color: mc('indigo', '50');
padding: 0 5px;
2019-09-27 15:47:45 +00:00
color: mc('indigo', '800');
font-family: 'Roboto Mono', monospace;
2019-09-27 15:47:45 +00:00
font-weight: normal;
font-size: 1rem;
box-shadow: none;
2018-09-16 04:35:03 +00:00
&::before, &::after {
display: none;
}
@at-root .theme--dark & {
background-color: darken(mc('grey', '900'), 5%);
color: mc('indigo', '100');
}
2018-09-16 04:35:03 +00:00
}
2018-09-17 02:30:24 +00:00
.prismjs{
border: none;
border-radius: 5px;
box-shadow: initial;
background-color: mc('grey', '900');
padding: 1rem 1rem 1rem 3rem;
margin: 1rem 0;
2018-09-17 02:30:24 +00:00
@at-root .theme--dark & {
background-color: darken(mc('grey', '900'), 5%);
}
2018-09-17 02:30:24 +00:00
> code {
background-color: transparent;
padding: 0;
color: #FFF;
2018-09-17 02:30:24 +00:00
box-shadow: initial;
display: block;
font-size: .85rem;
font-family: 'Roboto Mono', monospace;
2018-09-17 02:30:24 +00:00
&:after, &:before {
content: initial;
letter-spacing: initial;
}
}
2018-09-16 04:35:03 +00:00
}
2018-11-24 02:10:24 +00:00
// ---------------------------------
// TASK LISTS
// ---------------------------------
.task-list-item {
position: relative;
2018-11-25 06:28:20 +00:00
list-style-type: none;
2018-11-24 02:10:24 +00:00
&-checkbox[disabled] {
display: none;
& + label {
2018-11-25 06:28:20 +00:00
padding-left: 1.5rem;
2018-11-24 02:10:24 +00:00
}
& + label::before {
position: absolute;
2018-11-25 06:28:20 +00:00
left: 0;
2018-11-24 02:10:24 +00:00
top: 2px;
content: ' ';
display: block;
width: 1.1rem;
height: 1.1rem;
background-color: #FFF;
border: 1px solid mc('grey', '400');
border-radius: 2px;
font-weight: bold;
font-size: .8rem;
line-height: 1rem;
text-align: center;
2018-12-02 04:03:14 +00:00
@at-root .theme--dark & {
background-color: mc('grey', '900');
border-color: mc('grey', '700');
}
2018-11-24 02:10:24 +00:00
}
&[checked] + label::before {
content: '';
}
}
2018-11-25 06:28:20 +00:00
.contains-task-list {
padding: .5rem 0 0 1.5rem;
}
2018-11-24 02:10:24 +00:00
}
2019-01-19 21:57:25 +00:00
// ---------------------------------
// TABLES
// ---------------------------------
table {
margin: .5rem 1.75rem;
border-spacing: 0;
th {
padding: .75rem;
border-bottom: 2px solid mc('grey', '500');
color: mc('grey', '600');
}
td {
padding: .75rem;
}
tr {
td {
border-bottom: 1px solid mc('grey', '200');
}
}
}
2019-05-21 20:45:27 +00:00
// ---------------------------------
// IMAGES
// ---------------------------------
img {
2019-05-24 18:01:08 +00:00
max-width: 100%;
2019-05-21 20:45:27 +00:00
&.align-left {
float: left;
margin: 0 1rem 1rem 0;
}
&.align-right {
float: right;
margin: 0 0 1rem 1rem;
z-index: 1;
position: relative;
2019-05-21 20:45:27 +00:00
}
&.align-center {
display: block;
max-width: 100%;
margin: auto;
}
&.align-abstopright {
position: absolute;
2019-08-04 02:51:29 +00:00
top: -90px;
2019-05-21 20:45:27 +00:00
right: 1rem;
2019-08-04 02:51:29 +00:00
height: calc(90px - 32px);
2019-06-02 21:29:50 +00:00
width: auto;
2020-02-01 03:34:38 +00:00
@at-root .is-rtl & {
left: 1rem;
right: initial;
}
2019-05-21 20:45:27 +00:00
}
2019-05-22 01:03:40 +00:00
&.decor-shadow {
box-shadow: 0 3px 8px 0 rgba(116, 129, 141, 0.1);
}
&.decor-outline {
border: 1px solid mc('grey', '400');
}
2019-09-27 17:43:14 +00:00
&.uml-diagram {
margin: 1rem 0;
2019-09-27 17:43:14 +00:00
}
2019-05-21 20:45:27 +00:00
}
2019-09-08 16:01:17 +00:00
figure.image {
margin: 1rem 0 0 0;
2019-09-08 16:01:17 +00:00
img {
margin: 0 auto;
}
figcaption {
padding: 4px 1rem;
text-align: center;
font-size: 12px;
color: mc('grey', '700');
background-color: mc('grey', '100');
@at-root .theme--dark & {
color: mc('grey', '400');
background-color: mc('grey', '800');
}
}
}
2019-07-15 03:21:39 +00:00
// ---------------------------------
// DETAILS
// ---------------------------------
details {
background-color: mc('grey', '50');
margin: 1rem 2rem;
border: 1px solid mc('grey', '300');
border-radius: 7px;
> p {
padding-left: 0;
}
summary {
border-radius: 7px;
background-color: mc('grey', '50');
cursor: pointer;
height: 40px;
display: flex;
align-items: center;
padding: 0 1rem;
transition: background-color .4s ease;
&:focus {
outline: none;
background-color: mc('grey', '100');
}
}
&[open] {
padding: 1rem;
summary {
background-color: mc('grey', '100');
border-bottom: 1px solid mc('grey', '300');
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
margin: -1rem -1rem 1rem -1rem;
}
}
2019-07-21 02:44:41 +00:00
@at-root .theme--dark & {
background-color: mc('grey', '900');
border-color: mc('grey', '700');
summary {
background-color: mc('grey', '900');
border-color: mc('grey', '700');
}
&[open] summary {
background-color: lighten(mc('grey', '900'), 5%);
}
}
2019-07-15 03:21:39 +00:00
}
// ---------------------------------
// HIGHLIGHTING
// ---------------------------------
mark {
&.pen-red {
color: mc('red', '500');
background-color: initial;
}
&.pen-green {
color: mc('green', '500');
background-color: initial;
}
&.marker-blue {
background-color: mc('blue', '300');
}
&.marker-yellow {
background-color: mc('yellow', '300');
}
&.marker-pink {
background-color: mc('pink', '300');
}
&.marker-green {
background-color: mc('green', '300');
}
}
}
2019-07-24 01:38:42 +00:00
// ---------------
// RTL FIXES
// Vuetify GH Issue: https://github.com/vuetifyjs/vuetify/issues/6317
// ---------------
.is-rtl {
.page-col-content.is-page-header {
@each $size, $width in $grid-breakpoints {
@media (min-width: $width) {
@for $n from 0 through 12 {
&.offset-#{$size}-#{$n} {
margin-left: 0;
margin-right: ($n / 12 * 100) * 1%;
}
}
}
}
}
}
// ---------------
2019-07-24 01:38:42 +00:00
// PRINT OVERRIDES
// ---------------
@media print {
.nav-header,
.v-navigation-drawer,
.v-footer,
2019-08-25 18:23:56 +00:00
.v-btn--fab,
.page-col-sd,
.v-tooltip__content
2019-07-24 01:38:42 +00:00
{
2019-08-25 18:23:56 +00:00
display: none !important;
2019-07-24 01:38:42 +00:00
}
.page-col-content {
flex-basis: 100% !important;
flex-grow: 1 !important;
max-width: 100% !important;
2019-08-25 18:23:56 +00:00
margin-left: 0 !important;
2019-07-24 01:38:42 +00:00
> .v-toolbar {
border: 1px solid mc('grey', '300') !important;
border-radius: 7px !important;
& + .v-divider {
display: none !important;
}
}
}
.v-content {
padding: 0 !important;
2019-08-25 18:23:56 +00:00
font-size: 14px;
background-color: #FFF;
2019-07-24 01:38:42 +00:00
}
.v-content .contents {
color: #000;
background-color: #FFF;
@at-root .theme--dark & {
color: #000;
}
2019-09-27 15:47:45 +00:00
.prismjs{
box-shadow: none;
background-color: #FFF;
2019-07-24 01:38:42 +00:00
@at-root .theme--dark & {
background-color: #FFF;
}
2019-09-27 15:47:45 +00:00
> code {
color: #000;
box-shadow: none;
text-shadow: none;
}
}
}
2019-07-24 01:38:42 +00:00
}