| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | /********************************************************** Widget ***/ | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | .browse { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	min-width: 300px; | 
					
						
							|  |  |  | 	width: initial; | 
					
						
							|  |  |  | 	padding: 5px; | 
					
						
							|  |  |  | 	font-family: sans-serif; | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	background: gray; | 
					
						
							|  |  |  | 	/*color: rgba(255,255,255,0.8);*/ | 
					
						
							|  |  |  | 	color: white; | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .browse:not(:focus) { | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | .browse .v-block { | 
					
						
							|  |  |  | 	width: 100%; | 
					
						
							|  |  |  | 	height: auto; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	box-sizing: border-box; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | .browse .v-block:not(:first-of-type) { | 
					
						
							|  |  |  | 	border-top: 1px solid rgba(255, 255, 255, 0.3); | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							|  |  |  | .browse .v-block:empty { | 
					
						
							|  |  |  | 	display: none; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | /************************************************************ Path ***/ | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .browse .path { | 
					
						
							|  |  |  | 	padding: 5px; | 
					
						
							|  |  |  | 	padding-left: 10px; | 
					
						
							|  |  |  | 	padding-right: 10px; | 
					
						
							|  |  |  | 	white-space: nowrap; | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.8; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							|  |  |  | .browse .path:empty { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path:before { | 
					
						
							|  |  |  | 	content: "/"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir { | 
					
						
							|  |  |  | 	display: inline-block; | 
					
						
							|  |  |  | 	cursor: pointer; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir:after { | 
					
						
							|  |  |  | 	content: "/"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir:hover ~ .dir { | 
					
						
							|  |  |  | 	opacity: 0.2; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | 	cursor: text; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur:after { | 
					
						
							|  |  |  | 	content: ""; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur:hover { | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur:empty:not([contenteditable]) { | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	width: 50px; | 
					
						
							|  |  |  | 	height: 12px; | 
					
						
							|  |  |  | 	background: transparent; | 
					
						
							|  |  |  | 	opacity: 0; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur:empty:hover:not([contenteditable]) { | 
					
						
							|  |  |  | 	opacity: 0.6; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .path .dir.cur:empty:hover:not([contenteditable]):after { | 
					
						
							|  |  |  | 	content: "______"; | 
					
						
							|  |  |  | 	border: dashed white 1px; | 
					
						
							|  |  |  | 	cursor: text; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | /************************************************************ List ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | /* XXX need to make this resizable up but only to a certain size (~80vh) */ | 
					
						
							|  |  |  | .browse .list { | 
					
						
							|  |  |  | 	/* XXX need a way to make this automatic and depend on .browser  | 
					
						
							|  |  |  | 			setup to avoid multiple scrollbars and the need to manually | 
					
						
							|  |  |  | 	 		dive into the configuration to change the container size  | 
					
						
							|  |  |  | 			limits | 
					
						
							|  |  |  | 	*/ | 
					
						
							|  |  |  | 	max-height: 50vh; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	overflow-y: auto; | 
					
						
							|  |  |  | 	overflow-x: hidden; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  | .browse .list:empty { | 
					
						
							|  |  |  | 	display: block; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | .browse .list div { | 
					
						
							|  |  |  | 	padding: 5px; | 
					
						
							|  |  |  | 	padding-left: 10px; | 
					
						
							|  |  |  | 	padding-right: 10px; | 
					
						
							|  |  |  | 	cursor: pointer; | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.7; | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2015-06-21 04:15:54 +03:00
										 |  |  | .browse .list div:not(.not-traversable):after { | 
					
						
							|  |  |  | 	content: "/"; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | .browse:focus .list div.selected, | 
					
						
							|  |  |  | .browse .path .dir:hover, | 
					
						
							|  |  |  | .browse .list div:hover { | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 	background: rgba(0, 0, 0, 0.05); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 0.9; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .list div.selected { | 
					
						
							|  |  |  | 	background: rgba(0, 0, 0, 0.08); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse:focus .list div.selected { | 
					
						
							|  |  |  | 	background: rgba(0, 0, 0, 0.08); | 
					
						
							|  |  |  | 	box-shadow: rgba(0, 0, 0, 0.2) 0.1em 0.1em 0.2em;  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	opacity: 1; | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* XXX need to make the next two different...  */ | 
					
						
							|  |  |  | .browse .list div.filtered-out { | 
					
						
							|  |  |  | 	opacity: 0.5; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse:not(.show-filtered-out) .list div.filtered-out { | 
					
						
							|  |  |  | 	display: none;	 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .browse .list div.disabled { | 
					
						
							|  |  |  | 	opacity: 0.3; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /******************************************************** Theaming ***/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Light */ | 
					
						
							|  |  |  | .light .browse { | 
					
						
							|  |  |  | 	background: white; | 
					
						
							|  |  |  | 	color: rgba(0, 0, 0, 0.8); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .light .browse .v-block:not(:first-of-type) { | 
					
						
							|  |  |  | 	border-top: 1px solid rgba(0, 0, 0, 0.2); | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Dark */ | 
					
						
							|  |  |  | .dark .browse { | 
					
						
							|  |  |  | 	background: #0a0a0a; | 
					
						
							|  |  |  | 	color: rgba(255, 255, 255, 0.8); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | /* XXX can we make this simpler??? */ | 
					
						
							|  |  |  | .dark .browse:focus .list div.selected, | 
					
						
							|  |  |  | .dark .browse .path .dir:hover, | 
					
						
							|  |  |  | .dark .browse .list div:hover { | 
					
						
							|  |  |  | 	background: rgba(255, 255, 255, 0.08); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .dark .browse .list div.selected { | 
					
						
							|  |  |  | 	background: rgba(255, 255, 255, 0.1); | 
					
						
							| 
									
										
										
										
											2015-06-20 14:28:33 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2015-06-20 20:51:43 +03:00
										 |  |  | .dark .browse:focus .list div.selected { | 
					
						
							|  |  |  | 	background: rgba(255, 255, 255, 0.1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /*********************************************************************/ |