UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

250 lines (220 loc) • 6.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); } } :root { --calcite-animation-timing: calc(150ms * var(--calcite-internal-duration-factor)); --calcite-internal-duration-factor: var(--calcite-duration-factor, 1); --calcite-internal-animation-timing-fast: calc(100ms * var(--calcite-internal-duration-factor)); --calcite-internal-animation-timing-medium: calc(200ms * var(--calcite-internal-duration-factor)); --calcite-internal-animation-timing-slow: calc(300ms * var(--calcite-internal-duration-factor)); } .calcite-animate { opacity: 0; animation-fill-mode: both; animation-duration: var(--calcite-animation-timing); } .calcite-animate__in { animation-name: in; } .calcite-animate__in-down { animation-name: in-down; } .calcite-animate__in-up { animation-name: in-up; } .calcite-animate__in-scale { animation-name: in-scale; } /** * Currently only used in Checkbox. */ :root { --calcite-popper-transition: var(--calcite-animation-timing); } :host([hidden]) { display: none; } .icon-position--end, .icon-position--start { /* icon rotation variables */ --calcite-accordion-item-icon-rotation: calc(90deg * -1); --calcite-accordion-item-active-icon-rotation: 0deg; --calcite-accordion-item-icon-rotation-rtl: 90deg; --calcite-accordion-item-active-icon-rotation-rtl: 0deg; } .icon-position--start { --calcite-accordion-item-flex-direction: row-reverse; --calcite-accordion-item-icon-spacing-start: 0; --calcite-accordion-item-icon-spacing-end: var(--calcite-accordion-icon-margin); } .icon-position--end { --calcite-accordion-item-flex-direction: row; --calcite-accordion-item-icon-spacing-start: var(--calcite-accordion-icon-margin); --calcite-accordion-item-icon-spacing-end: 0; } .icon-position--end:not(.icon-type--plus-minus) { --calcite-accordion-item-icon-rotation: 0deg; --calcite-accordion-item-active-icon-rotation: 180deg; --calcite-accordion-item-icon-rotation-rtl: 0deg; --calcite-accordion-item-active-icon-rotation-rtl: calc(180deg * -1); } :host { position: relative; display: flex; flex-direction: column; color: var(--calcite-ui-text-3); -webkit-text-decoration-line: none; text-decoration-line: none; outline: 2px solid transparent; outline-offset: 2px; background-color: var(--calcite-accordion-item-background, var(--calcite-ui-foreground-1)); } :host .accordion-item-header { outline-offset: 0; outline-color: transparent; transition: outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out; } :host(:focus) .accordion-item-header { outline: 2px solid var(--calcite-ui-brand); outline-offset: -2px; } :host([active]) { color: var(--calcite-ui-text-1); } :host([active]) .accordion-item-content { display: block; color: var(--calcite-ui-text-1); } :host([active]) .accordion-item-header { border-bottom-color: transparent; } :host .accordion-item-header { display: flex; cursor: pointer; align-items: center; flex-direction: var(--calcite-accordion-item-flex-direction); } :host .accordion-item-icon { position: relative; margin: 0px; display: inline-flex; color: var(--calcite-ui-text-3); transition-duration: 150ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); margin-inline-end: var(--calcite-accordion-item-icon-spacing-start); margin-inline-start: var(--calcite-accordion-item-icon-spacing-end); } :host .accordion-item-content, :host .accordion-item-header { padding: var(--calcite-accordion-item-padding); border-bottom: 1px solid var(--calcite-accordion-item-border, var(--calcite-ui-border-2)); } :host .accordion-item-header * { display: inline-flex; align-items: center; transition-duration: 150ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } :host .accordion-item-content { display: none; padding-top: 0px; color: var(--calcite-ui-text-3); text-align: initial; } :host .accordion-item-expand-icon { color: var(--calcite-ui-text-3); margin-inline-start: var(--calcite-accordion-item-icon-spacing-start); margin-inline-end: var(--calcite-accordion-item-icon-spacing-end); transform: rotate(var(--calcite-accordion-item-icon-rotation)); } .calcite--rtl .accordion-item-expand-icon { transform: rotate(var(--calcite-accordion-item-icon-rotation-rtl)); } :host([active]) .accordion-item-expand-icon { color: var(--calcite-ui-text-1); transform: rotate(var(--calcite-accordion-item-active-icon-rotation)); } :host([active]) .calcite--rtl .accordion-item-expand-icon { transform: rotate(var(--calcite-accordion-item-active-icon-rotation-rtl)); } :host .accordion-item-header-text { margin-top: 0px; margin-bottom: 0px; flex-grow: 1; flex-direction: column; padding-top: 0px; padding-bottom: 0px; text-align: initial; margin-inline-end: auto; } :host .accordion-item-title, :host .accordion-item-subtitle { display: flex; width: 100%; } :host .accordion-item-title { font-weight: var(--calcite-font-weight-medium); color: var(--calcite-ui-text-2); } :host .accordion-item-subtitle { margin-top: 0.25rem; color: var(--calcite-ui-text-3); } :host(:focus) .accordion-item-title, :host(:hover) .accordion-item-title { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-icon, :host(:hover) .accordion-item-icon { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-expand-icon, :host(:hover) .accordion-item-expand-icon { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-subtitle, :host(:hover) .accordion-item-subtitle { color: var(--calcite-ui-text-2); } :host(:focus) .accordion-item-title, :host(:active) .accordion-item-title, :host([active]) .accordion-item-title { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-icon, :host(:active) .accordion-item-icon, :host([active]) .accordion-item-icon { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-expand-icon, :host(:active) .accordion-item-expand-icon, :host([active]) .accordion-item-expand-icon { color: var(--calcite-ui-text-1); } :host(:focus) .accordion-item-subtitle, :host(:active) .accordion-item-subtitle, :host([active]) .accordion-item-subtitle { color: var(--calcite-ui-text-2); }