UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

227 lines (188 loc) • 4.42 kB
/* mixins & extensions */ @keyframes in { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes in-down { 0% { opacity: 0; transform: translate3D(0, -5px, 0); } 100% { opacity: 1; transform: translate3D(0, 0, 0); } } @keyframes in-up { 0% { opacity: 0; transform: translate3D(0, 5px, 0); } 100% { opacity: 1; transform: translate3D(0, 0, 0); } } @keyframes in-scale { 0% { opacity: 0; transform: scale3D(0.95, 0.95, 1); } 100% { opacity: 1; transform: scale3D(1, 1, 1); } } /** * Currently only used in Checkbox. */ :host { /* Component spacing variables */ --calcite-icon-size: 1rem; --calcite-spacing-eighth: 0.125rem; --calcite-spacing-quarter: 0.25rem; --calcite-spacing-half: 0.5rem; --calcite-spacing-three-quarters: 0.75rem; --calcite-spacing: 1rem; --calcite-spacing-plus-quarter: 1.25rem; --calcite-spacing-plus-half: 1.5rem; --calcite-spacing-double: 2rem; --calcite-menu-min-width: 10rem; --calcite-header-min-height: 3rem; --calcite-footer-min-height: 3rem; } :root { --calcite-popper-transition: 150ms ease-in-out; } :host([hidden]) { display: none; } :host { display: inline-block; vertical-align: top; width: 100%; position: relative; overflow: visible; box-shadow: none; } :host .menu-container .calcite-popper-anim { position: relative; z-index: 1; transition: var(--calcite-popper-transition); visibility: hidden; transition-property: transform, visibility, opacity; opacity: 0; box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.16); border-radius: 0.25rem; } :host .menu-container[data-popper-placement^=bottom] .calcite-popper-anim { transform: translateY(-5px); } :host .menu-container[data-popper-placement^=top] .calcite-popper-anim { transform: translateY(5px); } :host .menu-container[data-popper-placement^=left] .calcite-popper-anim { transform: translateX(5px); } :host .menu-container[data-popper-placement^=right] .calcite-popper-anim { transform: translateX(-5px); } :host .menu-container[data-popper-placement] .calcite-popper-anim--active { opacity: 1; visibility: visible; transform: translate(0); } .calendar-picker-wrapper { box-shadow: none; position: static; transform: translate3d(0, 0, 0); width: 100%; line-height: 0; } .input-wrapper { position: relative; } :host([range]) .input-container { display: flex; align-items: center; } :host([range]) .input-wrapper { flex: 1 1 auto; } :host([range]) .horizontal-arrow-container { background-color: var(--calcite-ui-background); padding: 0 var(--calcite-spacing-quarter); border: 1px solid var(--calcite-ui-border-1); border-left: none; border-right: none; height: 42px; display: flex; align-items: center; flex: 0 0 auto; } :host([range][layout=vertical]) .input-wrapper { width: 100%; } :host([range][layout=vertical]) .input-container { flex-direction: column; align-items: start; } :host([range][layout=vertical]) .calendar-picker-wrapper--end { transform: translate3d(0, 0, 0); } :host([range][layout=vertical]) .vertical-arrow-container { position: absolute; left: 0; top: 36px; z-index: 1; background-color: var(--calcite-ui-foreground-1); padding-left: 0.625rem; padding-right: 0.625rem; margin-left: 1px; margin-right: 1px; } :host([scale=s][range]:not([layout=vertical])) .calendar-picker-wrapper { width: 216px; } :host([scale=s][range]:not([layout=vertical])) .horizontal-arrow-container { height: 30px; } :host([scale=m][range]:not([layout=vertical])) .calendar-picker-wrapper { width: 286px; } :host([scale=l][range]:not([layout=vertical])) .calendar-picker-wrapper { width: 398px; } :host([scale=l][range]:not([layout=vertical])) .horizontal-arrow-container { height: 54px; } .menu-container { display: block; position: absolute; z-index: 900; transform: scale(0); visibility: hidden; pointer-events: none; } :host([active]) .menu-container { pointer-events: initial; visibility: visible; } .input .calcite-input-wrapper { margin-top: 0; } :host([range][layout=vertical][scale=s]) .vertical-arrow-container { top: 24px; } :host([range][layout=vertical][scale=l]) .vertical-arrow-container { top: 50px; padding-left: 0.875rem; padding-right: 0.875rem; } :host([range][layout=vertical][active]) .vertical-arrow-container { display: none; }