UNPKG

formir

Version:

Pure CSS / HTML Framework

237 lines (230 loc) 4.6 kB
/// DO NO NOT change this /// @include-core-component-menu: true; .menu() { display: block; &.@{menu-horizontal} { .display-flex; width: 100%; } &, ul, li { margin: 0; padding: 0; list-style: none; } &.@{menu-inside-absolute}, &.@{menu-inside-fixed} { @{menu-item} { position: relative; } .@{menu-inside} { z-index: 1; } } &.@{menu-inside-absolute} { .@{menu-inside} { position: absolute; left: 0; } } &.@{menu-inside-fixed} { .@{menu-inside} { position: fixed; } } &.@{text-center} { @{menu-item-anchor} { .justify-content(center); } } .@{menu-inside} { list-style: none; display: none; &:hover { @{menu-item-anchor} { .menu-inside-hover(); } } } @{menu-item-anchor} { cursor: pointer; .ellipsis; &:hover { ~ .@{menu-inside} { display: block; @{menu-item-anchor} { .menu-inside-hover(); } } } ~ .@{menu-inside} { &:hover { display: block; } } } @{menu-item} { display: block; &:last-child { border-bottom: 0; } @{menu-item-anchor} { display: block; } } } @{menu} { .menu; &.@{popup} { border: 0 none; } @{menu-item} { &.@{active} { .menu-item-active-block; } &:hover { @{menu-item-anchor} { .menu-item-hover-block; } } } @{menu-item-anchor} { &:focus { .menu-item-anchor-focus-block; } } &.@{menu-horizontal} { .display-flex; &.@{menu-wrap} { .flex-wrap(wrap); } &:not(.@{menu-wrap}) { @{menu-item} { .display-flex; .flex(1 1 auto); min-width: 0; } } @{menu-item-anchor} { &:focus { .menu-item-anchor-focus-block; } } @{menu-item} { @{menu-item-anchor} { .display-flex; .flex(1 1 auto); .align-items(center); min-width: 0; [class^="@{icon}-"], [class*=" @{icon}-"] { .flex(0 0 auto); min-width: 0; } span { .flex(1 1 auto); min-width: 0; .ellipsis; } &:not(.@{button}) { border-top: 0 none; } } + @{menu-item} { @{menu-item-anchor} { &:not(.@{button}) { border-left: @menu-item-anchor-border; } } } } &.@{menu-auto-width} { @{menu-item} { width: auto; .flex(0 0 auto); } } } } @media (min-width: (@mobile-menu-max-width + 1px)) { .@{menu-mobile} { @{menu-item} { @{menu-item-anchor} { cursor: pointer; color: @menu-item-anchor-color; text-decoration: @menu-item-anchor-decoration; &:focus { .menu-item-anchor-focus-inline; } } &.@{active} { .menu-item-active-inline; } &:hover { @{menu-item-anchor} { .menu-item-hover-inline; } } } } } @media (max-width: @mobile-menu-max-width) { .@{menu-mobile} { .menu; .@{button} { border-radius: @mobile-menu-item-button-radius; } &.@{items} { display: block; margin: 0; } @{menu-item} { &.@{active} { .menu-item-active-block; } &:hover { @{menu-item-anchor} { .menu-item-hover-block; } } @{menu-item-anchor} { &:focus { .menu-item-anchor-focus-block; } } } } ul.@{items}.@{menu-mobile} { display: block; margin: 0; li, @{menu-item-anchor} { display: block; width: auto; } .@{has-popup}.@{popup-hoverable}:hover > .@{popup}, .@{has-popup} > input:checked ~ .@{popup} { display: block; width: 100%; max-width: none; } @{menu-item-anchor} { overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap; } } } // Side style & when(@include-core-layout-side = true) { @{side} { @{menu} { &.@{menu-inside-fixed} { width: inherit; .@{menu-inside}, @{menu-item} { width: inherit; } } &.@{menu-inside-absolute} { .@{menu-inside} { right: 0; } } } } }