// /** // * Copyright © 2016 Magento. All rights reserved. // * See COPYING.txt for license details. // */ .arrow(@pos, @size, @bg-color) { width: 0; height: 0; border: @size solid transparent; ._abbor_el( @pos, @bg-color ); } .arrowbox(@pos, @size, @bg-color, @offset:50%) { @after-margin: @size * -1px; position: relative; background: @bg-color; &:after, &:before { ._abpos(@pos); border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } &:after { border-color: transparent; ._abbor_el(@pos, @bg-color); border-width: @size; ._abpos_el(@pos, @size, @offset); ._abmar_el(@pos, @after-margin); } } .arrowbox(@pos, @size, @bg-color, @border-width, @border-color, @offset:50%) { @before-margin: (@size + round(@border-width * 1.41421356)) * -1px; .arrowbox(@pos, @size, @bg-color, @offset); border: @border-width solid @border-color; &:before { border-color: transparent; ._abbor_el(@pos, @border-color); border-width: @before-margin * -1; ._abpos_el(@pos, @size, @offset); ._abmar_el(@pos, @before-margin); } } ._abpos( @pos ) when ( @pos = left ) { right: 100%; } ._abpos( @pos ) when ( @pos = right ) { left: 100%; } ._abpos( @pos ) when ( @pos = up ) { bottom: 100%; } ._abpos( @pos ) when ( @pos = down ) { top: 100%; } ._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = left ) { top: @size; } ._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = right ) { top: @size; } ._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = up ) { left: @size; } ._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = down ) { left: @size; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = left ) { top: @offset; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = right ) { top: @offset; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = up ) { left: @offset; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = down ) { left: @offset; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = left ) { top: @offset + @size; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = right ) { top: @offset + @size; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = up ) { left: @offset + @size; } ._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = down ) { left: @offset + @size; } ._abbor_el( @pos, @color ) when ( @pos = left ) { border-right-color: @color; } ._abbor_el( @pos, @color ) when ( @pos = right ) { border-left-color: @color; } ._abbor_el( @pos, @color ) when ( @pos = up ) { border-bottom-color: @color; } ._abbor_el( @pos, @color ) when ( @pos = down ) { border-top-color: @color; } ._abmar_el( @pos, @margin ) when ( @pos = left ) { margin-top: @margin; } ._abmar_el( @pos, @margin ) when ( @pos = right ) { margin-top: @margin; } ._abmar_el( @pos, @margin ) when ( @pos = up ) { margin-left: @margin; } ._abmar_el( @pos, @margin ) when ( @pos = down ) { margin-left: @margin; }