@@ -10,19 +10,19 @@
10 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// Install an app-specific stylesheet, just for development, after which
11 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
// it will be moved into default.css
12 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(function(){
13 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const head = document.head || document.querySelector('head'),
14 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
styleTag = document.createElement('style'),
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wh = '0.75cm',
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wh = '1em' /* fixed width/height of buttons */,
16 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
styleCSS = `
17 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.pikchr-src-button {
18 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
min-height: ${wh}; max-height: ${wh};
19 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
min-width: ${wh}; max-width: ${wh};
20 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
font-size: ${wh};
21 21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
position: absolute;
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- top: 0;
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- left: -${wh};
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ top: calc(-${wh} / 2);
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ left: 0;
24 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
border: 1px solid black;
25 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
background-color: rgba(255,255,0,0.2);
26 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
border-radius: 0.25cm;
27 27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z-index: 50;
28 28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cursor: pointer;
@@ -30,10 +30,11 @@
30 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
display: inline-flex;
31 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
align-items: center;
32 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
justify-content: center;
33 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
transform-origin: center;
34 34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
transition: transform 250ms linear;
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ padding: 0; margin: 0;
35 36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
36 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.pikchr-src-button.src-active {
37 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
transform: scaleX(-1);
38 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
39 40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.pikchr-src-button > span {
@@ -45,14 +46,14 @@
45 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.pikchr-copy-button {
46 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
min-width: ${wh}; max-width: ${wh};
47 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
min-height: ${wh}; max-height: ${wh};
48 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
display: inline-block;
49 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
position: absolute;
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- top: calc(${wh} * 1.25);
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- left: -${wh};
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ top: calc(-${wh} / 2);
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ left: calc(${wh} * 1.5);
52 53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
z-index: 50;
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- margin-right: 0;
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ padding: 0; margin: 0;
54 55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
55 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
`;
56 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
head.appendChild(styleTag);
57 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Adapted from https://stackoverflow.com/a/524721 */
58 59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
styleTag.type = 'text/css';
@@ -134,13 +135,16 @@
134 135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
135 136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
136 137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D.append(parent, D.addClass(srcView, 'hidden'), btnFlip, btnCopy);
137 138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
btnFlip.addEventListener('click', function(){
138 139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const svgStyle = window.getComputedStyle(svg);
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- srcView.style.width = svgStyle.width;
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- srcView.style.height = svgStyle.height;
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ srcView.style.minWidth = svgStyle.width;
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ srcView.style.minHeight = svgStyle.height;
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* ^^^ The SVG wrapper/parent element has a max-width, so the
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ textarea will be too small on tiny images and won't be
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ enlargable. */
141 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
btnFlip.classList.toggle('src-active');
142 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
D.toggleClass([svg, srcView], 'hidden');
143 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}, false);
144 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
145 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
146 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})(window.fossil);
147 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!