@nice2dev/icons-filetypes 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +158 -0
- package/dist/index.cjs +2956 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +504 -0
- package/dist/index.mjs +2956 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/types.ts","../src/createFiletypeIcon.tsx","../src/documents.tsx","../src/media.tsx","../src/images.tsx","../src/code.tsx","../src/archives.tsx","../src/misc.tsx","../src/index.ts"],"sourcesContent":["/**\r\n * @file types.ts\r\n * @description Type definitions for @nice2dev/icons-filetypes\r\n */\r\n\r\nimport type { SVGProps, CSSProperties, ReactNode as _ReactNode } from 'react';\r\n\r\n/* ─── Icon Categories ─── */\r\n\r\nexport type DocumentIconName =\r\n | 'doc'\r\n | 'docx'\r\n | 'xls'\r\n | 'xlsx'\r\n | 'ppt'\r\n | 'pptx'\r\n | 'pdf'\r\n | 'txt'\r\n | 'rtf'\r\n | 'odt'\r\n | 'ods'\r\n | 'odp'\r\n | 'csv'\r\n | 'pages'\r\n | 'numbers'\r\n | 'keynote';\r\n\r\nexport type AdobeIconName =\r\n | 'psd'\r\n | 'ai'\r\n | 'indd'\r\n | 'xd'\r\n | 'ae'\r\n | 'pr'\r\n | 'lr'\r\n | 'br'\r\n | 'dw'\r\n | 'an'\r\n | 'au'\r\n | 'fl';\r\n\r\nexport type VideoIconName =\r\n | 'mp4'\r\n | 'avi'\r\n | 'mkv'\r\n | 'mov'\r\n | 'webm'\r\n | 'wmv'\r\n | 'flv'\r\n | 'm4v'\r\n | 'mpg'\r\n | 'mpeg'\r\n | '3gp'\r\n | 'ts'\r\n | 'vob';\r\n\r\nexport type AudioIconName =\r\n | 'mp3'\r\n | 'wav'\r\n | 'flac'\r\n | 'ogg'\r\n | 'aac'\r\n | 'm4a'\r\n | 'wma'\r\n | 'aiff'\r\n | 'mid'\r\n | 'midi';\r\n\r\nexport type ImageIconName =\r\n | 'jpg'\r\n | 'jpeg'\r\n | 'png'\r\n | 'gif'\r\n | 'svg'\r\n | 'webp'\r\n | 'bmp'\r\n | 'tiff'\r\n | 'ico'\r\n | 'raw'\r\n | 'cr2'\r\n | 'nef'\r\n | 'heic'\r\n | 'heif'\r\n | 'avif'\r\n | 'eps';\r\n\r\nexport type CodeIconName =\r\n | 'js'\r\n | 'ts'\r\n | 'jsx'\r\n | 'tsx'\r\n | 'py'\r\n | 'java'\r\n | 'cs'\r\n | 'cpp'\r\n | 'c'\r\n | 'h'\r\n | 'go'\r\n | 'rs'\r\n | 'rb'\r\n | 'php'\r\n | 'swift'\r\n | 'kt'\r\n | 'scala'\r\n | 'r'\r\n | 'sql'\r\n | 'html'\r\n | 'css'\r\n | 'scss'\r\n | 'less'\r\n | 'json'\r\n | 'xml'\r\n | 'yaml'\r\n | 'yml'\r\n | 'toml'\r\n | 'md'\r\n | 'vue'\r\n | 'svelte'\r\n | 'dart'\r\n | 'lua'\r\n | 'sh'\r\n | 'bash'\r\n | 'ps1'\r\n | 'bat';\r\n\r\nexport type ArchiveIconName =\r\n | 'zip'\r\n | 'rar'\r\n | '7z'\r\n | 'tar'\r\n | 'gz'\r\n | 'bz2'\r\n | 'xz'\r\n | 'iso'\r\n | 'dmg'\r\n | 'pkg';\r\n\r\nexport type FontIconName = 'ttf' | 'otf' | 'woff' | 'woff2' | 'eot';\r\n\r\nexport type DatabaseIconName = 'sql' | 'db' | 'sqlite' | 'mdb' | 'accdb';\r\n\r\nexport type Model3DIconName =\r\n | 'obj'\r\n | 'fbx'\r\n | 'gltf'\r\n | 'glb'\r\n | 'stl'\r\n | 'blend'\r\n | 'max'\r\n | 'maya'\r\n | 'c4d';\r\n\r\nexport type CADIconName = 'dwg' | 'dxf' | 'step' | 'iges' | 'sldprt' | 'catpart';\r\n\r\nexport type FiletypeIconName =\r\n | DocumentIconName\r\n | AdobeIconName\r\n | VideoIconName\r\n | AudioIconName\r\n | ImageIconName\r\n | CodeIconName\r\n | ArchiveIconName\r\n | FontIconName\r\n | DatabaseIconName\r\n | Model3DIconName\r\n | CADIconName;\r\n\r\n/* ─── Variant Types ─── */\r\n\r\nexport type FiletypeIconVariant = 'filled' | 'outlined' | 'colored';\r\n\r\n/* ─── Icon Props ─── */\r\n\r\nexport interface FiletypeIconProps extends Omit<SVGProps<SVGSVGElement>, 'ref'> {\r\n /** Icon size (width and height) */\r\n size?: number | string;\r\n /** Primary color (default: currentColor) */\r\n color?: string;\r\n /** File extension color (for colored variant) */\r\n extensionColor?: string;\r\n /** Icon variant */\r\n variant?: FiletypeIconVariant;\r\n /** Custom title for accessibility */\r\n title?: string;\r\n /** CSS class name */\r\n className?: string;\r\n /** Inline styles */\r\n style?: CSSProperties;\r\n}\r\n\r\n/**\r\n * Internal props interface with required color/variant (used in render functions).\r\n * The factory provides defaults so these are guaranteed at render time.\r\n */\r\nexport interface FiletypeRenderProps {\r\n size: number | string;\r\n color: string;\r\n extensionColor: string;\r\n variant: FiletypeIconVariant;\r\n}\r\n\r\n/* ─── Factory Options ─── */\r\n\r\nexport interface CreateFiletypeIconOptions {\r\n displayName: string;\r\n extension?: string;\r\n defaultExtensionColor?: string;\r\n}\r\n\r\n/* ─── Category Metadata ─── */\r\n\r\nexport interface FiletypeCategory {\r\n name: string;\r\n icons: FiletypeIconName[];\r\n description: string;\r\n}\r\n\r\nexport const FILETYPE_CATEGORIES: FiletypeCategory[] = [\r\n {\r\n name: 'Documents',\r\n icons: [\r\n 'doc',\r\n 'docx',\r\n 'xls',\r\n 'xlsx',\r\n 'ppt',\r\n 'pptx',\r\n 'pdf',\r\n 'txt',\r\n 'rtf',\r\n 'odt',\r\n 'ods',\r\n 'odp',\r\n 'csv',\r\n 'pages',\r\n 'numbers',\r\n 'keynote',\r\n ],\r\n description: 'Office documents and text files',\r\n },\r\n {\r\n name: 'Adobe',\r\n icons: ['psd', 'ai', 'indd', 'xd', 'ae', 'pr', 'lr', 'br', 'dw', 'an', 'au', 'fl'],\r\n description: 'Adobe Creative Cloud formats',\r\n },\r\n {\r\n name: 'Video',\r\n icons: [\r\n 'mp4',\r\n 'avi',\r\n 'mkv',\r\n 'mov',\r\n 'webm',\r\n 'wmv',\r\n 'flv',\r\n 'm4v',\r\n 'mpg',\r\n 'mpeg',\r\n '3gp',\r\n 'ts',\r\n 'vob',\r\n ],\r\n description: 'Video file formats',\r\n },\r\n {\r\n name: 'Audio',\r\n icons: ['mp3', 'wav', 'flac', 'ogg', 'aac', 'm4a', 'wma', 'aiff', 'mid', 'midi'],\r\n description: 'Audio file formats',\r\n },\r\n {\r\n name: 'Images',\r\n icons: [\r\n 'jpg',\r\n 'jpeg',\r\n 'png',\r\n 'gif',\r\n 'svg',\r\n 'webp',\r\n 'bmp',\r\n 'tiff',\r\n 'ico',\r\n 'raw',\r\n 'cr2',\r\n 'nef',\r\n 'heic',\r\n 'heif',\r\n 'avif',\r\n 'eps',\r\n ],\r\n description: 'Image and photo formats',\r\n },\r\n {\r\n name: 'Code',\r\n icons: [\r\n 'js',\r\n 'ts',\r\n 'jsx',\r\n 'tsx',\r\n 'py',\r\n 'java',\r\n 'cs',\r\n 'cpp',\r\n 'c',\r\n 'h',\r\n 'go',\r\n 'rs',\r\n 'rb',\r\n 'php',\r\n 'swift',\r\n 'kt',\r\n 'scala',\r\n 'r',\r\n 'sql',\r\n 'html',\r\n 'css',\r\n 'scss',\r\n 'less',\r\n 'json',\r\n 'xml',\r\n 'yaml',\r\n 'yml',\r\n 'toml',\r\n 'md',\r\n 'vue',\r\n 'svelte',\r\n 'dart',\r\n 'lua',\r\n 'sh',\r\n 'bash',\r\n 'ps1',\r\n 'bat',\r\n ],\r\n description: 'Programming and markup files',\r\n },\r\n {\r\n name: 'Archives',\r\n icons: ['zip', 'rar', '7z', 'tar', 'gz', 'bz2', 'xz', 'iso', 'dmg', 'pkg'],\r\n description: 'Compressed archives',\r\n },\r\n {\r\n name: 'Fonts',\r\n icons: ['ttf', 'otf', 'woff', 'woff2', 'eot'],\r\n description: 'Font files',\r\n },\r\n {\r\n name: 'Databases',\r\n icons: ['sql', 'db', 'sqlite', 'mdb', 'accdb'],\r\n description: 'Database files',\r\n },\r\n {\r\n name: '3D Models',\r\n icons: ['obj', 'fbx', 'gltf', 'glb', 'stl', 'blend', 'max', 'maya', 'c4d'],\r\n description: '3D model formats',\r\n },\r\n {\r\n name: 'CAD',\r\n icons: ['dwg', 'dxf', 'step', 'iges', 'sldprt', 'catpart'],\r\n description: 'CAD and engineering files',\r\n },\r\n];\r\n\r\n/* ─── Extension Colors ─── */\r\n\r\nexport const EXTENSION_COLORS: Record<string, string> = {\r\n // Microsoft Office\r\n doc: '#2B579A',\r\n docx: '#2B579A',\r\n xls: '#217346',\r\n xlsx: '#217346',\r\n ppt: '#D24726',\r\n pptx: '#D24726',\r\n\r\n // Adobe\r\n psd: '#31A8FF',\r\n ai: '#FF9A00',\r\n indd: '#FF3366',\r\n xd: '#FF61F6',\r\n ae: '#9999FF',\r\n pr: '#9999FF',\r\n lr: '#31A8FF',\r\n\r\n // Google\r\n pdf: '#EA4335',\r\n\r\n // Code - Languages\r\n js: '#F7DF1E',\r\n ts: '#3178C6',\r\n jsx: '#61DAFB',\r\n tsx: '#61DAFB',\r\n py: '#3776AB',\r\n java: '#E76F00',\r\n cs: '#512BD4',\r\n cpp: '#00599C',\r\n go: '#00ADD8',\r\n rs: '#DEA584',\r\n rb: '#CC342D',\r\n php: '#777BB4',\r\n swift: '#FA7343',\r\n kt: '#7F52FF',\r\n dart: '#00B4AB',\r\n\r\n // Web\r\n html: '#E34F26',\r\n css: '#1572B6',\r\n scss: '#CD6799',\r\n vue: '#4FC08D',\r\n svelte: '#FF3E00',\r\n\r\n // Data\r\n json: '#000000',\r\n xml: '#F39C12',\r\n yaml: '#CB171E',\r\n md: '#083FA1',\r\n\r\n // Archives\r\n zip: '#E8A317',\r\n rar: '#6B3FA0',\r\n '7z': '#41A13E',\r\n tar: '#1D1D1D',\r\n\r\n // Media\r\n mp4: '#8E44AD',\r\n mp3: '#1DB954',\r\n jpg: '#00A98F',\r\n png: '#3498DB',\r\n gif: '#9B59B6',\r\n svg: '#FFB13B',\r\n\r\n // 3D\r\n blend: '#EA7600',\r\n fbx: '#2C8FFF',\r\n gltf: '#5C9EAD',\r\n stl: '#009E73',\r\n\r\n // CAD\r\n dwg: '#E51937',\r\n step: '#2980B9',\r\n};\r\n\r\n/**\r\n * Get extension color for a file type.\r\n */\r\nexport function getExtensionColor(extension: string): string {\r\n return EXTENSION_COLORS[extension.toLowerCase()] || '#6B7280';\r\n}\r\n","/**\r\n * @file createFiletypeIcon.tsx\r\n * @description Factory function for creating file type icons\r\n */\r\n\r\nimport React, { forwardRef } from 'react';\r\n\r\nimport type { FiletypeIconProps, FiletypeRenderProps, CreateFiletypeIconOptions } from './types';\r\nimport { getExtensionColor } from './types';\r\n\r\n/**\r\n * Creates a file type icon component with consistent styling.\r\n *\r\n * @param renderContent - Function that renders the icon's unique elements\r\n * @param options - Icon creation options\r\n * @returns A React component for the file type icon\r\n */\r\nexport function createFiletypeIcon(\r\n renderContent: (props: FiletypeRenderProps) => React.ReactNode,\r\n options: CreateFiletypeIconOptions,\r\n): React.ForwardRefExoticComponent<FiletypeIconProps & React.RefAttributes<SVGSVGElement>> {\r\n const { displayName, extension, defaultExtensionColor } = options;\r\n\r\n const Icon = forwardRef<SVGSVGElement, FiletypeIconProps>(\r\n (\r\n {\r\n size = 24,\r\n color = 'currentColor',\r\n extensionColor,\r\n variant = 'colored',\r\n title,\r\n className = '',\r\n style,\r\n ...svgProps\r\n },\r\n ref,\r\n ) => {\r\n const effectiveExtensionColor =\r\n extensionColor ||\r\n defaultExtensionColor ||\r\n (extension ? getExtensionColor(extension) : color);\r\n\r\n return (\r\n <svg\r\n ref={ref}\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n className={`nice-filetype-icon ${className}`.trim()}\r\n style={style}\r\n role=\"img\"\r\n aria-label={title || `${extension?.toUpperCase() || displayName} file icon`}\r\n {...svgProps}\r\n >\r\n {title && <title>{title}</title>}\r\n {renderContent({ size, color, extensionColor: effectiveExtensionColor, variant })}\r\n </svg>\r\n );\r\n },\r\n );\r\n\r\n Icon.displayName = displayName;\r\n return Icon;\r\n}\r\n\r\n/**\r\n * Renders the base file icon shape (folder/document outline).\r\n */\r\nexport function renderFileBase(\r\n color: string,\r\n variant: FiletypeIconProps['variant'],\r\n fillColor?: string,\r\n): React.ReactNode {\r\n const fill = variant === 'filled' || variant === 'colored' ? fillColor || '#F3F4F6' : 'none';\r\n\r\n return (\r\n <>\r\n {/* Main document shape with folded corner */}\r\n <path\r\n d=\"M14 2H6C4.9 2 4 2.9 4 4v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6z\"\r\n fill={fill}\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n {/* Folded corner */}\r\n <path\r\n d=\"M14 2v6h6\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </>\r\n );\r\n}\r\n\r\n/**\r\n * Renders an extension badge on the file icon.\r\n */\r\nexport function renderExtensionBadge(\r\n extension: string,\r\n extensionColor: string,\r\n textColor: string = '#FFFFFF',\r\n): React.ReactNode {\r\n const ext = extension.toUpperCase().slice(0, 4);\r\n const fontSize = ext.length > 3 ? 5 : ext.length > 2 ? 6 : 7;\r\n\r\n return (\r\n <g>\r\n {/* Badge background */}\r\n <rect x=\"3\" y=\"13\" width=\"12\" height=\"7\" rx=\"1\" fill={extensionColor} />\r\n {/* Extension text */}\r\n <text\r\n x=\"9\"\r\n y=\"17.5\"\r\n fontSize={fontSize}\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui, sans-serif\"\r\n fill={textColor}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n >\r\n {ext}\r\n </text>\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render document lines (for text documents).\r\n */\r\nexport function renderDocumentLines(color: string, count: number = 3): React.ReactNode {\r\n const lines = [];\r\n const startY = 12;\r\n const spacing = 2;\r\n\r\n for (let i = 0; i < count; i++) {\r\n lines.push(\r\n <line\r\n key={i}\r\n x1=\"8\"\r\n y1={startY + i * spacing}\r\n x2={16 - (i === count - 1 ? 4 : 0)}\r\n y2={startY + i * spacing}\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeLinecap=\"round\"\r\n opacity=\"0.5\"\r\n />,\r\n );\r\n }\r\n\r\n return <>{lines}</>;\r\n}\r\n\r\n/**\r\n * Helper to render a play triangle (for video/audio).\r\n */\r\nexport function renderPlaySymbol(color: string): React.ReactNode {\r\n return (\r\n <path\r\n d=\"M10 9l5 3-5 3V9z\"\r\n fill={color}\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render music note (for audio).\r\n */\r\nexport function renderMusicNote(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <circle cx=\"10\" cy=\"16\" r=\"2\" fill={color} />\r\n <path d=\"M12 16V10\" stroke={color} strokeWidth=\"1.5\" strokeLinecap=\"round\" />\r\n <path\r\n d=\"M12 10l3-1v3\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render image mountains (for image files).\r\n */\r\nexport function renderImageSymbol(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <circle cx=\"10\" cy=\"11\" r=\"1.5\" fill={color} />\r\n <path d=\"M8 17l2.5-3 2 2 3-4 2.5 5H8z\" fill={color} opacity=\"0.7\" />\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render code brackets (for code files).\r\n */\r\nexport function renderCodeSymbol(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <path\r\n d=\"M10 11l-2 2 2 2\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path\r\n d=\"M14 11l2 2-2 2\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render archive/zip icon (for archives).\r\n */\r\nexport function renderArchiveSymbol(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <rect x=\"11\" y=\"10\" width=\"2\" height=\"2\" fill={color} />\r\n <rect x=\"11\" y=\"13\" width=\"2\" height=\"2\" fill={color} />\r\n <rect x=\"11\" y=\"16\" width=\"2\" height=\"2\" fill={color} />\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render 3D cube symbol.\r\n */\r\nexport function render3DSymbol(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <path\r\n d=\"M12 10l4 2v4l-4 2-4-2v-4l4-2z\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <path d=\"M12 10v8M8 12l4 2 4-2\" stroke={color} strokeWidth=\"1\" strokeLinecap=\"round\" />\r\n </g>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render font \"A\" symbol.\r\n */\r\nexport function renderFontSymbol(color: string): React.ReactNode {\r\n return (\r\n <text\r\n x=\"12\"\r\n y=\"16\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"serif\"\r\n fill={color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n >\r\n A\r\n </text>\r\n );\r\n}\r\n\r\n/**\r\n * Helper to render database cylinder symbol.\r\n */\r\nexport function renderDatabaseSymbol(color: string): React.ReactNode {\r\n return (\r\n <g>\r\n <ellipse cx=\"12\" cy=\"11\" rx=\"4\" ry=\"1.5\" fill=\"none\" stroke={color} strokeWidth=\"1.5\" />\r\n <path\r\n d=\"M8 11v5c0 .83 1.79 1.5 4 1.5s4-.67 4-1.5v-5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M8 14c0 .83 1.79 1.5 4 1.5s4-.67 4-1.5\"\r\n fill=\"none\"\r\n stroke={color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.5\"\r\n />\r\n </g>\r\n );\r\n}\r\n","/**\r\n * @file documents.tsx\r\n * @description Document file type icons (Office, PDF, etc.)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderDocumentLines,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── Microsoft Word ─── */\r\n\r\nexport const DocIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('DOC', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DocIcon', extension: 'doc', defaultExtensionColor: '#2B579A' },\r\n);\r\n\r\nexport const DocxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('DOCX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DocxIcon', extension: 'docx', defaultExtensionColor: '#2B579A' },\r\n);\r\n\r\n/* ─── Microsoft Excel ─── */\r\n\r\nexport const XlsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <g opacity=\"0.5\">\r\n <rect x=\"7\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"7\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('XLS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'XlsIcon', extension: 'xls', defaultExtensionColor: '#217346' },\r\n);\r\n\r\nexport const XlsxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <g opacity=\"0.5\">\r\n <rect x=\"7\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"7\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('XLSX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'XlsxIcon', extension: 'xlsx', defaultExtensionColor: '#217346' },\r\n);\r\n\r\n/* ─── Microsoft PowerPoint ─── */\r\n\r\nexport const PptIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <rect\r\n x=\"8\"\r\n y=\"10\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('PPT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PptIcon', extension: 'ppt', defaultExtensionColor: '#D24726' },\r\n);\r\n\r\nexport const PptxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <rect\r\n x=\"8\"\r\n y=\"10\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('PPTX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PptxIcon', extension: 'pptx', defaultExtensionColor: '#D24726' },\r\n);\r\n\r\n/* ─── PDF ─── */\r\n\r\nexport const PdfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FDE8E8' : undefined)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('PDF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PdfIcon', extension: 'pdf', defaultExtensionColor: '#EA4335' },\r\n);\r\n\r\n/* ─── Plain Text ─── */\r\n\r\nexport const TxtIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color, 4)}\r\n {variant === 'colored' && renderExtensionBadge('TXT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TxtIcon', extension: 'txt', defaultExtensionColor: '#6B7280' },\r\n);\r\n\r\n/* ─── Rich Text Format ─── */\r\n\r\nexport const RtfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('RTF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RtfIcon', extension: 'rtf', defaultExtensionColor: '#6B7280' },\r\n);\r\n\r\n/* ─── CSV ─── */\r\n\r\nexport const CsvIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <g opacity=\"0.5\">\r\n <line\r\n x1=\"7\"\r\n y1=\"10\"\r\n x2=\"17\"\r\n y2=\"10\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"7\"\r\n y1=\"13\"\r\n x2=\"17\"\r\n y2=\"13\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"7\"\r\n y1=\"16\"\r\n x2=\"17\"\r\n y2=\"16\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"10\"\r\n x2=\"10\"\r\n y2=\"16\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"14\"\r\n y1=\"10\"\r\n x2=\"14\"\r\n y2=\"16\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('CSV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CsvIcon', extension: 'csv', defaultExtensionColor: '#217346' },\r\n);\r\n\r\n/* ─── OpenDocument Formats ─── */\r\n\r\nexport const OdtIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('ODT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'OdtIcon', extension: 'odt', defaultExtensionColor: '#1976D2' },\r\n);\r\n\r\nexport const OdsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <g opacity=\"0.5\">\r\n <rect x=\"7\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"7\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('ODS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'OdsIcon', extension: 'ods', defaultExtensionColor: '#388E3C' },\r\n);\r\n\r\nexport const OdpIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant)}\r\n <rect\r\n x=\"8\"\r\n y=\"10\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('ODP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'OdpIcon', extension: 'odp', defaultExtensionColor: '#E64A19' },\r\n);\r\n\r\n/* ─── Apple iWork ─── */\r\n\r\nexport const PagesIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFE4CC' : undefined)}\r\n {renderDocumentLines(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('PAGES', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PagesIcon', extension: 'pages', defaultExtensionColor: '#FF9500' },\r\n);\r\n\r\nexport const NumbersIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n <g opacity=\"0.5\">\r\n <rect x=\"7\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"10\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"7\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"13\" width=\"3\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('NUM', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'NumbersIcon', extension: 'numbers', defaultExtensionColor: '#34C759' },\r\n);\r\n\r\nexport const KeynoteIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <rect\r\n x=\"8\"\r\n y=\"10\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('KEY', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'KeynoteIcon', extension: 'keynote', defaultExtensionColor: '#007AFF' },\r\n);\r\n","/**\r\n * @file media.tsx\r\n * @description Video and audio file type icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderPlaySymbol,\r\n renderMusicNote,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── VIDEO FORMATS ─── */\r\n\r\nexport const Mp4Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#F3E5F5' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MP4', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Mp4Icon', extension: 'mp4', defaultExtensionColor: '#8E44AD' },\r\n);\r\n\r\nexport const AviIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('AVI', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AviIcon', extension: 'avi', defaultExtensionColor: '#1565C0' },\r\n);\r\n\r\nexport const MkvIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MKV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MkvIcon', extension: 'mkv', defaultExtensionColor: '#2E7D32' },\r\n);\r\n\r\nexport const MovIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MOV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MovIcon', extension: 'mov', defaultExtensionColor: '#00897B' },\r\n);\r\n\r\nexport const WebmIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WEBM', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WebmIcon', extension: 'webm', defaultExtensionColor: '#EF6C00' },\r\n);\r\n\r\nexport const WmvIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WMV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WmvIcon', extension: 'wmv', defaultExtensionColor: '#0078D7' },\r\n);\r\n\r\nexport const FlvIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('FLV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'FlvIcon', extension: 'flv', defaultExtensionColor: '#C62828' },\r\n);\r\n\r\nexport const M4vIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#F3E5F5' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('M4V', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'M4vIcon', extension: 'm4v', defaultExtensionColor: '#7B1FA2' },\r\n);\r\n\r\nexport const MpgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8EAF6' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MPG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MpgIcon', extension: 'mpg', defaultExtensionColor: '#3F51B5' },\r\n);\r\n\r\nexport const MpegIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8EAF6' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MPEG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MpegIcon', extension: 'mpeg', defaultExtensionColor: '#3F51B5' },\r\n);\r\n\r\nexport const ThreeGpIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FCE4EC' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('3GP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ThreeGpIcon', extension: '3gp', defaultExtensionColor: '#AD1457' },\r\n);\r\n\r\nexport const TsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E1F5FE' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('TS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TsVideoIcon', extension: 'ts', defaultExtensionColor: '#0288D1' },\r\n);\r\n\r\nexport const VobIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF8E1' : undefined)}\r\n {renderPlaySymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('VOB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'VobIcon', extension: 'vob', defaultExtensionColor: '#FFA000' },\r\n);\r\n\r\n/* ─── AUDIO FORMATS ─── */\r\n\r\nexport const Mp3Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MP3', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Mp3Icon', extension: 'mp3', defaultExtensionColor: '#1DB954' },\r\n);\r\n\r\nexport const WavIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {/* Audio waveform */}\r\n <g opacity=\"0.7\">\r\n <line\r\n x1=\"8\"\r\n y1=\"13\"\r\n x2=\"8\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"11\"\r\n x2=\"10\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"12\"\r\n x2=\"12\"\r\n y2=\"16\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <line\r\n x1=\"14\"\r\n y1=\"10\"\r\n x2=\"14\"\r\n y2=\"18\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n <line\r\n x1=\"16\"\r\n y1=\"13\"\r\n x2=\"16\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('WAV', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WavIcon', extension: 'wav', defaultExtensionColor: '#1565C0' },\r\n);\r\n\r\nexport const FlacIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('FLAC', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'FlacIcon', extension: 'flac', defaultExtensionColor: '#E65100' },\r\n);\r\n\r\nexport const OggIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#F3E5F5' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('OGG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'OggIcon', extension: 'ogg', defaultExtensionColor: '#7B1FA2' },\r\n);\r\n\r\nexport const AacIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FCE4EC' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('AAC', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AacIcon', extension: 'aac', defaultExtensionColor: '#C2185B' },\r\n);\r\n\r\nexport const M4aIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8EAF6' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('M4A', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'M4aIcon', extension: 'm4a', defaultExtensionColor: '#5C6BC0' },\r\n);\r\n\r\nexport const WmaIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WMA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WmaIcon', extension: 'wma', defaultExtensionColor: '#0078D7' },\r\n);\r\n\r\nexport const AiffIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {renderMusicNote(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('AIFF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AiffIcon', extension: 'aiff', defaultExtensionColor: '#00796B' },\r\n);\r\n\r\nexport const MidIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Piano keys */}\r\n <g opacity=\"0.7\">\r\n <rect x=\"8\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"14\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"9\" y=\"11\" width=\"1\" height=\"4\" fill={variant === 'filled' ? '#666' : '#333'} />\r\n <rect x=\"12\" y=\"11\" width=\"1\" height=\"4\" fill={variant === 'filled' ? '#666' : '#333'} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('MID', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MidIcon', extension: 'mid', defaultExtensionColor: '#455A64' },\r\n);\r\n\r\nexport const MidiIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Piano keys */}\r\n <g opacity=\"0.7\">\r\n <rect x=\"8\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"11\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"14\" y=\"11\" width=\"2\" height=\"6\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"9\" y=\"11\" width=\"1\" height=\"4\" fill={variant === 'filled' ? '#666' : '#333'} />\r\n <rect x=\"12\" y=\"11\" width=\"1\" height=\"4\" fill={variant === 'filled' ? '#666' : '#333'} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('MIDI', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MidiIcon', extension: 'midi', defaultExtensionColor: '#455A64' },\r\n);\r\n","/**\r\n * @file images.tsx\r\n * @description Image file type icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderImageSymbol,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── Common Image Formats ─── */\r\n\r\nexport const JpgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('JPG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JpgIcon', extension: 'jpg', defaultExtensionColor: '#00A98F' },\r\n);\r\n\r\nexport const JpegIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('JPEG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JpegIcon', extension: 'jpeg', defaultExtensionColor: '#00A98F' },\r\n);\r\n\r\nexport const PngIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {/* Transparency checker pattern */}\r\n <g opacity=\"0.3\">\r\n <rect x=\"7\" y=\"16\" width=\"2\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n <rect x=\"9\" y=\"18\" width=\"2\" height=\"2\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('PNG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PngIcon', extension: 'png', defaultExtensionColor: '#3498DB' },\r\n);\r\n\r\nexport const GifIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#F3E5F5' : undefined)}\r\n {/* Animation frames hint */}\r\n <g opacity=\"0.5\">\r\n <rect\r\n x=\"8\"\r\n y=\"10\"\r\n width=\"6\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <rect\r\n x=\"10\"\r\n y=\"12\"\r\n width=\"6\"\r\n height=\"5\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('GIF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'GifIcon', extension: 'gif', defaultExtensionColor: '#9B59B6' },\r\n);\r\n\r\nexport const SvgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF8E1' : undefined)}\r\n {/* Vector path hint */}\r\n <g opacity=\"0.6\">\r\n <circle\r\n cx=\"9\"\r\n cy=\"12\"\r\n r=\"1.5\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle\r\n cx=\"15\"\r\n cy=\"14\"\r\n r=\"1.5\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M10.5 12.5L13.5 13.5\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('SVG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SvgIcon', extension: 'svg', defaultExtensionColor: '#FFB13B' },\r\n);\r\n\r\nexport const WebpIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WEBP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WebpIcon', extension: 'webp', defaultExtensionColor: '#8BC34A' },\r\n);\r\n\r\nexport const BmpIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('BMP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'BmpIcon', extension: 'bmp', defaultExtensionColor: '#607D8B' },\r\n);\r\n\r\nexport const TiffIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8EAF6' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('TIFF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TiffIcon', extension: 'tiff', defaultExtensionColor: '#5C6BC0' },\r\n);\r\n\r\nexport const IcoIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {/* Small icon hint */}\r\n <rect\r\n x=\"9\"\r\n y=\"11\"\r\n width=\"6\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('ICO', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'IcoIcon', extension: 'ico', defaultExtensionColor: '#0078D7' },\r\n);\r\n\r\n/* ─── RAW Camera Formats ─── */\r\n\r\nexport const RawIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {/* Camera lens hint */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"13\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <circle cx=\"12\" cy=\"13\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} opacity=\"0.5\" />\r\n {variant === 'colored' && renderExtensionBadge('RAW', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RawIcon', extension: 'raw', defaultExtensionColor: '#FF6F00' },\r\n);\r\n\r\nexport const Cr2Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n <circle\r\n cx=\"12\"\r\n cy=\"13\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <circle cx=\"12\" cy=\"13\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} opacity=\"0.5\" />\r\n {variant === 'colored' && renderExtensionBadge('CR2', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Cr2Icon', extension: 'cr2', defaultExtensionColor: '#C62828' },\r\n);\r\n\r\nexport const NefIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF8E1' : undefined)}\r\n <circle\r\n cx=\"12\"\r\n cy=\"13\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n <circle cx=\"12\" cy=\"13\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} opacity=\"0.5\" />\r\n {variant === 'colored' && renderExtensionBadge('NEF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'NefIcon', extension: 'nef', defaultExtensionColor: '#FFD600' },\r\n);\r\n\r\n/* ─── Modern Image Formats ─── */\r\n\r\nexport const HeicIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('HEIC', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'HeicIcon', extension: 'heic', defaultExtensionColor: '#455A64' },\r\n);\r\n\r\nexport const HeifIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('HEIF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'HeifIcon', extension: 'heif', defaultExtensionColor: '#455A64' },\r\n);\r\n\r\nexport const AvifIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {renderImageSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('AVIF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AvifIcon', extension: 'avif', defaultExtensionColor: '#43A047' },\r\n);\r\n\r\nexport const EpsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#F3E5F5' : undefined)}\r\n {/* Vector path hint */}\r\n <g opacity=\"0.6\">\r\n <path\r\n d=\"M8 11l4 3-4 3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n <line\r\n x1=\"13\"\r\n y1=\"17\"\r\n x2=\"16\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('EPS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'EpsIcon', extension: 'eps', defaultExtensionColor: '#7B1FA2' },\r\n);\r\n","/**\r\n * @file code.tsx\r\n * @description Code and programming file type icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderCodeSymbol,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── JavaScript / TypeScript ─── */\r\n\r\nexport const JsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFFDE7' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('JS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JsIcon', extension: 'js', defaultExtensionColor: '#F7DF1E' },\r\n);\r\n\r\nexport const TsCodeIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('TS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TsCodeIcon', extension: 'ts', defaultExtensionColor: '#3178C6' },\r\n);\r\n\r\nexport const JsxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E1F5FE' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('JSX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JsxIcon', extension: 'jsx', defaultExtensionColor: '#61DAFB' },\r\n);\r\n\r\nexport const TsxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E1F5FE' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('TSX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TsxIcon', extension: 'tsx', defaultExtensionColor: '#61DAFB' },\r\n);\r\n\r\n/* ─── Python ─── */\r\n\r\nexport const PyIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {/* Python snake hint */}\r\n <g opacity=\"0.7\">\r\n <path\r\n d=\"M10 11c-1 0-2 1-2 2v2c0 1 1 2 2 2h4c1 0 2-1 2-2v-2c0-1-1-2-2-2h-4z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"11\" cy=\"12.5\" r=\"0.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n <circle cx=\"13\" cy=\"15.5\" r=\"0.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('PY', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PyIcon', extension: 'py', defaultExtensionColor: '#3776AB' },\r\n);\r\n\r\n/* ─── Java ─── */\r\n\r\nexport const JavaIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {/* Coffee cup hint */}\r\n <g opacity=\"0.7\">\r\n <path\r\n d=\"M9 12h5v4c0 1-1 2-2.5 2S9 17 9 16v-4z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <path\r\n d=\"M14 13h1c1 0 1 1 1 2s0 2-1 2h-1\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('JAVA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JavaIcon', extension: 'java', defaultExtensionColor: '#E76F00' },\r\n);\r\n\r\n/* ─── C# / .NET ─── */\r\n\r\nexport const CsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n C#\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('CS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CsIcon', extension: 'cs', defaultExtensionColor: '#512BD4' },\r\n);\r\n\r\n/* ─── C / C++ ─── */\r\n\r\nexport const CIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n C\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('C', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CIcon', extension: 'c', defaultExtensionColor: '#A8B9CC' },\r\n);\r\n\r\nexport const CppIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n C++\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('CPP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CppIcon', extension: 'cpp', defaultExtensionColor: '#00599C' },\r\n);\r\n\r\nexport const HIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"8\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n .h\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('H', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'HIcon', extension: 'h', defaultExtensionColor: '#4CAF50' },\r\n);\r\n\r\n/* ─── Go ─── */\r\n\r\nexport const GoIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F7FA' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n GO\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('GO', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'GoIcon', extension: 'go', defaultExtensionColor: '#00ADD8' },\r\n);\r\n\r\n/* ─── Rust ─── */\r\n\r\nexport const RsIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FBE9E7' : undefined)}\r\n {/* Rust gear hint */}\r\n <g opacity=\"0.7\">\r\n <circle\r\n cx=\"12\"\r\n cy=\"14\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"14\" r=\"1\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('RS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RsIcon', extension: 'rs', defaultExtensionColor: '#DEA584' },\r\n);\r\n\r\n/* ─── Ruby ─── */\r\n\r\nexport const RbIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {/* Ruby gem hint */}\r\n <path\r\n d=\"M12 11l3 3-3 3-3-3 3-3z\"\r\n fill={variant === 'filled' ? '#fff' : 'none'}\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('RB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RbIcon', extension: 'rb', defaultExtensionColor: '#CC342D' },\r\n);\r\n\r\n/* ─── PHP ─── */\r\n\r\nexport const PhpIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n PHP\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('PHP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PhpIcon', extension: 'php', defaultExtensionColor: '#777BB4' },\r\n);\r\n\r\n/* ─── Swift ─── */\r\n\r\nexport const SwiftIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {/* Swift bird hint */}\r\n <path\r\n d=\"M8 12c4 3 6 1 8-2-2 1-4 1-5-1 2 0 3-1 3-2-3 2-6 0-6 0s2 3 0 5z\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n opacity=\"0.6\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('SWIFT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SwiftIcon', extension: 'swift', defaultExtensionColor: '#FA7343' },\r\n);\r\n\r\n/* ─── Kotlin ─── */\r\n\r\nexport const KtIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Kt\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('KT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'KtIcon', extension: 'kt', defaultExtensionColor: '#7F52FF' },\r\n);\r\n\r\n/* ─── Scala ─── */\r\n\r\nexport const ScalaIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('SCALA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ScalaIcon', extension: 'scala', defaultExtensionColor: '#DC322F' },\r\n);\r\n\r\n/* ─── R ─── */\r\n\r\nexport const RIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"9\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"serif\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n R\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('R', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RIcon', extension: 'r', defaultExtensionColor: '#276DC3' },\r\n);\r\n\r\n/* ─── Web Technologies ─── */\r\n\r\nexport const HtmlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FBE9E7' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('HTML', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'HtmlIcon', extension: 'html', defaultExtensionColor: '#E34F26' },\r\n);\r\n\r\nexport const CssIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {/* CSS curly brace */}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"10\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n {'{}'}\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('CSS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CssIcon', extension: 'css', defaultExtensionColor: '#1572B6' },\r\n);\r\n\r\nexport const ScssIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FCE4EC' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"10\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n {'{}'}\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('SCSS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ScssIcon', extension: 'scss', defaultExtensionColor: '#CD6799' },\r\n);\r\n\r\nexport const LessIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"10\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n {'{}'}\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('LESS', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'LessIcon', extension: 'less', defaultExtensionColor: '#1D365D' },\r\n);\r\n\r\n/* ─── Data Formats ─── */\r\n\r\nexport const JsonIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n {'{}'}\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('JSON', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'JsonIcon', extension: 'json', defaultExtensionColor: '#000000' },\r\n);\r\n\r\nexport const XmlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('XML', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'XmlIcon', extension: 'xml', defaultExtensionColor: '#F39C12' },\r\n);\r\n\r\nexport const YamlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {/* Indent lines */}\r\n <g opacity=\"0.6\">\r\n <line\r\n x1=\"8\"\r\n y1=\"11\"\r\n x2=\"16\"\r\n y2=\"11\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"13\"\r\n x2=\"16\"\r\n y2=\"13\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"15\"\r\n x2=\"16\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"17\"\r\n x2=\"16\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('YAML', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'YamlIcon', extension: 'yaml', defaultExtensionColor: '#CB171E' },\r\n);\r\n\r\nexport const YmlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n <g opacity=\"0.6\">\r\n <line\r\n x1=\"8\"\r\n y1=\"11\"\r\n x2=\"16\"\r\n y2=\"11\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"13\"\r\n x2=\"16\"\r\n y2=\"13\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"15\"\r\n x2=\"16\"\r\n y2=\"15\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('YML', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'YmlIcon', extension: 'yml', defaultExtensionColor: '#CB171E' },\r\n);\r\n\r\nexport const TomlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n <g opacity=\"0.6\">\r\n <line\r\n x1=\"8\"\r\n y1=\"11\"\r\n x2=\"16\"\r\n y2=\"11\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"14\"\r\n x2=\"16\"\r\n y2=\"14\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"17\"\r\n x2=\"16\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('TOML', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TomlIcon', extension: 'toml', defaultExtensionColor: '#9C4121' },\r\n);\r\n\r\nexport const MdIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n MD\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('MD', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MdIcon', extension: 'md', defaultExtensionColor: '#083FA1' },\r\n);\r\n\r\n/* ─── Framework-specific ─── */\r\n\r\nexport const VueIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {/* Vue logo hint */}\r\n <path\r\n d=\"M12 10l-3 6h6l-3-6z\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('VUE', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'VueIcon', extension: 'vue', defaultExtensionColor: '#4FC08D' },\r\n);\r\n\r\nexport const SvelteIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FBE9E7' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('SVELTE', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SvelteIcon', extension: 'svelte', defaultExtensionColor: '#FF3E00' },\r\n);\r\n\r\nexport const DartIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {renderCodeSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('DART', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DartIcon', extension: 'dart', defaultExtensionColor: '#00B4AB' },\r\n);\r\n\r\n/* ─── Scripting ─── */\r\n\r\nexport const LuaIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {/* Lua moon hint */}\r\n <circle\r\n cx=\"12\"\r\n cy=\"13\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n opacity=\"0.7\"\r\n />\r\n {variant === 'colored' && renderExtensionBadge('LUA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'LuaIcon', extension: 'lua', defaultExtensionColor: '#000080' },\r\n);\r\n\r\nexport const ShIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Terminal prompt */}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"8\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n $_\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('SH', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ShIcon', extension: 'sh', defaultExtensionColor: '#4EAA25' },\r\n);\r\n\r\nexport const BashIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"8\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n $_\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('BASH', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'BashIcon', extension: 'bash', defaultExtensionColor: '#4EAA25' },\r\n);\r\n\r\nexport const Ps1Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n PS\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('PS1', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Ps1Icon', extension: 'ps1', defaultExtensionColor: '#012456' },\r\n);\r\n\r\nexport const BatIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"7\"\r\n fontFamily=\"monospace\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n {'>'}_\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('BAT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'BatIcon', extension: 'bat', defaultExtensionColor: '#C1F12E' },\r\n);\r\n\r\n/* ─── SQL ─── */\r\n\r\nexport const SqlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n SQL\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('SQL', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SqlIcon', extension: 'sql', defaultExtensionColor: '#E38C00' },\r\n);\r\n","/**\r\n * @file archives.tsx\r\n * @description Archive and compressed file type icons\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderArchiveSymbol,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── Common Archive Formats ─── */\r\n\r\nexport const ZipIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF8E1' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('ZIP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ZipIcon', extension: 'zip', defaultExtensionColor: '#E8A317' },\r\n);\r\n\r\nexport const RarIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('RAR', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'RarIcon', extension: 'rar', defaultExtensionColor: '#6B3FA0' },\r\n);\r\n\r\nexport const SevenZIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('7Z', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SevenZIcon', extension: '7z', defaultExtensionColor: '#41A13E' },\r\n);\r\n\r\nexport const TarIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Tape archive hint */}\r\n <g opacity=\"0.7\">\r\n <rect\r\n x=\"8\"\r\n y=\"11\"\r\n width=\"8\"\r\n height=\"6\"\r\n rx=\"1\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <line\r\n x1=\"10\"\r\n y1=\"11\"\r\n x2=\"10\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"14\"\r\n y1=\"11\"\r\n x2=\"14\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('TAR', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TarIcon', extension: 'tar', defaultExtensionColor: '#1D1D1D' },\r\n);\r\n\r\nexport const GzIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('GZ', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'GzIcon', extension: 'gz', defaultExtensionColor: '#D32F2F' },\r\n);\r\n\r\nexport const Bz2Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('BZ2', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Bz2Icon', extension: 'bz2', defaultExtensionColor: '#E65100' },\r\n);\r\n\r\nexport const XzIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderArchiveSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('XZ', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'XzIcon', extension: 'xz', defaultExtensionColor: '#1565C0' },\r\n);\r\n\r\n/* ─── Disk Images ─── */\r\n\r\nexport const IsoIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Disc hint */}\r\n <g opacity=\"0.7\">\r\n <circle\r\n cx=\"12\"\r\n cy=\"14\"\r\n r=\"4\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"14\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('ISO', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'IsoIcon', extension: 'iso', defaultExtensionColor: '#607D8B' },\r\n);\r\n\r\nexport const DmgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {/* Disc hint */}\r\n <g opacity=\"0.7\">\r\n <circle\r\n cx=\"12\"\r\n cy=\"14\"\r\n r=\"4\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <circle cx=\"12\" cy=\"14\" r=\"1.5\" fill={variant === 'filled' ? '#fff' : color} />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('DMG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DmgIcon', extension: 'dmg', defaultExtensionColor: '#8E8E93' },\r\n);\r\n\r\nexport const PkgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {/* Package box hint */}\r\n <g opacity=\"0.7\">\r\n <rect\r\n x=\"8\"\r\n y=\"11\"\r\n width=\"8\"\r\n height=\"6\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"11\"\r\n x2=\"12\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"8\"\r\n y1=\"14\"\r\n x2=\"16\"\r\n y2=\"14\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('PKG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PkgIcon', extension: 'pkg', defaultExtensionColor: '#4CAF50' },\r\n);\r\n","/**\r\n * @file misc.tsx\r\n * @description Miscellaneous file type icons (fonts, databases, 3D, CAD, Adobe)\r\n */\r\n\r\nimport React from 'react';\r\n\r\nimport {\r\n createFiletypeIcon,\r\n renderFileBase,\r\n renderExtensionBadge,\r\n renderFontSymbol,\r\n renderDatabaseSymbol,\r\n render3DSymbol,\r\n} from './createFiletypeIcon';\r\nimport type { FiletypeRenderProps } from './types';\r\n\r\n/* ─── FONT FORMATS ─── */\r\n\r\nexport const TtfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {renderFontSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('TTF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'TtfIcon', extension: 'ttf', defaultExtensionColor: '#455A64' },\r\n);\r\n\r\nexport const OtfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {renderFontSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('OTF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'OtfIcon', extension: 'otf', defaultExtensionColor: '#37474F' },\r\n);\r\n\r\nexport const WoffIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderFontSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WOFF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'WoffIcon', extension: 'woff', defaultExtensionColor: '#1976D2' },\r\n);\r\n\r\nexport const Woff2Icon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderFontSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('WOFF2', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'Woff2Icon', extension: 'woff2', defaultExtensionColor: '#1565C0' },\r\n);\r\n\r\nexport const EotIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderFontSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('EOT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'EotIcon', extension: 'eot', defaultExtensionColor: '#0078D7' },\r\n);\r\n\r\n/* ─── DATABASE FORMATS ─── */\r\n\r\nexport const DbIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {renderDatabaseSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('DB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DbIcon', extension: 'db', defaultExtensionColor: '#E65100' },\r\n);\r\n\r\nexport const SqliteIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {renderDatabaseSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('SQLITE', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SqliteIcon', extension: 'sqlite', defaultExtensionColor: '#003B57' },\r\n);\r\n\r\nexport const MdbIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {renderDatabaseSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MDB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MdbIcon', extension: 'mdb', defaultExtensionColor: '#A4373A' },\r\n);\r\n\r\nexport const AccdbIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {renderDatabaseSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('ACCDB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AccdbIcon', extension: 'accdb', defaultExtensionColor: '#A4373A' },\r\n);\r\n\r\n/* ─── 3D MODEL FORMATS ─── */\r\n\r\nexport const ObjIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#ECEFF1' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('OBJ', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'ObjIcon', extension: 'obj', defaultExtensionColor: '#607D8B' },\r\n);\r\n\r\nexport const FbxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('FBX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'FbxIcon', extension: 'fbx', defaultExtensionColor: '#2C8FFF' },\r\n);\r\n\r\nexport const GltfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('GLTF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'GltfIcon', extension: 'gltf', defaultExtensionColor: '#5C9EAD' },\r\n);\r\n\r\nexport const GlbIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F2F1' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('GLB', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'GlbIcon', extension: 'glb', defaultExtensionColor: '#5C9EAD' },\r\n);\r\n\r\nexport const StlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('STL', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'StlIcon', extension: 'stl', defaultExtensionColor: '#009E73' },\r\n);\r\n\r\nexport const BlendIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('BLEND', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'BlendIcon', extension: 'blend', defaultExtensionColor: '#EA7600' },\r\n);\r\n\r\nexport const MaxIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F7FA' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MAX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MaxIcon', extension: 'max', defaultExtensionColor: '#00838F' },\r\n);\r\n\r\nexport const MayaIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E0F7FA' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('MA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'MayaIcon', extension: 'maya', defaultExtensionColor: '#00BFA5' },\r\n);\r\n\r\nexport const C4dIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8EAF6' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('C4D', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'C4dIcon', extension: 'c4d', defaultExtensionColor: '#5C6BC0' },\r\n);\r\n\r\n/* ─── CAD FORMATS ─── */\r\n\r\nexport const DwgIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {/* CAD compass hint */}\r\n <g opacity=\"0.7\">\r\n <circle\r\n cx=\"12\"\r\n cy=\"14\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"11\"\r\n x2=\"12\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"9\"\r\n y1=\"14\"\r\n x2=\"15\"\r\n y2=\"14\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('DWG', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DwgIcon', extension: 'dwg', defaultExtensionColor: '#E51937' },\r\n);\r\n\r\nexport const DxfIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n <g opacity=\"0.7\">\r\n <circle\r\n cx=\"12\"\r\n cy=\"14\"\r\n r=\"3\"\r\n fill=\"none\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1.5\"\r\n />\r\n <line\r\n x1=\"12\"\r\n y1=\"11\"\r\n x2=\"12\"\r\n y2=\"17\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n <line\r\n x1=\"9\"\r\n y1=\"14\"\r\n x2=\"15\"\r\n y2=\"14\"\r\n stroke={variant === 'filled' ? '#fff' : color}\r\n strokeWidth=\"1\"\r\n />\r\n </g>\r\n {variant === 'colored' && renderExtensionBadge('DXF', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DxfIcon', extension: 'dxf', defaultExtensionColor: '#FF6F00' },\r\n);\r\n\r\nexport const StepIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('STEP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'StepIcon', extension: 'step', defaultExtensionColor: '#2980B9' },\r\n);\r\n\r\nexport const IgesIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('IGES', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'IgesIcon', extension: 'iges', defaultExtensionColor: '#43A047' },\r\n);\r\n\r\nexport const SldprtIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('SLDPRT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'SldprtIcon', extension: 'sldprt', defaultExtensionColor: '#C62828' },\r\n);\r\n\r\nexport const CatpartIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n {render3DSymbol(variant === 'filled' ? '#fff' : color)}\r\n {variant === 'colored' && renderExtensionBadge('CATPART', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'CatpartIcon', extension: 'catpart', defaultExtensionColor: '#0D47A1' },\r\n);\r\n\r\n/* ─── ADOBE FORMATS ─── */\r\n\r\nexport const PsdIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Ps\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('PSD', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PsdIcon', extension: 'psd', defaultExtensionColor: '#31A8FF' },\r\n);\r\n\r\nexport const AiIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFF3E0' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Ai\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('AI', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AiIcon', extension: 'ai', defaultExtensionColor: '#FF9A00' },\r\n);\r\n\r\nexport const InddIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FCE4EC' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Id\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('INDD', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'InddIcon', extension: 'indd', defaultExtensionColor: '#FF3366' },\r\n);\r\n\r\nexport const XdIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FCE4EC' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Xd\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('XD', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'XdIcon', extension: 'xd', defaultExtensionColor: '#FF61F6' },\r\n);\r\n\r\nexport const AeIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Ae\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('AEP', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AeIcon', extension: 'ae', defaultExtensionColor: '#9999FF' },\r\n);\r\n\r\nexport const PrIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#EDE7F6' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Pr\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('PRPROJ', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'PrIcon', extension: 'pr', defaultExtensionColor: '#9999FF' },\r\n);\r\n\r\nexport const LrIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E3F2FD' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Lr\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('LRCAT', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'LrIcon', extension: 'lr', defaultExtensionColor: '#31A8FF' },\r\n);\r\n\r\nexport const BrIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Br\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('BR', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'BrIcon', extension: 'br', defaultExtensionColor: '#4CAF50' },\r\n);\r\n\r\nexport const DwIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Dw\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('DW', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'DwIcon', extension: 'dw', defaultExtensionColor: '#4CAF50' },\r\n);\r\n\r\nexport const AnIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n An\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('FLA', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AnIcon', extension: 'an', defaultExtensionColor: '#F44336' },\r\n);\r\n\r\nexport const AuIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#E8F5E9' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Au\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('SESX', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'AuIcon', extension: 'au', defaultExtensionColor: '#4CAF50' },\r\n);\r\n\r\nexport const FlIcon = createFiletypeIcon(\r\n ({ color, extensionColor, variant }: FiletypeRenderProps) => (\r\n <>\r\n {renderFileBase(color, variant, variant === 'colored' ? '#FFEBEE' : undefined)}\r\n <text\r\n x=\"12\"\r\n y=\"14\"\r\n fontSize=\"6\"\r\n fontWeight=\"bold\"\r\n fontFamily=\"system-ui\"\r\n fill={variant === 'filled' ? '#fff' : color}\r\n textAnchor=\"middle\"\r\n dominantBaseline=\"middle\"\r\n opacity=\"0.8\"\r\n >\r\n Fl\r\n </text>\r\n {variant === 'colored' && renderExtensionBadge('FL', extensionColor!)}\r\n </>\r\n ),\r\n { displayName: 'FlIcon', extension: 'fl', defaultExtensionColor: '#F44336' },\r\n);\r\n","/**\r\n * @file index.ts\r\n * @description Main entry point for @nice2dev/icons-filetypes package\r\n */\r\n\r\n// Types\r\nexport * from './types';\r\n\r\n// Factory\r\nexport { createFiletypeIcon } from './createFiletypeIcon';\r\n\r\n// Document Icons\r\nexport {\r\n DocIcon,\r\n DocxIcon,\r\n XlsIcon,\r\n XlsxIcon,\r\n PptIcon,\r\n PptxIcon,\r\n PdfIcon,\r\n TxtIcon,\r\n RtfIcon,\r\n CsvIcon,\r\n OdtIcon,\r\n OdsIcon,\r\n OdpIcon,\r\n PagesIcon,\r\n NumbersIcon,\r\n KeynoteIcon,\r\n} from './documents';\r\n\r\n// Media Icons (Video & Audio)\r\nexport {\r\n // Video\r\n Mp4Icon,\r\n AviIcon,\r\n MkvIcon,\r\n MovIcon,\r\n WebmIcon,\r\n WmvIcon,\r\n FlvIcon,\r\n M4vIcon,\r\n MpgIcon,\r\n MpegIcon,\r\n ThreeGpIcon,\r\n TsIcon as TsVideoIcon,\r\n VobIcon,\r\n // Audio\r\n Mp3Icon,\r\n WavIcon,\r\n FlacIcon,\r\n OggIcon,\r\n AacIcon,\r\n M4aIcon,\r\n WmaIcon,\r\n AiffIcon,\r\n MidIcon,\r\n MidiIcon,\r\n} from './media';\r\n\r\n// Image Icons\r\nexport {\r\n JpgIcon,\r\n JpegIcon,\r\n PngIcon,\r\n GifIcon,\r\n SvgIcon,\r\n WebpIcon,\r\n BmpIcon,\r\n TiffIcon,\r\n IcoIcon,\r\n RawIcon,\r\n Cr2Icon,\r\n NefIcon,\r\n HeicIcon,\r\n HeifIcon,\r\n AvifIcon,\r\n EpsIcon,\r\n} from './images';\r\n\r\n// Code Icons\r\nexport {\r\n JsIcon,\r\n TsCodeIcon as TsIcon,\r\n JsxIcon,\r\n TsxIcon,\r\n PyIcon,\r\n JavaIcon,\r\n CsIcon,\r\n CppIcon,\r\n CIcon,\r\n HIcon,\r\n GoIcon,\r\n RsIcon,\r\n RbIcon,\r\n PhpIcon,\r\n SwiftIcon,\r\n KtIcon,\r\n ScalaIcon,\r\n RIcon as RLangIcon,\r\n HtmlIcon,\r\n CssIcon,\r\n ScssIcon,\r\n LessIcon,\r\n JsonIcon,\r\n XmlIcon,\r\n YamlIcon,\r\n YmlIcon,\r\n TomlIcon,\r\n MdIcon,\r\n VueIcon,\r\n SvelteIcon,\r\n DartIcon,\r\n LuaIcon,\r\n ShIcon,\r\n BashIcon,\r\n Ps1Icon,\r\n BatIcon,\r\n SqlIcon,\r\n} from './code';\r\n\r\n// Archive Icons\r\nexport {\r\n ZipIcon,\r\n RarIcon,\r\n SevenZIcon,\r\n TarIcon,\r\n GzIcon,\r\n Bz2Icon,\r\n XzIcon,\r\n IsoIcon,\r\n DmgIcon,\r\n PkgIcon,\r\n} from './archives';\r\n\r\n// Misc Icons (Fonts, Databases, 3D, CAD, Adobe)\r\nexport {\r\n // Fonts\r\n TtfIcon,\r\n OtfIcon,\r\n WoffIcon,\r\n Woff2Icon,\r\n EotIcon,\r\n // Databases\r\n DbIcon,\r\n SqliteIcon,\r\n MdbIcon,\r\n AccdbIcon,\r\n // 3D Models\r\n ObjIcon,\r\n FbxIcon,\r\n GltfIcon,\r\n GlbIcon,\r\n StlIcon,\r\n BlendIcon,\r\n MaxIcon,\r\n MayaIcon,\r\n C4dIcon,\r\n // CAD\r\n DwgIcon,\r\n DxfIcon,\r\n StepIcon,\r\n IgesIcon,\r\n SldprtIcon,\r\n CatpartIcon,\r\n // Adobe\r\n PsdIcon,\r\n AiIcon,\r\n InddIcon,\r\n XdIcon,\r\n AeIcon,\r\n PrIcon,\r\n LrIcon,\r\n BrIcon,\r\n DwIcon,\r\n AnIcon,\r\n AuIcon,\r\n FlIcon,\r\n} from './misc';\r\n\r\n// Icon mapping by extension (useful for file explorers)\r\nexport const FILE_TYPE_ICONS = {\r\n // Documents\r\n doc: 'DocIcon',\r\n docx: 'DocxIcon',\r\n xls: 'XlsIcon',\r\n xlsx: 'XlsxIcon',\r\n ppt: 'PptIcon',\r\n pptx: 'PptxIcon',\r\n pdf: 'PdfIcon',\r\n txt: 'TxtIcon',\r\n rtf: 'RtfIcon',\r\n csv: 'CsvIcon',\r\n odt: 'OdtIcon',\r\n ods: 'OdsIcon',\r\n odp: 'OdpIcon',\r\n pages: 'PagesIcon',\r\n numbers: 'NumbersIcon',\r\n keynote: 'KeynoteIcon',\r\n\r\n // Video\r\n mp4: 'Mp4Icon',\r\n avi: 'AviIcon',\r\n mkv: 'MkvIcon',\r\n mov: 'MovIcon',\r\n webm: 'WebmIcon',\r\n wmv: 'WmvIcon',\r\n flv: 'FlvIcon',\r\n m4v: 'M4vIcon',\r\n mpg: 'MpgIcon',\r\n mpeg: 'MpegIcon',\r\n '3gp': 'ThreeGpIcon',\r\n ts: 'TsIcon',\r\n vob: 'VobIcon',\r\n\r\n // Audio\r\n mp3: 'Mp3Icon',\r\n wav: 'WavIcon',\r\n flac: 'FlacIcon',\r\n ogg: 'OggIcon',\r\n aac: 'AacIcon',\r\n m4a: 'M4aIcon',\r\n wma: 'WmaIcon',\r\n aiff: 'AiffIcon',\r\n mid: 'MidIcon',\r\n midi: 'MidiIcon',\r\n\r\n // Images\r\n jpg: 'JpgIcon',\r\n jpeg: 'JpegIcon',\r\n png: 'PngIcon',\r\n gif: 'GifIcon',\r\n svg: 'SvgIcon',\r\n webp: 'WebpIcon',\r\n bmp: 'BmpIcon',\r\n tiff: 'TiffIcon',\r\n ico: 'IcoIcon',\r\n raw: 'RawIcon',\r\n cr2: 'Cr2Icon',\r\n nef: 'NefIcon',\r\n heic: 'HeicIcon',\r\n heif: 'HeifIcon',\r\n avif: 'AvifIcon',\r\n eps: 'EpsIcon',\r\n\r\n // Code\r\n js: 'JsIcon',\r\n // ts: 'TsIcon', // Conflict with video .ts\r\n jsx: 'JsxIcon',\r\n tsx: 'TsxIcon',\r\n py: 'PyIcon',\r\n java: 'JavaIcon',\r\n cs: 'CsIcon',\r\n cpp: 'CppIcon',\r\n c: 'CIcon',\r\n h: 'HIcon',\r\n go: 'GoIcon',\r\n rs: 'RsIcon',\r\n rb: 'RbIcon',\r\n php: 'PhpIcon',\r\n swift: 'SwiftIcon',\r\n kt: 'KtIcon',\r\n scala: 'ScalaIcon',\r\n r: 'RLangIcon',\r\n html: 'HtmlIcon',\r\n css: 'CssIcon',\r\n scss: 'ScssIcon',\r\n less: 'LessIcon',\r\n json: 'JsonIcon',\r\n xml: 'XmlIcon',\r\n yaml: 'YamlIcon',\r\n yml: 'YmlIcon',\r\n toml: 'TomlIcon',\r\n md: 'MdIcon',\r\n vue: 'VueIcon',\r\n svelte: 'SvelteIcon',\r\n dart: 'DartIcon',\r\n lua: 'LuaIcon',\r\n sh: 'ShIcon',\r\n bash: 'BashIcon',\r\n ps1: 'Ps1Icon',\r\n bat: 'BatIcon',\r\n sql: 'SqlIcon',\r\n\r\n // Archives\r\n zip: 'ZipIcon',\r\n rar: 'RarIcon',\r\n '7z': 'SevenZIcon',\r\n tar: 'TarIcon',\r\n gz: 'GzIcon',\r\n bz2: 'Bz2Icon',\r\n xz: 'XzIcon',\r\n iso: 'IsoIcon',\r\n dmg: 'DmgIcon',\r\n pkg: 'PkgIcon',\r\n\r\n // Fonts\r\n ttf: 'TtfIcon',\r\n otf: 'OtfIcon',\r\n woff: 'WoffIcon',\r\n woff2: 'Woff2Icon',\r\n eot: 'EotIcon',\r\n\r\n // Databases\r\n db: 'DbIcon',\r\n sqlite: 'SqliteIcon',\r\n mdb: 'MdbIcon',\r\n accdb: 'AccdbIcon',\r\n\r\n // 3D\r\n obj: 'ObjIcon',\r\n fbx: 'FbxIcon',\r\n gltf: 'GltfIcon',\r\n glb: 'GlbIcon',\r\n stl: 'StlIcon',\r\n blend: 'BlendIcon',\r\n max: 'MaxIcon',\r\n maya: 'MayaIcon',\r\n c4d: 'C4dIcon',\r\n\r\n // CAD\r\n dwg: 'DwgIcon',\r\n dxf: 'DxfIcon',\r\n step: 'StepIcon',\r\n iges: 'IgesIcon',\r\n sldprt: 'SldprtIcon',\r\n catpart: 'CatpartIcon',\r\n\r\n // Adobe\r\n psd: 'PsdIcon',\r\n ai: 'AiIcon',\r\n indd: 'InddIcon',\r\n xd: 'XdIcon',\r\n aep: 'AeIcon',\r\n prproj: 'PrIcon',\r\n lrcat: 'LrIcon',\r\n fla: 'AnIcon',\r\n sesx: 'AuIcon',\r\n} as const;\r\n\r\nexport type FileExtension = keyof typeof FILE_TYPE_ICONS;\r\n"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nice2dev/icons-filetypes",
|
|
3
|
+
"version": "1.0.19",
|
|
4
|
+
"description": "File type icons for Nice2Dev UI - covers documents, code, media, archives, and more",
|
|
5
|
+
"author": "Nice2Dev",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.cjs",
|
|
9
|
+
"module": "./dist/index.mjs",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.mjs"
|
|
16
|
+
},
|
|
17
|
+
"require": {
|
|
18
|
+
"types": "./dist/index.d.cts",
|
|
19
|
+
"default": "./dist/index.cjs"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md"
|
|
26
|
+
],
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc -p tsconfig.build.json && vite build",
|
|
30
|
+
"dev": "vite build --watch",
|
|
31
|
+
"test": "vitest run --passWithNoTests",
|
|
32
|
+
"test:watch": "vitest",
|
|
33
|
+
"clean": "rimraf dist"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"react": ">=18.0.0",
|
|
37
|
+
"react-dom": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@testing-library/jest-dom": "^6.4.2",
|
|
41
|
+
"@testing-library/react": "^16.0.0",
|
|
42
|
+
"@types/react": "^19.0.0",
|
|
43
|
+
"@types/react-dom": "^19.0.0",
|
|
44
|
+
"@vitejs/plugin-react": "^4.3.1",
|
|
45
|
+
"jsdom": "^25.0.0",
|
|
46
|
+
"react": "^19.0.0",
|
|
47
|
+
"react-dom": "^19.0.0",
|
|
48
|
+
"rimraf": "^6.0.0",
|
|
49
|
+
"typescript": "^5.5.0",
|
|
50
|
+
"vite": "^6.0.0",
|
|
51
|
+
"vite-plugin-dts": "^4.0.0",
|
|
52
|
+
"vitest": "^2.0.0"
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"icons",
|
|
56
|
+
"filetypes",
|
|
57
|
+
"documents",
|
|
58
|
+
"office",
|
|
59
|
+
"code",
|
|
60
|
+
"media",
|
|
61
|
+
"video",
|
|
62
|
+
"audio",
|
|
63
|
+
"images",
|
|
64
|
+
"archives",
|
|
65
|
+
"react",
|
|
66
|
+
"ui",
|
|
67
|
+
"nice2dev"
|
|
68
|
+
]
|
|
69
|
+
}
|