UNPKG

@delvicons/icons

Version:

DelvIcons - Comprehensive icon library with static and animated SVG icons for all frameworks

113 lines (106 loc) 2.18 kB
export interface IconProps { size?: number | string; color?: string; className?: string; animated?: boolean; } export interface AnimatedIconProps extends IconProps { duration?: string; timing?: string; iteration?: string; } export type IconName = 'arrow-right' | 'loading-spinner' | 'heart-beat'; export interface IconCategory { name: string; description: string; } export interface IconData { name: string; category: keyof typeof categories; tags: string[]; type: 'static' | 'animated'; variants: Record<string, string>; animations?: { default: { duration: string; timing: string; iteration: string; }; }; } export const categories = { "arrows": { "name": "Arrows", "description": "Directional arrows and navigation icons" }, "feedback": { "name": "Feedback", "description": "Loading states, notifications, and user feedback" }, "emotions": { "name": "Emotions", "description": "Hearts, likes, reactions, and emotional expressions" } } as const; export const icons = { "arrow-right": { "name": "Arrow Right", "category": "arrows", "tags": [ "arrow", "right", "next", "forward", "navigation" ], "type": "static", "variants": { "outline": "arrow-right.svg" } }, "loading-spinner": { "name": "Loading Spinner", "category": "feedback", "tags": [ "loading", "spinner", "progress", "wait", "animated" ], "type": "animated", "variants": { "animated": "loading-spinner.svg" }, "animations": { "default": { "duration": "2s", "timing": "linear", "iteration": "infinite" } } }, "heart-beat": { "name": "Heart Beat", "category": "emotions", "tags": [ "heart", "like", "love", "favorite", "animated", "pulse" ], "type": "animated", "variants": { "animated": "heart-beat.svg" }, "animations": { "default": { "duration": "2s", "timing": "ease-in-out", "iteration": "infinite" } } } } as const;