/* fsicons.js Inline SVG icon set for the ArozOS file system web apps. Drawn locally rather than pulled from an icon font so the toolbar glyphs match the file icons in shared/filethumb.js and stay crisp at any size. No emoji anywhere - see CLAUDE.md rule 6. Usage: element.innerHTML = FSIcons.back; FSIcons.inject(document); // fills every [data-fsicon] element Icons are 24x24 stroke outlines that take their colour from the element's CSS `color`, so they theme automatically. */ (function (global) { "use strict"; var S = ''; var ICONS = { back: S + '', forward: S + '', up: S + '', refresh: S + '', menu: S + '', //Descending bars with a direction arrow - the sort control sort: S + '', search: S + '', close: S + '', more: S + '', check: S + '', home: S + '', /* View modes */ viewGrid: S + '', viewList: S + '', viewDetails: S + '', sidePanel: S + '', /* File operations */ open: S + '', openWith: S + '', copy: S + '', cut: S + '', paste: S + '', rename: S + '', trash: S + '', upload: S + '', download: S + '', newFolder: S + '', newFile: S + '', zip: S + '', unzip: S + '', share: S + '', info: S + '', selectAll: S + '', clearSel: S + '', moon: S + '', /* Sidebar roots */ clock: S + '', document: S + '', globe: S + '', cube: S + '', code: S + '', drive: S + '', folder: S + '', /* Filled sidebar glyphs, matching the coloured tiles in the design */ desktop: '', image: '', video: '', music: '', download_filled: S + '', /* Transfer panel */ minus: S + '', chevronDown: S + '', chevronUp: S + '', cloudUpload: S + '', pause: S + '', play: S + '', pauseCircle: S + '', playCircle: S + '', checkCircle: S + '', closeCircle: S + '' }; //Fill every element carrying data-fsicon="" with its glyph ICONS.inject = function (scope) { var root = scope || document; var nodes = root.querySelectorAll('[data-fsicon]'); for (var i = 0; i < nodes.length; i++) { var name = nodes[i].getAttribute('data-fsicon'); if (ICONS[name] != undefined && typeof ICONS[name] === 'string') { nodes[i].innerHTML = ICONS[name]; } } }; global.FSIcons = ICONS; })(window);