UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

169 lines (139 loc) 2.73 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. */ :root { --calcite-popper-transition: 150ms ease-in-out; } :host([hidden]) { display: none; } :host([scale=s]) { --calcite-input-message-spacing-value: 4px; } :host([scale=s]) .calcite-input-message-icon { margin-top: -2px; } :host([scale=m]) { --calcite-input-message-spacing-value: 8px; } :host([scale=l]) { --calcite-input-message-spacing-value: 12px; } :host { display: flex; align-items: center; width: 100%; box-sizing: border-box; color: var(--calcite-ui-text-2); font-weight: 500; line-height: 1.25; transition: 150ms ease-in-out; visibility: hidden; opacity: 0; height: 0; pointer-events: none; } :host([active]) { opacity: 1; height: auto; visibility: visible; margin-top: var(--calcite-input-message-spacing-value); } :host([type=floating]) { transform: translate3d(0, -1.5rem, 0); background-color: var(--calcite-input-message-floating-background); position: absolute; width: 100%; top: 100%; left: 0; right: 0; height: auto; margin-top: -1.5rem; border-radius: 0.125rem; box-shadow: 0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08); padding: var(--calcite-input-message-spacing-value); z-index: 101; } :host([type=floating][active]) { transform: translate3d(0, 0, 0); } .calcite-input-message-icon { display: inline-flex; flex-shrink: 0; pointer-events: none; transition: 150ms ease-in-out; margin: -1px 0.75rem 0 0; transition: 150ms ease-in-out; } .calcite-input-message-icon.calcite--rtl { margin: -1px 0 0 0.75rem; } :host([status=invalid]) .calcite-input-message-icon { color: var(--calcite-ui-danger); } :host([status=valid]) .calcite-input-message-icon { color: var(--calcite-ui-success); } :host([status=idle]) .calcite-input-message-icon { color: var(--calcite-ui-brand); } :host([type=floating][active]) { animation: floatingMessagePulse 0.5s ease-in-out; animation-iteration-count: 1; } @keyframes floatingMessagePulse { 0% { top: 100%; } 25% { top: 110%; } 50% { top: 100%; } 75% { top: 105%; } 100% { top: 100%; } }