aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bluebey-studio/src/ui.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/bluebey-studio/src/ui.js')
-rw-r--r--public/bluebey-studio/src/ui.js20
1 files changed, 17 insertions, 3 deletions
diff --git a/public/bluebey-studio/src/ui.js b/public/bluebey-studio/src/ui.js
index b4c7d24..91e852b 100644
--- a/public/bluebey-studio/src/ui.js
+++ b/public/bluebey-studio/src/ui.js
@@ -74,9 +74,6 @@ function tabIcon(d) {
svg.setAttribute('stroke-width', '1.8');
svg.setAttribute('stroke-linecap', 'round');
svg.setAttribute('stroke-linejoin', 'round');
- svg.setAttribute('aria-hidden', 'true');
- // Sit the icon on the label's text baseline; the span and the text node keep
- // the two from touching.
svg.style.verticalAlign = 'baseline';
svg.style.flex = '0 0 auto';
const path = document.createElementNS(SVG_NS, 'path');
@@ -85,6 +82,23 @@ function tabIcon(d) {
return svg;
}
+/** A small stroke icon built from raw SVG markup (see the icons in panel.js). */
+export function svgIcon(inner, { size = 16, viewBox = '0 0 24 24', className = 'grp-icon' } = {}) {
+ const SVG_NS = 'http://www.w3.org/2000/svg';
+ const svg = document.createElementNS(SVG_NS, 'svg');
+ svg.setAttribute('viewBox', viewBox);
+ svg.setAttribute('width', String(size));
+ svg.setAttribute('height', String(size));
+ svg.setAttribute('fill', 'none');
+ svg.setAttribute('stroke', 'currentColor');
+ svg.setAttribute('stroke-width', '1.8');
+ svg.setAttribute('stroke-linecap', 'round');
+ svg.setAttribute('stroke-linejoin', 'round');
+ svg.setAttribute('class', className);
+ svg.innerHTML = inner;
+ return svg;
+}
+
function secIcon(d) {
const svg = tabIcon(d);
svg.setAttribute('class', 'sec-icon');