stylus/popup/popup.css
narcolepticinsomniac 6277d34a2a Popup Mockup
2017-08-20 18:12:52 -04:00

585 lines
10 KiB
CSS

body {
width: 252px;
font-size: 12px;
font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
margin: 0;
}
.firefox body {
background-color: #fff;
}
body > div:not(#installed) {
margin-left: 0.75em;
margin-right: 0.75em;
}
.firefox .chromium-only {
display: none;
}
input[type=checkbox] {
outline: none;
}
#disable-all-wrapper {
padding: 0.3em 0 0.6em;
}
#no-styles {
font-style: italic;
}
.checker {
display: inline;
}
.style-name {
height: 100%;
line-height: 26px;
cursor: pointer;
font-weight: bold;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
text-decoration: none;
white-space: nowrap;
padding-right: 5px;
}
a {
color: #000;
transition: color .5s;
text-decoration-skip: ink;
}
a:hover {
color: #666;
}
.left-gutter {
display: table-cell;
width: 16px;
vertical-align: top;
}
.left-gutter input {
margin-bottom: 1px;
margin-top: 0;
margin-left: 0;
}
.main-controls {
display: table-cell;
}
body > DIV:last-of-type,
body.blocked > DIV {
border-bottom: none;
}
#installed {
border-bottom: 1px solid black;
padding-bottom: 2px;
padding-top: 2px;
max-height: 445px;
overflow-y: auto;
}
#installed .disabled .style-name, #installed.disabled .style-name {
text-decoration: line-through;
}
#installed .actions {
display: flex;
cursor: default;
}
#installed .actions a {
display: inline-flex;
justify-content: center;
align-items: center;
height: 18px;
width: 18px;
cursor: pointer;
text-decoration: none;
}
/* entry */
.entry {
display: flex;
align-items: center;
padding: 0 0.75em;
height: 26px;
}
.entry:nth-child(even) {
background-color: rgba(0, 0, 0, 0.05);
}
.entry .main-controls {
display: flex;
width: 100%;
height: 100%;
align-items: center;
}
.not-applied .checker,
.not-applied .style-name,
.not-applied .actions > * {
opacity: .2;
transition: opacity .5s ease-in-out .25s, color .5s ease-in-out .25s;
}
.not-applied:hover .checker,
.not-applied:hover .style-name,
.not-applied:hover .actions > * {
opacity: 1;
}
.not-applied:hover .style-name {
color: darkred;
}
.regexp-problem-indicator {
background-color: #d00;
width: 14px;
height: 14px;
line-height: 15px;
border-radius: 8px;
margin-right: 6px;
margin-left: 6px;
text-align: center;
color: white;
font-weight: bold;
box-sizing: border-box;
cursor: pointer;
font-size: 90%;
}
.regexp-partial .actions,
.regexp-invalid .actions {
order: 2;
}
#regexp-explanation {
position: fixed;
background-color: white;
left: 0;
right: 0;
padding: .5rem;
font-size: 90%;
border-top: 2px solid black;
border-bottom: 2px solid black;
box-shadow: 0 0 100px black;
display: flex;
flex-direction: column;
z-index: 999999;
}
#regexp-explanation > div {
display: none;
list-style-type: none;
padding: 0;
margin: 0;
}
.regexp-partial #regexp-partial,
.regexp-invalid #regexp-invalid {
display: block;
}
#regexp-explanation > div:not(:last-child) {
margin-bottom: .5rem;
}
.svg-icon {
pointer-events: none;
transition: fill .5s;
width: 14px;
height: 16px;
fill: #666;
}
.svg-icon.on, .svg-icon.off {
width: 18px;
height: 18px;
}
.svg-icon.on {
fill: hsl(0, 0%, 28%);
}
.svg-icon.off {
fill: hsl(0, 100%, 45%);
}
#installed.disabled .svg-icon.on {
fill: hsl(45, 100%, 38%);
}
#disableAll-label {
cursor: pointer;
display:flex;
}
#disableAll-label:hover .svg-icon.all-off, #disable-all-wrapper input[type="checkbox"]:checked + .main-controls #disableAll-label:hover .svg-icon.all-off, #installed.disabled a:hover .svg-icon.on {
fill: hsl(0, 0%, 0%);
}
#disableAll-label .svg-icon.all-off {
height: 18px;
width: 18px;
fill: hsl(0, 0%, 28%);
}
#disable-all-wrapper input[type="checkbox"]:checked + .main-controls .svg-icon.all-off {
width: 18px;
fill: hsl(0, 100%, 45%);
}
#disableAll-label::before {
content: "";
border-radius: 3px;
display: inline-flex;
width: 16px;
height: 16px;
background: #000 url(/images/icon/16.png)no-repeat center;
border: #000 solid;
border-width: 1px 0;
box-shadow: 0 0 3px #000, 0 0 3px hsla(0, 0%, 0%, .5);
margin: 0 4px 0 0;
transition: background .3s, border .3s, box-shadow .3s;
}
#disable-all-wrapper input[type="checkbox"]:checked + .main-controls #disableAll-label::before {
background: #000 url(/images/icon/16x.png)no-repeat center;
}
#installed .actions a.delete .svg-icon {
margin-top: -1px;
}
#installed .actions a.enable, #installed .actions a.disable {
margin: 0 2px;
}
a:hover .svg-icon {
fill: #000;
}
body > .actions {
margin-top: 0.5em;
}
.actions > div:not(:last-child):not(#disable-all-wrapper),
.actions > .main-controls > div:not(:last-child) {
margin-bottom: 0.75em;
}
.actions input,
.actions label {
vertical-align: middle;
}
body.blocked #installed > *,
body.blocked .actions > .main-controls,
body.blocked .actions > .left-gutter {
display: none;
}
/* Never shown, but can be enabled with a style */
#installed .enabled .actions a.enable,
#installed .disabled .actions a.disable,
#installed .left-gutter,
#disable-all-wrapper .left-gutter input[type="checkbox"] {
display: none;
}
.actions .left-gutter {
width: 0;
}
/* 'New style' links */
#write-style {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
#write-style-for {
margin-right: .6ex
}
.write-style-link {
margin-left: .6ex
}
.write-style-link::before {
content: "\00ad"; /* "soft" hyphen */
}
#match {
overflow-wrap: break-word;
display: block;
flex-grow: 9;
min-width: 200px;
}
/* "breadcrumbs" 'new style' links */
.breadcrumbs > .write-style-link {
margin-left: 0
}
.breadcrumbs:hover a {
color: #bbb;
text-decoration: none
}
/* "dot" after each subdomain name */
.breadcrumbs > .write-style-link[subdomain]::after {
content: "."
}
/* no "dot" after top-level domain */
.breadcrumbs > .write-style-link:nth-last-child(2)::after {
content: none
}
/* "forward slash" before path ("this URL") */
.breadcrumbs > .write-style-link:last-child::before {
content: "\200b/"
}
.breadcrumbs > .write-style-link:last-child:first-child::before,
.breadcrumbs > .write-style-link[subdomain=""] + .write-style-link::before {
content: none
}
/* suppress TLD-only link */
.breadcrumbs > .write-style-link[subdomain=""] {
display: none
}
/* :hover style */
.breadcrumbs.url\(\) > .write-style-link,
/* :hover or :focus on "this URL" sets class="url()" */
.breadcrumbs > .write-style-link:hover,
.breadcrumbs > .write-style-link:focus,
.breadcrumbs > .write-style-link:hover ~ .write-style-link[subdomain],
.breadcrumbs > .write-style-link:focus ~ .write-style-link[subdomain] {
color: inherit;
text-decoration: underline;
text-decoration-skip: ink;
}
/* action buttons */
#popup-options {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 1.2em 1px;
}
#popup-options button {
width: 32%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.firefox #popup-options button {
width: 49%;
}
/* confirm */
#confirm,
#confirm > div > span {
align-items: center;
justify-content: center;
}
#confirm {
z-index: 2147483647;
display: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
margin: 0 !important;
box-sizing: border-box;
background-color: rgba(0, 0, 0, 0.4);
animation: lights-off .5s cubic-bezier(.03, .67, .08, .94);
animation-fill-mode: both;
}
#confirm.lights-on {
animation: lights-on .25s ease-in-out;
animation-fill-mode: both;
}
#confirm.lights-on > div {
display: none;
}
#confirm[data-display=true] {
display: flex;
}
#confirm > div {
width: 80%;
height: 100px;
max-height: 80%;
min-height: 8em;
background-color: #fff;
display: flex;
flex-direction: column;
border: solid 2px rgba(0, 0, 0, 0.5);
}
#confirm > div > span {
display: flex;
flex: 1;
padding: 0 10px;
}
#confirm > div > b {
padding: 10px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#confirm > div > div {
padding: 10px;
text-align: center;
}
.non-windows #confirm > div > div {
direction: rtl;
text-align: right;
}
.unreachable .entry {
opacity: .25;
}
.blocked:before,
.unreachable:before {
padding: 5px 0.75em;
display: block;
font-weight: bold;
}
.blocked #installed:before,
.unreachable #installed:before {
padding: 1px 0.75em 9px;
display: block;
font-size: 90%;
margin-bottom: 5px;
}
.blocked:before {
content: "__MSG_stylusUnavailableForURL__";
}
.blocked #installed:before {
content: "__MSG_stylusUnavailableForURLdetails__";
}
.unreachable:before {
content: "__MSG_unreachableContentScript__";
}
.unreachable #installed:before {
content: "__MSG_unreachableFileHint__";
border-bottom: 1px solid black;
}
@keyframes lights-off {
from {
background-color: transparent;
}
to {
background-color: rgba(0, 0, 0, 0.4);
}
}
@keyframes lights-on {
from {
background-color: rgba(0, 0, 0, 0.4);
}
to {
background-color: transparent;
}
}
/* Popup adjustments for common zoom levels */
@media (-webkit-min-device-pixel-ratio: 1.05) {
#installed {
max-height: 420px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.1) {
#installed {
max-height: 393px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.15) {
#installed {
max-height: 371px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.2) {
#installed {
max-height: 348px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.25) {
#installed {
max-height: 326px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.30) {
#installed {
max-height: 306px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.35) {
#installed {
max-height: 288px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.4) {
#installed {
max-height: 271px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.45) {
#installed {
max-height: 256px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.5) {
#installed {
max-height: 244px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.55) {
#installed {
max-height: 199px;
}
}
@media (-webkit-min-device-pixel-ratio: 1.75) {
#installed {
max-height: 144px;
}
}