UNPKG

@esri/calcite-components

Version:

Web Components for Esri's Calcite Design System.

398 lines (342 loc) 10.5 kB
@charset "UTF-8"; /* 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 { display: block; color: var(--calcite-tree-text); cursor: pointer; outline: none; font-size: 0.875rem; line-height: 1.5; max-width: 100%; --calcite-tree-text: var(--calcite-ui-text-2); --calcite-tree-text: var(--calcite-ui-text-1); --calcite-tree-text: var(--calcite-ui-text-1); --calcite-tree-chevron: var(--calcite-ui-border-1); --calcite-tree-chevron-hover: var(--calcite-ui-text-3); --calcite-tree-vertical-padding: 0.375rem; --calcite-tree-indicator: var(--calcite-ui-border-1); --calcite-tree-indicator-active: var(--calcite-ui-brand); --calcite-tree-indicator-first-start: 0.1rem; --calcite-tree-indicator-first-end: auto; --calcite-tree-indicator-distance-start: 0.15rem; --calcite-tree-indicator-distance-end: auto; --calcite-tree-icon-edge-distance-start: -0.2rem; --calcite-tree-icon-edge-distance-end: 0; --calcite-tree-icon-content-distance-start: 0.375rem; --calcite-tree-icon-content-distance-end: 0; --calcite-tree-indent-start: 1.4rem; --calcite-tree-indent-end: 0; --calcite-tree-children-indent-start: 0.25rem; --calcite-tree-children-indent-end: 0; --calcite-tree-children-padding-start: 1rem; --calcite-tree-children-padding-end: 0; --calcite-tree-checkbox-padding-start: 0; --calcite-tree-checkbox-padding-end: 0.5rem; --calcite-tree-line-position-start: 0.05rem; --calcite-tree-line-position-end: 0; --calcite-tree-parent-line-position-start: -0.95rem; --calcite-tree-parent-line-position-end: 0; --calcite-tree-line-width: 1px; --calcite-tree-hover-line-width: 3px; } :host([lines]) { --calcite-tree-line: var(--calcite-ui-border-3); --calcite-tree-line-hover: var(--calcite-ui-border-1); } :host([lines]) .calcite-tree-node:before { display: none; } :host(:not([lines])) .calcite-tree-node:after { display: none; } :host([scale=s]) { --calcite-tree-hover-line-width: 2px; --calcite-tree-vertical-padding: 0.1875rem; --calcite-tree-children-indent-start: 0rem; --calcite-tree-children-padding-start: 0.8rem; --calcite-tree-line-position-start: 0.3rem; --calcite-tree-parent-line-position-start: -0.5rem; } :host([dir=rtl]) { --calcite-tree-indicator-first-start: 0; --calcite-tree-indicator-first-end: 0.1rem; --calcite-tree-indicator-distance-start: auto; --calcite-tree-indicator-distance-end: 0.15rem; --calcite-tree-icon-edge-distance-start: auto; --calcite-tree-icon-edge-distance-end: -0.2rem; --calcite-tree-icon-content-distance-start: 0; --calcite-tree-icon-content-distance-end: 0.375rem; --calcite-tree-indent-start: 0; --calcite-tree-indent-end: 1.4rem; --calcite-tree-children-indent-start: 0; --calcite-tree-children-indent-end: 0.25rem; --calcite-tree-children-padding-start: 0; --calcite-tree-children-padding-end: 1rem; --calcite-tree-checkbox-padding-start: 0.5rem; --calcite-tree-checkbox-padding-end: 0; --calcite-tree-line-position-start: 0; --calcite-tree-line-position-end: 0.05rem; --calcite-tree-parent-line-position-start: 0; --calcite-tree-parent-line-position-end: -0.95rem; } :host([dir=rtl][scale=s]) { --calcite-tree-children-indent-end: 0rem; --calcite-tree-children-padding-end: 0.8rem; --calcite-tree-line-position-end: 0.3rem; --calcite-tree-parent-line-position-end: -0.5rem; } ::slotted(*) { color: inherit; font-size: 0.875rem; line-height: 1.5; text-decoration: none !important; word-wrap: break-word; overflow-wrap: break-word; min-width: 0; max-width: 100%; } ::slotted(*):hover { text-decoration: none !important; } ::slotted(a) { width: 100%; text-decoration: none; } :host { outline-offset: 0; outline-color: transparent; transition: outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out; } :host(:focus) { outline: 2px solid var(--calcite-ui-brand); outline-offset: -2px; } .calcite-tree-checkbox { line-height: 0; padding-left: var(--calcite-tree-checkbox-padding-start); padding-right: var(--calcite-tree-checkbox-padding-end); outline: none; } .calcite-tree-label { display: flex; align-items: center; } .calcite-tree-children { z-index: 1; margin-left: var(--calcite-tree-children-indent-start); margin-right: var(--calcite-tree-children-indent-end); padding-left: var(--calcite-tree-children-padding-start); padding-right: var(--calcite-tree-children-padding-end); position: relative; transform: scaleY(0); opacity: 0; overflow: hidden; transition: 0.15s cubic-bezier(0.215, 0.44, 0.42, 0.88), opacity 0.15s cubic-bezier(0.215, 0.44, 0.42, 0.88), all 0.15s ease-in-out; height: 0; transform-origin: top; } .calcite-tree-children:after { transition: all 150ms ease-in-out; content: ""; height: 100%; width: var(--calcite-tree-line-width); background: var(--calcite-tree-line); left: var(--calcite-tree-line-position-start); right: var(--calcite-tree-line-position-end); top: 0; position: absolute; } :host([expanded]) > .calcite-tree-children { transform: scaleY(1); opacity: 1; height: auto; } :host([has-children]) .calcite-tree-children:hover:after, :host([has-children]) .calcite-tree-children:focus:after { background: var(--calcite-tree-line-hover); } .calcite-tree-node { display: flex; align-items: center; padding: var(--calcite-tree-vertical-padding) 0; padding-left: var(--calcite-tree-indent-start); padding-right: var(--calcite-tree-indent-end); position: relative; } .calcite-tree-node:before { content: "•"; position: absolute; left: var(--calcite-tree-indicator-distance-start); right: var(--calcite-tree-indicator-distance-end); opacity: 0; color: var(--calcite-tree-indicator); transition: all 150ms ease-in-out; } .calcite-tree-node:after { transition: all 150ms ease-in-out; content: ""; height: 100%; width: var(--calcite-tree-line-width); background: var(--calcite-tree-line); left: var(--calcite-tree-parent-line-position-start); right: var(--calcite-tree-parent-line-position-end); top: 0; position: absolute; } :host([depth="1"]) > .calcite-tree-node:after { display: none; } :host([input-enabled]) .calcite-tree-node:before { display: none; } :host([has-children]) > .calcite-tree-node { padding-left: 0; padding-right: 0; } :host([has-children]) > .calcite-tree-node:before { display: none; } :host([depth="1"]) > .calcite-tree-node:before, :host([depth="1"]) > .calcite-tree-children:before { left: var(--calcite-tree-indicator-first-start); right: var(--calcite-tree-indicator-first-end); } .calcite-tree-node:hover:before, :host([selected]) .calcite-tree-node:hover:before, :host(:focus) .calcite-tree-node:before { opacity: 1; } .calcite-tree-node:hover:after, :host([selected]) .calcite-tree-node:hover:after, :host(:focus) .calcite-tree-node:after { width: var(--calcite-tree-hover-line-width); background: var(--calcite-tree-line-hover); z-index: 2; } .calcite-tree-node:hover ::slotted(*), :host([selected]) .calcite-tree-node:hover ::slotted(*), :host(:focus) .calcite-tree-node ::slotted(*) { color: var(--calcite-tree-text-hover); } .calcite-tree-node:hover .calcite-tree-chevron, :host([selected]) .calcite-tree-node:hover .calcite-tree-chevron, :host(:focus) .calcite-tree-node .calcite-tree-chevron { fill: var(--calcite-tree-chevron-hover); } .calcite-tree-node:hover .calcite-tree-indicator, :host([selected]) .calcite-tree-node:hover .calcite-tree-indicator, :host(:focus) .calcite-tree-node .calcite-tree-indicator { fill: var(--calcite-tree-indicator-hover); } :host([selected]) > .calcite-tree-node, :host([selected]) > .calcite-tree-node:hover { color: var(--calcite-tree-text-active); font-weight: 500; } :host([selected]) > .calcite-tree-node:before, :host([selected]) > .calcite-tree-node:hover:before { opacity: 1; color: var(--calcite-tree-indicator-active); } :host([selected]) > .calcite-tree-node:after, :host([selected]) > .calcite-tree-node:hover:after { background: var(--calcite-ui-brand); width: var(--calcite-tree-hover-line-width); z-index: 2; } :host([selected]) > .calcite-tree-node ::slotted(*), :host([selected]) > .calcite-tree-node:hover ::slotted(*) { color: var(--calcite-tree-text-active); } :host([has-children][expanded]) > .calcite-tree-node { color: var(--calcite-tree-text-active); font-weight: 500; } :host([has-children][expanded]) > .calcite-tree-node:after { background: var(--calcite-ui-brand); } :host([has-children][expanded]) > .calcite-tree-node:before { opacity: 1; color: var(--calcite-tree-indicator-active); } :host([has-children][expanded]) > .calcite-tree-node ::slotted(*) { color: var(--calcite-tree-text-active); } :host([has-children][expanded][selected]) > .calcite-tree-node:after { background: var(--calcite-ui-brand); width: var(--calcite-tree-hover-line-width); z-index: 2; } .calcite-tree-chevron { transition: all 150ms ease-in-out; flex: 0 0 auto; position: relative; align-self: center; left: var(--calcite-tree-icon-edge-distance-start); right: var(--calcite-tree-icon-edge-distance-end); margin-right: var(--calcite-tree-icon-content-distance-start); margin-left: var(--calcite-tree-icon-content-distance-end); transform: rotate(0deg); fill: var(--calcite-tree-chevron); } :host([dir=rtl]) .calcite-tree-chevron { transform: rotate(180deg); } :host(:hover) .calcite-tree-chevron, :host(:focus) .calcite-tree-chevron { fill: var(--calcite-tree-chevron-hover); stroke: var(--calcite-tree-chevron-hover); stroke-width: 0.75; } :host([expanded]) > .calcite-tree-node > .calcite-tree-chevron { transform: rotate(90deg); fill: var(--calcite-ui-brand); stroke-width: 0.75; stroke: var(--calcite-ui-brand); }