UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

50 lines (49 loc) 1.25 kB
// Responsive breakpoints for grid sizing export const GALLERY_BREAKPOINTS = { sm: '640px', md: '768px', lg: '1024px', xl: '1280px', '2xl': '1536px' }; // Default grid sizes per breakpoint export const DEFAULT_GRID_SIZES = { sm: 1, md: 2, lg: 3, xl: 4, '2xl': 5 }; // Content type icons mapping export const CONTENT_TYPE_ICONS = { image: '🖼️', document: '📄', block: '🧱', card: '🗃️', video: '🎥', audio: '🎵', folder: '📁' }; // File size formatting helper export const formatFileSize = (bytes) => { if (bytes === 0) return '0 B'; const k = 1024; const sizes = ['B', 'KB', 'MB', 'GB', 'TB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; }; // Date formatting helper export const formatDate = (date) => { return new Intl.DateTimeFormat('en-US', { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit' }).format(date); }; // Generate unique IDs for items export const generateItemId = (item) => { return typeof item.id === 'string' ? item.id : item.id.toString(); };