UNPKG

lucid-ui

Version:

A UI component library from AppNexus.

208 lines (165 loc) 4.38 kB
@import (reference) '../../styles/variables.less'; @import (reference) '../../styles/mixins.less'; @VerticalListMenu-size-itemHeight: 29px; @VerticalListMenu-size-childSpacer: 8px; @VerticalListMenu-size-childPadding: 12px; @VerticalListMenu-step: 12; .@{prefix}-VerticalListMenu { font-weight: @font-weight-medium; & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 1); } & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 2); } & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 3); } & & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 4); } & & & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 5); } & & & & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 6); } & & & & & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 7); } & & & & & & & & & .@{prefix}-VerticalListMenu-Item-content { padding-left: @VerticalListMenu-size-childPadding + (@VerticalListMenu-step * 8); } display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; width: 100%; margin: 0; padding: 0; list-style: none; &-Item { &-content { &-body { display: flex; align-items: center; border-bottom: 1px solid @color-neutral-4; width: 100%; } cursor: pointer; display: flex; align-items: center; color: @color-darkGray; font-size: 12px; line-height: 16px; &-is-selected { .@{prefix}-VerticalListMenu-Item-content-text { font-weight: @font-weight-semiBold; } } &-text { width: 100%; padding: @VerticalListMenu-size-childSpacer 0; padding-left: 15px; } &-is-expanded, &&-is-expanded { position: relative; & ::after { z-index: 2; position: absolute; left: 0; top: 0; height: 100%; width: @size-XXS; background-color: @color-gray; content: ''; transform-origin: 0 0; transition: transform @timing-animation-hover; } } &&-is-selected, &&-is-selected:hover, &&-is-actionable:hover, &&-is-actionable:focus { position: relative; & ::after { z-index: 2; position: absolute; left: 0; top: 0; height: 100%; width: @size-XXS; background-color: @color-primary; content: ''; transform-origin: 0 0; transition: transform @timing-animation-hover; } } } &-expander { align-self: flex-start; display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: 20px; height: 20px; margin: 6px; .@{prefix}-ChevronIcon { stroke: @color-transparent-gray-35; } &:hover, &:focus { .box-sizing(); background-color: @color-neutral-3; outline: none; .@{prefix}-ChevronIcon { stroke: @color-primary; } } } & .@{prefix}-Collapsible-content { & .@{prefix}-VerticalListMenu-Item-content.@{prefix}-VerticalListMenu-Item-content-is-not-selected { position: relative; & ::after { z-index: -1; position: absolute; left: 0; top: 0; height: 100%; width: @size-XXS; background-color: @color-gray; content: ''; transform-origin: 0 0; transition: transform @timing-animation-hover; } &:hover { & ::after { background-color: @color-primary; } } } } // Any time we have a VerticalListMenu below a VerticalListMenu-Item .@{prefix}-VerticalListMenu { .@{prefix}-VerticalListMenu-Item-content { font-weight: @font-weight-medium; &::before { align-self: flex-start; flex-shrink: 0; display: inline-block; width: @VerticalListMenu-size-childSpacer; color: @color-gray; margin: @VerticalListMenu-size-childSpacer; } &:hover, &-is-selected { &::before { color: @color-darkGray; } } } } } }