@aws-amplify/ui
Version:
`@aws-amplify/ui` contains low-level logic & styles for stand-alone usage or re-use in framework-specific implementations.
400 lines (399 loc) • 11.9 kB
CSS
@layer amplify.components {
.amplify-storage-browser {
display: flex;
flex-direction: column;
align-items: stretch;
height: 100%;
position: relative;
padding: var(--amplify-space-small);
gap: var(--amplify-space-small);
/* Error boundary */
}
.amplify-storage-browser__error {
background-color: var(--amplify-colors-background-error);
color: var(--amplify-colors-font-error);
padding: var(--amplify-space-medium);
}
.amplify-storage-browser__navigation, .amplify-storage-browser__exit {
align-self: flex-start;
}
.amplify-storage-browser__title {
font-weight: var(--amplify-font-weights-bold);
font-size: var(--amplify-font-sizes-large);
}
.amplify-storage-browser__controls, .amplify-storage-browser__summary, .amplify-storage-browser__footer {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
width: 100%;
gap: var(--amplify-space-medium);
}
.amplify-storage-browser__footer {
justify-content: flex-end;
}
.amplify-storage-browser__search {
display: flex;
flex-direction: row;
flex: 1;
gap: var(--amplify-space-small);
}
.amplify-storage-browser__drop-zone {
flex: 1;
overflow: hidden;
position: relative;
width: 100%;
display: block;
}
.amplify-storage-browser__data-table {
overflow: auto;
position: relative;
border-width: var(--amplify-border-widths-small);
border-style: solid;
border-color: var(--amplify-colors-border-primary);
border-radius: var(--amplify-radii-small);
width: 100%;
height: 100%;
display: block;
}
.amplify-storage-browser__table {
width: 100%;
position: relative;
}
.amplify-storage-browser__table-head {
position: sticky;
top: 0;
background: var(--amplify-colors-background-primary);
box-shadow: var(--amplify-shadows-small);
z-index: 2;
}
.amplify-storage-browser__table-row_active {
background-color: var(--amplify-colors-background-info);
}
.amplify-storage-browser__table-header {
border: none;
padding: var(--amplify-space-xxxs);
}
.amplify-storage-browser__table-data-cell {
padding: var(--amplify-space-xxxs);
}
.amplify-storage-browser__table-data-cell:first-child, .amplify-storage-browser__table-data-cell:last-child {
border-inline-start-width: 0;
border-inline-end-width: 0;
}
.amplify-storage-browser__table-data-cell-icon {
vertical-align: middle;
margin-inline-end: var(--amplify-space-xs);
}
.amplify-storage-browser__table-header--select, .amplify-storage-browser__table-data--select, .amplify-storage-browser__table-header--download, .amplify-storage-browser__table-data--download, .amplify-storage-browser__table-data--cancel {
text-align: center;
}
.amplify-storage-browser__table-data--size, .amplify-storage-browser__table-header--size {
text-align: end;
}
.amplify-storage-browser__table-button-data-cell, .amplify-storage-browser__table-date-data-cell, .amplify-storage-browser__table-number-data-cell, .amplify-storage-browser__table-text-data-cell, .amplify-storage-browser__table-sort-header {
display: flex;
width: 100%;
gap: var(--amplify-space-xxs);
padding: var(--amplify-space-xxs);
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
align-items: center;
justify-content: flex-start;
}
.amplify-storage-browser__table-button-data-cell-icon--action-progress, .amplify-storage-browser__table-date-data-cell-icon--action-progress, .amplify-storage-browser__table-number-data-cell-icon--action-progress, .amplify-storage-browser__table-text-data-cell-icon--action-progress, .amplify-storage-browser__table-sort-header-icon--action-progress {
animation-name: amplify-loader-circular;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-duration: var(--amplify-components-loader-animation-duration);
}
.amplify-storage-browser__status {
display: flex;
flex-direction: row;
gap: var(--amplify-space-xs);
align-items: center;
}
.amplify-storage-browser__status-display {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
gap: var(--amplify-space-small);
flex: 1;
}
.amplify-storage-browser__status-label {
font-weight: var(--amplify-font-weights-bold);
}
.amplify-storage-browser__status-value {
color: var(--amplify-colors-font-secondary);
}
.amplify-storage-browser__destination {
display: flex;
flex-direction: row;
gap: var(--amplify-space-xs);
align-items: center;
}
.amplify-storage-browser__destination-label {
font-weight: var(--amplify-font-weights-bold);
}
.amplify-storage-browser__message {
flex: 1;
}
.amplify-storage-browser__buttons {
justify-content: flex-end;
display: flex;
gap: var(--amplify-space-small);
}
.amplify-storage-browser__loader {
position: absolute;
stroke-width: var(--amplify-border-widths-large);
height: var(--amplify-border-widths-large);
top: 0;
z-index: 3;
}
.amplify-storage-browser__content-with-preview {
display: flex;
height: 100%;
}
.amplify-storage-browser__file-preview {
overflow: auto;
flex: 1;
width: 50%;
position: sticky;
top: 10px;
bottom: 10px;
height: -moz-fit-content;
height: fit-content;
max-height: calc(100svh - 20px);
padding: var(--amplify-space-medium);
border: var(--amplify-border-widths-small) solid var(--amplify-colors-border-primary);
border-radius: var(--amplify-radii-small);
margin-inline-start: var(--amplify-space-large);
padding-block-end: var(--amplify-space-large);
}
.amplify-storage-browser__file-preview-header {
margin-block-end: var(--amplify-space-medium);
display: flex;
justify-content: flex-end;
}
.amplify-storage-browser__file-preview-container {
display: flex;
flex-direction: column;
gap: var(--amplify-space-large);
}
.amplify-storage-browser__file-preview-content {
display: flex;
flex-direction: column;
gap: var(--amplify-space-large);
align-items: center;
}
.amplify-storage-browser__file-preview-section {
display: flex;
flex-direction: column;
min-height: 400px;
flex: 1;
}
.amplify-storage-browser__file-preview-title {
margin-block-end: var(--amplify-space-medium);
color: var(--amplify-colors-font-primary);
font-size: var(--amplify-font-sizes-large);
font-weight: var(--amplify-font-weights-semibold);
flex-shrink: 0;
}
.amplify-storage-browser__file-metadata {
display: grid;
gap: var(--amplify-space-small);
background-color: var(--amplify-colors-background-secondary);
padding: var(--amplify-space-medium);
border-radius: var(--amplify-radii-small);
border: var(--amplify-border-widths-small) solid var(--amplify-colors-border-secondary);
}
.amplify-storage-browser__file-metadata-item {
display: flex;
justify-content: space-between;
align-items: center;
padding-block: var(--amplify-space-xs);
border-block-end: var(--amplify-border-widths-small) solid var(--amplify-colors-border-secondary);
}
.amplify-storage-browser__file-metadata-item:last-child {
border-block-end: none;
}
.amplify-storage-browser__file-metadata-label {
font-weight: var(--amplify-font-weights-medium);
color: var(--amplify-colors-font-primary);
margin: 0;
}
.amplify-storage-browser__file-metadata-value {
color: var(--amplify-colors-font-secondary);
margin: 0;
word-break: break-all;
text-align: end;
max-width: 60%;
}
.amplify-storage-browser__preview-fallback {
width: 100%;
height: 400px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--amplify-space-medium);
background-color: var(--amplify-colors-background-secondary);
border: var(--amplify-border-widths-small) dashed var(--amplify-colors-border-secondary);
border-radius: var(--amplify-radii-small);
padding: var(--amplify-space-large);
text-align: center;
}
.amplify-storage-browser__preview-fallback--error {
color: var(--amplify-colors-font-error);
background-color: var(--amplify-colors-background-error);
border-color: var(--amplify-colors-border-error);
}
.amplify-storage-browser__preview-fallback--default {
color: var(--amplify-colors-font-secondary);
background-color: var(--amplify-colors-background-secondary);
border-color: var(--amplify-colors-border-secondary);
}
.amplify-storage-browser__preview-fallback-icon {
font-size: var(--amplify-font-sizes-xxxxl);
margin-block-end: var(--amplify-space-xs);
}
.amplify-storage-browser__preview-fallback-title {
font-weight: var(--amplify-font-weights-bold);
font-size: var(--amplify-font-sizes-large);
margin-block-end: var(--amplify-space-xs);
}
.amplify-storage-browser__preview-fallback-description {
font-size: var(--amplify-font-sizes-small);
margin-block-end: var(--amplify-space-xs);
}
.amplify-storage-browser__preview-fallback-filename {
font-size: var(--amplify-font-sizes-xs);
font-family: var(--amplify-fonts-monospace), monospace;
}
.amplify-storage-browser__preview-fallback-actions {
display: flex;
gap: var(--amplify-space-small);
flex-wrap: wrap;
justify-content: center;
}
.amplify-storage-browser__preview-placeholder {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--amplify-space-medium);
height: 400px;
width: 100%;
}
.amplify-storage-browser__preview-placeholder-content {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--amplify-space-small);
width: 100%;
}
.amplify-storage-browser__preview-placeholder-info {
color: var(--amplify-colors-font-secondary);
font-size: var(--amplify-font-sizes-small);
text-align: center;
}
.amplify-storage-browser__text-container {
display: flex;
flex-flow: column nowrap;
gap: 8px;
align-items: center;
}
.amplify-storage-browser__text-preview {
height: 400px;
width: 100%;
display: block;
background-color: var(--amplify-colors-background-secondary);
border: var(--amplify-border-widths-small) solid var(--amplify-colors-border-secondary);
border-radius: var(--amplify-radii-small);
padding: var(--amplify-space-medium);
font-family: var(--amplify-fonts-monospace), monospace;
font-size: var(--amplify-font-sizes-small);
line-height: 1.5;
overflow-y: auto;
word-wrap: break-word;
white-space: pre-wrap;
word-break: break-word;
}
.amplify-storage-browser__video-container {
display: flex;
flex-flow: column nowrap;
gap: 8px;
align-items: center;
}
.amplify-storage-browser__video-preview {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 400px;
border-radius: var(--amplify-radii-small);
background-color: var(--amplify-colors-background-secondary);
flex-shrink: 0;
}
.amplify-storage-browser__video-preview video {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
-o-object-fit: contain;
object-fit: contain;
}
.amplify-storage-browser__image-container {
display: flex;
flex-flow: column nowrap;
gap: 8px;
align-items: center;
}
.amplify-storage-browser__image-preview {
display: flex;
align-items: center;
justify-content: center;
height: 400px;
width: 100%;
background-color: var(--amplify-colors-background-secondary);
border-radius: var(--amplify-radii-small);
flex-shrink: 0;
flex-flow: column nowrap;
gap: 8px;
}
.amplify-storage-browser__image-preview img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
-o-object-fit: contain;
object-fit: contain;
border-radius: var(--amplify-radii-small);
}
.amplify-storage-browser__download-button {
display: flex;
flex-flow: row nowrap;
gap: 8px;
}
.amplify-storage-browser__download-button_icon {
animation-delay: 0s;
animation-direction: normal;
animation-duration: 1s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-name: spin;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
50% {
transform: rotate(180deg);
}
100% {
transform: rotate(360deg);
}
}
}