@import '../../../scss/styles.scss'; @layer payload-default { .folder-file-card { // vars --card-border-color: var(--theme-elevation-150); --card-bg-color: var(--theme-elevation-0); --card-preview-bg-color: var(--theme-elevation-50); --card-icon-dots-bg-color: transparent; --card-icon-dots-color: var(--theme-elevation-600); --card-titlebar-icon-color: var(--theme-elevation-300); --card-label-color: var(--theme-text); --card-preview-icon-color: var(--theme-elevation-400); --assigned-collections-color: var(--theme-elevation-900); position: relative; display: grid; grid-template-areas: 'details'; border-radius: var(--style-radius-m); border: 1px solid var(--card-border-color); background-color: var(--card-bg-color); cursor: pointer; &--file { grid-template-rows: 1fr auto; grid-template-areas: 'preview' 'details'; } &--over { --card-border-color: var(--theme-elevation-500); --card-bg-color: var(--theme-elevation-150); --card-icon-dots-bg-color: transparent; --card-icon-dots-color: var(--theme-elevation-400); --card-titlebar-icon-color: var(--theme-elevation-250); --card-label-color: var(--theme-text); } &--disabled { --card-bg-color: var(--theme-elevation-50); cursor: not-allowed; &:after { content: ''; position: absolute; background-color: var(--theme-bg); opacity: 0.5; width: calc(100% + 2px); height: calc(100% + 2px); top: -1px; left: -1px; border-radius: inherit; } } &--selected { --card-border-color: var(--theme-success-300); --card-bg-color: var(--theme-success-50); --card-preview-bg-color: var(--theme-success-50); --card-icon-dots-bg-color: var(--theme-success-50); --card-icon-dots-color: var(--theme-success-400); --card-titlebar-icon-color: var(--theme-success-800); --card-label-color: var(--theme-success-800); --card-preview-icon-color: var(--theme-success-800); --accessibility-outline: 2px solid var(--theme-success-600); --assigned-collections-color: var(--theme-success-850); .popup:hover:not(.popup--active) { --card-icon-dots-bg-color: var(--theme-success-100); } &:has(.popup--active) { --card-icon-dots-bg-color: var(--theme-success-150); } .icon--dots { opacity: 1; } .folder-file-card__icon-wrap .icon { opacity: 0.5; } .folder-file-card__preview-area .icon { opacity: 0.7; } .folder-file-card__preview-area .thumbnail { &:after { content: ''; position: absolute; top: 0; left: 0; background: var(--theme-success-150); width: 100%; height: 100%; mix-blend-mode: hard-light; } } } &:not(.folder-file-card--selected) { .icon--dots { opacity: 0; } &:hover, &:has(.popup--active) { --card-bg-color: var(--theme-elevation-50); .icon--dots { opacity: 1; } } .popup:hover:not(.popup--active) { --card-icon-dots-bg-color: var(--theme-elevation-150); } &:has(.popup--active) { --card-icon-dots-bg-color: var(--theme-elevation-200); } } &__drop-area { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: inherit; pointer-events: none; } &__preview-area { grid-area: preview; aspect-ratio: 1/1; background-color: var(--card-preview-bg-color); border-top-left-radius: var(--style-radius-s); border-top-right-radius: var(--style-radius-s); border-bottom: 1px solid var(--card-border-color); display: grid; align-items: center; justify-content: center; pointer-events: none; grid-template-columns: auto 50% auto; &:has(.thumbnail) { grid-template-columns: unset; } > .icon { grid-column: 2; } .icon--document { pointer-events: none; height: 50%; width: 50%; margin: auto; color: var(--card-preview-icon-color); } .thumbnail { width: 100%; height: 100%; position: relative; border-radius: inherit; > img { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; } } &:has(.thumbnail) { justify-content: stretch; } img { height: 100%; width: 100%; max-width: 100%; max-height: 100%; object-fit: cover; border-top-left-radius: var(--style-radius-s); border-top-right-radius: var(--style-radius-s); } } &__titlebar-area { position: relative; pointer-events: none; display: flex; flex-direction: column; grid-area: details; border-radius: inherit; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: calc(var(--base) / 2); background-color: var(--card-bg-color); .popup { pointer-events: all; } } &__titlebar-labels { display: grid; } &__name { overflow: hidden; font-weight: bold; text-indent: 1px; // prevents left cuttoff of the first letter text-wrap: nowrap; text-overflow: ellipsis; line-height: normal; color: var(--card-label-color); } &__assigned-collections { color: var(--assigned-collections-color); opacity: 0.5; margin-top: 4px; line-height: normal; } &__icon-wrap .icon { flex-shrink: 0; color: var(--card-titlebar-icon-color); } .icon--dots { rotate: 90deg; transition: opacity 0.2s; color: var(--card-icon-dots-color); border-radius: var(--style-radius-s); background-color: var(--card-icon-dots-bg-color); } } }