Store SVG icons in a <symbol> collection
+preserve the page colors via fill:currentColor and opacity transition.
This commit is contained in:
parent
998aa2322d
commit
df570dab9e
49
edit.html
49
edit.html
|
@ -86,6 +86,7 @@
|
||||||
}
|
}
|
||||||
#url {
|
#url {
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25rem;
|
||||||
|
color: inherit;
|
||||||
}
|
}
|
||||||
#url:not([href^="http"]) {
|
#url:not([href^="http"]) {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -93,7 +94,10 @@
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
transition: fill .5s;
|
transition: opacity .5s;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
.svg-icon:not(.applies-to-help):not(.dismiss) {
|
.svg-icon:not(.applies-to-help):not(.dismiss) {
|
||||||
margin-left: 0.2rem;
|
margin-left: 0.2rem;
|
||||||
|
@ -101,12 +105,14 @@
|
||||||
h2 .svg-icon, label .svg-icon {
|
h2 .svg-icon, label .svg-icon {
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
}
|
}
|
||||||
.svg-icon.info:hover {
|
.svg-icon:hover,
|
||||||
fill: #000000;
|
.svg-icon.info {
|
||||||
|
opacity: .6;
|
||||||
|
}
|
||||||
|
.svg-icon,
|
||||||
|
.svg-icon.info:hover {
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
a:hover .svg-icon.installed, .svg-icon.dismiss:hover {
|
|
||||||
fill: hsl(0, 0%, 40%);
|
|
||||||
}
|
|
||||||
#enabled {
|
#enabled {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
@ -275,10 +281,10 @@
|
||||||
max-height: calc(100vh - 8rem);
|
max-height: calc(100vh - 8rem);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
#help-popup .close-icon {
|
#help-popup .dismiss {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 4px;
|
right: 4px;
|
||||||
top: 4px;
|
top: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.keymap-list {
|
.keymap-list {
|
||||||
|
@ -514,7 +520,7 @@
|
||||||
<br>
|
<br>
|
||||||
<div class="applies-to">
|
<div class="applies-to">
|
||||||
<label i18n-text="appliesLabel">
|
<label i18n-text="appliesLabel">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="applies-to-help svg-icon info" fill="hsl(0, 0%, 40%)" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg>
|
<svg class="svg-icon info applies-to-help"><use xlink:href="#svg-icon-help"/></svg>
|
||||||
</label>
|
</label>
|
||||||
<ul class="applies-to-list"></ul>
|
<ul class="applies-to-list"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -565,7 +571,7 @@
|
||||||
<section id="basic-info">
|
<section id="basic-info">
|
||||||
<div id="basic-info-name">
|
<div id="basic-info-name">
|
||||||
<input id="name" class="style-contributor" i18n-placeholder="styleMissingName">
|
<input id="name" class="style-contributor" i18n-placeholder="styleMissingName">
|
||||||
<a id="url" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="svg-icon installed" fill="#000000" height="16" width="16" viewBox="0 0 8 8"><path d="M0 0v8h8v-2h-1v1h-6v-6h1v-1h-2zm4 0l1.5 1.5-2.5 2.5 1 1 2.5-2.5 1.5 1.5v-4h-4z"></path></svg></a>
|
<a id="url" target="_blank"><svg class="svg-icon"><use xlink:href="#svg-icon-external-link"/></svg></a>
|
||||||
</div>
|
</div>
|
||||||
<div id="basic-info-enabled">
|
<div id="basic-info-enabled">
|
||||||
<input type="checkbox" id="enabled" class="style-contributor">
|
<input type="checkbox" id="enabled" class="style-contributor">
|
||||||
|
@ -579,7 +585,7 @@
|
||||||
<a href="manage.html"><button id="cancel-button" i18n-text="styleCancelEditLabel"></button></a>
|
<a href="manage.html"><button id="cancel-button" i18n-text="styleCancelEditLabel"></button></a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h2 id="mozilla-format-heading" i18n-text="styleMozillaFormatHeading"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="to-mozilla-help" class="svg-icon info" fill="hsl(0, 0%, 40%)" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></h2>
|
<h2 id="mozilla-format-heading" i18n-text="styleMozillaFormatHeading"><svg id="to-mozilla-help" class="svg-icon info"><use xlink:href="#svg-icon-help"/></svg></h2>
|
||||||
<button id="from-mozilla" i18n-text="importLabel"></button>
|
<button id="from-mozilla" i18n-text="importLabel"></button>
|
||||||
<button id="to-mozilla" i18n-text="exportLabel"></button>
|
<button id="to-mozilla" i18n-text="exportLabel"></button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -605,21 +611,34 @@
|
||||||
<div class="option aligned">
|
<div class="option aligned">
|
||||||
<label id="keyMap-label" for="editor.keyMap" i18n-text="cm_keyMap"></label>
|
<label id="keyMap-label" for="editor.keyMap" i18n-text="cm_keyMap"></label>
|
||||||
<select data-option="keyMap" id="editor.keyMap"></select>
|
<select data-option="keyMap" id="editor.keyMap"></select>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="keyMap-help" class="svg-icon info" fill="hsl(0, 0%, 40%)" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg>
|
<svg id="keyMap-help" class="svg-icon info"><use xlink:href="#svg-icon-help"/></svg>
|
||||||
</div>
|
</div>
|
||||||
<div class="option aligned">
|
<div class="option aligned">
|
||||||
<label id="theme-label" for="editor.theme" i18n-text="cm_theme"></label>
|
<label id="theme-label" for="editor.theme" i18n-text="cm_theme"></label>
|
||||||
<select data-option="theme" id="editor.theme"></select>
|
<select data-option="theme" id="editor.theme"></select>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="lint"><h2 i18n-text="issues">: <span id="issue-count"></span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="lint-help" class="svg-icon info" fill="hsl(0, 0%, 40%)" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></h2><div></div></section>
|
<section id="lint"><h2 i18n-text="issues">: <span id="issue-count"></span><svg id="lint-help" class="svg-icon info"><use xlink:href="#svg-icon-help"/></svg></h2><div></div></section>
|
||||||
</div>
|
</div>
|
||||||
<section id="sections">
|
<section id="sections">
|
||||||
<h2><span id="sections-heading" i18n-text="styleSectionsTitle"></span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" id="sections-help" class="svg-icon info" fill="hsl(0, 0%, 40%)" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></h2>
|
<h2><span id="sections-heading" i18n-text="styleSectionsTitle"></span><svg id="sections-help" class="svg-icon info"><use xlink:href="#svg-icon-help"/></svg></h2>
|
||||||
</section>
|
</section>
|
||||||
<div id="help-popup">
|
<div id="help-popup">
|
||||||
<div class="title"></div><svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="close-icon svg-icon dismiss" fill="#000000" height="16" width="12" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"></path></svg>
|
<div class="title"></div><svg id="sections-help" class="svg-icon dismiss"><use xlink:href="#svg-icon-close"/></svg></svg>
|
||||||
<div class="contents"></div>
|
<div class="contents"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none">
|
||||||
|
<symbol id="svg-icon-external-link" height="16" width="16" viewBox="0 0 8 8">
|
||||||
|
<path d="M0 0v8h8v-2h-1v1h-6v-6h1v-1h-2zm4 0l1.5 1.5-2.5 2.5 1 1 2.5-2.5 1.5 1.5v-4h-4z"></path>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-icon-help" height="16" width="14" viewBox="0 0 14 16" i18n-alt="helpAlt">
|
||||||
|
<path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-icon-close" height="16" width="12" viewBox="0 0 12 16">
|
||||||
|
<path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48z"></path>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
4
edit.js
4
edit.js
|
@ -1348,7 +1348,7 @@ function fromMozillaFormat() {
|
||||||
|
|
||||||
function doImport() {
|
function doImport() {
|
||||||
var replaceOldStyle = this.name == "import-replace";
|
var replaceOldStyle = this.name == "import-replace";
|
||||||
popup.querySelector(".close-icon").click();
|
popup.querySelector(".dismiss").click();
|
||||||
var mozStyle = trimNewLines(popup.codebox.getValue());
|
var mozStyle = trimNewLines(popup.codebox.getValue());
|
||||||
var parser = new parserlib.css.Parser(), lines = mozStyle.split("\n");
|
var parser = new parserlib.css.Parser(), lines = mozStyle.split("\n");
|
||||||
var sectionStack = [{code: "", start: {line: 1, col: 1}}];
|
var sectionStack = [{code: "", start: {line: 1, col: 1}}];
|
||||||
|
@ -1575,7 +1575,7 @@ function showHelp(title, text) {
|
||||||
|
|
||||||
if (getComputedStyle(div).display == "none") {
|
if (getComputedStyle(div).display == "none") {
|
||||||
document.addEventListener("keydown", closeHelp);
|
document.addEventListener("keydown", closeHelp);
|
||||||
div.querySelector(".close-icon").onclick = closeHelp; // avoid chaining on multiple showHelp() calls
|
div.querySelector(".dismiss").onclick = closeHelp; // avoid chaining on multiple showHelp() calls
|
||||||
}
|
}
|
||||||
|
|
||||||
div.style.display = "block";
|
div.style.display = "block";
|
||||||
|
|
62
manage.html
62
manage.html
|
@ -10,11 +10,16 @@
|
||||||
}
|
}
|
||||||
a,
|
a,
|
||||||
a:visited {
|
a:visited {
|
||||||
color: #555;
|
color: inherit;
|
||||||
-webkit-transition: color 0.5s;
|
opacity: .75;
|
||||||
|
-webkit-transition: opacity 0.5s;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover,
|
||||||
color: #999;
|
a.homepage:hover {
|
||||||
|
opacity: .6;
|
||||||
|
}
|
||||||
|
a.homepage {
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
#header {
|
#header {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -47,20 +52,21 @@
|
||||||
height: 2px;
|
height: 2px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
.svg-icon.installed {
|
.svg-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-left: 0.3rem;
|
margin-left: 0.3rem;
|
||||||
margin-top: -4px;
|
margin-right: 0.3rem;
|
||||||
transition: fill .5s;
|
margin-top: -4px;
|
||||||
}
|
transition: opacity .5s;
|
||||||
a:hover .svg-icon.installed {
|
width: 16px;
|
||||||
fill: hsl(0, 0%, 40%);
|
height: 16px;
|
||||||
}
|
fill: currentColor;
|
||||||
.style-name {
|
}
|
||||||
margin-top: .25em;
|
.style-name {
|
||||||
word-break: break-word;
|
margin-top: .25em;
|
||||||
}
|
word-break: break-word;
|
||||||
|
}
|
||||||
.applies-to {
|
.applies-to {
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
@ -83,9 +89,10 @@
|
||||||
.enabled .enable {
|
.enabled .enable {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.style-name a[target="_blank"] {
|
.style-name a[target="_blank"] {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
color: inherit;
|
||||||
|
}
|
||||||
/* Default, no update buttons */
|
/* Default, no update buttons */
|
||||||
|
|
||||||
.update,
|
.update,
|
||||||
|
@ -219,10 +226,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template data-id="styleHomepage">
|
<template data-id="styleHomepage">
|
||||||
<a target="_blank">
|
<a target="_blank" class="homepage">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" class="svg-icon installed" height="16" width="16" viewBox="0 0 8 8">
|
<svg class="svg-icon"><use xlink:href="#svg-icon-external-link"/></svg>
|
||||||
<path d="M0 0v8h8v-2h-1v1h-6v-6h1v-1h-2zm4 0l1.5 1.5-2.5 2.5 1 1 2.5-2.5 1.5 1.5v-4h-4z" id="external-link"></path>
|
|
||||||
</svg>
|
|
||||||
</a>
|
</a>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -293,6 +298,13 @@
|
||||||
<p id="manage-text" i18n-html="manageText"></p>
|
<p id="manage-text" i18n-html="manageText"></p>
|
||||||
</div>
|
</div>
|
||||||
<div id="installed"></div>
|
<div id="installed"></div>
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none">
|
||||||
|
<symbol id="svg-icon-external-link" height="16" width="16" viewBox="0 0 8 8">
|
||||||
|
<path d="M0 0v8h8v-2h-1v1h-6v-6h1v-1h-2zm4 0l1.5 1.5-2.5 2.5 1 1 2.5-2.5 1.5 1.5v-4h-4z"></path>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
<script src="openOptions.js"></script>
|
<script src="openOptions.js"></script>
|
||||||
<script src="backup/fileSaveLoad.js"></script>
|
<script src="backup/fileSaveLoad.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user