{"version":3,"file":"assetPreload.cjs","sources":["../../../src/utils/assetPreload.ts"],"sourcesContent":["/**\n * Helper function to preload all required KineticSlider assets\n */\n\nimport { Assets } from 'pixi.js';\nimport { setupCustomFonts } from './fontUtils';\n\n/**\n * Helper function to preload all KineticSlider assets\n *\n * @param images - Array of image URLs to load\n * @param backgroundDisplacement - URL of background displacement image\n * @param cursorDisplacement - URL of cursor displacement image\n * @param titleFontFamily - Font family for titles\n * @param subtitleFontFamily - Font family for subtitles\n * @returns Promise that resolves when all assets are loaded\n */\nexport const preloadKineticSliderAssets = async (\n    images: string[],\n    backgroundDisplacement: string = '/images/background-displace.jpg',\n    cursorDisplacement: string = '/images/cursor-displace.png',\n    titleFontFamily?: string,\n    subtitleFontFamily?: string\n): Promise<void> => {\n    try {\n        console.log('Preloading KineticSlider assets...');\n\n        // First, handle custom fonts if provided\n        if (titleFontFamily || subtitleFontFamily) {\n            console.log('Setting up custom fonts...');\n            await setupCustomFonts(titleFontFamily, subtitleFontFamily);\n        }\n\n        // Combine all image assets into a single array\n        const assetsToLoad = [\n            ...images,\n            backgroundDisplacement,\n            cursorDisplacement\n        ].filter(Boolean); // Remove any empty strings\n\n        // Create a map of assets to load\n        const assetsMap: Record<string, string> = {};\n        for (const src of assetsToLoad) {\n            assetsMap[src] = src;\n        }\n\n        // Check if assets are already in cache\n        const uncachedAssets: Record<string, string> = {};\n\n        // Check each asset if it's in cache\n        for (const key in assetsMap) {\n            if (Object.prototype.hasOwnProperty.call(assetsMap, key)) {\n                const src = assetsMap[key];\n                if (!Assets.cache.has(src)) {\n                    uncachedAssets[key] = src;\n                }\n            }\n        }\n\n        // Only load assets not already in cache\n        if (Object.keys(uncachedAssets).length > 0) {\n            console.log(`Loading ${Object.keys(uncachedAssets).length} uncached assets...`);\n            // Add assets to loader\n            Assets.addBundle('kinetic-slider', uncachedAssets);\n\n            // Load the bundle\n            await Assets.loadBundle('kinetic-slider');\n\n            console.log('All assets loaded successfully');\n        } else {\n            console.log('All assets already cached');\n        }\n    } catch (error) {\n        console.error('Error preloading assets:', error);\n        throw error;\n    }\n};"],"names":["setupCustomFonts","Assets"],"mappings":";;;;;AAiBa,MAAA,0BAAA,GAA6B,OACtC,MACA,EAAA,sBAAA,GAAiC,mCACjC,kBAA6B,GAAA,6BAAA,EAC7B,iBACA,kBACgB,KAAA;AAChB,EAAI,IAAA;AACA,IAAA,OAAA,CAAQ,IAAI,oCAAoC,CAAA;AAGhD,IAAA,IAAI,mBAAmB,kBAAoB,EAAA;AACvC,MAAA,OAAA,CAAQ,IAAI,4BAA4B,CAAA;AACxC,MAAM,MAAAA,0BAAA,CAAiB,iBAAiB,kBAAkB,CAAA;AAAA;AAI9D,IAAA,MAAM,YAAe,GAAA;AAAA,MACjB,GAAG,MAAA;AAAA,MACH,sBAAA;AAAA,MACA;AAAA,KACJ,CAAE,OAAO,OAAO,CAAA;AAGhB,IAAA,MAAM,YAAoC,EAAC;AAC3C,IAAA,KAAA,MAAW,OAAO,YAAc,EAAA;AAC5B,MAAA,SAAA,CAAU,GAAG,CAAI,GAAA,GAAA;AAAA;AAIrB,IAAA,MAAM,iBAAyC,EAAC;AAGhD,IAAA,KAAA,MAAW,OAAO,SAAW,EAAA;AACzB,MAAA,IAAI,OAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,SAAA,EAAW,GAAG,CAAG,EAAA;AACtD,QAAM,MAAA,GAAA,GAAM,UAAU,GAAG,CAAA;AACzB,QAAA,IAAI,CAACC,cAAA,CAAO,KAAM,CAAA,GAAA,CAAI,GAAG,CAAG,EAAA;AACxB,UAAA,cAAA,CAAe,GAAG,CAAI,GAAA,GAAA;AAAA;AAC1B;AACJ;AAIJ,IAAA,IAAI,MAAO,CAAA,IAAA,CAAK,cAAc,CAAA,CAAE,SAAS,CAAG,EAAA;AACxC,MAAA,OAAA,CAAQ,IAAI,CAAW,QAAA,EAAA,MAAA,CAAO,KAAK,cAAc,CAAA,CAAE,MAAM,CAAqB,mBAAA,CAAA,CAAA;AAE9E,MAAOA,cAAA,CAAA,SAAA,CAAU,kBAAkB,cAAc,CAAA;AAGjD,MAAM,MAAAA,cAAA,CAAO,WAAW,gBAAgB,CAAA;AAExC,MAAA,OAAA,CAAQ,IAAI,gCAAgC,CAAA;AAAA,KACzC,MAAA;AACH,MAAA,OAAA,CAAQ,IAAI,2BAA2B,CAAA;AAAA;AAC3C,WACK,KAAO,EAAA;AACZ,IAAQ,OAAA,CAAA,KAAA,CAAM,4BAA4B,KAAK,CAAA;AAC/C,IAAM,MAAA,KAAA;AAAA;AAEd;;;;"}