// ============================================================
// Festival Icon Library
// Bright, flat, vibrant SVGs. One per festival "vibe".
// Each icon is a 64x64 viewBox component for crisp rendering.
// ============================================================
/* global React */
const I = {
saffron: '#FF9F1C',
marigold: '#FFB627',
vermilion:'#E63946',
rose: '#FF4D6D',
magenta: '#D81E5B',
gold: '#FFD60A',
green: '#06A77D',
forest: '#0F7B5A',
teal: '#0FA3B1',
peacock: '#0077B6',
indigo: '#3D2C8D',
violet: '#7B2CBF',
cream: '#FFF6E5',
white: '#FFFFFF',
brown: '#7C3F00',
charcoal: '#1A1410',
ink: '#0E0A07',
};
const Icons = {};
Icons.Diya = () => (
);
Icons.Holi = () => (
);
Icons.SunHarvest = () => (
);
Icons.Crescent = () => (
);
Icons.StarChristmas = () => (
);
Icons.Pookalam = () => (
);
Icons.Trident = () => (
);
Icons.Om = () => (
);
Icons.Rakhi = () => (
);
Icons.Flute = () => (
);
Icons.Flag = () => (
);
Icons.GudiPot = () => (
);
Icons.Drum = () => (
);
Icons.Feather = () => (
);
Icons.Moon = () => (
);
Icons.River = () => (
);
Icons.Chariot = () => (
);
Icons.Trishul = () => (
);
Icons.Bodhi = () => (
);
Icons.Khanda = () => (
);
Icons.Star = () => (
);
const FESTIVAL_RULES = [
{ kw: /republic day|independence day|gandhi jayanti/i, icon: 'Flag', tint: '#FF9933' },
{ kw: /diwali|deepavali|tihar|deepotsav|kartik purnima|dev deepavali/i, icon: 'Diya', tint: '#FFB627' },
{ kw: /holi|rangapanchami|dol jatra|dol purnima/i, icon: 'Holi', tint: '#FF4D6D' },
{ kw: /pongal|sankranti|lohri|magh bihu|bhogali|makar/i, icon: 'SunHarvest', tint: '#FF9F1C' },
{ kw: /eid|ramadan|ramazan|muharram|milad|shab|barat|jumu/i, icon: 'Crescent', tint: '#FFD60A' },
{ kw: /christmas|easter|epiphany/i, icon: 'StarChristmas', tint: '#FFD60A' },
{ kw: /navroz|nowruz|parsi new year|jamshedi/i, icon: 'SunHarvest', tint: '#0FA3B1' },
{ kw: /onam|vishu|thiruvonam|atham/i, icon: 'Pookalam', tint: '#E63946' },
{ kw: /navratri|durga puja|dussehra|vijayadashami|kullu|mysuru/i, icon: 'Trident', tint: '#E63946' },
{ kw: /ganesh chaturthi|vinayaka|ganesh visarjan/i, icon: 'Om', tint: '#FF9F1C' },
{ kw: /raksha bandhan|rakhi|narali/i, icon: 'Rakhi', tint: '#FFD60A' },
{ kw: /janmashtami|gokulashtami|krishna|dahi handi/i, icon: 'Flute', tint: '#0077B6' },
{ kw: /ugadi|gudi padwa|puthandu|baisakhi|vaisakhi|chaitra/i, icon: 'GudiPot', tint: '#FF9F1C' },
{ kw: /bihu|rongali|kongali/i, icon: 'Drum', tint: '#06A77D' },
{ kw: /hornbill|wangala|sekrenyi|nongkrem|ali|aoling|losar|kharchi|behdienkhlam|chapchar|moatsu|tulsi vivah/i, icon: 'Feather', tint: '#E63946' },
{ kw: /karva chauth|sharad purnima|kojagari|teej|purnima/i, icon: 'Moon', tint: '#3D2C8D' },
{ kw: /kumbh|magh mela|chhath|kartik snan|ganga|godavari/i, icon: 'River', tint: '#0077B6' },
{ kw: /rath yatra|jagannath|puri/i, icon: 'Chariot', tint: '#FF9F1C' },
{ kw: /shivratri|mahashivratri|shivaratri|lingaraj/i, icon: 'Trishul', tint: '#3D2C8D' },
{ kw: /buddha|wesak|vesak|bodhi|tihar|losar/i, icon: 'Bodhi', tint: '#FFB627' },
{ kw: /guru|gurpurab|guru nanak|baisakhi|hola mohalla|khalsa/i, icon: 'Khanda', tint: '#FFD60A' },
{ kw: /harvest|crop|agricultur/i, icon: 'SunHarvest', tint: '#FF9F1C' },
];
function pickIcon(festival) {
const name = festival.name || '';
for (const rule of FESTIVAL_RULES) {
if (rule.kw.test(name)) return rule;
}
const t = (festival.type || '').toLowerCase();
if (t.includes('harvest') || t.includes('agricultur')) return { icon: 'SunHarvest', tint: '#FF9F1C' };
if (t.includes('tribal')) return { icon: 'Feather', tint: '#E63946' };
if (t.includes('religious')) return { icon: 'Om', tint: '#FF9F1C' };
if (t.includes('cultural')) return { icon: 'Star', tint: '#D81E5B' };
return { icon: 'Star', tint: '#D81E5B' };
}
function FestivalIcon({ festival, size = 28, style }) {
const rule = pickIcon(festival);
const Component = Icons[rule.icon] || Icons.Star;
return (
);
}
window.LOF_Icons = { Icons, FestivalIcon, pickIcon, FESTIVAL_RULES };