{"version":3,"file":"SuperSplatViewer.BLroCYbF.mjs","names":["React.useRef","React.useState","React.useMemo","React.useCallback","_Fragment","React.startTransition"],"sources":["https:/framerusercontent.com/modules/RJSPpg8MEdThjcfiJ4i9/g9UIZoa77Ro5MCcdrcvl/SuperSplatViewer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useReducedMotion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function SuperSplatViewer(props){const{url,viewerType,poster,label,hint,touchHint,font,radius,buttonRadius,backgroundColor,overlayColor,buttonColor,textColor,labelColor,overlayOpacity,fadeDuration,hoverScale,loadingTimeout,style}=props;const isStaticRenderer=useIsStaticRenderer();const prefersReducedMotion=useReducedMotion();const iframeRef=React.useRef(null);const timeoutRef=React.useRef(null);const focusTimeoutRef=React.useRef(null);const[activated,setActivated]=React.useState(false);const[iframeLoaded,setIframeLoaded]=React.useState(false);const[showViewerAnyway,setShowViewerAnyway]=React.useState(false);const[timedOut,setTimedOut]=React.useState(false);const[hovered,setHovered]=React.useState(false);const[focused,setFocused]=React.useState(false);const[iframeKey,setIframeKey]=React.useState(0);const[isTouchPrimary,setIsTouchPrimary]=React.useState(null);const[activatedSourceIdentity,setActivatedSourceIdentity]=React.useState(\"\");const normalizedViewerType=React.useMemo(()=>{const value=(viewerType||\"\").trim();const lower=value.toLowerCase();if(value===\"\"||value===\"Auto\"||lower===\"auto\")return\"auto\";if(value===\"SuperSplat (3DGS)\"||lower===\"supersplat\")return\"supersplat\";if(value===\"Voxelo (3DGS)\"||value===\"Voxelo\"||lower===\"voxelo\")return\"voxelo\";if(value===\"Sketchfab (Mesh)\"||lower===\"sketchfab\")return\"sketchfab\";if(value===\"Other Embed\"||lower===\"other\"||lower===\"other embed\")return\"other\";return\"auto\";},[viewerType]);const resolvedViewer=React.useMemo(()=>{const raw=(url||\"\").trim();if(!raw){return{resolvedUrl:\"\",errorMessage:\"Add a model URL in the URL field to load the viewer.\",iframeTitle:\"3D Viewer\",sourceIdentity:`empty|${normalizedViewerType}`};}let parsed;try{parsed=new URL(raw);}catch(_error){return{resolvedUrl:\"\",errorMessage:\"This URL is not valid. Please provide a full http(s) model link.\",iframeTitle:\"3D Viewer\",sourceIdentity:`invalid|${normalizedViewerType}|${raw}`};}const protocol=parsed.protocol.toLowerCase();if(protocol!==\"http:\"&&protocol!==\"https:\"){return{resolvedUrl:\"\",errorMessage:\"Only http(s) URLs are allowed for embeds. Please update the URL.\",iframeTitle:\"3D Viewer\",sourceIdentity:`invalid-protocol|${normalizedViewerType}|${raw}`};}const hostname=parsed.hostname.toLowerCase();if(normalizedViewerType===\"supersplat\"){const isSuperSplatHost=hostname===\"superspl.at\"||hostname===\"www.superspl.at\";const isSharePath=parsed.pathname===\"/s\"||parsed.pathname.startsWith(\"/s/\");if(!isSuperSplatHost||!isSharePath||parsed.protocol!==\"https:\"){return{resolvedUrl:\"\",errorMessage:\"Viewer Type is SuperSplat (3DGS), but URL must be an https superspl.at share link.\",iframeTitle:\"SuperSplat 3D Viewer\",sourceIdentity:`supersplat-error|${raw}`};}return{resolvedUrl:parsed.toString(),errorMessage:\"\",iframeTitle:\"SuperSplat 3D Viewer\",sourceIdentity:`supersplat|${parsed.toString()}`};}const pathSegments=parsed.pathname.split(\"/\").filter(Boolean);const isVoxeloHost=hostname===\"app.voxelo.ai\";const hasVoxeloViewerPath=pathSegments[0]===\"viewer\"&&typeof pathSegments[1]===\"string\"&&pathSegments[1].trim()!==\"\";if(normalizedViewerType===\"voxelo\"){if(!isVoxeloHost||!hasVoxeloViewerPath||parsed.protocol!==\"https:\"){return{resolvedUrl:\"\",errorMessage:\"Viewer Type is Voxelo (3DGS), but URL must be an https app.voxelo.ai/viewer/{id} link.\",iframeTitle:\"Voxelo 3D Viewer\",sourceIdentity:`voxelo-error|${raw}`};}return{resolvedUrl:parsed.toString(),errorMessage:\"\",iframeTitle:\"Voxelo 3D Viewer\",sourceIdentity:`voxelo|${parsed.toString()}`};}if(normalizedViewerType===\"sketchfab\"){const isSketchfabHost=hostname===\"sketchfab.com\"||hostname===\"www.sketchfab.com\";if(!isSketchfabHost){return{resolvedUrl:\"\",errorMessage:\"Viewer Type is Sketchfab (Mesh), but URL host must be sketchfab.com.\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab-error|${raw}`};}const searchParams=new URLSearchParams(parsed.search);searchParams.set(\"autostart\",\"0\");const normalizedSearch=searchParams.toString();const search=normalizedSearch?`?${normalizedSearch}`:\"\";const hash=parsed.hash||\"\";if(pathSegments[0]===\"models\"&&pathSegments[1]&&pathSegments[2]===\"embed\"){const resolvedUrl=`${parsed.origin}${parsed.pathname}${search}${hash}`;return{resolvedUrl,errorMessage:\"\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab|${resolvedUrl}`};}if(pathSegments[0]===\"models\"&&pathSegments[1]){const modelId=pathSegments[1];const resolvedUrl=`${parsed.origin}/models/${modelId}/embed${search}${hash}`;return{resolvedUrl,errorMessage:\"\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab|${resolvedUrl}`};}if(pathSegments[0]===\"3d-models\"&&pathSegments[1]){const slug=pathSegments[1];const slugParts=slug.split(\"-\").filter(Boolean);const modelId=slugParts[slugParts.length-1];if(!modelId){return{resolvedUrl:\"\",errorMessage:\"Sketchfab URL is missing a recognizable model id in the slug.\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab-error|${raw}`};}const resolvedUrl=`${parsed.origin}/models/${modelId}/embed${search}${hash}`;return{resolvedUrl,errorMessage:\"\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab|${resolvedUrl}`};}return{resolvedUrl:\"\",errorMessage:\"Use a Sketchfab /models/{id}/embed URL, /models/{id}, or /3d-models/{slug-id} URL.\",iframeTitle:\"Sketchfab 3D Viewer\",sourceIdentity:`sketchfab-error|${raw}`};}if(normalizedViewerType===\"other\"){return{resolvedUrl:parsed.toString(),errorMessage:\"\",iframeTitle:\"Embedded 3D Viewer\",sourceIdentity:`other|${parsed.toString()}`};}if(isVoxeloHost&&hasVoxeloViewerPath&&parsed.protocol===\"https:\"){return{resolvedUrl:parsed.toString(),errorMessage:\"\",iframeTitle:\"Voxelo 3D Viewer\",sourceIdentity:`voxelo|${parsed.toString()}`};}return{resolvedUrl:parsed.toString(),errorMessage:\"\",iframeTitle:\"3D Viewer\",sourceIdentity:`auto|${parsed.toString()}`};},[url,normalizedViewerType]);const isSketchfabExplicit=normalizedViewerType===\"sketchfab\";const usesActivationGate=!isSketchfabExplicit;const hasViewerError=resolvedViewer.errorMessage.length>0;const shouldMountIframe=!isStaticRenderer&&!hasViewerError&&resolvedViewer.resolvedUrl!==\"\"&&(usesActivationGate?activated&&activatedSourceIdentity===resolvedViewer.sourceIdentity:true);const showLoadingOverlay=usesActivationGate&&shouldMountIframe&&!iframeLoaded&&!showViewerAnyway;const showPreviewControls=usesActivationGate&&(!activated||isStaticRenderer);const posterLayerOpacity=isSketchfabExplicit&&!isStaticRenderer?0:!activated||showLoadingOverlay||hasViewerError?1:0;const transitionSeconds=Math.max(0,fadeDuration);const resolvedFontFamily=font.fontFamily||\"Poppins, Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";const clearLoadTimeout=React.useCallback(()=>{if(timeoutRef.current!==null&&typeof window!==\"undefined\"){window.clearTimeout(timeoutRef.current);timeoutRef.current=null;}},[]);const startLoadTimeout=React.useCallback(()=>{clearLoadTimeout();if(typeof window!==\"undefined\"){timeoutRef.current=window.setTimeout(()=>{React.startTransition(()=>setTimedOut(true));},Math.max(1e3,loadingTimeout));}},[clearLoadTimeout,loadingTimeout]);const activateViewer=React.useCallback(()=>{React.startTransition(()=>{setActivatedSourceIdentity(resolvedViewer.sourceIdentity);setActivated(true);setIframeLoaded(false);setShowViewerAnyway(false);setTimedOut(false);});},[resolvedViewer.sourceIdentity]);const retryLoad=React.useCallback(()=>{React.startTransition(()=>{setIframeLoaded(false);setTimedOut(false);setShowViewerAnyway(false);setIframeKey(value=>value+1);});},[]);const revealViewer=React.useCallback(()=>{React.startTransition(()=>setShowViewerAnyway(true));},[]);const handleIframeLoad=React.useCallback(()=>{clearLoadTimeout();React.startTransition(()=>{setIframeLoaded(true);setTimedOut(false);});},[clearLoadTimeout]);React.useEffect(()=>{if(showLoadingOverlay)startLoadTimeout();else clearLoadTimeout();return clearLoadTimeout;},[showLoadingOverlay,startLoadTimeout,clearLoadTimeout,iframeKey]);React.useEffect(()=>{React.startTransition(()=>{setActivated(false);setIframeLoaded(false);setShowViewerAnyway(false);setTimedOut(false);setActivatedSourceIdentity(\"\");setIframeKey(value=>value+1);});},[url,viewerType]);React.useEffect(()=>{if(!usesActivationGate)return;if(!shouldMountIframe||!iframeLoaded&&!showViewerAnyway)return;if(typeof window!==\"undefined\"){if(focusTimeoutRef.current!==null){window.clearTimeout(focusTimeoutRef.current);}focusTimeoutRef.current=window.setTimeout(()=>{iframeRef.current?.focus();},prefersReducedMotion?0:40);}return()=>{if(focusTimeoutRef.current!==null&&typeof window!==\"undefined\"){window.clearTimeout(focusTimeoutRef.current);focusTimeoutRef.current=null;}};},[usesActivationGate,shouldMountIframe,iframeLoaded,showViewerAnyway,prefersReducedMotion]);React.useEffect(()=>{if(typeof window===\"undefined\"||typeof window.matchMedia!==\"function\")return;const mediaQuery=window.matchMedia(\"(hover: none) and (pointer: coarse)\");React.startTransition(()=>{setIsTouchPrimary(mediaQuery.matches);});const handleChange=event=>{React.startTransition(()=>{setIsTouchPrimary(event.matches);});};if(typeof mediaQuery.addEventListener===\"function\"){mediaQuery.addEventListener(\"change\",handleChange);return()=>{mediaQuery.removeEventListener(\"change\",handleChange);};}mediaQuery.addListener(handleChange);return()=>{mediaQuery.removeListener(handleChange);};},[]);const resolvedHint=isTouchPrimary===true?touchHint:hint;const resolvedLabelColor=labelColor??textColor;const rootStyle=React.useMemo(()=>({position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:radius,border:\"none\",background:backgroundColor,padding:0,margin:0,display:\"block\",cursor:!activated&&!isStaticRenderer?\"pointer\":\"default\",textAlign:\"left\",...style}),[radius,backgroundColor,style,activated,isStaticRenderer]);const posterStyle=React.useMemo(()=>({position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center center\",transform:!prefersReducedMotion&&hovered&&!activated?`scale(${Math.max(1,hoverScale)})`:\"scale(1)\",transition:prefersReducedMotion?\"none\":`transform ${transitionSeconds}s ease, opacity ${transitionSeconds}s ease`,opacity:posterLayerOpacity,willChange:\"transform, opacity\",pointerEvents:\"none\"}),[prefersReducedMotion,hovered,activated,hoverScale,transitionSeconds,posterLayerOpacity]);const clampedOverlayOpacity=Math.max(0,Math.min(1,overlayOpacity));const overlayStyle=React.useMemo(()=>({position:\"absolute\",inset:0,background:overlayColor,opacity:clampedOverlayOpacity,transition:prefersReducedMotion?\"none\":`opacity ${transitionSeconds}s ease`,pointerEvents:\"none\"}),[overlayColor,clampedOverlayOpacity,prefersReducedMotion,transitionSeconds]);const posterLayer=/*#__PURE__*/_jsxs(_Fragment,{children:[poster?.src?/*#__PURE__*/_jsx(\"img\",{...poster,alt:poster.alt??\"\",style:posterStyle}):null,/*#__PURE__*/_jsx(\"div\",{style:{...overlayStyle,opacity:clampedOverlayOpacity*posterLayerOpacity}})]});const posterOnlyLayer=poster?.src?/*#__PURE__*/_jsx(\"img\",{...poster,alt:poster.alt??\"\",style:posterStyle}):null;const previewControls=/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\",padding:\"clamp(8px, 2.5vw, 20px)\",opacity:showPreviewControls?1:0,transition:prefersReducedMotion?\"none\":`opacity ${transitionSeconds}s ease`},children:/*#__PURE__*/_jsxs(\"div\",{style:{background:buttonColor,borderRadius:buttonRadius,backdropFilter:\"blur(8px)\",WebkitBackdropFilter:\"blur(8px)\",padding:\"12px 20px\",display:\"inline-flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:6,color:textColor,maxWidth:\"100%\",boxShadow:\"0 8px 24px rgba(0,0,0,0.2)\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:resolvedFontFamily,fontSize:font.fontSize,lineHeight:font.lineHeight,letterSpacing:font.letterSpacing,fontWeight:font.fontWeight,fontStyle:font.fontStyle,textAlign:\"center\",color:resolvedLabelColor,whiteSpace:\"nowrap\"},children:label}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:resolvedFontFamily,fontSize:12,lineHeight:\"1.2em\",letterSpacing:\"0.01em\",fontWeight:400,textAlign:\"center\",color:textColor,opacity:.9,whiteSpace:\"normal\"},children:resolvedHint})]})});if(isSketchfabExplicit&&isStaticRenderer){return /*#__PURE__*/_jsx(\"div\",{style:rootStyle,children:posterOnlyLayer});}if(usesActivationGate&&(!activated||isStaticRenderer)){return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-label\":label,onClick:!isStaticRenderer?activateViewer:undefined,onMouseEnter:()=>React.startTransition(()=>setHovered(true)),onMouseLeave:()=>React.startTransition(()=>setHovered(false)),onFocus:()=>React.startTransition(()=>setFocused(true)),onBlur:()=>React.startTransition(()=>setFocused(false)),style:{...rootStyle,outline:\"none\",boxShadow:focused?\"0 0 0 3px rgba(255,255,255,0.65)\":\"none\"},children:[posterLayer,previewControls]});}return /*#__PURE__*/_jsxs(\"div\",{style:rootStyle,children:[shouldMountIframe?/*#__PURE__*/_jsx(\"iframe\",{ref:iframeRef,src:resolvedViewer.resolvedUrl,title:resolvedViewer.iframeTitle,allow:\"fullscreen; xr-spatial-tracking; gyroscope; accelerometer\",allowFullScreen:true,onLoad:usesActivationGate?handleIframeLoad:undefined,tabIndex:0,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",border:\"none\",opacity:usesActivationGate?iframeLoaded||showViewerAnyway?1:0:1,transition:prefersReducedMotion?\"none\":`opacity ${transitionSeconds}s ease`,background:backgroundColor}},`${resolvedViewer.sourceIdentity}|${iframeKey}`):null,usesActivationGate?posterLayer:null,showLoadingOverlay?/*#__PURE__*/_jsx(\"div\",{role:\"status\",\"aria-live\":\"polite\",style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\",color:textColor,fontFamily:resolvedFontFamily,fontSize:16,fontWeight:400,lineHeight:\"1.3em\",letterSpacing:font.letterSpacing,textAlign:\"center\",padding:\"12px 20px\"},children:\"Loading 3D viewer…\"}):null,(usesActivationGate?activated:true)&&hasViewerError?/*#__PURE__*/_jsx(\"div\",{role:\"alert\",\"aria-live\":\"polite\",style:{position:\"absolute\",left:12,right:12,bottom:12,display:\"flex\",justifyContent:\"center\",pointerEvents:\"none\",color:textColor,fontFamily:resolvedFontFamily,fontSize:13,fontWeight:400,lineHeight:\"1.35em\",letterSpacing:font.letterSpacing,textAlign:\"center\",padding:\"10px 12px\",background:\"rgba(0,0,0,0.45)\",borderRadius:buttonRadius},children:resolvedViewer.errorMessage}):null,usesActivationGate&&timedOut&&!iframeLoaded&&!showViewerAnyway&&!hasViewerError?/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:12,right:12,bottom:12,display:\"flex\",gap:8,justifyContent:\"center\",flexWrap:\"wrap\",pointerEvents:\"auto\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:retryLoad,style:{border:\"none\",borderRadius:buttonRadius,padding:\"8px 14px\",background:buttonColor,color:textColor,cursor:\"pointer\"},children:\"Retry\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:revealViewer,style:{border:\"none\",borderRadius:buttonRadius,padding:\"8px 14px\",background:\"rgba(0,0,0,0.45)\",color:textColor,cursor:\"pointer\"},children:\"Reveal viewer\"})]}):null]});}addPropertyControls(SuperSplatViewer,{viewerType:{type:ControlType.String,title:\"Viewer Type\",description:\"Auto detects supported providers (including SuperSplat and Voxelo). CMS values supported: Auto, SuperSplat (3DGS), Voxelo (3DGS), Voxelo, voxelo, Sketchfab (Mesh), Other Embed.\",defaultValue:\"Auto\"},url:{type:ControlType.String,title:\"URL\",defaultValue:\"https://superspl.at/s?id=e10307d8\"},poster:{type:ControlType.ResponsiveImage,title:\"Poster\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Explore in 3D\"},hint:{type:ControlType.String,title:\"Hint\",defaultValue:\"Drag to rotate \\xb7 Scroll to zoom\"},touchHint:{type:ControlType.String,title:\"Touch Hint\",defaultValue:\"Drag to rotate \\xb7 Pinch to zoom\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:\"1.3em\",letterSpacing:\"0em\",variant:\"Regular\",textAlign:\"center\"}},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:12,min:0,max:64,step:1},buttonRadius:{type:ControlType.Number,title:\"Btn Radius\",defaultValue:23,min:0,max:80,step:1},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},overlayColor:{type:ControlType.Color,title:\"Overlay\",defaultValue:\"#000000\"},buttonColor:{type:ControlType.Color,title:\"Button\",defaultValue:\"rgba(255,255,255,0.16)\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#FFFFFF\"},labelColor:{type:ControlType.Color,title:\"Label Color\",optional:true},overlayOpacity:{type:ControlType.Number,title:\"Overlay Op\",defaultValue:.35,min:0,max:1,step:.01},fadeDuration:{type:ControlType.Number,title:\"Fade (s)\",defaultValue:.3,min:0,max:2,step:.05},hoverScale:{type:ControlType.Number,title:\"Hover Scale\",defaultValue:1.025,min:1,max:1.1,step:.001},loadingTimeout:{type:ControlType.Number,title:\"Timeout ms\",defaultValue:9e3,min:1e3,max:3e4,step:500}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SuperSplatViewer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SuperSplatViewer.map"],"mappings":"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"}