UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

281 lines (234 loc) • 6.76 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; } .icon-position--start { --calcite-accordion-item-flex-direction: row-reverse; --calcite-accordion-item-icon-rotation: 90deg; --calcite-accordion-item-active-icon-rotation: 180deg; --calcite-accordion-item-icon-rotation-rtl: -90deg; --calcite-accordion-item-active-icon-rotation-rtl: -180deg; --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-rotation: -90deg; --calcite-accordion-item-active-icon-rotation: 0; --calcite-accordion-item-icon-rotation-rtl: 90deg; --calcite-accordion-item-active-icon-rotation-rtl: 0; --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: 0; --calcite-accordion-item-active-icon-rotation: 180deg; --calcite-accordion-item-icon-rotation-rtl: 0; --calcite-accordion-item-active-icon-rotation-rtl: -180deg; } :host { --calcite-accordion-item-background: var(--calcite-ui-foreground-1); } :host-context([appearance=minimal]) { --calcite-accordion-item-padding: var(--calcite-accordion-item-spacing-unit) 0; } :host-context([appearance=transparent]) { --calcite-accordion-item-border: transparent; --calcite-accordion-item-background: transparent; } :host { display: flex; flex-direction: column; text-decoration: none; outline: 2px solid transparent; outline-offset: 2px; position: relative; color: var(--calcite-ui-text-3); background-color: var(--calcite-accordion-item-background); --calcite-accordion-item-border: var(--calcite-ui-border-2); } :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; align-items: center; cursor: pointer; flex-direction: var(--calcite-accordion-item-flex-direction); } :host .accordion-item-icon { display: inline-flex; position: relative; margin: 0; color: var(--calcite-ui-text-3); transition-duration: 150ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); margin-right: var(--calcite-accordion-item-icon-spacing-start); margin-left: var(--calcite-accordion-item-icon-spacing-end); } .calcite--rtl .accordion-item-icon { margin-left: var(--calcite-accordion-item-icon-spacing-start); margin-right: 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); } :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; color: var(--calcite-ui-text-3); padding-top: 0; text-align: initial; } :host .accordion-item-expand-icon { color: var(--calcite-ui-text-3); margin-left: var(--calcite-accordion-item-icon-spacing-start); margin-right: var(--calcite-accordion-item-icon-spacing-end); transform: rotate(var(--calcite-accordion-item-icon-rotation)); } .calcite--rtl .accordion-item-expand-icon { margin-left: var(--calcite-accordion-item-icon-spacing-end); margin-right: var(--calcite-accordion-item-icon-spacing-start); 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 { flex-direction: column; flex-grow: 1; margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; margin-right: auto; text-align: initial; } .calcite--rtl .accordion-item-header-text { margin-right: 0; margin-left: auto; } :host .accordion-item-title, :host .accordion-item-subtitle { display: flex; width: 100%; } :host .accordion-item-title { color: var(--calcite-ui-text-2); font-weight: var(--calcite-font-weight-medium); } :host .accordion-item-subtitle { color: var(--calcite-ui-text-3); margin-top: 0.25rem; } .calcite--rtl .accordion-item-title { margin-right: 0; margin-left: auto; } :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); }