/* FreeSize — icons, logo, app icon. All exported to window. */
const Icon = ({ path, size = 18, stroke = 1.7, fill = "none", style, children }) => (
);
const IconChevron = (p) => ;
const IconFolder = (p) => (
);
const IconFile = (p) => (
);
const IconSearch = (p) => (
);
const IconRadar = (p) => (
);
const IconSettings = (p) => (
);
const IconFolderOpen = (p) => (
);
const IconExternal = (p) => (
);
const IconCheck = (p) => ;
const IconX = (p) => ;
const IconSun = (p) => (
);
const IconMoon = (p) => ;
const IconSliders = (p) => (
);
const IconRefresh = (p) => (
);
const IconChevDown = (p) => ;
const IconHardDrive = (p) => (
);
const IconGrid = (p) => (
);
const IconList = (p) => (
);
const IconLock = (p) => (
);
const IconArrowRight = (p) => ;
const IconInfo = (p) => (
);
const IconSync = (p) => (
);
const IconSpark = (p) => (
);
const IconSunburst = (p) => (
);
// ---- App icon: a treemap tile built from rectangles + the heatmap palette ----
const AppIcon = ({ size = 28, radius }) => {
const r = radius != null ? radius : size * 0.26;
const heat = (window.FZ && window.FZ.heatColor) || (() => "#5ab");
const pad = size * 0.085;
const g = size * 0.05; // gap
const inner = size - pad * 2;
// partition the tile into treemap-like rects
const w1 = inner * 0.56;
const w2 = inner - w1 - g;
const h1 = inner * 0.62;
const h2 = inner - h1 - g;
const rr = Math.max(1.5, size * 0.05);
const tiles = [
{ x: pad, y: pad, w: w1, h: inner, t: 0.95 },
{ x: pad + w1 + g, y: pad, w: w2, h: h1, t: 0.55 },
{ x: pad + w1 + g, y: pad + h1 + g, w: w2 * 0.5 - g / 2, h: h2, t: 0.18 },
{ x: pad + w1 + g + w2 * 0.5 + g / 2, y: pad + h1 + g, w: w2 * 0.5 - g / 2, h: h2, t: 0.34 },
];
return (
);
};
const Logo = ({ iconSize = 26, showSub = true }) => (
FreeSize
{showSub && Disk Space Analyzer}
);
Object.assign(window, {
Icon, IconChevron, IconChevDown, IconFolder, IconFolderOpen, IconFile, IconSearch,
IconRadar, IconSettings, IconExternal, IconCheck, IconX, IconSun, IconMoon, IconSliders,
IconRefresh, IconHardDrive, IconGrid, IconList, IconLock, IconArrowRight, IconInfo,
IconSync, IconSpark, IconSunburst, AppIcon, Logo,
});