UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

185 lines (157 loc) 3.56 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: ; --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 { align-items: stretch; display: flex; position: relative; width: var(--select-width); --calcite-select-spacing-end: 2rem; } :host([scale=s]) { --calcite-select-font-size: var(--calcite-font-size--2); --calcite-select-spacing: 0.5rem; } :host([scale=m]) { --calcite-select-font-size: var(--calcite-font-size--1); --calcite-select-spacing: 0.75rem; } :host([scale=l]) { --calcite-select-font-size: var(--calcite-font-size-1); --calcite-select-spacing: 1rem; } :host([width=auto]) { --select-width: auto; } :host([width=half]) { --select-width: 50%; } :host([width=full]) { --select-width: 100%; } .select { -webkit-appearance: none; appearance: none; background-color: var(--calcite-ui-foreground-1); border: solid 1px var(--calcite-ui-border-1); border-right: none; border-radius: 0; color: var(--calcite-ui-text-2); cursor: pointer; font-family: inherit; font-size: var(--calcite-select-font-size); margin: 0; padding: var(--calcite-select-spacing); padding-right: var(--calcite-select-spacing-end); width: 100%; outline-offset: 0; outline-color: transparent; transition: outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out; } .select:focus { outline: 2px solid var(--calcite-ui-blue-1); outline-offset: -2px; } .select:hover { background-color: var(--calcite-ui-foreground-2); } :host([dir=rtl]) .select { padding-left: var(--calcite-select-spacing-end); padding-right: var(--calcite-select-spacing); border-right: solid 1px var(--calcite-ui-border-1); border-left: none; } select:disabled { border-color: var(--calcite-ui-border-1); opacity: 1; } :host([disabled]) { pointer-events: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; opacity: var(--calcite-ui-opacity-disabled); } .icon-container { align-items: center; background-color: transparent; border: solid 1px var(--calcite-ui-border-1); border-left: none; color: var(--calcite-ui-text-2); display: flex; padding: 0 var(--calcite-spacing-half); pointer-events: none; position: absolute; right: 0; bottom: 0; top: 0; } :host([dir=rtl]) .icon-container { border-left: solid 1px var(--calcite-ui-border-1); border-right: none; right: unset; left: 0; } .select:focus ~ .icon-container { border-color: transparent; }