UNPKG

@alyzenpublic/react-keyed-file-browser

Version:

Folder based file browser given a flat keyed list of objects, powered by React.

182 lines (175 loc) 7.98 kB
div.rendered-react-keyed-file-browser div.action-bar { margin-bottom: 0.5rem; flex-wrap: wrap; display: flex; align-items: flex-start; } div.rendered-react-keyed-file-browser div.action-bar input[type="search"] { display: block; flex-grow: 2; min-width: 300px; padding: 0.25rem 0.5rem; font-size: 1rem; line-height: 1em; margin-bottom: 0.5rem; border: 0.1rem solid #ddd; } div.rendered-react-keyed-file-browser div.action-bar .item-actions { text-align: right; margin: 0; padding: 0; line-height: 1.5rem; font-size: 1rem; } div.rendered-react-keyed-file-browser div.action-bar ul.item-actions { display: block; flex-grow: 1; min-width: 300px; margin-left: 10px; white-space: nowrap; } div.rendered-react-keyed-file-browser div.action-bar ul.item-actions li { display: inline-block; margin: 0; } div.rendered-react-keyed-file-browser div.action-bar ul.item-actions li:not(:last-child) { margin-right: 0.5rem; } div.rendered-react-keyed-file-browser div.files table { width: 100%; margin-bottom: 2rem; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } div.rendered-react-keyed-file-browser div.files table th, div.rendered-react-keyed-file-browser div.files table td { font-size: 1rem; font-weight: normal; text-align: left; margin: 0; padding: 0.5rem; } div.rendered-react-keyed-file-browser div.files table th { font-weight: bold; } div.rendered-react-keyed-file-browser div.files table th.size, div.rendered-react-keyed-file-browser div.files table th.modified, div.rendered-react-keyed-file-browser div.files table td.size, div.rendered-react-keyed-file-browser div.files table td.modified { text-align: right; } div.rendered-react-keyed-file-browser div.files table th.name i, div.rendered-react-keyed-file-browser div.files table td.name i { padding-right: 0.5rem; } div.rendered-react-keyed-file-browser div.files table thead th { border-bottom: 0.1rem solid #ddd; } div.rendered-react-keyed-file-browser div.files table tr:not(:last-child) td { border-bottom: 0.1rem solid #eee; } div.rendered-react-keyed-file-browser div.files table td.name { padding-left: 0.8rem; } div.rendered-react-keyed-file-browser div.files table td.name form.renaming { display: flex; align-items: center; } div.rendered-react-keyed-file-browser div.files table td.name form.renaming i { flex-grow: 0; flex-shrink: 0; } div.rendered-react-keyed-file-browser div.files table td.name form.renaming input[type="text"] { flex: 1; } div.rendered-react-keyed-file-browser div.files table tr td { cursor: pointer; } div.rendered-react-keyed-file-browser div.files table tr.selected td { font-weight: bold; } div.rendered-react-keyed-file-browser div.files table tr.selected td input, div.rendered-react-keyed-file-browser div.files table tr.selected td button { font-weight: normal; } div.rendered-react-keyed-file-browser div.files table tr.selected td.name { position: relative; } div.rendered-react-keyed-file-browser div.files table tr.selected td.name:after { content: ' '; position: absolute; left: 0; top: 0; width: 0.3rem; height: 100%; background: #1d4567; } div.rendered-react-keyed-file-browser div.files table tr.dragover td, div.rendered-react-keyed-file-browser div.files table tr.dragover th { background: #eee; } div.rendered-file-browser div.files li.file.pending, div.rendered-file-browser div.files li.file.dragging, div.rendered-file-browser div.files li.folder.pending, div.rendered-file-browser div.files li.folder.dragging { opacity: 0.4; } div.rendered-file-browser div.files li.file.dragover, div.rendered-file-browser div.files li.folder.dragover { background: #eee; } div.rendered-file-browser div.files li.file.selected > div.item, div.rendered-file-browser div.files li.folder.selected > div.item { color: #fff; background: #ccc; } div.rendered-file-browser div.files li.file.selected > div.item .text-muted, div.rendered-file-browser div.files li.folder.selected > div.item .text-muted { color: #e6e6e6; } div.rendered-file-browser div.files li.file.selected > div.item a:not(.btn), div.rendered-file-browser div.files li.file.selected > div.item.folder a:not(.btn), div.rendered-file-browser div.files li.file.selected > div.item i, div.rendered-file-browser div.files li.folder.selected > div.item a:not(.btn), div.rendered-file-browser div.files li.folder.selected > div.item.folder a:not(.btn), div.rendered-file-browser div.files li.folder.selected > div.item i { color: #fff; } div.rendered-file-browser div.files ul { list-style: none; padding: 0; display: grid; gap: 4px; grid-template-columns: repeat(3, 1fr); } div.rendered-file-browser div.files ul li.folder { grid-column: 1/4; } div.rendered-file-browser div.files ul li.folder > div.item { display: flex; flex-direction: row; align-items: center; padding-left: 4px; border: 1px solid #eee; } div.rendered-file-browser div.files ul li.folder > div.item span.name { flex: 1; line-height: folder-size; } div.rendered-file-browser div.files ul li.folder > div.item span.thumb { flex-basis: 45px; border: none; text-align: center; } div.rendered-file-browser div.files ul li.folder > div.item span.thumb > i { line-height: 45px; font-size: 18px; } div.rendered-file-browser div.files ul li.folder > div.item form.renaming { margin-top: 8px; margin-right: 8px; } div.rendered-file-browser div.files ul li.folder > p { margin: 8px; margin-bottom: 0; padding: 0; } div.rendered-file-browser div.files ul li.folder.expanded { padding-bottom: 8px; border-bottom: 1px solid #eee; border-left: 4px solid #eee; border-right: 1px solid #eee; } div.rendered-file-browser div.files ul li.folder.expanded > div.item { padding-left: 0px; margin-right: -1px; margin-left: -1px; } div.rendered-file-browser div.files ul li.folder.expanded.selected { border-bottom: 1px solid #ccc; border-left: 4px solid #ccc; border-right: 1px solid #ccc; } div.rendered-file-browser div.files ul li.selected.folder > div.item { border: 1px solid #bfbfbf; } div.rendered-file-browser div.files ul li.selected.folder > div.item span.thumb { border: none; } div.rendered-file-browser div.files ul li.file { margin: 4px; padding: 0; } div.rendered-file-browser div.files ul li.file > div.item { display: flex; flex-direction: column; padding: 4px; margin: 0; } div.rendered-file-browser div.files ul li.file > div.item span.thumb { flex-basis: 120px; text-align: center; position: relative; border: 1px solid #eee; margin-bottom: 10px; } div.rendered-file-browser div.files ul li.file > div.item span.thumb > i { font-size: 40px; line-height: 120px; } div.rendered-file-browser div.files ul li.file > div.item span.thumb div.image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; } div.rendered-file-browser div.files ul li.selected.file > div.item span.thumb { border: 1px solid #bfbfbf; } div.rendered-file-browser div.files ul li.selected.file > div.item span.thumb div.image { opacity: 0.8; } div.rendered-file-browser p.loading, div.rendered-file-browser p.empty { margin: 16px 0; }