/** * This file provides the design styles the navigational elements in the sidebar */ #dokuwiki__aside { @icon-size: @font-size-big; @menu-margin: @icon-size + @margin-small * 2; @media @screen_md-lg { margin-left: -1.25rem; } @media @screen_max-md { display: none; } ul { padding-left: 0; } nav { display: flex; flex-direction: column; gap: 0.75rem; &.nav-main { margin-bottom: @nav-margin; } > p { color: var(--color-foreground); &.noissue { color: @ini_text_webframe; * { color: inherit; } } } ul, div.nav { margin-bottom: 0; } li { color: var(--color-foreground); > div { color: @ini_text_webframe; } &.toggler { list-style: none; margin-left: 0; } } li:not([class]), .li { padding: .15em 0; /* + + + + + active + + + + + */ span.curid { font-weight: bold; } } } a, label { &:link, &:visited { opacity: .9; color: var(--color-foreground); } * { color: var(--color-foreground); } } /* + + + the wrapper around the toggle to reserve space + + + */ div.nav { min-height: @icon-size + @margin-small; background-color: var(--color-background); border-radius: 0.5rem; &.themeToggle input { width: 0; height: 0; margin: 0; padding: 0; display: block; opacity: 0; } // the toggle element a, label { border-radius: 0.5rem; background-color: var(--color-shade-1); transition: background-color 150ms; color: var(--color-foreground); font-size: 1.2em; border: solid 0.1em var(--color-shade-1); transition-property: filter, border-color; transition-duration: 200ms; transition-timing-function: ease-out; cursor: pointer; display: flex; align-items: center; width: 100%; opacity: 1; font-weight: normal; margin: 0 0 @very-small-spacing; padding: 0.4rem 0.1rem; text-decoration: none; span { display: inline-block; vertical-align: middle; color: inherit; } span.ico { display: flex; align-items: center; justify-content: center; i[data-icon] { font-size: 1.5rem; } } /* + + + submenu entry is active + + + */ /* + + + toggle: open + + + */ &.is-active, &.is-open { background-color: var(--color-shade-2); border-color: var(--color-shade-4); color: var(--color-foreground); span.ico { &:after { background-color: currentColor; } strong { border-color: currentColor; } svg { path { fill: currentColor; } } } } } &:hover, &:focus-within { position: relative; // always show label, even with collapsed sidebar z-index: 100; a, label { width: 100%; background-color: transparent; border: solid 0.1em var(--color-glow-primary); text-decoration: none; color: var(--color-glow-primary); filter: var(--filter-glow-primary); transition: var(--transition-glow); span.ico { &:after { background-color: currentColor; } strong { border-color: inherit; } svg { path { fill: currentColor; } } } } } span.ico { position: relative; display: table-cell; width: (@menu-margin - .1); min-width: (@menu-margin - .1); height: @icon-size; text-align: center; vertical-align: middle; color: inherit; &::after { @border-height: 1.5rem; content: ''; position: absolute; right: 0; top: 50%; bottom: auto; height: @border-height; width: 1px; background-color: currentColor; margin-top: -(@border-height / 2); // wordbreak too late in IE 10 @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { top: 0; bottom: .5rem; height: 100%; margin: 0; } } // simple fake icon strong { display: inline-block; width: @icon-size * 0.98; height: @icon-size * 0.98; border: 2px solid currentColor; border-top-right-radius: 50%; border-bottom-left-radius: 50%; color: inherit; font-size: @icon-size * 0.5; line-height: @icon-size * 0.9; vertical-align: baseline; text-align: center; margin: @icon-size * 0.05; padding: 0 .05em .05em; } // real icon svg { width: @icon-size; height: @icon-size; path { fill: currentColor; transition: @transition all; } } } span.lbl { display: table-cell; font-size: inherit; padding-left: .5rem; } } /* + + + + + the panel (hidden by default) + + + + + */ div.nav-panel { display: none; margin-top: .5rem; margin-left: @margin-small; ul { margin-bottom: 1rem; ul { margin-bottom: 0; margin-left: 16px; } } ul.toollist li { margin-left: 0; } } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* min-width: 1440px */ @media @screen_min-xlg { #dokuwiki__aside { nav { li:not([class]), .li { font-size: @font-size-head6; * { font-size: inherit; font-weight: inherit; } a { font-size: (@font-size-head6 - .05); } } } } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* max-width: 1440px */ @media @screen_max-xlg { #dokuwiki__aside { div.nav { a { margin-left: 0; } } } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* max-width: 1023px */ @media @screen_max-md { #dokuwiki__aside { div.nav { a { margin-left: 0; } } } body.show-mobile-sidebar { #dokuwiki__aside { display: block !important; position: absolute; left: 1.25rem; // left margin of content container box-shadow: @box-shadow-right-bottom; min-width: 45%; max-width: 90%; height: auto; background: var(--color-background); > nav { position: relative; &:first-child { margin-top: 1.2rem; } a, label { font-size: @font-size-small; } } a.nav { border-radius: 0; border-right-width: 0; border-left-width: 0; } div.nav-panel, a.nav { margin-top: 0; padding-right: .8em; } } } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* max-width: 768px */ @media @screen_max-xs { body.show-mobile-sidebar { .page-wrapper > .tools { top: 2.5rem; } #dokuwiki__aside { left: 1.25rem; right: 1.25rem; width: auto; max-width: 100%; margin-top: -1rem; } } } /* + + + + + + + + + + + + + + + + + + + + + + + + + + */ /* max-width: 480px */ @media @screen_max-xxs { body.show-mobile-sidebar { #dokuwiki__aside { left: 4px; right: 4px; > nav { a { font-size: @font-size-default; } } } } }