1 // File Picker and File Manager
6 vertical-align: middle;
12 // Dialogue (File Picker and File Manager)
19 padding: 3px 20px 2px 20px;
23 @include border-radius(10px);
24 display: inline-block;
26 @include box-shadow(2px 2px 3px .1px #999);
30 .filepicker .yui3-widget-content-expanded {
34 /* The javascript is adding a style="height: 0px;" to this element - we need to set the min-height so the height is ignored. */
35 .filepicker .moodle-dialogue-bd {
38 .file-picker .fp-navbar {
39 border-bottom: 1px solid #e5e5e5;
44 .file-picker .fp-content {
52 .filepicker.moodle-dialogue-fullscreen .file-picker .fp-content {
56 .file-picker .fp-content-loading {
63 .file-picker .fp-content .fp-object-container {
67 .file-picker .fp-def-search {
70 // Repositories on fp-repo-area (File Picker only)
71 .file-picker .fp-list {
72 list-style-type: none;
79 .file-picker .fp-list .fp-repo a {
84 .file-picker .fp-list .fp-repo.active {
88 .file-picker .fp-list .fp-repo-icon {
93 // Tools, Path & View on fp-navbar (File Picker and File Manager)
102 .fp-toolbar .disabled {
113 vertical-align: -15%;
117 .fp-viewbar:not(.disabled) a.checked {
118 background-color: darken(map-get($theme-colors, 'secondary'), 10%);
119 color: color-yiq(darken(map-get($theme-colors, 'secondary'), 10%));
120 border-color: darken(map-get($theme-colors, 'secondary'), 12.5%);
123 .fp-viewbar.disabled a {
124 pointer-events: none;
125 opacity: $btn-disabled-opacity;
126 @include box-shadow(none);
129 .file-picker .fp-clear-left {
137 .fp-pathbar .fp-path-folder {
138 background: url('[[pix:theme|fp/path_folder]]') left 3px no-repeat;
139 background-size: 12px 12px;
145 .fp-pathbar .fp-path-folder {
146 background-image: url('[[pix:theme|fp/path_folder_rtl]]');
150 .fp-pathbar .fp-path-folder-name {
153 // Icon view (File Picker and File Manager)
154 .fp-iconview .fp-file {
158 margin: 10px 10px 35px;
161 .fp-iconview .fp-thumbnail {
166 border: 1px solid #fff;
170 .fp-iconview .fp-thumbnail img {
171 border: 1px solid #ddd;
173 vertical-align: middle;
175 @include box-shadow(1px 1px 2px 0 #ccc);
178 .fp-iconview .fp-thumbnail:hover {
180 border: 1px solid #ddd;
182 @include box-shadow(inset 0 0 10px0 #ccc);
185 .fp-iconview .fp-filename-field {
188 word-wrap: break-word;
193 .fp-iconview .fp-file:focus,
194 .fp-iconview .fp-file:hover {
195 // Undo truncating of text on hover.
203 text-overflow: inherit;
207 .fp-iconview .fp-filename-field .fp-filename {
210 padding-bottom: 12px;
213 // Table view (File Picker only)
214 .file-picker .yui3-datatable table {
215 border: 0 solid #bbb;
218 // Tree view (File Manager only)
220 // first or middle sibling, no children
221 .file-picker .ygtvtn,
222 .filemanager .ygtvtn {
224 background: url('[[pix:moodle|y/tn]]') 0 0 no-repeat;
226 background: url('[[pix:moodle|y/tn_rtl]]') 0 0 no-repeat;
231 // first or middle sibling, collapsable
232 .file-picker .ygtvtm,
233 .filemanager .ygtvtm {
234 background: url('[[pix:moodle|y/tm]]') 0 10px no-repeat;
236 background-position: 2px 10px;
242 // first or middle sibling, collapsable, hover
243 .file-picker .ygtvtmh,
244 .filemanager .ygtvtmh {
245 background: url('[[pix:moodle|y/tm]]') 0 10px no-repeat;
247 background-position: 2px 10px;
253 // first or middle sibling, expandable
254 .file-picker .ygtvtp,
255 .filemanager .ygtvtp {
257 background: url('[[pix:moodle|y/tp]]') 0 10px no-repeat;
259 background: url('[[pix:moodle|y/tp_rtl]]') 2px 10px no-repeat;
265 // first or middle sibling, expandable, hover
266 .file-picker .ygtvtph,
267 .filemanager .ygtvtph {
269 background: url('[[pix:moodle|y/tp]]') 0 10px no-repeat;
271 background: url('[[pix:moodle|y/tp_rtl]]') 2px 10px no-repeat;
277 // last sibling, no children
278 .file-picker .ygtvln,
279 .filemanager .ygtvln {
281 background: url('[[pix:moodle|y/ln]]') 0 0 no-repeat;
283 background: url('[[pix:moodle|y/ln_rtl]]') 0 0 no-repeat;
288 // Last sibling, collapsable
289 .file-picker .ygtvlm,
290 .filemanager .ygtvlm {
291 background: url('[[pix:moodle|y/lm]]') 0 10px no-repeat;
293 background-position: 2px 10px;
299 // Last sibling, collapsable, hover
300 .file-picker .ygtvlmh,
301 .filemanager .ygtvlmh {
302 background: url('[[pix:moodle|y/lm]]') 0 10px no-repeat;
304 background-position: 2px 10px;
310 // Last sibling, expandable
311 .file-picker .ygtvlp,
312 .filemanager .ygtvlp {
314 background: url('[[pix:moodle|y/lp]]') 0 10px no-repeat;
316 background: url('[[pix:moodle|y/lp_rtl]]') 2px 10px no-repeat;
322 // Last sibling, expandable, hover
323 .file-picker .ygtvlph,
324 .filemanager .ygtvlph {
326 background: url('[[pix:moodle|y/lp]]') 0 10px no-repeat;
328 background: url('[[pix:moodle|y/lp_rtl]]') 2px 10px no-repeat;
335 .file-picker .ygtvloading,
336 .filemanager .ygtvloading {
337 background: transparent url('[[pix:moodle|y/loading]]') 0 0 no-repeat;
341 // the style for the empty cells that are used for rendering the depth of the node
342 .file-picker .ygtvdepthcell,
343 .filemanager .ygtvdepthcell {
344 background: url('[[pix:moodle|y/vline]]') 0 0 no-repeat;
346 background-position: 0 0;
352 .file-picker .ygtvblankdepthcell,
353 .filemanager .ygtvblankdepthcell {
360 text-decoration: none;
367 background-color: transparent;
370 text-decoration: none;
373 .file-picker .ygtvfocus,
374 .filemanager .ygtvfocus {
375 background-color: #eee;
397 vertical-align: middle;
403 // Repositories Login on fp-content (File Picker only)
405 .file-picker .fp-login-form {
410 // Upload on fp-content (File Picker only)
411 .file-picker .fp-upload-form {
417 .file-picker .fp-upload-form table {
420 // File exists dialogue on Upload (File Picker only)
421 .file-picker.fp-dlg {
425 .file-picker.fp-dlg .fp-dlg-buttons {
428 // Error dialogue on Upload (File Picker only)
429 .file-picker.fp-msg {
432 // Error on fp-content (File Picker only)
433 .file-picker .fp-content-error {
439 // Lazy loading on fp-content (File Picker only)
440 .file-picker .fp-nextpage {
444 .file-picker .fp-nextpage .fp-nextpage-loading {
448 .file-picker .fp-nextpage.loading .fp-nextpage-link {
452 .file-picker .fp-nextpage.loading .fp-nextpage-loading {
458 // Select Dialogue (File Picker and File Manager)
459 .fp-select .fp-select-loading {
468 .fp-select table .mdl-right {
472 .fp-select .fp-reflist .mdl-right {
476 .fp-select .fp-select-buttons {
480 .fp-select .fp-info {
481 font-size: $font-size-xs;
484 .fp-select .fp-thumbnail {
490 margin: 10px 20px 0 0;
492 border: 1px solid #ddd;
494 @include box-shadow(inset 0 0 10px 0 #ccc);
497 .fp-select .fp-thumbnail img {
498 border: 1px solid #ddd;
500 vertical-align: middle;
504 .fp-select .fp-fileinfo {
505 display: inline-block;
509 .file-picker.fp-select .fp-fileinfo {
513 .fp-select .fp-fileinfo div {
517 .file-picker.fp-select .uneditable {
521 .file-picker.fp-select .fp-select-loading {
525 .file-picker.fp-select.loading .fp-select-loading {
529 .file-picker.fp-select.loading form {
533 .fp-select .fp-dimensions.fp-unknown {
537 .fp-select .fp-size.fp-unknown {
541 .filemanager-loading {
545 .jsenabled .filemanager-loading {
550 .filemanager.fm-loading .filemanager-toolbar,
551 .filemanager.fm-loading .fp-pathbar,
552 .filemanager.fm-loading .filemanager-container,
553 .filemanager.fm-loaded .filemanager-loading,
554 .filemanager.fm-maxfiles .fp-btn-add,
555 .filemanager.fm-maxfiles .dndupload-message,
556 .filemanager.fm-noitems .fp-btn-download,
557 .filemanager.fm-noitems .fp-btn-delete,
558 .filemanager .fm-empty-container,
559 .filemanager.fm-noitems .filemanager-container .fp-content {
563 .filemanager .fp-img-downloading {
568 .filemanager .filemanager-updating {
573 .filemanager.fm-updating .filemanager-updating {
578 .filemanager.fm-updating .fm-content-wrapper,
579 .filemanager.fm-nomkdir .fp-btn-mkdir,
580 .fitem.disabled .filemanager .filemanager-toolbar,
581 .fitem.disabled .filemanager .fp-pathbar,
582 .fitem.disabled .filemanager .fp-restrictions,
583 .fitem.disabled .filemanager .fm-content-wrapper {
586 // File Manager layout
593 .filemanager-toolbar {
598 .filemanager .fp-pathbar.empty {
602 .filepicker-filelist,
603 .filemanager-container {
608 .filemanager .fp-content {
614 .filemanager-container,
615 .filepicker-filelist {
619 .file-picker .yui3-datatable-header {
623 .fitem.disabled .filepicker-filelist,
624 .fitem.disabled .filemanager-container {
625 background-color: #ebebe4;
628 .fitem.disabled .fp-btn-choose {
632 .fitem.disabled .filepicker-filelist .filepicker-filename {
635 // Icon view (File Manager only)
636 .fp-iconview .fp-reficons1 {
644 .fp-iconview .fp-reficons2 {
652 .fp-iconview .fp-file.fp-hasreferences .fp-reficons1 {
653 background: url('[[pix:theme|fp/link]]') no-repeat;
655 transform: scaleX(-1);
658 background-position: bottom right;
659 background-size: 16px 16px;
662 .fp-iconview .fp-file.fp-isreference .fp-reficons2 {
663 background: url('[[pix:theme|fp/alias]]') no-repeat;
665 transform: scaleX(-1);
668 background-position: bottom left;
669 background-size: 16px 16px;
672 .filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail img {
676 .filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail {
677 background: url([[pix:s/dead]]) no-repeat;
678 background-position: center center;
680 // Table view (File Manager only)
681 .filemanager .yui3-datatable table {
682 border: 0 solid #bbb;
686 /* Override YUI default styling */
687 /* stylelint-disable declaration-no-important */
690 .yui3-datatable-header {
691 background: #fff !important;
692 border-bottom: 1px solid #ccc !important;
693 border-left: 0 solid #fff !important;
694 color: #555 !important;
697 .yui3-datatable-odd .yui3-datatable-cell {
698 background-color: #f6f6f6 !important;
699 border-left: 0 solid #f6f6f6;
702 .yui3-datatable-even .yui3-datatable-cell {
703 background-color: #fff !important;
704 border-left: 0 solid #fff;
707 /* stylelint-enable */
709 .filemanager .fp-filename-icon.fp-hasreferences .fp-reficons1 {
710 background: url('[[pix:theme|fp/link_sm]]') no-repeat 0 0;
714 transform: scaleX(-1);
719 background-size: 16px 16px;
722 .filemanager .fp-filename-icon.fp-isreference .fp-reficons2 {
723 background: url('[[pix:theme|fp/alias_sm]]') no-repeat 0 0;
727 transform: scaleX(-1);
732 background-size: 16px 16px;
734 // Folder Context Menu (File Manager only)
735 .filemanager .fp-contextmenu {
739 .filemanager .fp-iconview .fp-folder.fp-hascontextmenu .fp-contextmenu {
745 justify-content: center;
748 .filemanager .fp-treeview .fp-folder.fp-hascontextmenu .fp-contextmenu,
749 .filemanager .fp-tableview .fp-folder.fp-hascontextmenu .fp-contextmenu {
756 // Drag and drop support (filemanager and filepicker form elements)
757 .filepicker-filelist .filepicker-container,
758 .filemanager.fm-noitems .fm-empty-container {
765 border: 2px dashed #bbb;
770 .filepicker-filelist .dndupload-target,
771 .filemanager-container .dndupload-target {
778 border: 2px dashed #fb7979;
782 @include box-shadow(0 0 0 10px #fff);
785 .filepicker-filelist.dndupload-over .dndupload-target,
786 .filemanager-container.dndupload-over .dndupload-target {
793 border: 2px dashed #6c8cd3;
802 .dndsupported .dndupload-message {
806 .dnduploadnotsupported-message {
810 .dndnotsupported .dnduploadnotsupported-message {
818 .dndsupported .dndupload-ready .dndupload-target {
822 .dndupload-uploadinprogress {
827 .dndupload-uploading .dndupload-uploadinprogress {
832 background: url([[pix:theme|fp/dnd_arrow]]) center no-repeat;
839 .fitem.disabled .filepicker-container,
840 .fitem.disabled .fm-empty-container {
844 .dndupload-progressbars {
849 .dndupload-inprogress .dndupload-progressbars {
853 .dndupload-inprogress .fp-content {
857 .filemanager.fm-noitems .dndupload-inprogress .fm-empty-container {
861 .filepicker-filelist.dndupload-inprogress .filepicker-container {
865 .filepicker-filelist.dndupload-inprogress a {
868 // Select Dialogue (File Manager only)
869 .filemanager.fp-select .fp-select-loading {
873 .filemanager.fp-select.loading .fp-select-loading {
877 .filemanager.fp-select.loading form {
881 .filemanager.fp-select.fp-folder .fp-license,
882 .filemanager.fp-select.fp-folder .fp-author,
883 .filemanager.fp-select.fp-file .fp-file-unzip,
884 .filemanager.fp-select.fp-folder .fp-file-unzip,
885 .filemanager.fp-select.fp-file .fp-file-zip,
886 .filemanager.fp-select.fp-zip .fp-file-zip {
890 .filemanager.fp-select .fp-file-setmain,
891 .filemanager.fp-select .fp-file-setmain-help {
895 .filemanager.fp-select.fp-cansetmain .fp-file-setmain,
896 .filemanager.fp-select.fp-cansetmain .fp-file-setmain-help {
897 display: inline-block;
900 .filemanager .fp-mainfile .fp-filename {
904 .filemanager.fp-select.fp-folder .fp-file-download {
912 .filemanager.fp-select .fp-original.fp-unknown,
913 .filemanager.fp-select .fp-original .fp-originloading {
917 .filemanager.fp-select .fp-original.fp-loading .fp-originloading {
921 .filemanager.fp-select .fp-reflist.fp-unknown,
922 .filemanager.fp-select .fp-reflist .fp-reflistloading {
926 .filemanager.fp-select .fp-reflist.fp-loading .fp-reflistloading {
930 .filemanager.fp-select .fp-reflist .fp-value {
932 border: 1px solid #bbb;
939 .filemanager.fp-select .fp-reflist .fp-value li {
942 // Create folder dialogue (File Manager only)
943 .filemanager.fp-mkdir-dlg {
947 .filemanager.fp-mkdir-dlg .fp-mkdir-dlg-text {
951 // Confirm dialogue for delete (File Manager only)
952 .filemanager.fp-dlg {
955 // file picker search dialog
956 .file-picker div.bd {
960 // Upload form for file picker.
965 line-height: inherit;
973 .fp-fileinfo .fp-value {
974 display: inline-block;