{"version":3,"file":"DiscPlayer.Bdz3OQ3X.mjs","names":["useId","useMemo","useState","useRef","useCallback","p","e","_Fragment"],"sources":["https:/framerusercontent.com/modules/SNamTcbtGzz21puyFnPD/Gex0dcnBfowQfKXZtl60/DiscPlayer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef,startTransition,useCallback,useMemo,useId}from\"react\";import{createPortal}from\"react-dom\";import{motion,AnimatePresence,useMotionValue}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const BASE_W=480;const BASE_H=300;const PILL_W=120;const PILL_H=36;const PILL_R=18;const EXP_W=340;const EXP_H=168;const EXP_R=26;const formatTime=s=>{if(!isFinite(s)||s<0)s=0;const m=Math.floor(s/60);const sec=Math.floor(s%60);return`${m}:${sec.toString().padStart(2,\"0\")}`;};const extractYouTubeId=url=>{if(!url)return null;const m=url.match(/(?:youtube\\.com\\/(?:watch\\?v=|embed\\/|v\\/|shorts\\/)|youtu\\.be\\/)([0-9A-Za-z_-]{11})/);return m?m[1]:null;};const extractYouTubePlaylistId=url=>{if(!url)return null;const m=url.match(/[?&]list=([A-Za-z0-9_-]+)/);return m?m[1]:null;};let ytApiPromise=null;const loadYouTubeApi=()=>{if(typeof window===\"undefined\")return Promise.resolve();const w=window;if(w.YT&&w.YT.Player)return Promise.resolve();if(ytApiPromise)return ytApiPromise;ytApiPromise=new Promise(resolve=>{const prev=w.onYouTubeIframeAPIReady;w.onYouTubeIframeAPIReady=()=>{if(typeof prev===\"function\")prev();resolve();};const s=document.createElement(\"script\");s.src=\"https://www.youtube.com/iframe_api\";document.head.appendChild(s);});return ytApiPromise;};let scApiPromise=null;const loadSoundCloudApi=()=>{if(typeof window===\"undefined\")return Promise.resolve();const w=window;if(w.SC&&w.SC.Widget)return Promise.resolve();if(scApiPromise)return scApiPromise;scApiPromise=new Promise(resolve=>{const s=document.createElement(\"script\");s.src=\"https://w.soundcloud.com/player/api.js\";s.onload=()=>resolve();document.head.appendChild(s);});return scApiPromise;};const iconBtn=(color,disabled=false)=>({background:\"transparent\",border:\"none\",padding:0,cursor:disabled?\"default\":\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color,opacity:disabled?.3:1});export default function DiscPlayer(props){// ── Prop destructuring (nested groups) ──────────────────────────────────\nconst{island={},songConfig={},playback={},hardware={},haptics={},style}=props;// Vinyl Style / Island group\nconst{playerMode=\"both\",bgStyle=\"solid\",bgSolid=\"#1d1d1d\",bgGradient={},bgGlass={},expandedColors={},miniIconColors={},miniPosition=\"top-left\",offsetX=0,offsetY=0,scrollThreshold=100}=island;// Song group\nconst{songMode=\"playlist\",singleSong:singleSongProp=null,playlist=[],startTrack=0,endTrack=0}=songConfig;// Playback group\nconst{autoplay=false,playbackScope=\"page\",volume=100}=playback;// Hardware group\nconst{backgroundColor=\"#e4e5e7\",uShapeColor=\"rgba(180, 180, 180, 0.6)\",discColor=\"#CD4436\",needleDotColor=\"#4A90E2\"}=hardware;// Haptics group\nconst{clickFile1,clickFile2}=haptics;const volumeNormalized=Math.max(0,Math.min(1,volume/100));const showVinyl=playerMode!==\"island\";const showIsland=playerMode!==\"vinyl\";const compId=useId().replace(/[^a-zA-Z0-9]/g,\"\");const gradC1=bgGradient?.color1??\"#2a1537\";const gradC2=bgGradient?.color2??\"#6b1e7d\";const gradAngle=bgGradient?.angle??180;const expText=expandedColors?.text??\"#FFFFFF\";const expSubtext=expandedColors?.subtext??\"#9C9C9C\";const expAccent=expandedColors?.accent??\"#E5B8FF\";const miniPlayColor=miniIconColors?.playColor??\"#FFFFFF\";const miniPauseColor=miniIconColors?.pauseColor??\"#FFFFFF\";const blurVal=bgGlass?.blurValue??20;const colorGlass=bgGlass?.glassColor??\"rgba(255, 255, 255, 0.15)\";const effectiveText=expText;const effectiveSubtext=expSubtext;const effectiveAccent=expAccent;const effectiveMiniIcon=miniIconColors?.playColor??\"#FFFFFF\";const AdvancedGlassCSS=`\n        .glass-card-${compId} {\n        background: ${colorGlass};\n        backdrop-filter: blur(${blurVal}px);\n        -webkit-backdrop-filter: blur(${blurVal}px);\n        border-radius: 40px;\n        box-shadow:\n            1px -1px 2px hsl(0 0% 100% / 0.5) inset,\n            0px -1px 2px hsl(0 0% 100% / 0.5) inset,\n            -1px -1px 2px hsl(0 0% 100% / 0.5) inset,\n            1px 1px 2px hsl(0 0% 30% / 0.5) inset,\n            -8px 4px 10px -6px hsl(0 0% 30% / 0.25) inset,\n            -1px 1px 6px hsl(0 0% 30% / 0.25) inset,\n            -1px -1px 8px hsl(0 0% 60% / 0.15),\n            1px 1px 2px hsl(0 0% 30% / 0.15),\n            2px 2px 6px hsl(0 0% 30% / 0.15),\n            -2px -1px 2px hsl(0 0% 100% / 0.25) inset,\n            3px 6px 16px -6px hsl(0 0% 30% / 0.5);\n        position: relative;\n        }\n        `;// ── Song list resolution ────────────────────────────────────────────────\nconst rawSongs=useMemo(()=>{if(songMode===\"single\")return singleSongProp?[singleSongProp]:[];return playlist||[];},[songMode,singleSongProp,playlist]);const songs=useMemo(()=>{const filtered=rawSongs.filter(s=>{if(!s)return false;if(s.source===\"youtube\")return!!(extractYouTubeId(s.youtubeUrl||\"\")||extractYouTubePlaylistId(s.youtubeUrl||\"\"));if(s.source===\"soundcloud\")return!!s.soundcloudUrl;return!!s.audio;});if(songMode!==\"playlist\"||filtered.length===0)return filtered;const start=startTrack>0?Math.min(startTrack-1,filtered.length-1):0;const end=endTrack>0?Math.min(endTrack-1,filtered.length-1):filtered.length-1;return filtered.slice(start,end+1);},[rawSongs,songMode,startTrack,endTrack]);const isStatic=useIsStaticRenderer();// ── State ───────────────────────────────────────────────────────────────\nconst[isPlaying,setIsPlaying]=useState(false);const[isMini,setIsMini]=useState(false);const[isExpanded,setIsExpanded]=useState(false);const[isHoveringExpanded,setIsHoveringExpanded]=useState(false);const[currentIndex,setCurrentIndex]=useState(0);const[currentTime,setCurrentTime]=useState(0);const[duration,setDuration]=useState(0);const[playerScale,setPlayerScale]=useState(1);const discRotation=useMotionValue(0);// ── Refs ────────────────────────────────────────────────────────────────\nconst audioRef=useRef(null);const ytPlayerRef=useRef(null);const ytMountRef=useRef(null);const ytTickRef=useRef(null);const scWidgetRef=useRef(null);const scMountRef=useRef(null);const scTickRef=useRef(null);const miniWrapRef=useRef(null);const rootRef=useRef(null);const hasAutoplayedRef=useRef(false);const isPlayingRef=useRef(false);const shouldAutoPlayOnSrcChangeRef=useRef(false);const clickSoundsRef=useRef([]);const clickSoundIndexRef=useRef(0);// ── Derived current song ────────────────────────────────────────────────\nconst safeIndex=Math.min(currentIndex,Math.max(songs.length-1,0));const currentSong=songs[safeIndex];const currentSource=currentSong?.source===\"youtube\"?\"youtube\":currentSong?.source===\"soundcloud\"?\"soundcloud\":\"file\";const currentAudioSrc=currentSong?.audio;const currentYtId=extractYouTubeId(currentSong?.youtubeUrl||\"\");const currentYtPlaylistId=currentYtId?null:extractYouTubePlaylistId(currentSong?.youtubeUrl||\"\");const currentSoundCloudUrl=currentSong?.soundcloudUrl||\"\";const currentTitle=currentSong?.title||\"\";const currentArtist=currentSong?.artist||\"\";const currentCover=currentSong?.coverImage||null;// ── Proportional scaling via ResizeObserver ─────────────────────────────\nuseEffect(()=>{const el=rootRef.current;if(!el||!showVinyl)return;const ro=new ResizeObserver(([entry])=>{const{width,height}=entry.contentRect;if(width>0&&height>0){setPlayerScale(Math.min(width/BASE_W,height/BASE_H));}});ro.observe(el);return()=>ro.disconnect();},[showVinyl]);// ── Haptic click sounds ─────────────────────────────────────────────────\nuseEffect(()=>{if(typeof window!==\"undefined\"){const path1=clickFile1||\"file:///E:/Work/Onifang/Web%20Work/Assets/Images/Vinyl/click1.mp3\";const path2=clickFile2||\"file:///E:/Work/Onifang/Web%20Work/Assets/Images/Vinyl/click2.mp3\";clickSoundsRef.current=[new Audio(path1),new Audio(path2)];}},[clickFile1,clickFile2]);const playClickSound=useCallback(()=>{if(clickSoundsRef.current.length===0)return;const idx=clickSoundIndexRef.current;const audio=clickSoundsRef.current[idx];if(audio){audio.currentTime=0;audio.volume=.5;audio.play().catch(e=>console.warn(\"Haptic click blocked:\",e));}clickSoundIndexRef.current=(idx+1)%clickSoundsRef.current.length;if(typeof navigator!==\"undefined\"&&navigator.vibrate){try{navigator.vibrate([12,18,8]);}catch(e){}}},[]);// ── Audio (file) lifecycle ──────────────────────────────────────────────\nuseEffect(()=>{if(isStatic)return;if(currentSource!==\"file\"||!currentAudioSrc)return;let audio;const w=typeof window!==\"undefined\"?window:null;if(playbackScope===\"session\"&&w){if(w.__discPlayerAudio&&w.__discPlayerSrc===currentAudioSrc){audio=w.__discPlayerAudio;}else{if(w.__discPlayerAudio){try{w.__discPlayerAudio.pause();}catch{}}audio=new Audio(currentAudioSrc);w.__discPlayerAudio=audio;w.__discPlayerSrc=currentAudioSrc;}}else{audio=new Audio(currentAudioSrc);}audio.loop=songs.length<=1;audio.preload=\"auto\";audio.volume=volumeNormalized;audioRef.current=audio;const onTime=()=>setCurrentTime(audio.currentTime);const onMeta=()=>setDuration(audio.duration||0);const onEnded=()=>{if(songs.length>1){startTransition(()=>setCurrentIndex(i=>(i+1)%songs.length));}};const onPlaying=()=>setIsPlaying(true);const onPause=()=>setIsPlaying(false);audio.addEventListener(\"timeupdate\",onTime);audio.addEventListener(\"loadedmetadata\",onMeta);audio.addEventListener(\"ended\",onEnded);audio.addEventListener(\"playing\",onPlaying);audio.addEventListener(\"pause\",onPause);setCurrentTime(audio.currentTime);setDuration(audio.duration||0);if(autoplay&&!hasAutoplayedRef.current){hasAutoplayedRef.current=true;audio.play().catch(()=>{audio.muted=true;audio.play().then(()=>{audio.muted=false;}).catch(()=>{});});}else if(shouldAutoPlayOnSrcChangeRef.current){shouldAutoPlayOnSrcChangeRef.current=false;audio.play().catch(e=>console.warn(\"Auto-play on track change failed:\",e));}return()=>{audio.removeEventListener(\"timeupdate\",onTime);audio.removeEventListener(\"loadedmetadata\",onMeta);audio.removeEventListener(\"ended\",onEnded);audio.removeEventListener(\"playing\",onPlaying);audio.removeEventListener(\"pause\",onPause);if(playbackScope!==\"session\"){audio.pause();audio.src=\"\";}audioRef.current=null;};},[currentAudioSrc,currentSource,isStatic,playbackScope,songs.length]);useEffect(()=>{isPlayingRef.current=isPlaying;},[isPlaying]);useEffect(()=>{if(audioRef.current)audioRef.current.volume=volumeNormalized;if(ytPlayerRef.current){try{ytPlayerRef.current.setVolume(volumeNormalized*100);}catch{}}},[volumeNormalized]);// ── YouTube lifecycle ───────────────────────────────────────────────────\nuseEffect(()=>{if(isStatic)return;if(currentSource!==\"youtube\")return;if(!currentYtId&&!currentYtPlaylistId)return;if(!ytMountRef.current)return;let cancelled=false;loadYouTubeApi().then(()=>{if(cancelled||!ytMountRef.current)return;const YT=window.YT;const baseVars={autoplay:0,controls:0,disablekb:1,modestbranding:1,playsinline:1,rel:0};const config={playerVars:baseVars,events:{onReady:e=>{if(cancelled)return;ytPlayerRef.current=e.target;e.target.setVolume(volumeNormalized*100);setDuration(e.target.getDuration()||0);setCurrentTime(0);if(currentYtPlaylistId&&startTrack>1){try{e.target.playVideoAt(startTrack-1);}catch{}}if(autoplay&&!hasAutoplayedRef.current){hasAutoplayedRef.current=true;try{e.target.mute();e.target.playVideo();setTimeout(()=>{try{e.target.unMute();}catch{}},300);}catch{}}else if(shouldAutoPlayOnSrcChangeRef.current){shouldAutoPlayOnSrcChangeRef.current=false;try{e.target.playVideo();}catch{}}ytTickRef.current=window.setInterval(()=>{const p=ytPlayerRef.current;if(!p)return;try{setCurrentTime(p.getCurrentTime()||0);const d=p.getDuration()||0;setDuration(prev=>prev!==d?d:prev);}catch{}},500);},onStateChange:e=>{const state=e.data;if(state===YT.PlayerState.PLAYING)setIsPlaying(true);else if(state===YT.PlayerState.PAUSED)setIsPlaying(false);else if(state===YT.PlayerState.BUFFERING)setIsPlaying(false);else if(state===YT.PlayerState.ENDED){if(currentYtPlaylistId){// YT playlist: API advances automatically; loop handled by loop:1\n}else if(songs.length>1){startTransition(()=>setCurrentIndex(i=>(i+1)%songs.length));}else{try{ytPlayerRef.current?.seekTo(0,true);ytPlayerRef.current?.playVideo();}catch{}}}}}};if(currentYtPlaylistId){// Playlist mode: start track is applied via playVideoAt in onReady (more reliable than index param)\nconfig.playerVars={...baseVars,listType:\"playlist\",list:currentYtPlaylistId,loop:1};}else{config.videoId=currentYtId;}new YT.Player(ytMountRef.current,config);});return()=>{cancelled=true;if(ytTickRef.current){clearInterval(ytTickRef.current);ytTickRef.current=null;}if(ytPlayerRef.current){try{ytPlayerRef.current.destroy();}catch{}ytPlayerRef.current=null;}};},[currentYtId,currentYtPlaylistId,currentSource,isStatic,songs.length,startTrack]);// ── SoundCloud lifecycle ────────────────────────────────────────────────\nuseEffect(()=>{if(isStatic)return;if(currentSource!==\"soundcloud\"||!currentSoundCloudUrl)return;if(!scMountRef.current)return;// Personalized/discover playlists require login and cannot be embedded\nif(/\\/discover\\/sets\\/|personalized-tracks/.test(currentSoundCloudUrl)){console.warn(\"DiscPlayer: SoundCloud personalized/discover playlist URLs are not embeddable. Use a public track or public set URL instead.\");return;}let cancelled=false;loadSoundCloudApi().then(()=>{if(cancelled||!scMountRef.current)return;const SC=window.SC;const widget=SC.Widget(scMountRef.current);scWidgetRef.current=widget;widget.bind(SC.Widget.Events.READY,()=>{if(cancelled)return;widget.getDuration(d=>setDuration(d/1e3));setCurrentTime(0);widget.setVolume(volumeNormalized*100);if(autoplay&&!hasAutoplayedRef.current){hasAutoplayedRef.current=true;widget.play();}else if(shouldAutoPlayOnSrcChangeRef.current){shouldAutoPlayOnSrcChangeRef.current=false;widget.play();}scTickRef.current=window.setInterval(()=>{const w=scWidgetRef.current;if(!w)return;try{w.getPosition(pos=>setCurrentTime(pos/1e3));w.getDuration(d=>{const secs=d/1e3;setDuration(prev=>prev!==secs?secs:prev);});}catch{}},500);});widget.bind(SC.Widget.Events.PLAY,()=>{if(!cancelled)setIsPlaying(true);});widget.bind(SC.Widget.Events.PAUSE,()=>{if(!cancelled)setIsPlaying(false);});widget.bind(SC.Widget.Events.FINISH,()=>{if(cancelled)return;if(songs.length>1){startTransition(()=>setCurrentIndex(i=>(i+1)%songs.length));}else{try{scWidgetRef.current?.seekTo(0);scWidgetRef.current?.play();}catch{}}});});return()=>{cancelled=true;if(scTickRef.current){clearInterval(scTickRef.current);scTickRef.current=null;}if(scWidgetRef.current){try{scWidgetRef.current.unbindAll();scWidgetRef.current.pause();}catch{}scWidgetRef.current=null;}};},[currentSoundCloudUrl,currentSource,isStatic,songs.length,volumeNormalized]);// ── Auto-close expanded island (paused on hover) ────────────────────────\nuseEffect(()=>{if(!isExpanded||isHoveringExpanded)return;const timer=setTimeout(()=>setIsExpanded(false),1e4);return()=>clearTimeout(timer);},[isExpanded,isHoveringExpanded]);// ── Playback controls ───────────────────────────────────────────────────\nconst togglePlayback=useCallback(e=>{if(e)e.stopPropagation();if(currentSource===\"file\"){const a=audioRef.current;if(a){if(a.paused)a.play().catch(e=>console.warn(\"Playback fail:\",e));else a.pause();}}else if(currentSource===\"youtube\"){const yt=ytPlayerRef.current;if(yt){const state=yt.getPlayerState();if(state===1)yt.pauseVideo();else yt.playVideo();}}else if(currentSource===\"soundcloud\"){const sc=scWidgetRef.current;if(sc)sc.isPaused(paused=>{if(paused)sc.play();else sc.pause();});}},[currentSource]);const handleDiscTap=useCallback(e=>{playClickSound();togglePlayback(e);},[playClickSound,togglePlayback]);const toggleExpand=useCallback(e=>{e.stopPropagation();setIsExpanded(p=>!p);playClickSound();},[playClickSound]);const collapseExpand=useCallback(e=>{e.stopPropagation();setIsExpanded(false);playClickSound();},[playClickSound]);const nextSong=useCallback(e=>{if(e)e.stopPropagation();// YouTube playlist: delegate to YT API\nif(currentSource===\"youtube\"&&currentYtPlaylistId){try{ytPlayerRef.current?.nextVideo();}catch{}playClickSound();return;}if(songs.length<=1)return;shouldAutoPlayOnSrcChangeRef.current=isPlayingRef.current;setCurrentIndex(i=>(i+1)%songs.length);playClickSound();},[songs.length,playClickSound,currentSource,currentYtPlaylistId]);const prevSong=useCallback(e=>{if(e)e.stopPropagation();// YouTube playlist: delegate to YT API\nif(currentSource===\"youtube\"&&currentYtPlaylistId){try{ytPlayerRef.current?.previousVideo();}catch{}playClickSound();return;}if(songs.length<=1)return;shouldAutoPlayOnSrcChangeRef.current=isPlayingRef.current;setCurrentIndex(i=>(i-1+songs.length)%songs.length);playClickSound();},[songs.length,playClickSound,currentSource,currentYtPlaylistId]);const seek=useCallback((e,ratio)=>{e.stopPropagation();const target=Math.max(0,Math.min(1,ratio))*(duration||0);if(currentSource===\"file\"){const a=audioRef.current;if(!a||!duration)return;a.currentTime=target;}else if(currentSource===\"youtube\"){const p=ytPlayerRef.current;if(!p||!duration)return;try{p.seekTo(target,true);}catch{}}else if(currentSource===\"soundcloud\"){const sc=scWidgetRef.current;if(!sc||!duration)return;try{sc.seekTo(target*1e3);}catch{}}},[duration,currentSource]);// ── Disc rotation RAF ───────────────────────────────────────────────────\nuseEffect(()=>{if(isStatic||!isPlaying)return;let rafId;let last=null;const tick=t=>{if(last!==null){const deg=(t-last)/2800*360;discRotation.set((discRotation.get()+deg)%360);}last=t;rafId=requestAnimationFrame(tick);};rafId=requestAnimationFrame(tick);return()=>cancelAnimationFrame(rafId);},[isPlaying,isStatic,discRotation]);// ── Click outside to collapse island ───────────────────────────────────\nuseEffect(()=>{if(!isExpanded)return;const handleDocClick=()=>setIsExpanded(false);document.addEventListener(\"click\",handleDocClick);return()=>document.removeEventListener(\"click\",handleDocClick);},[isExpanded]);// ── Player mode / scroll behavior ──────────────────────────────────────\n// Uses IntersectionObserver instead of window.scrollY so it works in\n// Framer's preview pane (which scrolls a div, not the window).\nuseEffect(()=>{if(isStatic)return;if(playerMode===\"vinyl\"){setIsMini(false);setIsExpanded(false);return;}if(playerMode===\"island\"){setIsMini(true);return;}// \"both\" mode: switch to pill when the page has been scrolled `scrollThreshold` px.\n// Walk up to find the real scroll container (Framer preview scrolls a div, not window).\nconst el=rootRef.current;if(!el)return;let scrollContainer=el.parentElement;while(scrollContainer){const{overflow,overflowY}=getComputedStyle(scrollContainer);if(/(auto|scroll)/.test(overflow+overflowY))break;scrollContainer=scrollContainer.parentElement;}const scrollTarget=scrollContainer??window;const getScrollTop=()=>scrollContainer?scrollContainer.scrollTop:window.scrollY;const check=()=>{if(getScrollTop()>=scrollThreshold){setIsMini(true);}else{setIsMini(false);setIsExpanded(false);}};check();scrollTarget.addEventListener(\"scroll\",check,{passive:true});return()=>scrollTarget.removeEventListener(\"scroll\",check);},[isStatic,playerMode,scrollThreshold]);// ── Tab visibility pause ────────────────────────────────────────────────\nuseEffect(()=>{if(isStatic||playbackScope!==\"tab\")return;const onVis=()=>{if(document.hidden&&isPlaying)togglePlayback();};document.addEventListener(\"visibilitychange\",onVis);window.addEventListener(\"blur\",onVis);return()=>{document.removeEventListener(\"visibilitychange\",onVis);window.removeEventListener(\"blur\",onVis);};},[isStatic,playbackScope,isPlaying,togglePlayback]);// ── Island positioning helpers ──────────────────────────────────────────\nconst pillFixed=()=>{const top=12+offsetY;if(miniPosition===\"top-right\")return{position:\"fixed\",top,right:12-offsetX,zIndex:9999};if(miniPosition===\"top-center\")return{position:\"fixed\",top,left:0,right:0,display:\"flex\",justifyContent:\"center\",pointerEvents:\"none\",zIndex:9999};return{position:\"fixed\",top,left:12+offsetX,zIndex:9999};};const pillCenterInner=miniPosition===\"top-center\"?{pointerEvents:\"auto\",marginLeft:offsetX}:{};const getIslandBgProps=()=>{const baseStyle={color:effectiveText,fontFamily:\"-apple-system, BlinkMacSystemFont, system-ui, sans-serif\",userSelect:\"none\"};if(bgStyle===\"glass\")return{className:`glass-card-${compId}`,style:{...baseStyle}};if(bgStyle===\"gradient\")return{style:{...baseStyle,background:`linear-gradient(${gradAngle}deg, ${gradC1}, ${gradC2})`,boxShadow:\"0 16px 48px rgba(0,0,0,0.45), 0 6px 20px rgba(0,0,0,0.32)\"}};return{style:{...baseStyle,background:bgSolid,boxShadow:\"0 16px 48px rgba(0,0,0,0.45), 0 6px 20px rgba(0,0,0,0.32)\"}};};const morphSpring={type:\"spring\",stiffness:320,damping:32,mass:.85};// ── Full vinyl player ───────────────────────────────────────────────────\nconst FullPlayer=()=>{const grooveRings=Array.from({length:14},(_,i)=>i);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"visible\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...style},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",width:BASE_W,height:BASE_H,transform:`scale(${playerScale})`,transformOrigin:\"center center\",backgroundColor,borderRadius:36,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"inset 0 4px 12px rgba(255,255,255,0.7), 0 10px 40px rgba(0,0,0,0.15)\"},children:[/*#__PURE__*/_jsxs(\"svg\",{style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",opacity:.07,pointerEvents:\"none\",zIndex:9},\"aria-hidden\":true,children:[/*#__PURE__*/_jsxs(\"filter\",{id:`grain-${compId}`,children:[/*#__PURE__*/_jsx(\"feTurbulence\",{type:\"fractalNoise\",baseFrequency:\"0.72 0.72\",numOctaves:\"4\",stitchTiles:\"stitch\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{type:\"saturate\",values:\"0\"})]}),/*#__PURE__*/_jsx(\"rect\",{width:\"100%\",height:\"100%\",filter:`url(#grain-${compId})`})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:\"repeating-linear-gradient(45deg, rgba(0,0,0,0.022) 0px, rgba(0,0,0,0.022) 1px, transparent 1px, transparent 5px), repeating-linear-gradient(-45deg, rgba(0,0,0,0.022) 0px, rgba(0,0,0,0.022) 1px, transparent 1px, transparent 5px)\",pointerEvents:\"none\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,background:\"radial-gradient(ellipse 110% 95% at 50% 50%, transparent 38%, rgba(0,0,0,0.13) 100%)\",pointerEvents:\"none\",zIndex:8}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"-10%\",bottom:\"-10%\",left:0,width:\"35%\",backgroundColor:uShapeColor,borderRight:\"1px solid rgba(0,0,0,0.1)\",boxShadow:\"inset -2px 0 10px rgba(0,0,0,0.05), 8px 0 16px -4px rgba(0,0,0,0.1)\",borderRadius:\"0 150px 150px 0\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"5%\",top:\"15%\",transform:\"translateY(-50%)\",width:\"14%\",aspectRatio:\"1\",borderRadius:\"50%\",background:\"#121212\",boxShadow:\"0 4px 12px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.05)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:2},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"70%\",height:\"70%\",borderRadius:\"50%\",background:\"radial-gradient(circle at 40% 30%, #303030, #0a0a0a)\",boxShadow:\"inset 0 2px 6px rgba(0,0,0,0.8)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"30%\",height:\"30%\",borderRadius:\"50%\",background:\"#1a1a1a\",boxShadow:\"0 2px 4px rgba(0,0,0,0.6)\"}})})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:\"60%\",aspectRatio:\"1\",marginLeft:\"-30%\",marginTop:\"-30%\",borderRadius:\"50%\",background:\"radial-gradient(circle at 50% 40%, #2a2a2a, #111)\",boxShadow:\"0 20px 60px -10px rgba(0,0,0,0.7), inset 0 2px 4px rgba(255,255,255,0.06)\",zIndex:3}}),/*#__PURE__*/_jsxs(motion.div,{onClick:handleDiscTap,style:{position:\"absolute\",left:\"50%\",top:\"50%\",width:\"55%\",aspectRatio:\"1\",marginLeft:\"-27.5%\",marginTop:\"-27.5%\",borderRadius:\"50%\",backgroundColor:\"#0d0d0d\",cursor:\"pointer\",willChange:\"transform\",rotate:discRotation,zIndex:4,boxShadow:\"0 4px 24px rgba(0,0,0,0.9), 0 1px 3px rgba(255,255,255,0.04) inset\"},children:[grooveRings.map(i=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:`${94-i*4.5}%`,height:`${94-i*4.5}%`,transform:\"translate(-50%, -50%)\",borderRadius:\"50%\",border:`${i%3===0?\"1px\":\"0.5px\"} solid rgba(255,255,255,${i%2===0?.06:.025})`,boxShadow:i%3===0?\"0 0 0 0.5px rgba(0,0,0,0.5)\":\"none\"}},i)),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:\"conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,0.07) 15deg, transparent 30deg, transparent 165deg, rgba(255,255,255,0.05) 180deg, transparent 195deg, transparent 345deg, rgba(255,255,255,0.07) 360deg)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:\"radial-gradient(ellipse 60% 30% at 35% 25%, rgba(255,255,255,0.09) 0%, transparent 70%)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:\"34%\",height:\"34%\",transform:\"translate(-50%, -50%)\",borderRadius:\"50%\",backgroundColor:currentCover?\"#111\":discColor,boxShadow:\"0 3px 12px rgba(0,0,0,0.7), inset 0 1px 3px rgba(255,255,255,0.2), inset 0 -2px 6px rgba(0,0,0,0.4)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\"},children:[currentCover&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundImage:`url(${currentCover.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",opacity:.88,borderRadius:\"50%\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,borderRadius:\"50%\",background:\"radial-gradient(circle at 35% 30%, rgba(255,255,255,0.15), transparent 60%)\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"20%\",height:\"20%\",borderRadius:\"50%\",background:\"radial-gradient(circle at 35% 30%, #d8d8d8, #666)\",boxShadow:\"0 2px 6px rgba(0,0,0,0.8), inset 0 1px 2px rgba(255,255,255,0.9)\",zIndex:10}})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",right:\"12%\",top:\"10%\",width:\"25%\",height:\"75%\",pointerEvents:\"none\",zIndex:7},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:0,top:0,width:56,height:56,borderRadius:\"50%\",background:\"linear-gradient(135deg, #bbb 0%, #777 100%)\",boxShadow:\"0 10px 20px rgba(0,0,0,0.3), inset 0 2px 4px rgba(255,255,255,0.4)\",zIndex:3,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"70%\",height:\"70%\",borderRadius:\"50%\",background:\"#333\",boxShadow:\"inset 0 3px 6px rgba(0,0,0,0.7)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"40%\",height:\"40%\",borderRadius:\"50%\",background:\"radial-gradient(circle at 35% 35%, #999, #555)\",boxShadow:\"0 2px 4px rgba(0,0,0,0.4)\"}})})}),/*#__PURE__*/_jsxs(motion.div,{animate:{rotate:isPlaying?18:-20},initial:{rotate:-20},transition:{type:\"spring\",stiffness:40,damping:18,mass:1},style:{position:\"absolute\",right:23,top:28,width:10,height:\"78%\",transformOrigin:\"top center\",zIndex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-14,left:\"50%\",transform:\"translateX(-50%)\",width:18,height:18,borderRadius:\"50%\",background:\"radial-gradient(circle at 35% 30%, #888, #333)\",boxShadow:\"0 3px 8px rgba(0,0,0,0.6), inset 0 1px 2px rgba(255,255,255,0.2)\",border:\"1px solid #222\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:\"50%\",transform:\"translateX(-50%)\",width:8,height:\"82%\",background:\"linear-gradient(to right, #3a3a3a, #707070 30%, #606060 60%, #2e2e2e)\",borderRadius:\"4px 4px 0 0\",boxShadow:\"3px 6px 14px rgba(0,0,0,0.5), inset 1px 0 1px rgba(255,255,255,0.12)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:\"8%\",left:\"50%\",transform:\"translateX(-50%)\",width:20,height:30,background:\"linear-gradient(160deg, #2a2a2a, #111)\",borderRadius:\"3px 3px 6px 6px\",boxShadow:\"2px 6px 14px rgba(0,0,0,0.7), inset 0 1px 2px rgba(255,255,255,0.12)\",border:\"1px solid #333\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",padding:4},children:/*#__PURE__*/_jsx(\"div\",{style:{width:8,height:8,marginTop:\"auto\",borderRadius:\"50%\",backgroundColor:needleDotColor,boxShadow:`0 0 10px ${needleDotColor}, 0 0 4px ${needleDotColor}`}})})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",right:\"5%\",top:\"5%\",height:\"24%\",width:12,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:-8,top:0,bottom:0,width:4,pointerEvents:\"none\",backgroundImage:\"repeating-linear-gradient(to bottom, #888 0px, #888 2px, transparent 2px, transparent 8px)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:4,height:\"100%\",background:\"#111\",borderRadius:2,boxShadow:\"inset 0 1px 3px rgba(0,0,0,0.8), 0 1px 1px rgba(255,255,255,0.3)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"35%\",width:16,height:10,background:\"linear-gradient(to bottom, #444, #111)\",borderRadius:2,boxShadow:\"0 2px 4px rgba(0,0,0,0.5), inset 0 1px 1px rgba(255,255,255,0.2)\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"80%\",height:1,background:\"rgba(0,0,0,0.8)\",borderRadius:1}})})]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:\"4%\",bottom:\"5%\",width:28,height:28,borderRadius:\"50%\",background:\"radial-gradient(circle at 30% 30%, #444, #111)\",boxShadow:\"0 4px 8px rgba(0,0,0,0.5), inset 0 1px 2px rgba(255,255,255,0.15)\",border:\"1px solid #1a1a1a\",display:\"flex\",alignItems:\"flex-start\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{width:4,height:4,borderRadius:\"50%\",background:\"#000\",marginTop:4,boxShadow:\"inset 0 1px 1px rgba(0,0,0,0.8)\"}})})]})});};// ── Hidden media mounts ─────────────────────────────────────────────────\nconst YouTubeMount=/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:1,height:1,opacity:0,pointerEvents:\"none\",left:-9999,top:-9999},children:/*#__PURE__*/_jsx(\"div\",{ref:ytMountRef})});const SoundCloudMount=/*#__PURE__*/_jsx(\"iframe\",{ref:scMountRef,src:currentSoundCloudUrl?`https://w.soundcloud.com/player/?url=${encodeURIComponent(currentSoundCloudUrl)}&auto_play=false&hide_related=true&show_comments=false&show_user=false&show_reposts=false&show_teaser=false`:\"about:blank\",allow:\"autoplay\",style:{position:\"absolute\",width:1,height:1,opacity:0,pointerEvents:\"none\",left:-9999,top:-9999,border:\"none\"}});const pct=duration?currentTime/duration*100:0;const remaining=Math.max(0,duration-currentTime);const showPrevNext=songs.length>1||currentSource===\"youtube\"&&!!currentYtPlaylistId;const morphW=isExpanded?EXP_W:PILL_W;const morphH=isExpanded?EXP_H:PILL_H;const morphR=isExpanded?EXP_R:PILL_R;const bgProps=getIslandBgProps();if(isStatic){if(playerMode===\"island\"){// Show a real pill preview in edit mode\nreturn /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",...style},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:AdvancedGlassCSS}}),/*#__PURE__*/_jsxs(\"div\",{...bgProps,style:{...bgProps.style,width:PILL_W,height:PILL_H,borderRadius:PILL_R,position:\"relative\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:6,top:6,width:24,height:24,borderRadius:\"50%\",backgroundColor:currentCover?\"#111\":discColor,backgroundImage:currentCover?`url(${currentCover.src})`:\"none\",backgroundSize:\"cover\",backgroundPosition:\"center\",boxShadow:\"0 2px 4px rgba(0,0,0,0.5)\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:\"30%\",height:\"30%\",transform:\"translate(-50%,-50%)\",borderRadius:\"50%\",background:\"rgba(0,0,0,0.6)\",border:\"1px solid rgba(255,255,255,0.2)\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:12,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 1.5L12.5 7L2.5 12.5V1.5Z\",fill:effectiveMiniIcon})})})]})]});}return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",...style},children:FullPlayer()});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:AdvancedGlassCSS}}),/*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\"},children:[currentSource===\"youtube\"&&YouTubeMount,currentSource===\"soundcloud\"&&SoundCloudMount,/*#__PURE__*/_jsx(AnimatePresence,{children:showVinyl&&!isMini&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:1,scale:1},exit:{opacity:0,scale:.9,transition:{duration:.22,ease:[.4,0,1,1]}},style:{width:\"100%\",height:\"100%\"},children:FullPlayer()},\"inline\")}),showIsland&&isMini&&typeof document!==\"undefined\"&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(AnimatePresence,{children:/*#__PURE__*/_jsx(\"div\",{\"data-dp-pill\":\"true\",style:pillFixed(),children:/*#__PURE__*/_jsx(motion.div,{ref:miniWrapRef,initial:{opacity:0,scale:.5,y:-14},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.5,y:-14},transition:morphSpring,style:{position:\"relative\",...pillCenterInner},children:/*#__PURE__*/_jsxs(motion.div,{onClick:isExpanded?collapseExpand:toggleExpand,onMouseEnter:()=>setIsHoveringExpanded(true),onMouseLeave:()=>setIsHoveringExpanded(false),animate:{width:morphW,height:morphH,borderRadius:morphR},whileHover:!isExpanded?{scale:1.06}:undefined,whileTap:!isExpanded?{scale:.94}:undefined,transition:morphSpring,...bgProps,style:{...bgProps.style,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:!isExpanded&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.14},style:{position:\"absolute\",top:0,left:0,width:PILL_W,height:PILL_H},children:[/*#__PURE__*/_jsx(motion.div,{whileHover:{scale:1.18},whileTap:{scale:.9},transition:{type:\"spring\",stiffness:420,damping:14},style:{position:\"absolute\",left:6,top:6,width:24,height:24,borderRadius:\"50%\",backgroundColor:currentCover?\"#111\":discColor,backgroundImage:currentCover?`url(${currentCover.src})`:\"none\",backgroundSize:\"cover\",backgroundPosition:\"center\",willChange:\"transform\",rotate:discRotation,boxShadow:\"0 2px 4px rgba(0,0,0,0.5)\",cursor:\"pointer\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",width:\"30%\",height:\"30%\",transform:\"translate(-50%, -50%)\",borderRadius:\"50%\",background:\"rgba(0,0,0,0.6)\",border:\"1px solid rgba(255,255,255,0.2)\"}})}),/*#__PURE__*/_jsx(motion.div,{onClick:e=>{playClickSound();togglePlayback(e);},whileHover:{scale:1.22},whileTap:{scale:.85},transition:{type:\"spring\",stiffness:420,damping:14},style:{position:\"absolute\",right:12,top:8,width:20,height:20,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:\"pointer\"},children:isPlaying?/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"1\",y:\"1\",width:\"4\",height:\"12\",rx:\"1.5\",fill:effectiveMiniIcon}),/*#__PURE__*/_jsx(\"rect\",{x:\"9\",y:\"1\",width:\"4\",height:\"12\",rx:\"1.5\",fill:effectiveMiniIcon})]}):/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 1.5L12.5 7L2.5 12.5V1.5Z\",fill:effectiveMiniIcon})})})]},\"mini\")}),/*#__PURE__*/_jsx(AnimatePresence,{children:isExpanded&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.22,delay:.08},style:{position:\"absolute\",inset:0,padding:16,display:\"flex\",flexDirection:\"column\",gap:10,cursor:\"default\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:56,height:56,borderRadius:8,overflow:\"hidden\",flexShrink:0,backgroundColor:currentCover?\"#111\":discColor,backgroundImage:currentCover?`url(${currentCover.src})`:\"none\",backgroundSize:\"cover\",backgroundPosition:\"center\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:700,fontSize:15,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",letterSpacing:\"0.01em\",lineHeight:1.2,textTransform:\"uppercase\",color:effectiveText},children:currentTitle||\"Unknown Track\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:effectiveSubtext,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",marginTop:2},children:currentArtist||\"Unknown Artist\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:2,alignItems:\"flex-end\",height:14,flexShrink:0},children:[0,1,2,3,4].map(i=>/*#__PURE__*/_jsx(motion.div,{animate:isPlaying?{height:[3,12,3]}:{height:3},transition:isPlaying?{duration:.8,repeat:Infinity,delay:i*.1,ease:\"easeInOut\"}:{duration:.2},style:{width:2,backgroundColor:effectiveAccent,borderRadius:1}},i))})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,fontSize:11,color:effectiveSubtext,fontVariantNumeric:\"tabular-nums\"},children:[/*#__PURE__*/_jsx(\"span\",{children:formatTime(currentTime)}),/*#__PURE__*/_jsx(\"div\",{onClick:e=>{const r=e.currentTarget.getBoundingClientRect();seek(e,(e.clientX-r.left)/r.width);},style:{flex:1,height:4,borderRadius:2,backgroundColor:\"rgba(255,255,255,0.22)\",cursor:\"pointer\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,height:\"100%\",width:`${pct}%`,backgroundColor:effectiveText,borderRadius:2}})}),/*#__PURE__*/_jsxs(\"span\",{children:[\"-\",formatTime(remaining)]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:36,flex:1},children:[/*#__PURE__*/_jsx(motion.button,{onClick:prevSong,disabled:!showPrevNext,whileHover:showPrevNext?{scale:1.2}:undefined,whileTap:showPrevNext?{scale:.85}:undefined,transition:{type:\"spring\",stiffness:420,damping:14},style:iconBtn(effectiveText,!showPrevNext),\"aria-label\":\"Previous\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:effectiveText,children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6h2v12H6zM20 6L9 12l11 6V6z\"})})}),/*#__PURE__*/_jsx(motion.button,{onClick:e=>{playClickSound();togglePlayback(e);},whileHover:{scale:1.18},whileTap:{scale:.88},transition:{type:\"spring\",stiffness:420,damping:14},style:iconBtn(effectiveText),\"aria-label\":isPlaying?\"Pause\":\"Play\",children:/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",initial:false,children:isPlaying?/*#__PURE__*/_jsxs(motion.svg,{initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.7},transition:{duration:.12},width:\"28\",height:\"28\",viewBox:\"0 0 24 24\",fill:effectiveText,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"5\",y:\"4\",width:\"5\",height:\"16\",rx:\"1.5\"}),/*#__PURE__*/_jsx(\"rect\",{x:\"14\",y:\"4\",width:\"5\",height:\"16\",rx:\"1.5\"})]},\"pause-exp\"):/*#__PURE__*/_jsx(motion.svg,{initial:{opacity:0,scale:.7},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.7},transition:{duration:.12},width:\"28\",height:\"28\",viewBox:\"0 0 24 24\",fill:effectiveText,children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 4l14 8-14 8V4z\"})},\"play-exp\")})}),/*#__PURE__*/_jsx(motion.button,{onClick:nextSong,disabled:!showPrevNext,whileHover:showPrevNext?{scale:1.2}:undefined,whileTap:showPrevNext?{scale:.85}:undefined,transition:{type:\"spring\",stiffness:420,damping:14},style:iconBtn(effectiveText,!showPrevNext),\"aria-label\":\"Next\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:effectiveText,children:/*#__PURE__*/_jsx(\"path\",{d:\"M16 6h2v12h-2zM4 6l11 6-11 6V6z\"})})})]})]},\"exp\")})]})},\"morph-root\")},\"pill-portal\")}),document.body)]})]});}// ── Song control template (reused in single + playlist) ─────────────────────\nconst songControls={source:{type:ControlType.Enum,title:\"Source\",defaultValue:\"file\",options:[\"file\",\"youtube\",\"soundcloud\"],optionTitles:[\"Audio File\",\"YouTube\",\"SoundCloud\"]},audio:{type:ControlType.File,title:\"Audio Track\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\"],hidden:p=>p?.source!==\"file\"&&p?.source!==undefined},youtubeUrl:{type:ControlType.String,title:\"YouTube URL\",defaultValue:\"\",placeholder:\"https://youtube.com/watch?v=...\",hidden:p=>p?.source!==\"youtube\"},soundcloudUrl:{type:ControlType.String,title:\"SoundCloud URL\",defaultValue:\"\",placeholder:\"https://soundcloud.com/artist/track\",hidden:p=>p?.source!==\"soundcloud\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"\"},artist:{type:ControlType.String,title:\"Artist\",defaultValue:\"\"},coverImage:{type:ControlType.ResponsiveImage,title:\"Cover\"}};addPropertyControls(DiscPlayer,{// ── Vinyl Style ────────────────────────────────────────────────────────\nisland:{type:ControlType.Object,title:\"Vinyl Style\",controls:{playerMode:{type:ControlType.Enum,title:\"Mode\",defaultValue:\"both\",options:[\"vinyl\",\"both\",\"island\"],optionTitles:[\"Vinyl Only\",\"Vinyl + Island\",\"Island Only\"],description:\"Vinyl Only: full player \\xb7 Vinyl + Island: player collapses to floating pill on scroll \\xb7 Island Only: always-visible floating pill\"},// ── Dynamic Island ─────────────────────────────────────────────\nbgStyle:{type:ControlType.Enum,title:\"Island Style\",defaultValue:\"solid\",options:[\"solid\",\"glass\",\"gradient\"],optionTitles:[\"Solid\",\"Advanced Glass\",\"Gradient\"],hidden:p=>p?.playerMode===\"vinyl\"},bgSolid:{type:ControlType.Color,title:\"Solid Color\",defaultValue:\"#1d1d1d\",hidden:p=>p?.playerMode===\"vinyl\"||p?.bgStyle!==\"solid\"},bgGlass:{type:ControlType.Object,title:\"Glass Settings\",hidden:p=>p?.playerMode===\"vinyl\"||p?.bgStyle!==\"glass\",controls:{blurValue:{type:ControlType.Number,title:\"Blur\",defaultValue:20},refraction:{type:ControlType.Number,title:\"Refraction\",defaultValue:.15,min:0,max:1,step:.05},depth:{type:ControlType.Number,title:\"Depth\",defaultValue:10},glassColor:{type:ControlType.Color,title:\"Glass Color\",defaultValue:\"rgba(255, 255, 255, 0.15)\"}}},bgGradient:{type:ControlType.Object,title:\"Gradient Settings\",hidden:p=>p?.playerMode===\"vinyl\"||p?.bgStyle!==\"gradient\",controls:{color1:{type:ControlType.Color,title:\"Color 1\",defaultValue:\"#2a1537\"},color2:{type:ControlType.Color,title:\"Color 2\",defaultValue:\"#6b1e7d\"},angle:{type:ControlType.Number,title:\"Angle\",defaultValue:180,min:0,max:360,step:1,unit:\"\\xb0\"}}},expandedColors:{type:ControlType.Object,title:\"Expanded Text\",hidden:p=>p?.playerMode===\"vinyl\",controls:{text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},subtext:{type:ControlType.Color,title:\"Subtext\",defaultValue:\"#9C9C9C\"},accent:{type:ControlType.Color,title:\"Equalizer\",defaultValue:\"#E5B8FF\"}}},miniIconColors:{type:ControlType.Object,title:\"Mini Icons\",hidden:p=>p?.playerMode===\"vinyl\",controls:{playColor:{type:ControlType.Color,title:\"Play\",defaultValue:\"#FFFFFF\"},pauseColor:{type:ControlType.Color,title:\"Pause\",defaultValue:\"#FFFFFF\"}}},miniPosition:{type:ControlType.Enum,title:\"Island Position\",defaultValue:\"top-left\",options:[\"top-left\",\"top-center\",\"top-right\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\"],hidden:p=>p?.playerMode===\"vinyl\"},offsetX:{type:ControlType.Number,title:\"Offset X\",defaultValue:0,min:-300,max:300,step:1,unit:\"px\",hidden:p=>p?.playerMode===\"vinyl\"},offsetY:{type:ControlType.Number,title:\"Offset Y\",defaultValue:0,min:-300,max:300,step:1,unit:\"px\",hidden:p=>p?.playerMode===\"vinyl\"},scrollThreshold:{type:ControlType.Number,title:\"Scroll Transition\",defaultValue:100,min:0,max:1e3,step:10,unit:\"px\",description:\"Pixels the vinyl player must scroll above the viewport top before switching to the Dynamic Island pill.\",hidden:p=>p?.playerMode!==\"both\"}}},// ── Songs ──────────────────────────────────────────────────────────────\nsongConfig:{type:ControlType.Object,title:\"Songs\",controls:{songMode:{type:ControlType.Enum,title:\"Mode\",defaultValue:\"playlist\",options:[\"single\",\"playlist\"],optionTitles:[\"Single Song\",\"Playlist\"],description:\"Single: one song configured here \\xb7 Playlist: ordered list of tracks\"},singleSong:{type:ControlType.Object,title:\"Song\",hidden:p=>p?.songMode!==\"single\",controls:songControls},playlist:{type:ControlType.Array,title:\"Tracks\",hidden:p=>p?.songMode!==\"playlist\",control:{type:ControlType.Object,controls:songControls}},startTrack:{type:ControlType.Number,title:\"Start Track\",defaultValue:0,min:0,step:1,description:\"First track to play (1 = first). 0 = from beginning.\",hidden:p=>p?.songMode!==\"playlist\"},endTrack:{type:ControlType.Number,title:\"End Track\",defaultValue:0,min:0,step:1,description:\"Last track to include (1 = first). 0 = until end.\",hidden:p=>p?.songMode!==\"playlist\"}}},// ── Playback ───────────────────────────────────────────────────────────\nplayback:{type:ControlType.Object,title:\"Playback\",controls:{autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},playbackScope:{type:ControlType.Enum,title:\"Scope\",defaultValue:\"page\",options:[\"session\",\"page\",\"tab\"],optionTitles:[\"Whole Session\",\"Current Page\",\"Same Tab\"]},volume:{type:ControlType.Number,title:\"Volume\",defaultValue:100,min:0,max:100,step:1,unit:\"%\"}}},// ── Hardware ───────────────────────────────────────────────────────────\nhardware:{type:ControlType.Object,title:\"Hardware\",controls:{backgroundColor:{type:ControlType.Color,title:\"Base Color\",defaultValue:\"#e4e5e7\"},uShapeColor:{type:ControlType.Color,title:\"U-Shape Panel\",defaultValue:\"rgba(180, 180, 180, 0.6)\"},discColor:{type:ControlType.Color,title:\"Disc Label\",defaultValue:\"#CD4436\"},needleDotColor:{type:ControlType.Color,title:\"Stylus Dot\",defaultValue:\"#4A90E2\"}}},// ── Haptic Sounds ──────────────────────────────────────────────────────\nhaptics:{type:ControlType.Object,title:\"Haptic Sounds\",controls:{clickFile1:{type:ControlType.File,title:\"Click Sound 1\",allowedFileTypes:[\"mp3\",\"wav\"],description:\"Upload to override default click sound.\"},clickFile2:{type:ControlType.File,title:\"Click Sound 2\",allowedFileTypes:[\"mp3\",\"wav\"],description:\"Upload to override default click sound.\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DiscPlayer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DiscPlayer.map"],"mappings":"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"}