/* ========================================================================== icons.ts -------------------------------------------------------------------------- Inline 24x24 SVG icons, as data URIs so there are no asset files to deploy and nothing to resolve against a static path. The source loaded eight SVGs from a brand asset directory via a global `window.staticPath` injected by the server template. The three stats icons (views / chat / reply) were plain geometric UI glyphs and are reproduced closely; the five banner pictograms were 91mm Inkscape drawings and are recreated here as clean 24px equivalents. They render at 23.5px and 65% opacity, so swapping any of them for your own is a one-line change. ========================================================================== */ (function (SB: any) { "use strict"; const PATHS: Record = { // --- stats row --- views: "M4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h6c.768 0 1.47-.289 2-.764.53.475 " + "1.232.764 2 .764h6a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-6c-.768 0-1.47.289-2 " + ".764A2.989 2.989 0 0 0 10 4H4Zm7 3v10a1 1 0 0 1-1 1H4V6h6a1 1 0 0 1 1 " + "1Zm2 10V7a1 1 0 0 1 1-1h6v12h-6a1 1 0 0 1-1-1Z", chat: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10a9.96 9.96 0 0 1-4.587-1.112" + "l-3.826 1.067a1.25 1.25 0 0 1-1.54-1.54l1.068-3.823A9.96 9.96 0 0 1 2 12" + "C2 6.477 6.477 2 12 2Zm0 1.5A8.5 8.5 0 0 0 3.5 12c0 1.47.373 2.883 " + "1.073 4.137l.15.27-1.112 3.984 3.987-1.112.27.15A8.5 8.5 0 1 0 12 3.5Z" + "M8.75 13h4.498a.75.75 0 0 1 .102 1.493l-.102.007H8.75a.75.75 0 0 1-.102" + "-1.493L8.75 13Zm0-3.5h6.505a.75.75 0 0 1 .101 1.493l-.101.007H8.75a.75" + ".75 0 0 1-.102-1.493L8.75 9.5Z", reply: "M12 2c5.523 0 10 4.478 10 10s-4.477 10-10 10S2 17.522 2 12 6.477 2 12 2Z" + "m0 1.667c-4.595 0-8.333 3.738-8.333 8.333 0 4.595 3.738 8.333 8.333 " + "8.333 4.595 0 8.333-3.738 8.333-8.333 0-4.595-3.738-8.333-8.333-8.333Z" + "M11.25 6a.75.75 0 0 1 .743.648L12 6.75V12h3.25a.75.75 0 0 1 .102 1.493" + "l-.102.007h-4a.75.75 0 0 1-.743-.648l-.007-.102v-6a.75.75 0 0 1 .75-.75Z", // --- banner --- // "new": sparkle sparkle: "M12 2l1.85 5.15L19 9l-5.15 1.85L12 16l-1.85-5.15L5 9l5.15-1.85L12 2Z" + "M18.5 13.5l.85 2.65 2.65.85-2.65.85-.85 2.65-.85-2.65L15 17l2.65-.85" + ".85-2.65Z", // "competitive": ascending bars graph: "M4 15.5h3.2V21H4v-5.5ZM10.4 9.5h3.2V21h-3.2V9.5ZM16.8 4h3.2v17h-3.2V4Z", // "trending": flame fire: "M13.3 1.8c.6 3.6 4.2 5.6 4.2 10.2a5.5 5.5 0 0 1-11 0c0-2 .8-3.4 1.9-4.7" + ".2 1.4 1 2.3 2 2.3 1.2 0 2.1-1 2.1-2.5 0-2.4-1.1-3.7 .8-5.3Z" + "M12 22.2c-3.7 0-6.7-2.7-6.7-6.1 0-.6.1-1.2.3-1.8a7.5 7.5 0 0 0 13.1 0" + "c.2.6.3 1.2.3 1.8 0 3.4-3 6.1-6.7 6.1Z", // "reviewing": magnifier glass: "M10.5 3a7.5 7.5 0 1 0 4.55 13.46l4.24 4.25a1 1 0 0 0 1.42-1.42l-4.25" + "-4.24A7.5 7.5 0 0 0 10.5 3Zm0 2a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Z", // "underperforming": open door door: "M11 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6v-2H5V5h6V3Zm3.3 3.3L13 7.7" + "l3.3 3.3H8v2h8.3L13 16.3l1.3 1.4L20 12l-5.7-5.7Z", }; function toDataUri(path: string): string { const svg = ''; return "data:image/svg+xml," + encodeURIComponent(svg); } const icons: Record = {}; Object.keys(PATHS).forEach(function (name) { icons[name] = toDataUri(PATHS[name]); }); SB.icons = icons; })((window as any).SB = (window as any).SB || {});