markdown-flow-ui 0.2.1 → 0.2.3-dev.1

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.
Files changed (82) hide show
  1. package/dist/assets/markdown-flow-ui.css +1 -1
  2. package/dist/components/ContentRender/IframeSandbox.cjs.js +7 -7
  3. package/dist/components/ContentRender/IframeSandbox.cjs.js.map +1 -1
  4. package/dist/components/ContentRender/IframeSandbox.es.js +283 -252
  5. package/dist/components/ContentRender/IframeSandbox.es.js.map +1 -1
  6. package/dist/components/ContentRender/SandboxApp.cjs.js +2 -2
  7. package/dist/components/ContentRender/SandboxApp.cjs.js.map +1 -1
  8. package/dist/components/ContentRender/SandboxApp.es.js +106 -95
  9. package/dist/components/ContentRender/SandboxApp.es.js.map +1 -1
  10. package/dist/components/ContentRender/blackboard-vendor.cjs.js +1 -1
  11. package/dist/components/ContentRender/blackboard-vendor.cjs.js.map +1 -1
  12. package/dist/components/ContentRender/blackboard-vendor.d.ts +2 -0
  13. package/dist/components/ContentRender/blackboard-vendor.es.js +9 -12
  14. package/dist/components/ContentRender/blackboard-vendor.es.js.map +1 -1
  15. package/dist/components/ContentRender/utils/iframe-scaling.cjs.js +12 -9
  16. package/dist/components/ContentRender/utils/iframe-scaling.cjs.js.map +1 -1
  17. package/dist/components/ContentRender/utils/iframe-scaling.es.js +16 -12
  18. package/dist/components/ContentRender/utils/iframe-scaling.es.js.map +1 -1
  19. package/dist/components/ContentRender/utils/link-targets.cjs.js +2 -0
  20. package/dist/components/ContentRender/utils/link-targets.cjs.js.map +1 -0
  21. package/dist/components/ContentRender/utils/link-targets.d.ts +6 -0
  22. package/dist/components/ContentRender/utils/link-targets.es.js +26 -0
  23. package/dist/components/ContentRender/utils/link-targets.es.js.map +1 -0
  24. package/dist/components/ContentRender/utils/link-targets.test.d.ts +1 -0
  25. package/dist/components/ContentRender/utils/presentation-scaling.cjs.js +2 -0
  26. package/dist/components/ContentRender/utils/presentation-scaling.cjs.js.map +1 -0
  27. package/dist/components/ContentRender/utils/presentation-scaling.d.ts +34 -0
  28. package/dist/components/ContentRender/utils/presentation-scaling.es.js +67 -0
  29. package/dist/components/ContentRender/utils/presentation-scaling.es.js.map +1 -0
  30. package/dist/components/ContentRender/utils/presentation-scaling.test.d.ts +1 -0
  31. package/dist/components/ContentRender/utils/tailwind-runtime.cjs.js +2 -0
  32. package/dist/components/ContentRender/utils/tailwind-runtime.cjs.js.map +1 -0
  33. package/dist/components/ContentRender/utils/tailwind-runtime.d.ts +5 -0
  34. package/dist/components/ContentRender/utils/tailwind-runtime.es.js +11 -0
  35. package/dist/components/ContentRender/utils/tailwind-runtime.es.js.map +1 -0
  36. package/dist/components/ContentRender/utils/tailwind-runtime.test.d.ts +1 -0
  37. package/dist/components/Slide/MarkdownSlideScaling.cjs.js +2 -0
  38. package/dist/components/Slide/MarkdownSlideScaling.cjs.js.map +1 -0
  39. package/dist/components/Slide/MarkdownSlideScaling.d.ts +13 -0
  40. package/dist/components/Slide/MarkdownSlideScaling.es.js +109 -0
  41. package/dist/components/Slide/MarkdownSlideScaling.es.js.map +1 -0
  42. package/dist/components/Slide/Slide.cjs.js +1 -1
  43. package/dist/components/Slide/Slide.cjs.js.map +1 -1
  44. package/dist/components/Slide/Slide.d.ts +7 -0
  45. package/dist/components/Slide/Slide.es.js +803 -708
  46. package/dist/components/Slide/Slide.es.js.map +1 -1
  47. package/dist/components/Slide/Slide.stories.d.ts +2473 -0
  48. package/dist/components/Slide/constants.cjs.js +2 -0
  49. package/dist/components/Slide/constants.cjs.js.map +1 -0
  50. package/dist/components/Slide/constants.d.ts +1 -0
  51. package/dist/components/Slide/constants.es.js +5 -0
  52. package/dist/components/Slide/constants.es.js.map +1 -0
  53. package/dist/components/Slide/utils/imageOnlyStepVisualReady.cjs.js +2 -0
  54. package/dist/components/Slide/utils/imageOnlyStepVisualReady.cjs.js.map +1 -0
  55. package/dist/components/Slide/utils/imageOnlyStepVisualReady.d.ts +13 -0
  56. package/dist/components/Slide/utils/imageOnlyStepVisualReady.es.js +12 -0
  57. package/dist/components/Slide/utils/imageOnlyStepVisualReady.es.js.map +1 -0
  58. package/dist/components/Slide/utils/interactionPlayback.cjs.js +1 -1
  59. package/dist/components/Slide/utils/interactionPlayback.cjs.js.map +1 -1
  60. package/dist/components/Slide/utils/interactionPlayback.d.ts +8 -0
  61. package/dist/components/Slide/utils/interactionPlayback.es.js +9 -2
  62. package/dist/components/Slide/utils/interactionPlayback.es.js.map +1 -1
  63. package/dist/components/Slide/utils/interactionResolution.cjs.js +2 -0
  64. package/dist/components/Slide/utils/interactionResolution.cjs.js.map +1 -0
  65. package/dist/components/Slide/utils/interactionResolution.d.ts +13 -0
  66. package/dist/components/Slide/utils/interactionResolution.es.js +33 -0
  67. package/dist/components/Slide/utils/interactionResolution.es.js.map +1 -0
  68. package/dist/components/Slide/utils/interactionResolution.test.d.ts +1 -0
  69. package/dist/components/Slide/utils/markdownScaling.cjs.js +2 -0
  70. package/dist/components/Slide/utils/markdownScaling.cjs.js.map +1 -0
  71. package/dist/components/Slide/utils/markdownScaling.d.ts +7 -0
  72. package/dist/components/Slide/utils/markdownScaling.es.js +12 -0
  73. package/dist/components/Slide/utils/markdownScaling.es.js.map +1 -0
  74. package/dist/components/Slide/utils/markdownScaling.test.d.ts +1 -0
  75. package/dist/components/Slide/utils/silentStepAutoAdvance.cjs.js +2 -0
  76. package/dist/components/Slide/utils/silentStepAutoAdvance.cjs.js.map +1 -0
  77. package/dist/components/Slide/utils/silentStepAutoAdvance.d.ts +14 -0
  78. package/dist/components/Slide/utils/silentStepAutoAdvance.es.js +37 -0
  79. package/dist/components/Slide/utils/silentStepAutoAdvance.es.js.map +1 -0
  80. package/dist/components/Slide/utils/silentStepAutoAdvance.test.d.ts +1 -0
  81. package/dist/markdown-flow-ui-lib.css +1 -1
  82. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../_virtual/jsx-runtime.cjs.js"),t=require("react"),Wn=require("../../lib/sandboxInteraction.cjs.js"),te=require("../../lib/utils.cjs.js"),Jn=require("../ui/loading-overlay-card.cjs.js"),Gn=require("../ContentRender/ContentRender.cjs.js"),Dt=require("../ContentRender/IframeSandbox.cjs.js");require("../ui/inputGroup/input-group.cjs.js");require("../ContentRender/contentRenderI18n.cjs.js");const Kt=require("../../lib/interaction-defaults.cjs.js"),qe=require("../../lib/mobileDevice.cjs.js"),Hn=require("./Player.cjs.js"),zn=require("./SubtitleOverlay.cjs.js"),$n=require("./useSlide.cjs.js"),Yn=require("./useWakePlayerFromIframe.cjs.js"),Xn=require("./utils/playerKeyboardShortcutContext.cjs.js"),Qn=require("./utils/playerKeyboardShortcuts.cjs.js"),ye=require("./utils/mobileScreenMode.cjs.js"),Zn=require("./utils/interactionPlayback.cjs.js"),Ze=require("./utils/playerNavigationContext.cjs.js"),er=require("./utils/appendedMarkerAdvance.cjs.js"),Ut=require("./utils/playbackSequence.cjs.js"),et=require("./utils/subtitleJumpNavigation.cjs.js"),Wt=require("./utils/playerCustomActions.cjs.js"),tr=require("./utils/playbackTimeStore.cjs.js"),nr=require("./utils/playerToggleMode.cjs.js"),rr=require("./utils/playerVisibility.cjs.js"),Jt=require("./slideI18n.cjs.js");;/* empty css */const sr=require("../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),or=2e3,lr=300,ur=160,ir=16,tt="waitingForAudio",ar=(f,c)=>typeof f=="string"?f:f[c]??f[tt]??Jt.DEFAULT_SLIDE_BUFFERING_TEXTS[c],cr=(f,c)=>typeof f=="string"?f:{...c,...f},dr=(f,c)=>c?f!=="loadingAudio":!1,Gt=t.memo(({content:f,title:c,locale:N,defaultButtonText:ne,defaultInputText:O,defaultSelectedValues:L,confirmButtonText:U,copyButtonText:re,copiedButtonText:Se,onSend:Be,readonly:W=!1})=>s.jsxRuntimeExports.jsxs("div",{className:"slide-player__interaction-card",children:[s.jsxRuntimeExports.jsx("div",{className:"slide-player__interaction-header",children:s.jsxRuntimeExports.jsx("p",{className:"slide-player__interaction-title",children:c})}),s.jsxRuntimeExports.jsx("div",{className:"slide-player__interaction-body",children:s.jsxRuntimeExports.jsx(Gn.default,{content:f,locale:N,defaultButtonText:ne,defaultInputText:O,defaultSelectedValues:L,confirmButtonText:U,copyButtonText:re,copiedButtonText:Se,onSend:Be,readonly:W,sandboxMode:"content"})})]}));Gt.displayName="InteractionOverlayCard";const fr=(f,c)=>f.length===c.length&&f.every((N,ne)=>{const O=c[ne];return N.sequence_number===O?.sequence_number&&N.type===O?.type&&N.content===O?.content}),mr=({elementList:f=[],locale:c,playerEnabled:N,playerControlsVisibility:ne,playerClassName:O,fullscreenHeader:L,playerCustomActions:U,playerCustomActionPauseOnActive:re=!0,bufferingText:Se,interactionTitle:Be,interactionTexts:W,playerTexts:Ht,playerAutoHideDelay:Fe=3e3,markerAutoAdvanceDelay:nt=or,interactionDefaultValueOptions:ve,onSend:rt,onPlayerVisibilityChange:Ne,onMobileViewModeChange:st,onStepChange:ot,enableKeyboardShortcuts:J=!0,enableIframeScaling:zt=!0,disableLoadingOverlay:C=!1,className:$t,onPointerDown:lt,onFocusCapture:ut,...Yt})=>{const V=t.useMemo(()=>Jt.getSlideLocaleTexts(c),[c]),Xt=t.useMemo(()=>cr(Se,V.bufferingText),[Se,V.bufferingText]),{playerEnabled:Qt,playerControlsVisibility:q}=rr.resolveSlidePlayerVisibility({playerEnabled:N,playerControlsVisibility:ne}),Ee=t.useId(),se=t.useRef(null),it=t.useRef(null),Oe=t.useRef(null),at=t.useRef(null),G=t.useRef(null),ge=t.useRef(!1),oe=t.useRef(null),le=t.useRef(null),ue=t.useRef(null),ct=t.useRef(null),dt=t.useRef([]),ie=t.useRef(!1),D=t.useRef(null),ae=t.useRef(null),ft=t.useRef(0),mt=t.useRef(null),pt=t.useRef({markerCount:0,currentIndex:-1,canGoNext:!1}),Le=t.useRef(!1),{currentElementList:M,stepElementLists:ht,slideElementList:S,currentIndex:l,audioList:h,audioSlideIndexes:Ie,currentAudioSequenceIndexes:Ce,currentStepHasSpeakableElement:v,currentInteractionElement:d,canGoPrev:Zt,canGoNext:g,handlePrev:bt,handleNext:R,handleGoTo:xt}=$n.default(f),ce=t.useMemo(()=>{if(!(l<0))return S[l]},[l,S]),en=S.filter(e=>e.is_renderable!==!1).length===1,m=Qt&&(S.length>0||h.length>0||!!d),tn=t.useMemo(()=>({enabled:J,ownerId:Ee}),[J,Ee]),B=t.useCallback(()=>{!J||!m||Qn.activatePlayerKeyboardShortcutOwner(Ee)},[J,Ee,m]),A=t.useMemo(()=>Ce.map(e=>h[e]?.audioKey).filter(e=>!!e),[h,Ce]),[nn,de]=t.useState(!0),[Re,H]=t.useState(!1),[fe,yt]=t.useState(!0),[me,St]=t.useState(!0),[x,F]=t.useState(null),[rn,vt]=t.useState(null),[sn,b]=t.useState(!1),[on,Ve]=t.useState(tt),[k,De]=t.useState(!1),[ln,Ae]=t.useState(!1),[Et,un]=t.useState(!0),[Ke,Ue]=t.useState(!1),[o,We]=t.useState(),[ke,we]=t.useState(!1),[an,pe]=t.useState(0),[gt,cn]=t.useState(!1),T=t.useMemo(()=>qe.isMobileDevice(),[]),[Pe,Je]=t.useState(ye.DEFAULT_MOBILE_VIEW_MODE),[It,Ge]=t.useState(!1),[dn,Ct]=t.useState(()=>T?qe.isLandscapeViewport():!1),z=t.useMemo(()=>tr.createPlaybackTimeStore(),[]),{effectiveMobileViewMode:$,isImmersiveMobileFullscreen:Y,isNativeMobileFullscreen:Rt,shouldRotateFullscreenViewport:fn}=t.useMemo(()=>ye.resolveMobileViewModeState({hasManualMobileViewMode:It,isMobileDevice:T,mobileViewMode:Pe}),[It,T,dn,Pe]),mn=t.useRef($),E=m&&q!=="hidden"&&(q==="visible"||nn),pn=Y&&E,hn=Y&&E,bn=Y||Rt,At=gt&&!T,xn=t.useCallback(e=>{Ge(!0),Je(e)},[]),kt=t.useCallback(()=>{Ge(!1),Je(ye.DEFAULT_MOBILE_VIEW_MODE)},[]),yn=t.useCallback(()=>{kt(),L?.onBack?.()},[L,kt]),wt=t.useCallback(e=>{Ue(e)},[]),Pt=t.useCallback(()=>{Ue(e=>!e)},[]),{mountedStepStates:Sn,currentMountedStateIndex:vn}=t.useMemo(()=>{const e=[],n=new Map;return ht.forEach((u,i)=>{const r=e.findIndex(a=>fr(a.elementList,u));if(r>=0){e[r]?.sourceStepIndexes.push(i),n.set(i,r);return}e.push({elementList:u,sourceStepIndexes:[i]}),n.set(i,e.length-1)}),{mountedStepStates:e,currentMountedStateIndex:l>=0?n.get(l)??-1:-1}},[l,ht]),Mt=t.useMemo(()=>String(l),[l]),y=t.useMemo(()=>x?h.findIndex(e=>(e.audioKey??"")===x):-1,[h,x]),He=t.useMemo(()=>y>=0?h[y]:void 0,[h,y]),En=He?.element?.subtitle_cues??[],Me=t.useMemo(()=>A[0]??"none",[A]),ze=t.useMemo(()=>({currentElement:Wt.resolvePlayerCustomActionElement({currentAudioIndex:y,currentAudioSequenceIndexes:Ce,audioList:h,currentInteractionElement:o,currentStepElement:ce}),currentIndex:l,currentStepElement:ce,isActive:Ke,setActive:wt,toggleActive:Pt}),[o,h,y,Ce,l,ce,Ke,wt,Pt]),$e=t.useMemo(()=>Wt.getPlayerCustomActionCount(U,ze),[ze,U]),gn=t.useMemo(()=>({"--slide-player-custom-action-count":String($e),"--slide-player-mobile-control-count":String($e+4)}),[$e]),Tt=A.length>0,_t=t.useMemo(()=>d?`${d.sequence_number??"none"}:${String(d.content??"")}`:"none",[d]),he=t.useMemo(()=>[Mt,_t].join("|"),[_t,Mt]),In=t.useMemo(()=>[he,He?.audioKey??"none",String(y)].join("|"),[y,He?.audioKey,he]),jt=!!t.useMemo(()=>!Me||Me==="none"?"":h.find(n=>n.audioKey===Me)?.audioUrl?.trim()??"",[h,Me]),K=re&&!!U&&Ke,be=t.useMemo(()=>nr.shouldUseAutoAdvanceToggle({canGoNext:g,currentAudioIndex:y,currentStepHasSpeakableElement:v,hasInteraction:!!d}),[g,y,d,v]),_=t.useCallback(()=>{G.current!==null&&(window.clearTimeout(G.current),G.current=null)},[]),j=t.useCallback(()=>{le.current!==null&&(window.clearTimeout(le.current),le.current=null)},[]),w=t.useCallback(()=>{ue.current!==null&&(window.clearTimeout(ue.current),ue.current=null)},[]),X=t.useCallback(()=>{oe.current!==null&&(window.clearTimeout(oe.current),oe.current=null)},[]),P=t.useCallback((e={})=>{X(),j(),w(),F(null),z.reset(),b(!1),Ve(tt),De(!1),Ae(!1),vt(null),e.preservePendingSubtitleJump||(ae.current=null),We(void 0),we(!1),pe(0)},[X,j,w,z]),Te=t.useCallback(e=>{ft.current+=1,vt({...e,id:ft.current})},[]),Q=t.useCallback(()=>{const e=A[0];return e?(F(e),!0):!1},[A]),_e=t.useCallback(()=>{j(),w(),we(!1),pe(0),!Q()&&g&&R()},[g,j,w,R,Q]),qt=t.useCallback(e=>{if(w(),!e)return;const n=()=>{ue.current=null,pe(ur),we(!0),D.current=null};ue.current=window.setTimeout(n,lr)},[w]),Ye=t.useCallback(()=>ge.current||!!se.current?.querySelector(".slide-player__controls:hover"),[]),p=t.useCallback((e=Re)=>{!m||q==="hidden"||(de(!0),_(),!(q==="visible"||!e||Fe<=0||Ye())&&(G.current=window.setTimeout(()=>{if(Ye()){G.current=null;return}de(!1),G.current=null},Fe)))},[_,Re,Ye,Fe,q,m]),xe=!!et.hasResolvedInteractionElement(d),Z=!!d&&!xe,Cn=t.useCallback(e=>{yt(e)},[]),ee=t.useCallback(e=>{const n=e?.shouldContinuePlayback??fe;yt(n)},[fe]);t.useEffect(()=>{St(fe),re&&Ue(!1)},[l,fe,re]),t.useEffect(()=>()=>{X(),_(),j(),w()},[X,j,w,_]),t.useEffect(()=>(Ne?.(E),()=>{Ne?.(!1)}),[Ne,E]),t.useEffect(()=>{E||(ge.current=!1)},[E]),t.useEffect(()=>{T||Pe===ye.DEFAULT_MOBILE_VIEW_MODE||(Ge(!1),Je(ye.DEFAULT_MOBILE_VIEW_MODE))},[T,Pe]),t.useEffect(()=>{if(!T){Ct(!1);return}const e=()=>{Ct(qe.isLandscapeViewport())};return e(),qe.subscribeMobileDeviceChange(e)},[T]),t.useEffect(()=>{st?.($)},[$,st]),t.useEffect(()=>{mn.current=$},[$]),t.useEffect(()=>{ot?.(ce,l)},[l,ce,ot]),t.useEffect(()=>{const e=pt.current,n=er.shouldAutoAdvanceIntoAppendedMarker({previousMarkerCount:e.markerCount,nextMarkerCount:S.length,previousIndex:e.currentIndex,previousCanGoNext:e.canGoNext,nextCanGoNext:g,currentAudioKey:x,hasCompletedCurrentStepAudio:k,hasResolvedCurrentInteraction:xe,currentStepHasSpeakableElement:v,currentInteractionElement:d,isAutoAdvanceEnabled:me,shouldUseSilentStepAutoAdvanceToggle:be});pt.current={markerCount:S.length,currentIndex:l,canGoNext:g},n&&R()},[g,x,l,d,v,R,k,xe,me,be,S.length]),t.useEffect(()=>{if(!m||q==="hidden"){_(),de(!1);return}if(q==="visible"){_(),de(!0);return}Re||p(!0)},[_,Re,q,m,p]),t.useEffect(()=>{if(typeof window>"u")return;const e=n=>{n.origin===window.location.origin&&Wn.isSandboxInteractionMessage(n.data)&&n.data.eventType==="click"&&m&&(B(),H(!0),p(!0))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[B,m,p]),Yn.default({sectionRef:se,enabled:m,keyboardShortcutsEnabled:J,onKeyboardShortcut:B,onWake:()=>{B(),H(!0),p(!0)}}),t.useEffect(()=>{if(!m){P();return}const{hasPlaybackContextChanged:e,shouldInitializeAudioSequence:n}=Ut.getPlaybackSequenceTransition({previousResetKey:mt.current,nextResetKey:he,currentAudioKey:x,hasCompletedCurrentStepAudio:k});mt.current=he;const u=D.current===l&&!!d,i=Zn.shouldPresentInteractionOverlay({hasInteraction:!!d,shouldBlockPlaybackForInteraction:Z,shouldOpenInteractionOverlayAfterAudio:u,hasPlaybackContextChanged:e,hasResolvedCurrentInteraction:xe,currentStepHasSpeakableElement:v}),r=ae.current,a=r?.slideIndex===l;if(e&&P({preservePendingSubtitleJump:a}),!(M.length===0&&!d)&&!K){if(r?.slideIndex===l&&et.canReachSubtitleJumpTarget({currentIndex:l,resolvedCurrentInteractionElement:o,slideElementList:S,targetSlideIndex:r.slideIndex})){ae.current=null,Le.current=!0,F(r.audioKey),Te({audioIndex:r.audioIndex,timeMs:r.timeMs});return}if(d&&We(d),i){qt(d);return}if(w(),D.current=null,!!n&&!Q()){if(v){if(C){b(!1);return}b(!0);return}if(g&&!(be&&!me))return oe.current=window.setTimeout(()=>{oe.current=null,R()},nt),()=>{X()}}}},[o,g,X,M.length,l,d,x,he,v,nt,R,k,C,me,xe,Z,w,P,Te,qt,m,S,Q,K,be]),t.useEffect(()=>{if(C||K||!v||Z){b(!1);return}if(k){b(!1);return}if(Tt){b(!1);return}Ve("waitingForAudio"),b(!0)},[Tt,v,k,C,K,Z]),t.useEffect(()=>{const e=Le.current;Le.current=!1,Ut.shouldStartDefaultAudioSequence({currentAudioKey:x,currentAudioSequenceLength:A.length,currentStepHasSpeakableElement:v,hasCompletedCurrentStepAudio:k,shouldBlockPlaybackForInteraction:Z,shouldPausePlaybackForCustomAction:K,shouldSkipDefaultAudioStart:e})&&Q()},[x,A,v,k,K,Z,Q]),t.useEffect(()=>{!x||y>=0||F(null)},[y,x]),t.useEffect(()=>{y>=0||z.reset()},[y,z]),t.useEffect(()=>{Ae(!1)},[In]);const Bt=t.useMemo(()=>{if(!o)return{};const e=!!o.user_input?.trim();return Kt.getInteractionDefaultValues(typeof o.content=="string"?o.content:void 0,o.user_input,e?void 0:ve)},[o,ve]),Rn=t.useMemo(()=>{if(!o)return;const e=!!o.user_input?.trim();return Kt.getInteractionDefaultSelectedValues(typeof o.content=="string"?o.content:void 0,o.user_input,e?void 0:ve)},[o,ve]),Ft=!!o?.user_input?.trim(),Nt=!!o?.readonly||Ft,Ot=Nt||Ft,Xe=!!o&&ke,An=t.useCallback(e=>{const u=[...e.selectedValues??[],e.inputText?.trim()??"",e.buttonText?.trim()??""].filter(Boolean).join(", ");We(i=>!i||!u?i:{...i,user_input:u}),rt?.(e,o),_e()},[o,_e,rt]);t.useEffect(()=>{const e=()=>{cn(document.fullscreenElement===se.current)};return e(),document.addEventListener("fullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e)}},[]),t.useEffect(()=>{if(!Xe){pe(0);return}const e=ct.current;if(!e)return;const n=()=>{const i=Math.ceil(e.getBoundingClientRect().height);pe(i+ir)};if(n(),typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>{n()});return u.observe(e),()=>{u.disconnect()}},[Xe]),t.useEffect(()=>{if(j(),!(!ke||!Ot))return le.current=window.setTimeout(()=>{le.current=null,_e()},2e3),()=>{j()}},[j,_e,ke,Ot]);const kn=(e,n={})=>e?e.type==="slot"?s.jsxRuntimeExports.jsx(s.jsxRuntimeExports.Fragment,{children:e.content}):e.type==="html"?s.jsxRuntimeExports.jsx(Dt.default,{className:"content-render-iframe",disableLoadingOverlay:C,hideFullScreen:!0,locale:c,mode:"blackboard",replaceRootScreenHeightWithFull:n.replaceRootScreenHeightWithFull,type:"sandbox",content:e.content,enableScaling:zt}):s.jsxRuntimeExports.jsx(Dt.default,{className:"content-render-iframe",disableLoadingOverlay:C,hideFullScreen:!0,locale:c,mode:"blackboard",type:"markdown",content:e.content}):null,wn=(e=[],n=!1)=>{if(e.length===0)return null;const u=e.filter(r=>r.is_renderable!==!1).length,i=e.reduce((r,a,I)=>a.is_renderable!==!1?I:r,-1);return s.jsxRuntimeExports.jsx("div",{className:"slide-stage__content flex w-full flex-col gap-4",children:e.map((r,a)=>{const I=r.type==="html"&&r.is_renderable===!1;return s.jsxRuntimeExports.jsx("div",{ref:n&&a===i?at:null,"aria-hidden":I||void 0,className:te.cn("w-full shrink-0",u===1&&r.is_renderable!==!1&&"slide-element--single",I?"pointer-events-none fixed left-[-200vw] top-0 -z-10 h-[100dvh] w-[100vw] overflow-hidden opacity-0":r.is_renderable===!1&&"hidden"),children:kn(r,{replaceRootScreenHeightWithFull:u===1&&r.type==="html"&&r.is_renderable!==!1})},r.sequence_number??`${r.type}-${a}`)})})},Pn=t.useCallback(()=>{const e=se.current;if(e){if(document.fullscreenElement===e){document.exitFullscreen().catch(()=>{});return}e.requestFullscreen?.().catch(()=>{})}},[]),Lt=t.useCallback(()=>{const e=Oe.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},[]),Qe=t.useCallback(e=>et.canReachSubtitleJumpTarget({currentIndex:l,resolvedCurrentInteractionElement:o,slideElementList:S,targetSlideIndex:Ie[e.audioIndex]}),[o,Ie,l,S]),Mn=t.useCallback((e,n)=>{const i=h[e.audioIndex]?.audioKey,r=Ie[e.audioIndex];return!i||r==null||!Qe(e)?!1:(ee(n),D.current=null,b(!1),De(!1),Ae(!1),Ze.shouldWakePlayerControlsAfterNavigation(n)&&(H(!0),p(!0)),r===l?(ae.current=null,P(),F(i),Te(e),!0):(ie.current=!0,P(),ae.current={audioIndex:e.audioIndex,audioKey:i,slideIndex:r,timeMs:e.timeMs},xt(r),!0))},[h,Ie,Qe,l,xt,Te,P,p,ee]),Tn=t.useCallback(e=>{ee(e),ie.current=!0,D.current=null,b(!1),Ze.shouldWakePlayerControlsAfterNavigation(e)&&(H(!0),p(!0)),P(),bt()},[bt,P,p,ee]),_n=t.useCallback(e=>{ee(e),ie.current=!0,D.current=null,b(!1),Ze.shouldWakePlayerControlsAfterNavigation(e)&&(H(!0),p(!0)),P(),R()},[R,P,p,ee]),jn=t.useCallback(({loading:e,reason:n})=>{if(C){b(!1);return}if(!v||k){b(!1);return}e&&n&&Ve(n),b(dr(n,e))},[v,k,C]);t.useEffect(()=>{C&&b(!1)},[C]);const qn=t.useCallback(e=>{const n=h[e]?.audioKey;if(!n||!x||n!==x)return;const u=A.findIndex(a=>a===n);if(u<0){F(null);return}const i=u+1,r=A[i];if(r){F(r);return}if(F(null),De(!0),b(!1),g){const a=l+1,I=S[a];jt&&I?.type==="interaction"&&(D.current=a),R();return}},[h,g,l,x,A,R,jt,S]),Bn=t.useCallback(()=>{o&&we(e=>!e)},[o]),Fn=t.useCallback(()=>{ge.current=!0,_(),m&&de(!0)},[_,m]),Nn=t.useCallback(()=>{ge.current=!1,p(!0)},[p]),Vt=t.useCallback(e=>{e.stopPropagation(),E&&p(!0)},[E,p]),On=t.useCallback(e=>{B(),lt?.(e)},[B,lt]),Ln=t.useCallback(e=>{B(),ut?.(e)},[B,ut]),Vn=t.useCallback(()=>{H(!0),p(!0)},[p]),je=t.useMemo(()=>M.map((e,n)=>`${e.sequence_number??`${e.type}-${n}`}:${String(e.is_new??"")}`),[M]);return t.useEffect(()=>{const e=dt.current,i=(e.length>0&&e.length<je.length&&e.every((a,I)=>a===je[I])?M.slice(e.length):[]).some(a=>a.is_new===!1);if(dt.current=je,!i)return;const r=window.requestAnimationFrame(()=>{const a=Oe.current,I=at.current;if(!a||!I)return;const Dn=a.getBoundingClientRect(),Kn=I.getBoundingClientRect(),Un=a.scrollTop+(Kn.top-Dn.top);a.scrollTo({top:Math.max(Un,0),behavior:"smooth"})});return()=>{window.cancelAnimationFrame(r)}},[M,je]),t.useEffect(()=>{if(!ie.current||(ie.current=!1,M.length===0))return;const e=window.requestAnimationFrame(()=>{Lt()});return()=>{window.cancelAnimationFrame(e)}},[M,Lt]),s.jsxRuntimeExports.jsxs("section",{ref:se,className:te.cn("relative h-full w-full",T&&"slide--mobile-device",At&&"slide--browser-fullscreen",Y&&"slide--mobile-landscape",Rt&&"slide--mobile-landscape-native",$t),onClick:Vn,onFocusCapture:Ln,onPointerDown:On,...Yt,children:[bn?s.jsxRuntimeExports.jsx("div",{"aria-hidden":"true",className:"pointer-events-none fixed left-0 top-0 z-[9999] h-[100vh] max-h-[100vh] w-[100vw]"}):null,s.jsxRuntimeExports.jsxs("div",{ref:it,className:te.cn("slide__viewport relative h-full min-h-0 w-full",Y&&"slide__viewport--mobile-landscape",Y&&!fn&&"slide__viewport--mobile-landscape-native"),children:[pn?s.jsxRuntimeExports.jsxs("div",{className:"slide-landscape-header",children:[s.jsxRuntimeExports.jsx("button",{"aria-label":L?.backAriaLabel??V.fullscreenBackAriaLabel,className:"slide-landscape-header__back",onClick:yn,type:"button",children:s.jsxRuntimeExports.jsx(sr.default,{className:"slide-landscape-header__icon h-6 w-6",strokeWidth:2.25})}),L?.content?s.jsxRuntimeExports.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:L.content}):null]}):null,s.jsxRuntimeExports.jsx("div",{className:te.cn("h-full min-h-0 w-full",hn&&"slide__viewport-content--with-header",en?"slide-content--single":"grid gap-4"),children:M.length>0?s.jsxRuntimeExports.jsx("div",{className:"slide-stage",children:s.jsxRuntimeExports.jsx("div",{ref:Oe,className:"slide-stage__layer w-full",children:Sn.map((e,n)=>{const u=n===vn;return s.jsxRuntimeExports.jsx("div",{"aria-hidden":!u||void 0,className:"w-full h-full",style:{display:u?void 0:"none"},children:wn(e.elementList,u)},e.sourceStepIndexes[0]??n)})})}):null}),sn?s.jsxRuntimeExports.jsx(Jn.default,{message:ar(Xt,on),className:"absolute left-1/2 top-1/2 z-[3] -translate-x-1/2 -translate-y-1/2"}):null,s.jsxRuntimeExports.jsx(zn.default,{extraBottomOffset:an,hasPlayerGap:E,isEnabled:Et&&ln,isPlayerHidden:m&&!E,playbackTimeStore:z,subtitleCues:En}),Xe?s.jsxRuntimeExports.jsx("div",{ref:ct,"data-player-keyboard-shortcuts-ignore":"true",className:te.cn("slide-interaction-overlay",E&&m?"slide-interaction-overlay--with-player":"slide-interaction-overlay--standalone"),onClick:Vt,onPointerDown:Vt,style:gn,children:s.jsxRuntimeExports.jsx(Gt,{content:String(o?.content??""),locale:c,defaultButtonText:Bt.buttonText??"",defaultInputText:Bt.inputText??"",defaultSelectedValues:Rn,confirmButtonText:W?.confirmButtonText??V.interactionTexts.confirmButtonText,copyButtonText:W?.copyButtonText??V.interactionTexts.copyButtonText,copiedButtonText:W?.copiedButtonText??V.interactionTexts.copiedButtonText,onSend:An,readonly:Nt,title:W?.title??Be??V.interactionTexts.title})}):null,m?s.jsxRuntimeExports.jsx(Xn.PlayerKeyboardShortcutContext.Provider,{value:tn,children:s.jsxRuntimeExports.jsx(Hn.default,{audioList:h,className:te.cn("absolute left-1/2 z-[2] -translate-x-1/2",At?"bottom-3":"-bottom-3",O,!E&&"pointer-events-none opacity-0"),currentAudioIndex:y,defaultPlaying:fe,enableKeyboardShortcuts:J,isPlaybackPaused:K,isAutoAdvanceEnabled:me,locale:c,hasInteraction:!!o,isInteractionOpen:ke,isSubtitleEnabled:Et,onAutoAdvanceToggle:St,onLoadingChange:jn,onPlaybackStarted:()=>{Ae(!0)},onPlaybackPreferenceChange:Cn,onPlaybackTimeChange:z.setTime,onSubtitleToggle:()=>{un(e=>!e)},nextDisabled:!g,onEnded:qn,onFullscreen:Pn,isFullscreen:gt,mobileViewMode:$,settingsPortalContainer:it.current,onMobileViewModeChange:xn,onControlsPointerEnter:Fn,onControlsPointerLeave:Nn,onInteractionToggle:Bn,onNext:_n,onPrev:Tn,onSubtitleJump:Mn,canJumpToSubtitleTarget:Qe,prevDisabled:!Zt,showControls:E,subtitleSeekRequest:rn,texts:Ht,customActionContext:ze,customActions:U,useAutoAdvanceToggle:be})}):null]})]})};exports.default=mr;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("../../_virtual/jsx-runtime.cjs.js"),t=require("react"),sr=require("../../lib/sandboxInteraction.cjs.js"),ie=require("../../lib/utils.cjs.js"),or=require("../ui/loading-overlay-card.cjs.js"),lr=require("../ContentRender/ContentRender.cjs.js"),Zt=require("../ContentRender/IframeSandbox.cjs.js");require("../ui/inputGroup/input-group.cjs.js");require("../ContentRender/contentRenderI18n.cjs.js");const Ke=require("../../lib/mobileDevice.cjs.js"),ur=require("./Player.cjs.js"),ir=require("./MarkdownSlideScaling.cjs.js"),ar=require("./SubtitleOverlay.cjs.js"),cr=require("./useSlide.cjs.js"),dr=require("./useWakePlayerFromIframe.cjs.js"),fr=require("./utils/playerKeyboardShortcutContext.cjs.js"),mr=require("./utils/playerKeyboardShortcuts.cjs.js"),Re=require("./utils/mobileScreenMode.cjs.js"),en=require("./utils/interactionPlayback.cjs.js"),pr=require("./utils/markdownScaling.cjs.js"),at=require("./utils/playerNavigationContext.cjs.js"),hr=require("./utils/appendedMarkerAdvance.cjs.js"),tn=require("./utils/playbackSequence.cjs.js"),ct=require("./utils/subtitleJumpNavigation.cjs.js"),nn=require("./utils/playerCustomActions.cjs.js"),yr=require("./utils/playbackTimeStore.cjs.js"),Sr=require("./utils/interactionResolution.cjs.js"),br=require("./utils/playerToggleMode.cjs.js"),rn=require("./utils/imageOnlyStepVisualReady.cjs.js"),xr=require("./utils/silentStepAutoAdvance.cjs.js"),vr=require("./utils/playerVisibility.cjs.js"),sn=require("./slideI18n.cjs.js");;/* empty css */const Er=require("../../node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js"),gr=2e3,Ar=300,Ir=160,Rr=16,dt="waitingForAudio",Cr=(f,c)=>typeof f=="string"?f:f[c]??f[dt]??sn.DEFAULT_SLIDE_BUFFERING_TEXTS[c],kr=(f,c)=>typeof f=="string"?f:{...c,...f},wr=(f,c)=>c?f!=="loadingAudio":!1,on=t.memo(({content:f,title:c,locale:L,defaultButtonText:ae,defaultInputText:V,defaultSelectedValues:D,confirmButtonText:z,copyButtonText:$,copiedButtonText:Ce,onSend:Ue,readonly:Y=!1})=>o.jsxRuntimeExports.jsxs("div",{className:"slide-player__interaction-card",children:[o.jsxRuntimeExports.jsx("div",{className:"slide-player__interaction-header",children:o.jsxRuntimeExports.jsx("p",{className:"slide-player__interaction-title",children:c})}),o.jsxRuntimeExports.jsx("div",{className:"slide-player__interaction-body",children:o.jsxRuntimeExports.jsx(lr.default,{content:f,locale:L,defaultButtonText:ae,defaultInputText:V,defaultSelectedValues:D,confirmButtonText:z,copyButtonText:$,copiedButtonText:Ce,onSend:Ue,readonly:Y,sandboxMode:"content"})})]}));on.displayName="InteractionOverlayCard";const Mr=(f,c)=>f.length===c.length&&f.every((L,ae)=>{const V=c[ae];return L.sequence_number===V?.sequence_number&&L.type===V?.type&&L.content===V?.content}),Tr=({elementList:f=[],locale:c,playerEnabled:L,playerControlsVisibility:ae,playerClassName:V,fullscreenHeader:D,playerCustomActions:z,playerCustomActionPauseOnActive:$=!0,bufferingText:Ce,interactionTitle:Ue,interactionTexts:Y,playerTexts:ln,playerAutoHideDelay:We=3e3,markerAutoAdvanceDelay:ft=gr,interactionDefaultValueOptions:mt,onSend:pt,onPlayerVisibilityChange:Ge,onMobileViewModeChange:ht,onStepChange:yt,enableKeyboardShortcuts:X=!0,enableIframeScaling:un=!0,enableMarkdownScaling:an=!0,disableLoadingOverlay:R=!1,className:cn,onPointerDown:St,onFocusCapture:bt,...dn})=>{const K=t.useMemo(()=>sn.getSlideLocaleTexts(c),[c]),fn=t.useMemo(()=>kr(Ce,K.bufferingText),[Ce,K.bufferingText]),{playerEnabled:mn,playerControlsVisibility:F}=vr.resolveSlidePlayerVisibility({playerEnabled:L,playerControlsVisibility:ae}),ke=t.useId(),ce=t.useRef(null),xt=t.useRef(null),we=t.useRef(null),vt=t.useRef(null),Q=t.useRef(null),Me=t.useRef(!1),de=t.useRef(null),Te=t.useRef(null),fe=t.useRef(null),me=t.useRef(null),Et=t.useRef(null),gt=t.useRef([]),pe=t.useRef(!1),U=t.useRef(null),he=t.useRef(null),At=t.useRef(0),It=t.useRef(null),Rt=t.useRef({markerCount:0,currentIndex:-1,canGoNext:!1}),Je=t.useRef(!1),{currentElementList:A,stepElementLists:Ct,slideElementList:g,currentIndex:s,audioList:p,audioSlideIndexes:Pe,currentAudioSequenceIndexes:_e,currentStepHasSpeakableElement:h,currentInteractionElement:a,canGoPrev:pn,canGoNext:I,handlePrev:kt,handleNext:C,handleGoTo:wt}=cr.default(f),ye=t.useMemo(()=>{if(!(s<0))return g[s]},[s,g]),Z=t.useMemo(()=>A.map((e,n)=>`${e.sequence_number??`${e.type}-${n}`}:${String(e.is_new??"")}`),[A]),hn=g.filter(e=>e.is_renderable!==!1).length===1,d=mn&&(g.length>0||p.length>0||!!a),yn=t.useMemo(()=>({enabled:X,ownerId:ke}),[X,ke]),O=t.useCallback(()=>{!X||!d||mr.activatePlayerKeyboardShortcutOwner(ke)},[X,ke,d]),k=t.useMemo(()=>_e.map(e=>p[e]?.audioKey).filter(e=>!!e),[p,_e]),[Sn,Se]=t.useState(!0),[qe,ee]=t.useState(!1),[He,Mt]=t.useState(!0),[be,Tt]=t.useState(!0),[b,B]=t.useState(null),[bn,Pt]=t.useState(null),[xn,y]=t.useState(!1),[vn,ze]=t.useState(dt),[w,$e]=t.useState(!1),[En,je]=t.useState(!1),[_t,gn]=t.useState(!0),[Ye,Xe]=t.useState(!1),[S,Qe]=t.useState(),[Fe,Oe]=t.useState(!1),[An,xe]=t.useState(0),[qt,In]=t.useState(!1),_=t.useMemo(()=>Ke.isMobileDevice(),[]),[Be,Ze]=t.useState(Re.DEFAULT_MOBILE_VIEW_MODE),[jt,et]=t.useState(!1),[Rn,Ft]=t.useState(()=>_?Ke.isLandscapeViewport():!1),te=t.useMemo(()=>yr.createPlaybackTimeStore(),[]),{effectiveMobileViewMode:ne,isImmersiveMobileFullscreen:re,isNativeMobileFullscreen:Ot,shouldRotateFullscreenViewport:Cn}=t.useMemo(()=>Re.resolveMobileViewModeState({hasManualMobileViewMode:jt,isMobileDevice:_,mobileViewMode:Be}),[jt,_,Rn,Be]),kn=t.useRef(ne),x=d&&F!=="hidden"&&(F==="visible"||Sn),wn=re&&x,Mn=re&&x,Tn=re||Ot,Bt=qt&&!_,Pn=t.useCallback(e=>{et(!0),Ze(e)},[]),Nt=t.useCallback(()=>{et(!1),Ze(Re.DEFAULT_MOBILE_VIEW_MODE)},[]),_n=t.useCallback(()=>{Nt(),D?.onBack?.()},[D,Nt]),Lt=t.useCallback(e=>{Xe(e)},[]),Vt=t.useCallback(()=>{Xe(e=>!e)},[]),{mountedStepStates:qn,currentMountedStateIndex:jn}=t.useMemo(()=>{const e=[],n=new Map;return Ct.forEach((l,u)=>{const i=e.findIndex(r=>Mr(r.elementList,l));if(i>=0){e[i]?.sourceStepIndexes.push(u),n.set(u,i);return}e.push({elementList:l,sourceStepIndexes:[u]}),n.set(u,e.length-1)}),{mountedStepStates:e,currentMountedStateIndex:s>=0?n.get(s)??-1:-1}},[s,Ct]),Dt=t.useMemo(()=>String(s),[s]),v=t.useMemo(()=>b?p.findIndex(e=>(e.audioKey??"")===b):-1,[p,b]),tt=t.useMemo(()=>v>=0?p[v]:void 0,[p,v]),Fn=tt?.element?.subtitle_cues??[],Ne=t.useMemo(()=>k[0]??"none",[k]),nt=t.useMemo(()=>({currentElement:nn.resolvePlayerCustomActionElement({currentAudioIndex:v,currentAudioSequenceIndexes:_e,audioList:p,currentInteractionElement:S,currentStepElement:ye}),currentIndex:s,currentStepElement:ye,isActive:Ye,setActive:Lt,toggleActive:Vt}),[S,p,v,_e,s,ye,Ye,Lt,Vt]),rt=t.useMemo(()=>nn.getPlayerCustomActionCount(z,nt),[nt,z]),On=t.useMemo(()=>({"--slide-player-custom-action-count":String(rt),"--slide-player-mobile-control-count":String(rt+4)}),[rt]),Kt=k.length>0,Ut=t.useMemo(()=>a?`${a.sequence_number??"none"}:${String(a.content??"")}`:"none",[a]),ve=t.useMemo(()=>[Dt,Ut].join("|"),[Ut,Dt]),Bn=t.useMemo(()=>[ve,tt?.audioKey??"none",String(v)].join("|"),[v,tt?.audioKey,ve]),Wt=!!t.useMemo(()=>!Ne||Ne==="none"?"":p.find(n=>n.audioKey===Ne)?.audioUrl?.trim()??"",[p,Ne]),W=$&&!!z&&Ye,Ee=t.useMemo(()=>br.shouldUseAutoAdvanceToggle({canGoNext:I,currentAudioIndex:v,currentStepHasSpeakableElement:h,hasInteraction:!!a}),[I,v,a,h]),Gt=t.useMemo(()=>xr.resolveSilentStepAutoAdvanceBehavior({currentElementList:A,currentStepHasSpeakableElement:h,currentInteractionElement:a,markerAutoAdvanceDelay:ft}),[A,a,h,ft]),Jt=Gt.delayMs,ge=Gt.usesImageOnlyDelay,st=t.useMemo(()=>`${s}:${Z.join("|")}`,[s,Z]),[Nn,Ln]=t.useState(null),Ht=!ge||Nn===st,q=t.useCallback(()=>{Q.current!==null&&(window.clearTimeout(Q.current),Q.current=null)},[]),j=t.useCallback(()=>{fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null)},[]),M=t.useCallback(()=>{me.current!==null&&(window.clearTimeout(me.current),me.current=null)},[]),se=t.useCallback(()=>{de.current!==null&&(window.clearTimeout(de.current),de.current=null)},[]),N=t.useCallback(()=>{Te.current!==null&&(window.clearTimeout(Te.current),Te.current=null)},[]),T=t.useCallback((e={})=>{se(),j(),M(),N(),B(null),te.reset(),y(!1),ze(dt),$e(!1),je(!1),Pt(null),e.preservePendingSubtitleJump||(he.current=null),Qe(void 0),Oe(!1),xe(0)},[se,N,j,M,te]),Le=t.useCallback(e=>{At.current+=1,Pt({...e,id:At.current})},[]),oe=t.useCallback(()=>{const e=k[0];return e?(B(e),!0):!1},[k]),Ve=t.useCallback(()=>{j(),M(),Oe(!1),xe(0),!oe()&&I&&C()},[I,j,M,C,oe]),zt=t.useCallback(e=>{if(M(),!e)return;const n=()=>{me.current=null,xe(Ir),Oe(!0),U.current=null};me.current=window.setTimeout(n,Ar)},[M]),ot=t.useCallback(()=>Me.current||!!ce.current?.querySelector(".slide-player__controls:hover"),[]),m=t.useCallback((e=qe)=>{!d||F==="hidden"||(Se(!0),q(),!(F==="visible"||!e||We<=0||ot())&&(Q.current=window.setTimeout(()=>{if(ot()){Q.current=null;return}Se(!1),Q.current=null},We)))},[q,qe,ot,We,F,d]),Ae=!!ct.hasResolvedInteractionElement(a),G=!!a&&!Ae,Vn=t.useCallback(e=>{Mt(e)},[]),le=t.useCallback(e=>{e&&Mt(e.shouldContinuePlayback)},[]);t.useEffect(()=>{Tt(He)},[s,He,$]),t.useEffect(()=>{$&&Xe(!1)},[s,$]),t.useEffect(()=>()=>{se(),N(),q(),j(),M()},[se,N,j,M,q]),t.useEffect(()=>{if(!ge){N();return}let e=!1,n=null,l=null;const u=()=>{l?.(),l=null},i=()=>{e||(u(),N(),Ln(st))},r=()=>{if(e)return;u();const E=we.current?.querySelector('[data-active-step="true"]');if(!E)return;const P=Array.from(E.querySelectorAll("iframe"));if(P.length===0||rn.areImageOnlyStepIframeVisualsReady(P)){i();return}const De=[],Ie=()=>{e||(n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{n=null,r()}))},it=(J,ue,H)=>{J.addEventListener(ue,H,{once:!0}),De.push(()=>J.removeEventListener(ue,H))};P.forEach(J=>{const ue=J.contentDocument;if(!ue||ue.readyState!=="complete"){it(J,"load",Ie);return}Array.from(ue.images).filter(H=>!H.complete).forEach(H=>{it(H,"load",Ie),it(H,"error",Ie)})}),l=()=>{De.forEach(J=>J())}};return n=window.requestAnimationFrame(()=>{n=null,r()}),Te.current=window.setTimeout(()=>{i()},rn.DEFAULT_IMAGE_ONLY_VISUAL_READY_TIMEOUT_MS),()=>{e=!0,u(),N(),n!==null&&window.cancelAnimationFrame(n)}},[N,A,s,st,ge]),t.useEffect(()=>(Ge?.(x),()=>{Ge?.(!1)}),[Ge,x]),t.useEffect(()=>{x||(Me.current=!1)},[x]),t.useEffect(()=>{_||Be===Re.DEFAULT_MOBILE_VIEW_MODE||(et(!1),Ze(Re.DEFAULT_MOBILE_VIEW_MODE))},[_,Be]),t.useEffect(()=>{if(!_){Ft(!1);return}const e=()=>{Ft(Ke.isLandscapeViewport())};return e(),Ke.subscribeMobileDeviceChange(e)},[_]),t.useEffect(()=>{ht?.(ne)},[ne,ht]),t.useEffect(()=>{kn.current=ne},[ne]),t.useEffect(()=>{yt?.(ye,s)},[s,ye,yt]),t.useEffect(()=>{const e=Rt.current,n=hr.shouldAutoAdvanceIntoAppendedMarker({previousMarkerCount:e.markerCount,nextMarkerCount:g.length,previousIndex:e.currentIndex,previousCanGoNext:e.canGoNext,nextCanGoNext:I,currentAudioKey:b,hasCompletedCurrentStepAudio:w,hasResolvedCurrentInteraction:Ae,currentStepHasSpeakableElement:h,currentInteractionElement:a,isAutoAdvanceEnabled:be,shouldUseSilentStepAutoAdvanceToggle:Ee});Rt.current={markerCount:g.length,currentIndex:s,canGoNext:I},n&&C()},[I,b,s,a,h,C,w,Ae,be,Ee,g.length]),t.useEffect(()=>{if(!d||F==="hidden"){q(),Se(!1);return}if(F==="visible"){q(),Se(!0);return}qe||m(!0)},[q,qe,F,d,m]),t.useEffect(()=>{if(typeof window>"u")return;const e=n=>{n.origin===window.location.origin&&sr.isSandboxInteractionMessage(n.data)&&n.data.eventType==="click"&&d&&(O(),ee(!0),m(!0))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[O,d,m]),dr.default({sectionRef:ce,enabled:d,keyboardShortcutsEnabled:X,onKeyboardShortcut:O,onWake:()=>{O(),ee(!0),m(!0)}}),t.useEffect(()=>{if(!d){T();return}const{hasPlaybackContextChanged:e,shouldInitializeAudioSequence:n}=tn.getPlaybackSequenceTransition({previousResetKey:It.current,nextResetKey:ve,currentAudioKey:b,hasCompletedCurrentStepAudio:w});It.current=ve;const l=U.current===s&&!!a,u=en.shouldPresentInteractionOverlay({hasInteraction:!!a,shouldBlockPlaybackForInteraction:G,shouldOpenInteractionOverlayAfterAudio:l,hasPlaybackContextChanged:e,hasResolvedCurrentInteraction:Ae,currentStepHasSpeakableElement:h}),i=he.current,r=i?.slideIndex===s;if(e&&T({preservePendingSubtitleJump:r}),!(A.length===0&&!a)&&!W){if(i?.slideIndex===s&&ct.canReachSubtitleJumpTarget({currentIndex:s,resolvedCurrentInteractionElement:S,slideElementList:g,targetSlideIndex:i.slideIndex})){he.current=null,Je.current=!0,B(i.audioKey),Le({audioIndex:i.audioIndex,timeMs:i.timeMs});return}if(a&&Qe(a),u){zt(a);return}if(M(),U.current=null,!!n&&!oe()){if(h){if(R){y(!1);return}y(!0);return}if(I&&!(Ee&&!be)&&!(ge&&!Ht))return de.current=window.setTimeout(()=>{de.current=null,C()},Jt),()=>{se()}}}},[S,I,se,A.length,s,a,b,ve,h,ge,Ht,Jt,C,w,R,be,Ae,G,M,T,Le,zt,d,g,oe,W,Ee]),t.useEffect(()=>{if(R||W||!h||G){y(!1);return}if(w){y(!1);return}if(Kt){y(!1);return}ze("waitingForAudio"),y(!0)},[Kt,h,w,R,W,G]),t.useEffect(()=>{const e=Je.current;Je.current=!1,tn.shouldStartDefaultAudioSequence({currentAudioKey:b,currentAudioSequenceLength:k.length,currentStepHasSpeakableElement:h,hasCompletedCurrentStepAudio:w,shouldBlockPlaybackForInteraction:G,shouldPausePlaybackForCustomAction:W,shouldSkipDefaultAudioStart:e})&&oe()},[b,k,h,w,W,G,oe]),t.useEffect(()=>{!b||v>=0||B(null)},[v,b]),t.useEffect(()=>{v>=0||te.reset()},[v,te]),t.useEffect(()=>{je(!1)},[Bn]);const{interactionDefaults:$t,interactionDefaultSelectedValues:Dn,isInteractionReadonly:Kn,shouldAutoContinueInteraction:Yt}=t.useMemo(()=>Sr.resolveSlideInteractionState(S,{interactionDefaultValueOptions:mt}),[S,mt]),lt=en.shouldRenderInteractionOverlay({hasActiveInteraction:!!S,isInteractionOverlayOpen:Fe,shouldBlockPlaybackForInteraction:G,playerControlsVisible:x,shouldMountPlayer:d}),Un=t.useCallback(e=>{const l=[...e.selectedValues??[],e.inputText?.trim()??"",e.buttonText?.trim()??""].filter(Boolean).join(", ");Qe(u=>!u||!l?u:{...u,user_input:l}),pt?.(e,S),Ve()},[S,Ve,pt]);t.useEffect(()=>{const e=()=>{In(document.fullscreenElement===ce.current)};return e(),document.addEventListener("fullscreenchange",e),()=>{document.removeEventListener("fullscreenchange",e)}},[]),t.useEffect(()=>{if(!lt){xe(0);return}const e=Et.current;if(!e)return;const n=()=>{const u=Math.ceil(e.getBoundingClientRect().height);xe(u+Rr)};if(n(),typeof ResizeObserver>"u")return;const l=new ResizeObserver(()=>{n()});return l.observe(e),()=>{l.disconnect()}},[lt]),t.useEffect(()=>{if(j(),!(!Fe||!Yt))return fe.current=window.setTimeout(()=>{fe.current=null,Ve()},2e3),()=>{j()}},[j,Ve,Fe,Yt]);const Wn=(e,n={})=>e?e.type==="slot"?o.jsxRuntimeExports.jsx(o.jsxRuntimeExports.Fragment,{children:e.content}):e.type==="html"?o.jsxRuntimeExports.jsx(Zt.default,{className:"content-render-iframe",disableLoadingOverlay:R,hideFullScreen:!0,locale:c,mode:"blackboard",replaceRootScreenHeightWithFull:n.replaceRootScreenHeightWithFull,type:"sandbox",content:e.content,enableScaling:un}):o.jsxRuntimeExports.jsx(Zt.default,{className:"content-render-iframe",disableLoadingOverlay:R,hideFullScreen:!0,locale:c,mode:"blackboard",type:"markdown",content:e.content}):null,Gn=(e=[],n=!1)=>{if(e.length===0)return null;const l=e.filter(r=>r.is_renderable!==!1).length,u=n&&an?pr.resolveMarkdownScalingMode(e):"disabled",i=e.reduce((r,E,P)=>E.is_renderable!==!1?P:r,-1);return o.jsxRuntimeExports.jsx(ir.default,{className:"slide-stage__content flex w-full flex-col gap-4",mode:u,children:e.map((r,E)=>{const P=r.type==="html"&&r.is_renderable===!1;return o.jsxRuntimeExports.jsx("div",{ref:n&&E===i?vt:null,"aria-hidden":P||void 0,className:ie.cn("w-full shrink-0",l===1&&r.is_renderable!==!1&&"slide-element--single",P?"pointer-events-none fixed left-[-200vw] top-0 -z-10 h-[100dvh] w-[100vw] overflow-hidden opacity-0":r.is_renderable===!1&&"hidden"),children:Wn(r,{replaceRootScreenHeightWithFull:l===1&&r.type==="html"&&r.is_renderable!==!1})},r.sequence_number??`${r.type}-${E}`)})})},Jn=t.useCallback(()=>{const e=ce.current;if(e){if(document.fullscreenElement===e){document.exitFullscreen().catch(()=>{});return}e.requestFullscreen?.().catch(()=>{})}},[]),Xt=t.useCallback(()=>{const e=we.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},[]),ut=t.useCallback(e=>ct.canReachSubtitleJumpTarget({currentIndex:s,resolvedCurrentInteractionElement:S,slideElementList:g,targetSlideIndex:Pe[e.audioIndex]}),[S,Pe,s,g]),Hn=t.useCallback((e,n)=>{const u=p[e.audioIndex]?.audioKey,i=Pe[e.audioIndex];return!u||i==null||!ut(e)?!1:(le(n),U.current=null,y(!1),$e(!1),je(!1),at.shouldWakePlayerControlsAfterNavigation(n)&&(ee(!0),m(!0)),i===s?(he.current=null,T(),B(u),Le(e),!0):(pe.current=!0,T(),he.current={audioIndex:e.audioIndex,audioKey:u,slideIndex:i,timeMs:e.timeMs},wt(i),!0))},[p,Pe,ut,s,wt,Le,T,m,le]),zn=t.useCallback(e=>{le(e),pe.current=!0,U.current=null,y(!1),at.shouldWakePlayerControlsAfterNavigation(e)&&(ee(!0),m(!0)),T(),kt()},[kt,T,m,le]),$n=t.useCallback(e=>{le(e),pe.current=!0,U.current=null,y(!1),at.shouldWakePlayerControlsAfterNavigation(e)&&(ee(!0),m(!0)),T(),C()},[C,T,m,le]),Yn=t.useCallback(({loading:e,reason:n})=>{if(R){y(!1);return}if(!h||w){y(!1);return}e&&n&&ze(n),y(wr(n,e))},[h,w,R]);t.useEffect(()=>{R&&y(!1)},[R]);const Xn=t.useCallback(e=>{const n=p[e]?.audioKey;if(!n||!b||n!==b)return;const l=k.findIndex(r=>r===n);if(l<0){B(null);return}const u=l+1,i=k[u];if(i){B(i);return}if(B(null),$e(!0),y(!1),I){const r=s+1,E=g[r];Wt&&E?.type==="interaction"&&(U.current=r),C();return}},[p,I,s,b,k,C,Wt,g]),Qn=t.useCallback(()=>{S&&Oe(e=>!e)},[S]),Zn=t.useCallback(()=>{Me.current=!0,q(),d&&Se(!0)},[q,d]),er=t.useCallback(()=>{Me.current=!1,m(!0)},[m]),Qt=t.useCallback(e=>{e.stopPropagation(),x&&m(!0)},[x,m]),tr=t.useCallback(e=>{O(),St?.(e)},[O,St]),nr=t.useCallback(e=>{O(),bt?.(e)},[O,bt]),rr=t.useCallback(()=>{ee(!0),m(!0)},[m]);return t.useEffect(()=>{const e=gt.current,u=(e.length>0&&e.length<Z.length&&e.every((r,E)=>r===Z[E])?A.slice(e.length):[]).some(r=>r.is_new===!1);if(gt.current=Z,!u)return;const i=window.requestAnimationFrame(()=>{const r=we.current,E=vt.current;if(!r||!E)return;const P=r.getBoundingClientRect(),De=E.getBoundingClientRect(),Ie=r.scrollTop+(De.top-P.top);r.scrollTo({top:Math.max(Ie,0),behavior:"smooth"})});return()=>{window.cancelAnimationFrame(i)}},[A,Z]),t.useEffect(()=>{if(!pe.current||(pe.current=!1,A.length===0))return;const e=window.requestAnimationFrame(()=>{Xt()});return()=>{window.cancelAnimationFrame(e)}},[A,Xt]),o.jsxRuntimeExports.jsxs("section",{ref:ce,className:ie.cn("relative h-full w-full",_&&"slide--mobile-device",Bt&&"slide--browser-fullscreen",re&&"slide--mobile-landscape",Ot&&"slide--mobile-landscape-native",cn),onClick:rr,onFocusCapture:nr,onPointerDown:tr,...dn,children:[Tn?o.jsxRuntimeExports.jsx("div",{"aria-hidden":"true",className:"pointer-events-none fixed left-0 top-0 z-[9999] h-[100vh] max-h-[100vh] w-[100vw]"}):null,o.jsxRuntimeExports.jsxs("div",{ref:xt,className:ie.cn("slide__viewport relative h-full min-h-0 w-full",re&&"slide__viewport--mobile-landscape",re&&!Cn&&"slide__viewport--mobile-landscape-native"),children:[wn?o.jsxRuntimeExports.jsxs("div",{className:"slide-landscape-header",children:[o.jsxRuntimeExports.jsx("button",{"aria-label":D?.backAriaLabel??K.fullscreenBackAriaLabel,className:"slide-landscape-header__back",onClick:_n,type:"button",children:o.jsxRuntimeExports.jsx(Er.default,{className:"slide-landscape-header__icon h-6 w-6",strokeWidth:2.25})}),D?.content?o.jsxRuntimeExports.jsx("div",{className:"min-w-0 flex-1 overflow-hidden",children:D.content}):null]}):null,o.jsxRuntimeExports.jsx("div",{className:ie.cn("h-full min-h-0 w-full",Mn&&"slide__viewport-content--with-header",hn?"slide-content--single":"grid gap-4"),children:A.length>0?o.jsxRuntimeExports.jsx("div",{className:"slide-stage",children:o.jsxRuntimeExports.jsx("div",{ref:we,className:"slide-stage__layer w-full",children:qn.map((e,n)=>{const l=n===jn;return o.jsxRuntimeExports.jsx("div",{"data-active-step":l?"true":void 0,"aria-hidden":!l||void 0,className:"w-full h-full",style:{display:l?void 0:"none"},children:Gn(e.elementList,l)},e.sourceStepIndexes[0]??n)})})}):null}),xn?o.jsxRuntimeExports.jsx(or.default,{message:Cr(fn,vn),className:"absolute left-1/2 top-1/2 z-[3] -translate-x-1/2 -translate-y-1/2"}):null,o.jsxRuntimeExports.jsx(ar.default,{extraBottomOffset:An,hasPlayerGap:x,isEnabled:_t&&En,isPlayerHidden:d&&!x,playbackTimeStore:te,subtitleCues:Fn}),lt?o.jsxRuntimeExports.jsx("div",{ref:Et,"data-player-keyboard-shortcuts-ignore":"true",className:ie.cn("slide-interaction-overlay",x&&d?"slide-interaction-overlay--with-player":"slide-interaction-overlay--standalone"),onClick:Qt,onPointerDown:Qt,style:On,children:o.jsxRuntimeExports.jsx(on,{content:String(S?.content??""),locale:c,defaultButtonText:$t.buttonText??"",defaultInputText:$t.inputText??"",defaultSelectedValues:Dn,confirmButtonText:Y?.confirmButtonText??K.interactionTexts.confirmButtonText,copyButtonText:Y?.copyButtonText??K.interactionTexts.copyButtonText,copiedButtonText:Y?.copiedButtonText??K.interactionTexts.copiedButtonText,onSend:Un,readonly:Kn,title:Y?.title??Ue??K.interactionTexts.title})}):null,d?o.jsxRuntimeExports.jsx(fr.PlayerKeyboardShortcutContext.Provider,{value:yn,children:o.jsxRuntimeExports.jsx(ur.default,{audioList:p,className:ie.cn("absolute left-1/2 z-[2] -translate-x-1/2",Bt?"bottom-3":"-bottom-3",V,!x&&"pointer-events-none opacity-0"),currentAudioIndex:v,defaultPlaying:He,enableKeyboardShortcuts:X,isPlaybackPaused:W,isAutoAdvanceEnabled:be,locale:c,hasInteraction:!!S,isInteractionOpen:Fe,isSubtitleEnabled:_t,onAutoAdvanceToggle:Tt,onLoadingChange:Yn,onPlaybackStarted:()=>{je(!0)},onPlaybackPreferenceChange:Vn,onPlaybackTimeChange:te.setTime,onSubtitleToggle:()=>{gn(e=>!e)},nextDisabled:!I,onEnded:Xn,onFullscreen:Jn,isFullscreen:qt,mobileViewMode:ne,settingsPortalContainer:xt.current,onMobileViewModeChange:Pn,onControlsPointerEnter:Zn,onControlsPointerLeave:er,onInteractionToggle:Qn,onNext:$n,onPrev:zn,onSubtitleJump:Hn,canJumpToSubtitleTarget:ut,prevDisabled:!pn,showControls:x,subtitleSeekRequest:bn,texts:ln,customActionContext:nt,customActions:z,useAutoAdvanceToggle:Ee})}):null]})]})};exports.default=Tr;
2
2
  //# sourceMappingURL=Slide.cjs.js.map