UNPKG

@atlassian/aui

Version:

Atlassian User Interface library

282 lines (235 loc) 7.66 kB
@import (reference) './imports/global'; /*! AUI Inline Dialog */ aui-inline-dialog { --aui-inline-dialog-border-width: 0px; --aui-tail-deg: 0deg; --aui-tail-x: 0; --aui-tail-y: 0; --aui-tail-w: @aui-inline-dialog2-arrow-side-length; --aui-tail-bw: calc(var(--aui-inline-dialog-border-width) + @aui-inline-dialog2-arrow-border-width); display: block; position: absolute; z-index: 100; // Handle FOUC &:not([resolved]) { display: none; } &.aui-layer:not([open]) { #aui.transition.fadeOut(); display: block; } &.aui-layer[open] { #aui.transition.fadeIn(); } // content .aui-inline-dialog-contents { #aui-inline-dialog.aui-inline-dialog-style(); margin: var(--aui-tail-y) var(--aui-tail-x); overflow: hidden; & { #aui-inline-dialog.form-interop(); } } // The inline dialog's "tail" is implemented using 2 pseudo-elements. // - `:after` is the faux tail extension of the inline dialog's background colour. // - `:before` adds a faux border around the tail. &:before, &:after { border: var(--aui-tail-w) solid transparent; border-bottom-color: @aui-inline-dialog-bg-color; box-sizing: border-box; content: ""; display: inline-block; height: 0; pointer-events: none; position: absolute; width: 0; transform: rotate(var(--aui-tail-deg)); } &:before { border-bottom-color: @aui-inline-dialog-border-color; } // 'top _' alignment &.aui-alignment-side-top, &.aui-alignment-side-bottom[data-popper-placement*="top"] { --aui-tail-deg: 180deg; --aui-tail-y: var(--aui-tail-w); &:before { top: calc(~"100%" - var(--aui-tail-w)); } &:after { top: calc(~"100%" - var(--aui-tail-w) - var(--aui-tail-bw)); } } // 'bottom _' alignment &.aui-alignment-side-bottom, &.aui-alignment-side-top[data-popper-placement*="bottom"] { --aui-tail-deg: 0deg; --aui-tail-y: var(--aui-tail-w); &:before { top: calc(~"0%" - var(--aui-tail-w)); } &:after { top: calc(~"0%" - var(--aui-tail-w) + var(--aui-tail-bw)); } } // 'left _' alignment &.aui-alignment-side-left, &.aui-alignment-side-right[data-popper-placement*="left"] { --aui-tail-deg: 90deg; --aui-tail-x: var(--aui-tail-w); &:before { left: calc(~"100%" - var(--aui-tail-w)); } &:after { left: calc(~"100%" - var(--aui-tail-w) - var(--aui-tail-bw)); } } // 'right _' alignment &.aui-alignment-side-right, &.aui-alignment-side-left[data-popper-placement*="right"] { --aui-tail-deg: -90deg; --aui-tail-x: var(--aui-tail-w); &:before { left: calc(~"0%" - var(--aui-tail-w)); } &:after { left: calc(~"0%" - var(--aui-tail-w) + var(--aui-tail-bw)); } } // '_ left' alignment &.aui-alignment-snap-left:before, &.aui-alignment-snap-left:after { left: calc(var(--aui-tail-w) + @aui-inline-dialog2-arrow-edge-offset); } // '_ center' alignment &.aui-alignment-snap-center:before, &.aui-alignment-snap-center:after { left: calc(~"50%" - var(--aui-tail-w)); } // '_ right' alignment &.aui-alignment-snap-right:before, &.aui-alignment-snap-right:after { left: calc(~"100%" - ((var(--aui-tail-w) * 3) - @aui-inline-dialog2-arrow-edge-offset)); } // '_ top' alignment &.aui-alignment-snap-top:before, &.aui-alignment-snap-top:after { top: calc(var(--aui-tail-w) + @aui-inline-dialog2-arrow-edge-offset); } // '_ middle' alignment &.aui-alignment-snap-middle:before, &.aui-alignment-snap-middle:after { top: calc(~"50%" - var(--aui-tail-w)); } // '_ bottom' alignment &.aui-alignment-snap-bottom:before, &.aui-alignment-snap-bottom:after { top: calc(~"100%" - (var(--aui-tail-w) * 3) - @aui-inline-dialog2-arrow-edge-offset); } } .aui-inline-dialog { display: none; position: absolute; z-index: 100; .aui-inline-dialog-contents, .contents { #aui-inline-dialog.aui-inline-dialog-style(); overflow: hidden; & { #aui-inline-dialog.form-interop(); } &.aui-inline-dialog-no-shadow { box-shadow: none; } &.aui-inline-dialog-auto-width { width: auto; } } /*Inline Dialog Arrow */ .aui-inline-dialog-arrow, .arrow { position: absolute; height: 16px; /* for SVG positioning */ top: -7px; /* matches #inline-dialog-shim */ width: 16px; /* for SVG positioning */ } .aui-inline-dialog-arrow.aui-css-arrow, .arrow.aui-css-arrow { width: 1px; } .aui-inline-dialog-arrow.aui-css-arrow::after, .arrow.aui-css-arrow::after, .aui-inline-dialog-arrow.aui-css-arrow::before, .arrow.aui-css-arrow::before { border-color: @aui-inline-dialog-border-color transparent; border-style: solid; border-width: 0 8px 8px; content: ""; left: -8px; position: absolute; top: 0; } .aui-inline-dialog-arrow.aui-css-arrow:after, .arrow.aui-css-arrow:after { border-bottom-color: @aui-inline-dialog-bg-color; top: 1px; } .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:after, .arrow.aui-css-arrow.aui-bottom-arrow:after, .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:before, .arrow.aui-css-arrow.aui-bottom-arrow:before { border-width: 8px 8px 0; } .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:after, .arrow.aui-css-arrow.aui-bottom-arrow:after { border-top-color: @aui-inline-dialog-bg-color; top: -1px; } .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow, .arrow.aui-css-arrow.aui-right-arrow { right: -7px; } .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:after, .arrow.aui-css-arrow.aui-left-arrow:after, .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:before, .arrow.aui-css-arrow.aui-left-arrow:before { border-width: 8px 8px 8px 0; border-color: transparent @aui-inline-dialog-border-color; } .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:after, .arrow.aui-css-arrow.aui-left-arrow:after { border-color: transparent @aui-inline-dialog-bg-color transparent transparent; top: 0; right: 0; } .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:after, .arrow.aui-css-arrow.aui-right-arrow:after, .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:before, .arrow.aui-css-arrow.aui-right-arrow:before { border-width: 8px 0 8px 8px; border-color: transparent @aui-inline-dialog-border-color; left: -7px; } .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:after, .arrow.aui-css-arrow.aui-right-arrow:after { border-color: transparent transparent transparent @aui-inline-dialog-bg-color; top: 0; right: 0; left: -8px; } } /* Shim is for lte IE9 - class is added via JS */ .inline-dialog-shim { border: none; display: block; height: 0; left: 0; position: absolute; top: 0; width: 0; z-index: -2; } #inline-dialog-shim { display: none; }