123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- /* 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;
- }
- @media (prefers-reduced-motion: reduce) {
- :root {
- --calcite-internal-duration-factor: 0.01;
- }
- }
- /**
- * Currently only used in Checkbox.
- */
- :root {
- --calcite-floating-ui-transition: var(--calcite-animation-timing);
- }
- :host([hidden]) {
- display: none;
- }
- :host([disabled]) {
- pointer-events: none;
- cursor: default;
- -webkit-user-select: none;
- user-select: none;
- opacity: var(--calcite-ui-opacity-disabled);
- }
- :host {
- display: block;
- max-inline-size: 100%;
- cursor: pointer;
- color: var(--calcite-ui-text-3);
- }
- :host([calcite-hydrated-hidden]) {
- visibility: hidden !important;
- pointer-events: none;
- }
- :host([disabled]) ::slotted([calcite-hydrated][disabled]),
- :host([disabled]) [calcite-hydrated][disabled] {
- /* prevent opacity stacking */
- opacity: 1;
- }
- :host([scale=s]) {
- font-size: var(--calcite-font-size--2);
- line-height: 1rem;
- }
- :host([scale=s]) .node-container {
- --calcite-tree-padding-y: 0.25rem;
- }
- :host([scale=s]) .node-container .checkbox,
- :host([scale=s]) .node-container .chevron,
- :host([scale=s]) .node-container .checkmark,
- :host([scale=s]) .node-container .bullet-point {
- margin-inline: 0.25rem;
- }
- :host([scale=m]) {
- font-size: var(--calcite-font-size--1);
- line-height: 1rem;
- }
- :host([scale=m]) .node-container {
- --calcite-tree-padding-y: 0.5rem;
- }
- :host([scale=m]) .node-container .checkbox,
- :host([scale=m]) .node-container .chevron,
- :host([scale=m]) .node-container .checkmark,
- :host([scale=m]) .node-container .bullet-point {
- margin-inline: 0.5rem;
- }
- :host([scale=l]) {
- font-size: var(--calcite-font-size-0);
- line-height: 1.25rem;
- }
- :host([scale=l]) .node-container {
- --calcite-tree-padding-y: 0.75rem;
- }
- :host([scale=l]) .node-container .checkbox,
- :host([scale=l]) .node-container .chevron,
- :host([scale=l]) .node-container .checkmark,
- :host([scale=l]) .node-container .bullet-point {
- margin-inline: 0.75rem;
- }
- :host([lines]) .children-container:after {
- position: absolute;
- inset-block-start: 0px;
- z-index: 1;
- inline-size: 1px;
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
- transition-duration: 150ms;
- transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;
- block-size: 96%;
- content: "";
- background-color: var(--calcite-ui-border-2);
- }
- :host(:not([lines])) .node-container:after {
- display: none;
- }
- ::slotted(*) {
- min-inline-size: 0px;
- max-inline-size: 100%;
- overflow-wrap: break-word;
- color: inherit;
- text-decoration: none !important;
- }
- ::slotted(*):hover {
- text-decoration: none !important;
- }
- ::slotted(a) {
- inline-size: 100%;
- text-decoration-line: none;
- }
- :host {
- outline-color: transparent;
- }
- :host(:focus:not([disabled])) {
- outline: 2px solid transparent;
- outline: 2px solid var(--calcite-ui-brand);
- outline-offset: -2px;
- }
- .checkbox {
- line-height: 0;
- }
- .checkbox-label {
- pointer-events: none;
- display: flex;
- align-items: center;
- }
- .checkbox:focus {
- outline: 2px solid transparent;
- outline-offset: 2px;
- }
- .children-container {
- position: relative;
- block-size: 0px;
- overflow: hidden;
- margin-inline-start: 1.25rem;
- transform: scaleY(0);
- opacity: 0;
- transition: var(--calcite-animation-timing) cubic-bezier(0.215, 0.44, 0.42, 0.88), opacity var(--calcite-animation-timing) cubic-bezier(0.215, 0.44, 0.42, 0.88), all var(--calcite-animation-timing) ease-in-out;
- transform-origin: top;
- }
- :host([expanded]) > .children-container {
- transform: scaleY(1);
- opacity: 1;
- block-size: auto;
- }
- .node-container {
- position: relative;
- display: flex;
- align-items: center;
- padding-block: var(--calcite-tree-padding-y);
- padding-inline: 0;
- }
- .node-container .checkmark,
- .node-container .bullet-point {
- opacity: 0;
- transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;
- color: var(--calcite-ui-border-1);
- }
- .node-container:hover .checkmark,
- .node-container:hover .bullet-point,
- :host([selected]) .node-container:hover .checkmark,
- :host([selected]) .node-container:hover .bullet-point,
- :host(:focus:not([disabled])) .node-container .checkmark,
- :host(:focus:not([disabled])) .node-container .bullet-point {
- opacity: 1;
- }
- :host([selected]) > .node-container,
- :host([selected]) > .node-container:hover {
- font-weight: var(--calcite-font-weight-medium);
- color: var(--calcite-ui-text-1);
- }
- :host([selected]) > .node-container .bullet-point,
- :host([selected]) > .node-container .checkmark,
- :host([selected]) > .node-container:hover .bullet-point,
- :host([selected]) > .node-container:hover .checkmark {
- opacity: 1;
- color: var(--calcite-ui-brand);
- }
- :host([selection-mode=none]:not([has-children])):host([scale=s]) > .node-container {
- padding-inline-start: 0.5rem;
- }
- :host([selection-mode=none]:not([has-children])):host([scale=m]) > .node-container {
- padding-inline-start: 1rem;
- }
- :host([selection-mode=none]:not([has-children])):host([scale=l]) > .node-container {
- padding-inline-start: 1.5rem;
- }
- :host(:not([has-children])):host([scale=s]) > .node-container[data-selection-mode=ancestors] .checkbox {
- padding-inline-start: 1.25rem;
- }
- :host(:not([has-children])):host([scale=m]) > .node-container[data-selection-mode=ancestors] .checkbox {
- padding-inline-start: 1.5rem;
- }
- :host(:not([has-children])):host([scale=l]) > .node-container[data-selection-mode=ancestors] .checkbox {
- padding-inline-start: 1.75rem;
- }
- :host([has-children]) > .node-container[data-selection-mode=ancestors] .checkbox {
- margin-inline-start: 0;
- }
- :host([has-children]) > .node-container .bullet-point,
- :host([has-children]) > .node-container .checkmark {
- display: none;
- }
- :host([has-children][expanded]:not([selected]):not([selection-mode=none])) > .node-container ::slotted(*) {
- font-weight: var(--calcite-font-weight-medium);
- color: var(--calcite-ui-text-1);
- }
- :host([has-children][selected]) > .node-container[data-selection-mode=children], :host([has-children][selected]) > .node-container[data-selection-mode=multi-children] {
- color: var(--calcite-ui-brand);
- }
- .chevron {
- position: relative;
- align-self: center;
- color: var(--calcite-ui-text-3);
- transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;
- flex: 0 0 auto;
- transform: rotate(0deg);
- }
- .calcite--rtl .chevron {
- transform: rotate(180deg);
- }
- :host([expanded]) > .node-container > .chevron {
- transform: rotate(90deg);
- }
- :host([selected]) .checkmark,
- :host([selected]) .bullet-point {
- color: var(--calcite-ui-brand);
- }
|