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 {
44 border-color: $input-border-color;
48 .file-picker .fp-content {
56 .filepicker.moodle-dialogue-fullscreen .file-picker .fp-content {
60 .file-picker .fp-content-loading {
67 .file-picker .fp-content .fp-object-container {
71 .file-picker .fp-def-search {
74 // Repositories on fp-repo-area (File Picker only)
75 .file-picker .fp-list {
76 list-style-type: none;
83 .file-picker .fp-list .fp-repo a {
88 .file-picker .fp-list .fp-repo.active {
92 .file-picker .fp-list .fp-repo-icon {
97 // Tools, Path & View on fp-navbar (File Picker and File Manager)
106 .fp-toolbar .disabled {
117 vertical-align: -15%;
121 .fp-viewbar:not(.disabled) a.checked {
122 background-color: darken(map-get($theme-colors, 'secondary'), 10%);
123 color: color-yiq(darken(map-get($theme-colors, 'secondary'), 10%));
124 border-color: darken(map-get($theme-colors, 'secondary'), 12.5%);
127 .fp-viewbar.disabled a {
128 pointer-events: none;
129 opacity: $btn-disabled-opacity;
130 @include box-shadow(none);
133 .file-picker .fp-clear-left {
141 .fp-pathbar .fp-path-folder {
142 background: url('[[pix:theme|fp/path_folder]]') left 3px no-repeat;
143 background-size: 12px 12px;
149 .fp-pathbar .fp-path-folder {
150 background-image: url('[[pix:theme|fp/path_folder_rtl]]');
154 .fp-pathbar .fp-path-folder-name {
157 // Icon view (File Picker and File Manager)
158 .fp-iconview .fp-file {
162 margin: 10px 10px 35px;
165 .fp-iconview .fp-thumbnail {
170 border: 1px solid #fff;
174 .fp-iconview .fp-thumbnail img {
175 border: 1px solid #ddd;
177 vertical-align: middle;
179 @include box-shadow(1px 1px 2px 0 #ccc);
182 .fp-iconview .fp-thumbnail:hover {
184 border: 1px solid #ddd;
186 @include box-shadow(inset 0 0 10px0 #ccc);
189 .fp-iconview .fp-filename-field {
192 word-wrap: break-word;
197 .fp-iconview .fp-file:focus,
198 .fp-iconview .fp-file:hover {
199 // Undo truncating of text on hover.
207 text-overflow: inherit;
211 .fp-iconview .fp-filename-field .fp-filename {
214 padding-bottom: 12px;
217 // Table view (File Picker only)
218 .file-picker .yui3-datatable table {
219 border: 0 solid #bbb;
222 // Tree view (File Manager only)
224 // first or middle sibling, no children
225 .file-picker .ygtvtn,
226 .filemanager .ygtvtn {
228 background: url('[[pix:moodle|y/tn]]') 0 0 no-repeat;
230 background: url('[[pix:moodle|y/tn_rtl]]') 0 0 no-repeat;
235 // first or middle sibling, collapsable
236 .file-picker .ygtvtm,
237 .filemanager .ygtvtm {
238 background: url('[[pix:moodle|y/tm]]') 0 10px no-repeat;
240 background-position: 2px 10px;
246 // first or middle sibling, collapsable, hover
247 .file-picker .ygtvtmh,
248 .filemanager .ygtvtmh {
249 background: url('[[pix:moodle|y/tm]]') 0 10px no-repeat;
251 background-position: 2px 10px;
257 // first or middle sibling, expandable
258 .file-picker .ygtvtp,
259 .filemanager .ygtvtp {
261 background: url('[[pix:moodle|y/tp]]') 0 10px no-repeat;
263 background: url('[[pix:moodle|y/tp_rtl]]') 2px 10px no-repeat;
269 // first or middle sibling, expandable, hover
270 .file-picker .ygtvtph,
271 .filemanager .ygtvtph {
273 background: url('[[pix:moodle|y/tp]]') 0 10px no-repeat;
275 background: url('[[pix:moodle|y/tp_rtl]]') 2px 10px no-repeat;
281 // last sibling, no children
282 .file-picker .ygtvln,
283 .filemanager .ygtvln {
285 background: url('[[pix:moodle|y/ln]]') 0 0 no-repeat;
287 background: url('[[pix:moodle|y/ln_rtl]]') 0 0 no-repeat;
292 // Last sibling, collapsable
293 .file-picker .ygtvlm,
294 .filemanager .ygtvlm {
295 background: url('[[pix:moodle|y/lm]]') 0 10px no-repeat;
297 background-position: 2px 10px;
303 // Last sibling, collapsable, hover
304 .file-picker .ygtvlmh,
305 .filemanager .ygtvlmh {
306 background: url('[[pix:moodle|y/lm]]') 0 10px no-repeat;
308 background-position: 2px 10px;
314 // Last sibling, expandable
315 .file-picker .ygtvlp,
316 .filemanager .ygtvlp {
318 background: url('[[pix:moodle|y/lp]]') 0 10px no-repeat;
320 background: url('[[pix:moodle|y/lp_rtl]]') 2px 10px no-repeat;
326 // Last sibling, expandable, hover
327 .file-picker .ygtvlph,
328 .filemanager .ygtvlph {
330 background: url('[[pix:moodle|y/lp]]') 0 10px no-repeat;
332 background: url('[[pix:moodle|y/lp_rtl]]') 2px 10px no-repeat;
339 .file-picker .ygtvloading,
340 .filemanager .ygtvloading {
341 background: transparent url('[[pix:moodle|y/loading]]') 0 0 no-repeat;
345 // the style for the empty cells that are used for rendering the depth of the node
346 .file-picker .ygtvdepthcell,
347 .filemanager .ygtvdepthcell {
348 background: url('[[pix:moodle|y/vline]]') 0 0 no-repeat;
350 background-position: 0 0;
356 .file-picker .ygtvblankdepthcell,
357 .filemanager .ygtvblankdepthcell {
364 text-decoration: none;
371 background-color: transparent;
374 text-decoration: none;
377 .file-picker .ygtvfocus,
378 .filemanager .ygtvfocus {
379 background-color: #eee;
401 vertical-align: middle;
407 // Repositories Login on fp-content (File Picker only)
409 .file-picker .fp-login-form {
414 // Upload on fp-content (File Picker only)
415 .file-picker .fp-upload-form {
421 .file-picker .fp-upload-form table {
424 // File exists dialogue on Upload (File Picker only)
425 .file-picker.fp-dlg {
429 .file-picker.fp-dlg .fp-dlg-buttons {
432 // Error dialogue on Upload (File Picker only)
433 .file-picker.fp-msg {
436 // Error on fp-content (File Picker only)
437 .file-picker .fp-content-error {
443 // Lazy loading on fp-content (File Picker only)
444 .file-picker .fp-nextpage {
448 .file-picker .fp-nextpage .fp-nextpage-loading {
452 .file-picker .fp-nextpage.loading .fp-nextpage-link {
456 .file-picker .fp-nextpage.loading .fp-nextpage-loading {
462 // Select Dialogue (File Picker and File Manager)
463 .fp-select .fp-select-loading {
472 .fp-select table .mdl-right {
476 .fp-select .fp-reflist .mdl-right {
480 .fp-select .fp-select-buttons {
484 .fp-select .fp-info {
485 font-size: $font-size-xs;
488 .fp-select .fp-thumbnail {
494 margin: 10px 20px 0 0;
496 border: 1px solid #ddd;
498 @include box-shadow(inset 0 0 10px 0 #ccc);
501 .fp-select .fp-thumbnail img {
502 border: 1px solid #ddd;
504 vertical-align: middle;
508 .fp-select .fp-fileinfo {
509 display: inline-block;
513 .file-picker.fp-select .fp-fileinfo {
517 .fp-select .fp-fileinfo div {
521 .file-picker.fp-select .uneditable {
525 .file-picker.fp-select .fp-select-loading {
529 .file-picker.fp-select.loading .fp-select-loading {
533 .file-picker.fp-select.loading form {
537 .fp-select .fp-dimensions.fp-unknown {
541 .fp-select .fp-size.fp-unknown {
545 .filemanager-loading {
549 .jsenabled .filemanager-loading {
554 .filemanager.fm-loading .filemanager-toolbar,
555 .filemanager.fm-loading .fp-pathbar,
556 .filemanager.fm-loading .filemanager-container,
557 .filemanager.fm-loaded .filemanager-loading,
558 .filemanager.fm-maxfiles .fp-btn-add,
559 .filemanager.fm-maxfiles .dndupload-message,
560 .filemanager.fm-noitems .fp-btn-download,
561 .filemanager.fm-noitems .fp-btn-delete,
562 .filemanager .fm-empty-container,
563 .filemanager.fm-noitems .filemanager-container .fp-content {
567 .filemanager .fp-img-downloading {
572 .filemanager .filemanager-updating {
577 .filemanager.fm-updating .filemanager-updating {
582 .filemanager.fm-updating .fm-content-wrapper,
583 .filemanager.fm-nomkdir .fp-btn-mkdir,
584 .fitem.disabled .filemanager .filemanager-toolbar,
585 .fitem.disabled .filemanager .fp-pathbar,
586 .fitem.disabled .filemanager .fp-restrictions,
587 .fitem.disabled .filemanager .fm-content-wrapper {
590 // File Manager layout
597 .filemanager-toolbar {
602 .filemanager .fp-pathbar.empty {
606 .filepicker-filelist,
607 .filemanager-container {
609 border: 1px solid $input-border-color;
612 .filemanager .fp-content {
618 .filemanager-container,
619 .filepicker-filelist {
623 .file-picker .yui3-datatable-header {
630 .fitem.disabled .filepicker-filelist,
631 .fitem.disabled .filemanager-container {
632 background-color: #ebebe4;
635 .fitem.disabled .fp-btn-choose {
639 .fitem.disabled .filepicker-filelist .filepicker-filename {
642 // Icon view (File Manager only)
643 .fp-iconview .fp-reficons1 {
651 .fp-iconview .fp-reficons2 {
659 .fp-iconview .fp-file.fp-hasreferences .fp-reficons1 {
660 background: url('[[pix:theme|fp/link]]') no-repeat;
662 transform: scaleX(-1);
665 background-position: bottom right;
666 background-size: 16px 16px;
669 .fp-iconview .fp-file.fp-isreference .fp-reficons2 {
670 background: url('[[pix:theme|fp/alias]]') no-repeat;
672 transform: scaleX(-1);
675 background-position: bottom left;
676 background-size: 16px 16px;
679 .filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail img {
683 .filemanager .fp-iconview .fp-file.fp-originalmissing .fp-thumbnail {
684 background: url([[pix:s/dead]]) no-repeat;
685 background-position: center center;
687 // Table view (File Manager only)
688 .filemanager .yui3-datatable table {
689 border: 0 solid #bbb;
693 /* Override YUI default styling */
694 /* stylelint-disable declaration-no-important */
697 .yui3-datatable-header {
701 background: #fff !important;
702 border-bottom: 1px solid #ccc !important;
703 border-left: 0 solid #fff !important;
704 color: #555 !important;
707 .yui3-datatable-odd .yui3-datatable-cell {
708 background-color: #f6f6f6 !important;
709 border-left: 0 solid #f6f6f6;
712 .yui3-datatable-even .yui3-datatable-cell {
713 background-color: #fff !important;
714 border-left: 0 solid #fff;
717 /* stylelint-enable */
719 .filemanager .fp-filename-icon.fp-hasreferences .fp-reficons1 {
720 background: url('[[pix:theme|fp/link_sm]]') no-repeat 0 0;
724 transform: scaleX(-1);
729 background-size: 16px 16px;
732 .filemanager .fp-filename-icon.fp-isreference .fp-reficons2 {
733 background: url('[[pix:theme|fp/alias_sm]]') no-repeat 0 0;
737 transform: scaleX(-1);
742 background-size: 16px 16px;
744 // Folder Context Menu (File Manager only)
745 .filemanager .fp-contextmenu {
749 .filemanager .fp-iconview .fp-folder.fp-hascontextmenu .fp-contextmenu {
755 justify-content: center;
758 .filemanager .fp-treeview .fp-folder.fp-hascontextmenu .fp-contextmenu,
759 .filemanager .fp-tableview .fp-folder.fp-hascontextmenu .fp-contextmenu {
766 // Drag and drop support (filemanager and filepicker form elements)
767 .filepicker-filelist .filepicker-container,
768 .filemanager.fm-noitems .fm-empty-container {
775 border: 2px dashed #bbb;
780 .filepicker-filelist .dndupload-target,
781 .filemanager-container .dndupload-target {
788 border: 2px dashed #fb7979;
792 @include box-shadow(0 0 0 10px #fff);
795 .filepicker-filelist.dndupload-over .dndupload-target,
796 .filemanager-container.dndupload-over .dndupload-target {
803 border: 2px dashed #6c8cd3;
812 .dndsupported .dndupload-message {
816 .dnduploadnotsupported-message {
820 .dndnotsupported .dnduploadnotsupported-message {
828 .dndsupported .dndupload-ready .dndupload-target {
832 .dndupload-uploadinprogress {
837 .dndupload-uploading .dndupload-uploadinprogress {
842 background: url([[pix:theme|fp/dnd_arrow]]) center no-repeat;
849 .fitem.disabled .filepicker-container,
850 .fitem.disabled .fm-empty-container {
854 .dndupload-progressbars {
859 .dndupload-inprogress .dndupload-progressbars {
863 .dndupload-inprogress .fp-content {
867 .filemanager.fm-noitems .dndupload-inprogress .fm-empty-container {
871 .filepicker-filelist.dndupload-inprogress .filepicker-container {
875 .filepicker-filelist.dndupload-inprogress a {
878 // Select Dialogue (File Manager only)
879 .filemanager.fp-select .fp-select-loading {
883 .filemanager.fp-select.loading .fp-select-loading {
887 .filemanager.fp-select.loading form {
891 .filemanager.fp-select.fp-folder .fp-license,
892 .filemanager.fp-select.fp-folder .fp-author,
893 .filemanager.fp-select.fp-file .fp-file-unzip,
894 .filemanager.fp-select.fp-folder .fp-file-unzip,
895 .filemanager.fp-select.fp-file .fp-file-zip,
896 .filemanager.fp-select.fp-zip .fp-file-zip {
900 .filemanager.fp-select .fp-file-setmain,
901 .filemanager.fp-select .fp-file-setmain-help {
905 .filemanager.fp-select.fp-cansetmain .fp-file-setmain,
906 .filemanager.fp-select.fp-cansetmain .fp-file-setmain-help {
907 display: inline-block;
910 .filemanager .fp-mainfile .fp-filename {
914 .filemanager.fp-select.fp-folder .fp-file-download {
922 .filemanager.fp-select .fp-original.fp-unknown,
923 .filemanager.fp-select .fp-original .fp-originloading {
927 .filemanager.fp-select .fp-original.fp-loading .fp-originloading {
931 .filemanager.fp-select .fp-reflist.fp-unknown,
932 .filemanager.fp-select .fp-reflist .fp-reflistloading {
936 .filemanager.fp-select .fp-reflist.fp-loading .fp-reflistloading {
940 .filemanager.fp-select .fp-reflist .fp-value {
942 border: 1px solid #bbb;
949 .filemanager.fp-select .fp-reflist .fp-value li {
952 // Create folder dialogue (File Manager only)
953 .filemanager.fp-mkdir-dlg {
957 .filemanager.fp-mkdir-dlg .fp-mkdir-dlg-text {
961 // Confirm dialogue for delete (File Manager only)
962 .filemanager.fp-dlg {
965 // file picker search dialog
966 .file-picker div.bd {
970 // Upload form for file picker.
975 line-height: inherit;
983 .fp-fileinfo .fp-value {
984 display: inline-block;