/* Vendoo Icons 1.0 — compact local SVG icon set based on Lucide geometry (ISC). */
(() => {
const ICONS = {
check: '',
heart: '',
'heart-filled': '',
pencil: '',
mail: '',
plus: '',
download: '',
'trash-2': '',
'zoom-in': '',
'zoom-out': '',
maximize: '',
x: '',
'triangle-alert': '',
sparkles: '',
image: '',
list: '',
folder: '',
'folder-open': '',
copy: '',
'external-link': '',
puzzle: '',
'shield-check': '',
'shield-alert': '',
'alert-triangle': '',
'database-backup': '',
'calendar-clock': '',
'scan-check': '',
'package-check': '',
'package-x': '',
'plug-zap': '',
'file-archive': '',
'package-open': '',
'radio-tower': '',
'badge-check': '',
'upload-cloud': '',
'check-circle-2': '',
'archive': '',
'refresh-cw': '',
'rotate-ccw': '',
'circle-help': '',
chrome: '',
firefox: '',
compass: '',
edge: '',
};
function svg(name, options = {}) {
const size = Number(options.size || 18);
const label = options.label ? ` role="img" aria-label="${String(options.label).replace(/"/g, '"')}"` : ' aria-hidden="true"';
return ``;
}
function render(root = document) {
root.querySelectorAll('[data-vd-icon]').forEach(node => {
const name = node.dataset.vdIcon;
const size = node.dataset.vdIconSize || 18;
node.innerHTML = svg(name, { size });
node.classList.add('vd-icon-host');
});
}
window.VendooIcons = Object.freeze({ svg, render, names: Object.keys(ICONS) });
document.addEventListener('DOMContentLoaded', () => render());
})();