keating 4.0.2 → 4.0.3

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 (108) hide show
  1. package/bin/keating.js +1 -1
  2. package/dist/src/core/version.js +1 -1
  3. package/package.json +1 -1
  4. package/web/.output/nitro.json +1 -1
  5. package/web/.output/public/assets/{AnimationPlayer-Bj9E6XAF.js → AnimationPlayer-CYbhLL_R.js} +1 -1
  6. package/web/.output/public/assets/{AssistantChatPanel-CPiSdBQo.js → AssistantChatPanel-DQSKpGWP.js} +122 -122
  7. package/web/.output/public/assets/{CategoricalChart-ZCOId7ho.js → CategoricalChart-BVb9-7_N.js} +1 -1
  8. package/web/.output/public/assets/{Chat-BPuDBuv7.js → Chat-C6p8yxAr.js} +2 -2
  9. package/web/.output/public/assets/{CodeHighlighter-CUd-nVJG.js → CodeHighlighter-DhI0IV5H.js} +1 -1
  10. package/web/.output/public/assets/{ComingUp-BM3f_QSf.js → ComingUp-DFaRgEbt.js} +1 -1
  11. package/web/.output/public/assets/{CourseJoin--37EPPeg.js → CourseJoin-DMZ6foZO.js} +1 -1
  12. package/web/.output/public/assets/CourseWorkspace-l_bPGNhE.js +25 -0
  13. package/web/.output/public/assets/{Courses-DgryGTWV.js → Courses-DIqulPB-.js} +1 -1
  14. package/web/.output/public/assets/{EvolutionDetail-BHwyObAD.js → EvolutionDetail-C-NYL1qL.js} +1 -1
  15. package/web/.output/public/assets/{FlashcardRenderer-hzqoLbnQ.js → FlashcardRenderer-iDgfcwk4.js} +1 -1
  16. package/web/.output/public/assets/{FlashcardShaderField-pDI9y_r4.js → FlashcardShaderField-JGgL2kgp.js} +1 -1
  17. package/web/.output/public/assets/{FlashcardTimer-BANuXJze.js → FlashcardTimer-vPNL9_0N.js} +1 -1
  18. package/web/.output/public/assets/{HyperframesPlayer-BQFYx43N.js → HyperframesPlayer-DEtdwGBR.js} +1 -1
  19. package/web/.output/public/assets/KeatingBench-XnWxgfUC.js +2 -0
  20. package/web/.output/public/assets/{LearningInsightsHeader-Do3bROTu.js → LearningInsightsHeader-DWj2-1xb.js} +1 -1
  21. package/web/.output/public/assets/{Live-HZjRDq-V.js → Live-BasKZMuE.js} +1 -1
  22. package/web/.output/public/assets/{MarkdownBlock-KUcDESQo.js → MarkdownBlock-C89ecD-M.js} +3 -3
  23. package/web/.output/public/assets/ModelSelector-B_EaHvVz.js +1 -0
  24. package/web/.output/public/assets/{Nav-GcfPhZc3.js → Nav-DQ-5KEsA.js} +1 -1
  25. package/web/.output/public/assets/{NotOrganicAccessPromptDialog-CKb6iTFn.js → NotOrganicAccessPromptDialog-DS7PLMx4.js} +1 -1
  26. package/web/.output/public/assets/{NotOrganicCallback-DWbhlP2j.js → NotOrganicCallback-BxKOsisT.js} +1 -1
  27. package/web/.output/public/assets/{OAuthCallback-D15ohKxE.js → OAuthCallback-dk2EQnAU.js} +1 -1
  28. package/web/.output/public/assets/OpenUIPreview-BrBXAEt4.js +1 -0
  29. package/web/.output/public/assets/PatternDigestPanel-jmxcLCUX.js +1 -0
  30. package/web/.output/public/assets/Plus-RIb_ldNd.js +1 -0
  31. package/web/.output/public/assets/{QuizRenderer-CLQqGwub.js → QuizRenderer-DaPQ7ySS.js} +1 -1
  32. package/web/.output/public/assets/{RenderingSmoke-DRHji-yz.js → RenderingSmoke-D3aD8prv.js} +1 -1
  33. package/web/.output/public/assets/{Select-BE2GfDud.js → Select-BYfJxqbI.js} +1 -1
  34. package/web/.output/public/assets/{SharedSession-DAM8ydVu.js → SharedSession-CEsTcr4j.js} +3 -3
  35. package/web/.output/public/assets/{ThemeToggle-BdGijxoN.js → ThemeToggle-BZH64Rpu.js} +1 -1
  36. package/web/.output/public/assets/{TrainingData-7EbVIzmQ.js → TrainingData-DujNU5sy.js} +3 -3
  37. package/web/.output/public/assets/TrajectoryReview-OjkaW6a6.js +35 -0
  38. package/web/.output/public/assets/TrajectoryReviewIndex-C5QAijKT.js +1 -0
  39. package/web/.output/public/assets/TrajectoryReviewWorkspace-DSn96Dxb.js +1 -0
  40. package/web/.output/public/assets/{Usage-BU1OfvzO.js → Usage-C5HU0Yc5.js} +1 -1
  41. package/web/.output/public/assets/activity-DdJDHeam.js +1 -0
  42. package/web/.output/public/assets/{anthropic-messages-rElikI6M.js → anthropic-messages-ZiHu59Q7.js} +1 -1
  43. package/web/.output/public/assets/{azure-openai-responses-yppPdVFy.js → azure-openai-responses-BHgsWKby.js} +1 -1
  44. package/web/.output/public/assets/calibration-7gf-WNR5.js +1 -0
  45. package/web/.output/public/assets/circle-question-mark-CK-DUGIA.js +1 -0
  46. package/web/.output/public/assets/clipboard-list-CRJvmiKL.js +1 -0
  47. package/web/.output/public/assets/{course-assembly-BIf5lrcx.js → course-assembly-CQE_9Vh4.js} +3 -3
  48. package/web/.output/public/assets/{course-submission-judgement-m2Gj1AKW.js → course-submission-judgement-Dmmw__tF.js} +1 -1
  49. package/web/.output/public/assets/{custom-tts-DapOpVQe.js → custom-tts-DqDZf3aF.js} +1 -1
  50. package/web/.output/public/assets/desktop-offline-IzFtwAhh.js +3 -0
  51. package/web/.output/public/assets/{dist-BudWH94z.js → dist-Dq5mGdi-.js} +1 -1
  52. package/web/.output/public/assets/file-text-CANyHShy.js +1 -0
  53. package/web/.output/public/assets/{from-study-plan-XEoNCZH-.js → from-study-plan-D14XtwuX.js} +2 -2
  54. package/web/.output/public/assets/{gemini-live-C2U-Xfzz.js → gemini-live-CGEtXm6j.js} +1 -1
  55. package/web/.output/public/assets/{google-generative-ai-8HY6m7rq.js → google-generative-ai-DcqlQJ6d.js} +1 -1
  56. package/web/.output/public/assets/{google-vertex-DnCA4qzU.js → google-vertex-C5RXjS_e.js} +1 -1
  57. package/web/.output/public/assets/{gpt-live-CEMTjMri.js → gpt-live-C4ltEjG_.js} +1 -1
  58. package/web/.output/public/assets/{index-C8C76R86.js → index-DCgpDQKf.js} +30 -30
  59. package/web/.output/public/assets/info-CGMF4Cdc.js +1 -0
  60. package/web/.output/public/assets/keating-stream-g73cFcJe.js +11 -0
  61. package/web/.output/public/assets/{learner-context-D0BfhTjc.js → learner-context-CpkZOwpe.js} +1 -1
  62. package/web/.output/public/assets/{library-pPmUSBEY.js → library-Dt_HrttW.js} +5 -5
  63. package/web/.output/public/assets/{live-context-CYuoXPUI.js → live-context-D5leiub7.js} +1 -1
  64. package/web/.output/public/assets/{mistral-conversations-BehK5A17.js → mistral-conversations-BSUNv6T_.js} +1 -1
  65. package/web/.output/public/assets/{openai-codex-responses-vVGnXFbc.js → openai-codex-responses-BEjWFOsh.js} +1 -1
  66. package/web/.output/public/assets/{openai-completions-SUIeYkEW.js → openai-completions-XWr91hin.js} +1 -1
  67. package/web/.output/public/assets/{openai-realtime-BSeGY5DQ.js → openai-realtime-BERRi9aO.js} +1 -1
  68. package/web/.output/public/assets/{openai-responses-DzgNIiYy.js → openai-responses-DeNWT5uB.js} +1 -1
  69. package/web/.output/public/assets/{openai-responses-shared-CHf6ek3_.js → openai-responses-shared-BdPh5feu.js} +1 -1
  70. package/web/.output/public/assets/{openai-tts-DRXdgxDT.js → openai-tts-ChGSz4r8.js} +1 -1
  71. package/web/.output/public/assets/{operation-BMdkNnIS.js → operation-kDIu8RLw.js} +2 -2
  72. package/web/.output/public/assets/{pi-messages-CpI94BCF.js → pi-messages-pzwJsgas.js} +1 -1
  73. package/web/.output/public/assets/{public-client-KRBnkgBr.js → public-client-CqivHtfG.js} +1 -1
  74. package/web/.output/public/assets/{recipes-BcSW8MlI.js → recipes-lg2hVa6Q.js} +1 -1
  75. package/web/.output/public/assets/{renderer-CKD_Hn-d.js → renderer-Cx1jCM2v.js} +1 -1
  76. package/web/.output/public/assets/{segments-nMdXcVhb.js → segments-BuQ4O8Bd.js} +1 -1
  77. package/web/.output/public/assets/{shared-actions-Bj56xHM3.js → shared-actions-B9eYiZAR.js} +1 -1
  78. package/web/.output/public/assets/{shared-renderer-C-yYfXvq.js → shared-renderer-hMxAoPZb.js} +7 -7
  79. package/web/.output/public/assets/shared-sessions-CwS3OLWR.js +5 -0
  80. package/web/.output/public/assets/{srs-WAeRnL8v.js → srs-BBTX4fCR.js} +1 -1
  81. package/web/.output/public/assets/{tavus-live-CVb9mE_J.js → tavus-live-HpBIH49i.js} +1 -1
  82. package/web/.output/public/assets/{topic-categorization-DHcL_IrS.js → topic-categorization-DfJaArmq.js} +1 -1
  83. package/web/.output/public/assets/trajectory-artifacts-EvNqJEHH.js +3 -0
  84. package/web/.output/public/assets/trajectory-store-C3qzwrr6.js +2 -0
  85. package/web/.output/public/assets/{transformers.web-CUMRYLoV.js → transformers.web-CrNvRfsr.js} +1 -1
  86. package/web/.output/public/assets/use-review-passes-DmWsvYdF.js +8 -0
  87. package/web/.output/public/assets/{use-sessions-C33USzrV.js → use-sessions-3UElISPk.js} +1 -1
  88. package/web/.output/public/assets/{useCoursesAccess-Zfb1Jqw-.js → useCoursesAccess-BgOspZex.js} +1 -1
  89. package/web/.output/public/assets/user-DEmM1U0O.js +1 -0
  90. package/web/.output/public/index.html +7 -7
  91. package/web/.output/public/sw.js +1 -1
  92. package/web/.output/server/_chunks/renderer-template.mjs +1 -1
  93. package/web/.output/server/_libs/h3+rou3+srvx.mjs +1 -1
  94. package/web/.output/server/index.mjs +1191 -1112
  95. package/web/.output/public/assets/CourseWorkspace-McgEEARK.js +0 -25
  96. package/web/.output/public/assets/ModelSelector-CiiiT7sM.js +0 -1
  97. package/web/.output/public/assets/OpenUIPreview-C8sgkYAj.js +0 -1
  98. package/web/.output/public/assets/PatternDigestPanel-Ctm7smvT.js +0 -1
  99. package/web/.output/public/assets/TrajectoryReview-DkC_NtyR.js +0 -35
  100. package/web/.output/public/assets/TrajectoryReviewIndex-C7pg9K9U.js +0 -1
  101. package/web/.output/public/assets/TrajectoryReviewWorkspace-D80QHrDn.js +0 -1
  102. package/web/.output/public/assets/calibration-B8NNSy6-.js +0 -1
  103. package/web/.output/public/assets/desktop-offline-BOKnmvYX.js +0 -2
  104. package/web/.output/public/assets/keating-stream-DeWgIdIv.js +0 -11
  105. package/web/.output/public/assets/shared-sessions-B2FsK7oM.js +0 -5
  106. package/web/.output/public/assets/trajectory-artifacts-B47xntcj.js +0 -3
  107. package/web/.output/public/assets/trajectory-store-CFat_se9.js +0 -2
  108. package/web/.output/public/assets/use-review-passes-BTc5nGD9.js +0 -8
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,_n as i,dn as a,fn as o,gn as s,hn as c,mn as l,ni as u,pn as d,wt as f,xr as p}from"./index-C8C76R86.js";import{Y as m,q as h,r as ee}from"./shared-renderer-C-yYfXvq.js";import{t as g}from"./createLucideIcon-C_7xXnHN.js";import{t as _}from"./circle-check-B3pGmp0Q.js";import{a as te,i as ne,r as re,t as ie}from"./FlashcardShaderField-pDI9y_r4.js";import{t as ae}from"./triangle-alert-cr9L64pJ.js";import{d as v}from"./MarkdownBlock-KUcDESQo.js";import{t as oe}from"./chevron-right-CtU0hmKY.js";import{a as se,i as ce,l as y,r as le,s as b}from"./FlashcardTimer-BANuXJze.js";import{t as ue}from"./Select-BE2GfDud.js";import{t as x}from"./trending-up-CAMFqCxl.js";var S=g(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),de=g(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),fe=g(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),C=e(t(),1),w=f(),pe=new p;function me(e){let t=typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():Math.random().toString(36).slice(2);return`${e||`quiz`}-${Date.now()}-${t}`}var T=`keating:quiz-bookmarks`;function he(){try{let e=localStorage.getItem(T);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function ge(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}function _e(e,t){if(t)return s(t,e);try{return s(localStorage.getItem(o),e)}catch{return s(void 0,e)}}function ve(e){try{localStorage.setItem(o,e)}catch{}}function ye(e){let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function be(e){let t=Math.max(0,Math.ceil(e));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function E(e){return e.toLowerCase().replace(/[^a-z0-9 ]/g,``).split(/\s+/).filter(Boolean)}function xe(e,t){if(e.length<t)return[];let n=[];for(let r=0;r<=e.length-t;r++)n.push(e.slice(r,r+t).join(` `));return n}function D(e,t,n){let r=xe(t,n);if(r.length===0)return 0;let i=new Set(xe(e,n));return r.filter(e=>i.has(e)).length/r.length}function Se(e,t){let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array.from({length:r+1},(e,t)=>t),a=Array(r+1);for(let o=1;o<=n;o++){a[0]=o;let n=e[o-1];for(let e=1;e<=r;e++)a[e]=n===t[e-1]?i[e-1]:1+Math.min(i[e-1],a[e-1],i[e]);for(let e=0;e<=r;e++)i[e]=a[e]}return i[r]}function O(e,t){if(!t.trim())return 0;if(e.type===`slider`){let n=parseFloat(t),r=parseFloat(e.correctAnswer);if(Number.isNaN(n)||Number.isNaN(r))return 0;let i=(e.max??100)-(e.min??0),a=Math.max((e.step??1)/2,i*.05),o=Math.abs(n-r);return o<=a?1:Math.max(0,1-o/(i||1))}if(e.type===`multi_select`&&e.correctAnswers){let n=t.split(`,`).map(e=>e.trim()).filter(Boolean),r=new Set(e.correctAnswers),i=0,a=0;for(let e of n)r.has(e)?i++:a++;let o=i/r.size-a/(e.options?.length||1);return Math.max(0,o)}if(e.type===`fill_in`&&e.blanks&&e.blanks.length>0){let n=t.split(`|`).map(e=>e.trim()),r=e.correctAnswers??[e.correctAnswer],i=0;for(let e=0;e<Math.min(n.length,r.length);e++)n[e].toLowerCase()===r[e].trim().toLowerCase()&&i++;return i/r.length}if(e.type===`true_false`||e.type===`multiple_choice`||e.type===`dropdown`)return+(t.trim().toLowerCase()===e.correctAnswer.trim().toLowerCase());let n=t.trim().toLowerCase(),r=e.correctAnswer.trim().toLowerCase();if(n===r)return 1;let i=Se(n,r),a=Math.max(n.length,r.length),o=Math.max(0,1-i/(a||1)),s=E(n),c=E(r),l=new Set(s),u=c.filter(e=>l.has(e)).length,d=c.length?u/c.length:0,f=D(s,c,2);return Math.max(o,d*.9,f)}var Ce=.6,k=`@media (min-width: 640px)`,A=`.dark &`,j={stack1:r({display:`grid`,gap:`0.25rem`}),stack2:r({display:`grid`,gap:`0.5rem`}),stack3:r({display:`grid`,gap:`0.75rem`}),rowCenter2:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),rowStart2:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`}),rowStart3:r({display:`flex`,alignItems:`flex-start`,gap:`0.75rem`}),minFlex:r({minWidth:0,flex:1}),mutedText:r({color:`var(--muted-foreground)`}),breakWords:r({overflowWrap:`break-word`})},M={optionBase:r({position:`relative`,display:`flex`,minHeight:`2.75rem`,width:`100%`,alignItems:`center`,gap:`0.75rem`,border:0,borderBottom:`1px solid var(--border)`,borderRadius:`0.25rem`,background:`transparent`,padding:`0.625rem 0.75rem`,fontSize:`0.875rem`,textAlign:`left`,cursor:`pointer`,transition:`background-color 150ms, color 150ms, transform 120ms`,_hover:{background:`color-mix(in srgb, var(--accent) 72%, transparent)`},_active:{transform:`translateY(1px)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`}}),optionCorrect:r({background:`color-mix(in srgb, var(--accent-green) 13%, transparent)`,color:`#047857`,[A]:{color:`#6ee7b7`}}),optionWrong:r({background:`color-mix(in srgb, var(--destructive) 10%, transparent)`,color:`var(--destructive)`}),optionSelected:r({background:`color-mix(in srgb, var(--arena-accent, var(--primary)) 14%, transparent)`,color:`color-mix(in srgb, var(--arena-accent, var(--primary)) 70%, var(--foreground))`}),optionNeutral:r({}),disabled:r({cursor:`not-allowed`,opacity:.7}),checkboxBase:r({display:`flex`,height:`1rem`,width:`1rem`,flexShrink:0,alignItems:`center`,justifyContent:`center`,borderRadius:`0.25rem`,borderWidth:`2px`}),checkboxSelected:r({borderColor:`var(--primary)`,background:`var(--primary)`,color:`var(--primary-foreground)`}),checkboxNeutral:r({borderColor:`var(--border)`}),iconButton:r({display:`inline-flex`,height:`2.75rem`,width:`2.75rem`,alignItems:`center`,justifyContent:`center`,borderRadius:`0.25rem`,color:`var(--muted-foreground)`,transition:`color 150ms, background-color 150ms`,_hover:{background:`var(--accent)`,color:`var(--accent-foreground)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`}}),card:r({display:`grid`,gap:`1rem`}),section:r({display:`grid`,gap:`0.75rem`,borderTop:`1px solid var(--border)`,paddingTop:`1.25rem`}),sectionTitle:r({display:`flex`,alignItems:`center`,gap:`0.5rem`,fontSize:`0.75rem`,fontWeight:600,letterSpacing:`0.04em`,textTransform:`uppercase`,color:`var(--muted-foreground)`}),fieldBase:r({width:`100%`,borderRadius:`0.375rem`,border:`1px solid`,background:`var(--background)`,padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,outline:`none`,_focus:{borderColor:`var(--primary)`},"&::placeholder":{color:`var(--muted-foreground)`}}),inputNeutral:r({borderColor:`var(--border)`}),inputCorrect:r({borderColor:`rgba(16, 185, 129, 0.6)`,background:`rgba(16, 185, 129, 0.05)`}),inputWrong:r({borderColor:`color-mix(in srgb, var(--destructive) 60%, transparent)`,background:`color-mix(in srgb, var(--destructive) 5%, transparent)`}),buttonSecondary:r({display:`inline-flex`,minHeight:`2.75rem`,alignItems:`center`,gap:`0.25rem`,borderRadius:`0.5rem`,borderWidth:`1px`,borderColor:`var(--border)`,background:`var(--background)`,padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,fontWeight:500,transition:`background-color 150ms`,_hover:{background:`var(--accent)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`},_disabled:{opacity:.4,pointerEvents:`none`}}),buttonPrimary:r({display:`inline-flex`,minHeight:`2.75rem`,alignItems:`center`,gap:`0.25rem`,borderRadius:`0.5rem`,borderWidth:`1px`,borderColor:`var(--primary)`,background:`var(--primary)`,padding:`0.5rem 1rem`,fontSize:`0.875rem`,fontWeight:500,color:`var(--primary-foreground)`,transition:`background-color 150ms`,_hover:{background:`color-mix(in srgb, var(--primary) 90%, transparent)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`},_disabled:{opacity:.4,pointerEvents:`none`}}),shell:r({position:`relative`,isolation:`isolate`,display:`grid`,gap:`1rem`,marginBlock:`0.5rem`,paddingBlock:`0.75rem`,color:`var(--foreground)`,[k]:{marginBlock:`0.75rem`,gap:`1.25rem`,paddingBlock:`1rem`}}),effectHeader:r({position:`relative`,display:`grid`,minHeight:`7.25rem`,alignContent:`space-between`,gap:`0.875rem`,overflow:`hidden`,borderRadius:`0.625rem`,background:`var(--crt)`,padding:{base:`0.875rem`,sm:`1rem 1.125rem`},color:`var(--phosphor)`}),effectHeaderContent:r({position:`relative`,zIndex:1,display:`flex`,flexWrap:`wrap`,alignItems:`flex-start`,justifyContent:`space-between`,gap:`0.75rem`}),topic:r({minWidth:0,maxWidth:`62ch`,overflowWrap:`anywhere`,fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:`1rem`,fontWeight:700,lineHeight:1.35}),headerMeta:r({display:`flex`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`flex-end`,gap:`0.5rem`,fontFamily:`var(--mono-body, var(--font-mono))`,fontSize:`0.6875rem`,fontVariantNumeric:`tabular-nums`,color:`var(--phosphor-dim)`}),headerInstruments:r({display:`grid`,justifyItems:`end`,gap:`0.375rem`}),timer:r({"--timer-color":`var(--arena-accent, var(--phosphor))`,display:`grid`,minWidth:{base:`7.25rem`,sm:`8.75rem`},justifyItems:`end`,gap:`0.25rem`,color:`var(--timer-color)`,"&[data-urgency=warning]":{"--timer-color":`var(--amber, #e8a33d)`},"&[data-urgency=critical]":{"--timer-color":`var(--red, #d95f4f)`}}),timerDigits:r({display:`inline-flex`,alignItems:`center`,gap:`0.4rem`,fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:{base:`1.75rem`,sm:`2.125rem`},fontWeight:700,fontVariantNumeric:`tabular-nums`,fontFeatureSettings:`"tnum" 1`,letterSpacing:`-0.03em`,lineHeight:1,textShadow:`0 0 16px color-mix(in srgb, var(--timer-color) 55%, transparent)`}),timerTrack:r({width:`100%`,height:`0.3125rem`,overflow:`hidden`,borderRadius:`9999px`,background:`color-mix(in srgb, var(--timer-color) 19%, transparent)`}),timerFill:r({height:`100%`,borderRadius:`inherit`,background:`var(--timer-color)`,boxShadow:`0 0 10px color-mix(in srgb, var(--timer-color) 72%, transparent)`,transformOrigin:`left center`,transition:`transform 900ms linear, background-color 150ms`}),effectSelectLabel:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),effectSelect:r({maxWidth:`7.25rem`,border:0,borderBottom:`1px solid color-mix(in srgb, var(--phosphor) 52%, transparent)`,borderRadius:0,background:`transparent`,padding:`0.125rem 1.15rem 0.125rem 0.125rem`,font:`inherit`,color:`var(--phosphor)`,outline:`none`,_focusVisible:{outline:`2px solid var(--phosphor)`,outlineOffset:`2px`},"& option":{background:`var(--crt)`,color:`var(--phosphor)`}}),progressRow:r({position:`relative`,zIndex:1,display:`flex`,alignItems:`center`,gap:`0.625rem`}),progressTrack:r({height:`0.375rem`,flex:1,overflow:`hidden`,borderRadius:`9999px`,background:`color-mix(in srgb, var(--phosphor) 18%, transparent)`}),progressFill:r({height:`100%`,borderRadius:`inherit`,background:`var(--arena-accent, var(--phosphor))`,boxShadow:`0 0 12px color-mix(in srgb, var(--arena-accent, var(--phosphor)) 65%, transparent)`,transformOrigin:`left center`,transition:`transform 240ms cubic-bezier(0.22, 1, 0.36, 1)`}),questionStage:r({position:`relative`,minWidth:0,paddingInline:{base:`0.125rem`,sm:`0.5rem`}}),nav:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`0.5rem`,paddingInline:{base:`0.125rem`,sm:`0.5rem`}}),resultIntro:r({display:`grid`,gap:`0.25rem`}),resultSignal:r({fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:`1.25rem`,fontWeight:700}),resultMeta:r({display:`flex`,flexWrap:`wrap`,gap:`0.5rem 0.875rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),empty:r({display:`grid`,minHeight:`8rem`,placeItems:`center`,borderBlock:`1px solid var(--border)`,padding:`1rem`,textAlign:`center`,color:`var(--muted-foreground)`}),visuallyHidden:r({position:`absolute`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0 0 0 0)`,whiteSpace:`nowrap`})};function N(e){return e.type===`short_answer`||e.type===`transfer`||e.type===`fill_in`&&!(e.blanks&&e.blanks.length>0)}function we(e,t){if(e.type===`multi_select`&&e.correctAnswers){let n=new Set(t.split(`,`).map(e=>e.trim()).filter(Boolean));return e.correctAnswers.length===n.size&&e.correctAnswers.every(e=>n.has(e))}if(e.type===`fill_in`&&e.blanks&&e.blanks.length>0){let n=t.split(`|`).map(e=>e.trim()),r=e.correctAnswers??[e.correctAnswer];return n.length===r.length?n.every((e,t)=>e.toLowerCase()===r[t].trim().toLowerCase()):!1}return N(e)?O(e,t)>=Ce:t.trim().toLowerCase()===e.correctAnswer.trim().toLowerCase()}function P({label:e,index:t,selected:n,onClick:r,disabled:i,status:a,checkbox:o}){return(0,w.jsx)(le,{label:e,index:t,selected:n,onClick:r,disabled:i,status:a,multiple:o})}function F({modes:e,active:t,onChange:n}){return e.length===0?null:(0,w.jsxs)(`label`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.375rem`,fontSize:`0.6875rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(`span`,{children:`View`}),(0,w.jsxs)(ue,{"aria-label":`Question wording`,value:t??``,onValueChange:e=>n(e||null),className:r({border:0,borderBottom:`1px solid var(--border)`,borderRadius:0,background:`transparent`,padding:`0.2rem 1.25rem 0.2rem 0.125rem`,fontSize:`0.6875rem`,color:`var(--foreground)`,_focusVisible:{outline:`2px solid var(--ring)`,outlineOffset:`2px`}}),children:[(0,w.jsx)(`option`,{value:``,children:`Default`}),e.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]})]})}function Te(e){return e===`solar`||e===`contour`?`var(--amber, #e8a33d)`:e===`prism`?`var(--red, #d95f4f)`:e===`current`||e===`orbit`?`#67d7e8`:e===`still`?`var(--phosphor-dim, #9bd8ad)`:`var(--phosphor, #4be388)`}function Ee(e){return e===`still`?`quiz-question-enter`:`quiz-question-enter-${e}`}function De(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)/4294967295*131}function Oe(e){return e.type!==`short_answer`&&e.type!==`transfer`&&e.type!==`fill_in`}function ke({correct:e}){return(0,w.jsxs)(`span`,{className:n(r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,border:`1px solid`,padding:`0.125rem 0.5rem`,fontSize:`0.6875rem`,fontWeight:500}),r(e?{borderColor:`rgba(16, 185, 129, 0.5)`,background:`rgba(16, 185, 129, 0.1)`,color:`#047857`,[A]:{color:`#6ee7b7`}}:{borderColor:`color-mix(in srgb, var(--destructive) 50%, transparent)`,background:`color-mix(in srgb, var(--destructive) 10%, transparent)`,color:`var(--destructive)`})),children:[e?(0,w.jsx)(_,{size:12}):(0,w.jsx)(S,{size:12}),e?`Correct`:`Incorrect`]})}function I({question:e,blanks:t,answer:i,onChange:a,revealed:o,correctAnswers:s}){let c=(0,C.useMemo)(()=>i.split(`|`).map(e=>e.trim()),[i]),l=(0,C.useMemo)(()=>ee(e),[e]),u=(0,C.useRef)([]),d=(e,t)=>{let n=[...c];n[e]=t,a(n.join(`|`))},f=0;return(0,w.jsx)(`div`,{className:r({minWidth:0}),children:(0,w.jsx)(`div`,{className:r({fontSize:`0.875rem`,fontWeight:500,lineHeight:`1.75rem`,overflowWrap:`break-word`}),children:l.map((e,i)=>{if(!e.isBlank)return(0,w.jsx)(`span`,{className:r({whiteSpace:`pre-wrap`,overflowWrap:`break-word`}),children:e.text},i);let a=f++,l=t[a],p=o&&c[a]?.trim().toLowerCase()===s[a]?.trim().toLowerCase(),m=o&&c[a]?.trim()&&!p;return(0,w.jsxs)(`span`,{className:r({display:`inline-flex`,maxWidth:`100%`,alignItems:`baseline`,gap:`0.25rem`,marginInline:`0.25rem`,verticalAlign:`baseline`}),children:[(0,w.jsx)(`input`,{ref:e=>{u.current[a]=e},type:`text`,disabled:o,"aria-label":l?.hint?`${l.hint} blank`:`Blank ${a+1}`,title:l?.hint,className:n(M.fieldBase,`activity-field`,r({display:`inline-block`,height:`1.75rem`,width:`7rem`,paddingInline:`0.5rem`,textAlign:`center`,[k]:{width:`10rem`},"&::placeholder":{color:`color-mix(in srgb, var(--muted-foreground) 50%, transparent)`}}),p?M.inputCorrect:m?M.inputWrong:M.inputNeutral),placeholder:l?.placeholder??`___`,value:c[a]??``,onChange:e=>d(a,e.target.value),onKeyDown:e=>{if(e.key===`Enter`){let e=u.current[a+1];e&&e.focus()}}}),o&&(0,w.jsx)(`span`,{className:r({fontSize:`0.625rem`,color:p?`#059669`:`var(--destructive)`}),children:p?`✓`:`✗ ${s[a]??``}`})]},i)})})})}function Ae({q:e,index:t,answer:i,onChange:a,revealed:o,timeMs:s,timedOut:c=!1,bookmarked:u,onToggleBookmark:f,onSpeak:p,reframeMode:h,onReframe:ee}){let g=O(e,i),_=we(e,i),te=o&&i.trim()&&!_,re=g>=1,ie=e.type===`fill_in`&&!!e.blanks?.length,v=(0,C.useMemo)(()=>h&&e.reframes?.[h]?e.reframes[h]:e.question,[e,h]),oe=(0,C.useMemo)(()=>e.reframes?Object.keys(e.reframes):[],[e.reframes]),se=(0,C.useMemo)(()=>e.type===`multi_select`?i.split(`,`).map(e=>e.trim()).filter(Boolean):[],[i,e.type]),ce=e=>{let t=new Set(se);t.has(e)?t.delete(e):t.add(e),a(Array.from(t).join(`,`))};return(0,w.jsxs)(`div`,{className:M.card,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,flexDirection:`column`,alignItems:`stretch`,gap:`0.5rem`,[k]:{flexDirection:`row`,alignItems:`flex-start`}}),children:[(0,w.jsxs)(`div`,{className:n(j.minFlex,j.stack2),children:[o?(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({fontSize:`0.6875rem`,color:`var(--muted-foreground)`})),children:[t+1,` · `,e.level]}):null,(0,w.jsxs)(`div`,{className:r({display:`flex`,flexWrap:`wrap`,alignItems:`flex-start`,gap:`0.5rem`}),children:[ie?(0,w.jsx)(`div`,{className:j.minFlex,children:(0,w.jsx)(I,{question:v,blanks:e.blanks??[],answer:i,onChange:a,revealed:o,correctAnswers:e.correctAnswers??[e.correctAnswer]})}):(0,w.jsx)(`p`,{className:`activity-prompt`,children:v}),o&&Oe(e)&&(0,w.jsx)(ke,{correct:re})]}),oe.length>0&&!o&&ee&&(0,w.jsx)(F,{modes:oe,active:h??null,onChange:t=>{ee(t),t&&!e.reframes?.[t]&&window.dispatchEvent(new CustomEvent(`keating:quiz-reframe-requested`,{detail:{questionId:e.id,mode:t,topic:e.question}}))}})]}),(0,w.jsxs)(`div`,{className:r({display:`flex`,flexShrink:0,alignItems:`center`,justifyContent:`flex-end`,gap:`0.25rem`}),children:[(0,w.jsx)(`button`,{type:`button`,onClick:p,className:M.iconButton,"aria-label":`Read question aloud`,title:`Read aloud`,children:(0,w.jsx)(b,{size:14})}),(0,w.jsx)(`button`,{type:`button`,onClick:f,className:n(M.iconButton,u&&r({color:`#f59e0b`,_hover:{color:`#f59e0b`}})),"aria-label":u?`Remove bookmark`:`Bookmark question`,title:u?`Bookmarked`:`Bookmark for review`,children:(0,w.jsx)(ne,{size:14,fill:u?`currentColor`:`none`})}),o&&c?(0,w.jsx)(`span`,{className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:`Timed out`}):null,o&&l({timeMs:s,timeLimitSeconds:e.timeLimit,answered:!!i.trim(),timedOut:c})?(0,w.jsx)(`span`,{title:`Answered within the first quarter of the time budget. Timing does not indicate correctness.`,className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:`Quick answer`}):null,o&&typeof s==`number`&&(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,fontSize:`0.625rem`,color:`var(--muted-foreground)`})),children:[(0,w.jsx)(m,{size:11,"aria-hidden":`true`}),(0,w.jsx)(`span`,{"aria-label":`Time on question: ${s} milliseconds`,children:d(s)})]})]})]}),e.type===`multiple_choice`&&e.options&&(0,w.jsx)(`div`,{className:`activity-answer-grid`,children:e.options.map((t,n)=>{let r=i===t,s;return o&&(t===e.correctAnswer?s=`correct`:r&&(s=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>a(t),disabled:o,status:s},t)})}),e.type===`multi_select`&&e.options&&(0,w.jsx)(`div`,{className:`activity-answer-grid`,children:e.options.map((t,n)=>{let r=se.includes(t),i;return o&&(e.correctAnswers?.includes(t)??!1?i=`correct`:r&&(i=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>ce(t),disabled:o,status:i,checkbox:!0},t)})}),(e.type===`short_answer`||e.type===`fill_in`||e.type===`transfer`)&&!ie&&(0,w.jsxs)(`div`,{className:j.stack2,children:[(0,w.jsx)(`textarea`,{className:n(M.fieldBase,`activity-field`,r({minHeight:`80px`,resize:`none`}),o&&e.type===`fill_in`?te?M.inputWrong:_?M.inputCorrect:M.inputNeutral:M.inputNeutral),"aria-label":`Your answer`,placeholder:e.type===`fill_in`?`Fill in the blank...`:`Type your answer...`,value:i,onChange:e=>a(e.target.value),disabled:o}),o&&!(e.type===`fill_in`&&e.blanks&&e.blanks.length>0)&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),N(e)&&(0,w.jsxs)(`p`,{className:r({fontSize:`0.625rem`}),children:[`Teacher review pending`,g>0?` · ${g>=.6?`close match`:`partial match`}`:``,`.`]}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation}),e.rubric&&(0,w.jsx)(`p`,{className:r({fontSize:`0.625rem`}),children:e.rubric})]})]})]}),e.type===`true_false`&&(0,w.jsx)(`div`,{className:r({display:`flex`,gap:`0.75rem`}),children:[`True`,`False`].map((t,n)=>{let r=i===t,s;return o&&(t===e.correctAnswer?s=`correct`:r&&(s=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>a(t),disabled:o,status:s},t)})}),e.type===`slider`&&(0,w.jsxs)(`div`,{className:j.stack3,children:[(0,w.jsxs)(`div`,{className:j.rowCenter2,children:[(0,w.jsx)(`span`,{className:n(`font-terminal`,r({fontSize:`0.75rem`,color:`var(--muted-foreground)`})),children:e.min??0}),(0,w.jsx)(`input`,{type:`range`,"aria-label":v,min:e.min??0,max:e.max??100,step:e.step??1,value:i?parseFloat(i):e.min??0,onChange:e=>a(e.target.value),disabled:o,className:r({flex:1,accentColor:`var(--primary)`})}),(0,w.jsx)(`span`,{className:n(`font-terminal`,r({fontSize:`0.75rem`,color:`var(--muted-foreground)`})),children:e.max??100})]}),(0,w.jsx)(`div`,{className:r({textAlign:`center`,fontSize:`0.875rem`,fontWeight:500}),children:i||(e.min??0).toString()}),o&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation})]})]})]}),e.type===`dropdown`&&e.options&&(0,w.jsxs)(`div`,{className:j.stack2,children:[(0,w.jsxs)(ue,{"aria-label":v,value:i,onValueChange:e=>a(e),disabled:o,className:n(M.fieldBase,`activity-field`,o?_?M.inputCorrect:M.inputWrong:M.inputNeutral),children:[(0,w.jsx)(`option`,{value:``,disabled:!0,children:`Select an answer...`}),e.options.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]}),o&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation})]})]})]}),o&&g<1&&g>0&&(0,w.jsxs)(`div`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,background:`rgba(245, 158, 11, 0.1)`,padding:`0.25rem 0.625rem`,fontSize:`0.6875rem`,fontWeight:500,color:`#d97706`,[A]:{color:`#f59e0b`}}),children:[(0,w.jsx)(ae,{size:12}),`Partial credit: `,Math.round(g*100),`%`]})]})}function je({quiz:e,answers:t,onRequestRemediation:n}){let i=[`recall`,`comprehension`,`application`,`analysis`,`transfer`],a=(0,C.useMemo)(()=>{let n={};for(let r of i){let i=e.questions.filter(e=>e.level===r&&!e.fallbackFor);if(i.length===0)continue;let a=0;for(let e of i)we(e,t[e.id]||``)||a++;n[r]={total:i.length,missed:a}}return n},[e,t]),[o,s]=(0,C.useState)(new Set);return Object.values(a).some(e=>e.missed>0)?(0,w.jsxs)(`div`,{className:M.section,children:[(0,w.jsxs)(`div`,{className:M.sectionTitle,children:[(0,w.jsx)(de,{size:14,className:r({color:`var(--primary)`})}),(0,w.jsx)(`span`,{children:`Review these`})]}),(0,w.jsx)(`div`,{className:r({display:`grid`,gap:`0.875rem`}),children:i.map(e=>{let t=a[e];if(!t||t.missed===0)return null;let i=t.total>0?t.missed/t.total:0;return(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`0.75rem`}),children:[(0,w.jsx)(`span`,{className:r({textTransform:`capitalize`,fontWeight:500}),children:e}),(0,w.jsxs)(`span`,{className:j.mutedText,children:[t.missed,`/`,t.total,` missed`]})]}),(0,w.jsxs)(`div`,{className:j.rowCenter2,children:[(0,w.jsx)(`div`,{className:r({height:`0.5rem`,flex:1,overflow:`hidden`,borderRadius:`9999px`,background:`var(--muted)`}),children:(0,w.jsx)(`div`,{className:r({height:`100%`,borderRadius:`9999px`,background:`var(--destructive)`}),style:{width:`${i*100}%`}})}),(0,w.jsx)(`button`,{type:`button`,disabled:o.has(e),onClick:()=>{n?.(e),s(t=>new Set(t).add(e))},className:r({flexShrink:0,fontSize:`0.625rem`,fontWeight:500,color:`var(--primary)`,_hover:{textDecoration:`underline`},_disabled:{color:`var(--muted-foreground)`,textDecoration:`none`}}),children:o.has(e)?`Requested ✓`:`Review`})]})]},e)})})]}):null}function Me({score:e,partialCreditPoints:t,total:i,stats:a}){if(!a||a.count<5||i<=0)return null;let o=e/i*100,s=a.avgScore/i*100,c=a.topQuartile/i*100,l=Math.max(o,s,c,1);return(0,w.jsxs)(`div`,{className:M.section,children:[(0,w.jsxs)(`div`,{className:M.sectionTitle,children:[(0,w.jsx)(x,{size:14,className:r({color:`var(--primary)`})}),(0,w.jsxs)(`span`,{children:[`vs `,a.count,` past sessions`]})]}),(0,w.jsx)(`div`,{className:j.stack2,children:[{label:`Your score`,value:o,color:`var(--primary)`},{label:`Session avg`,value:s,color:`var(--muted-foreground)`},{label:`Top quartile`,value:c,color:`#10b981`}].map(e=>(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`0.75rem`}),children:[(0,w.jsx)(`span`,{className:j.mutedText,children:e.label}),(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({fontVariantNumeric:`tabular-nums`})),children:[Math.round(e.value),`%`]})]}),(0,w.jsx)(`div`,{className:r({height:`0.5rem`,overflow:`hidden`,borderRadius:`9999px`,background:`var(--muted)`}),children:(0,w.jsx)(`div`,{className:r({height:`100%`,borderRadius:`9999px`,background:e.color,transition:`all 150ms`}),style:{width:`${e.value/l*100}%`}})})]},e.label))}),typeof t==`number`&&a.avgPartialCreditPoints>0&&(0,w.jsxs)(`div`,{className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[`Average partial credit `,a.avgPartialCreditPoints.toFixed(2),`/`,i]})]})}function Ne({quiz:e,onSubmit:t,topicStats:o,defaultShaderPreset:l}){let f=u(),p=(0,C.useMemo)(()=>i(e.questions),[e.questions]),ee=(0,C.useMemo)(()=>({...e,questions:p}),[p,e]),g=`${e.slug??e.topic}:${p.map(e=>e.id).join(`|`)}`,[_,ne]=(0,C.useState)({}),[y,le]=(0,C.useState)(!1),[b,x]=(0,C.useState)(0),[S,de]=(0,C.useTransition)(),[fe,T]=(0,C.useState)(0),[E,xe]=(0,C.useState)(()=>he()),[D,Se]=(0,C.useState)(new Set),[Ce,A]=(0,C.useState)({}),[j,P]=(0,C.useState)(o),[F,Oe]=(0,C.useState)(()=>_e(g,l)),ke=(0,C.useRef)(me(e.slug??e.topic)),I=(0,C.useRef)(!1),Ne=(0,C.useRef)(g),L=(0,C.useRef)(Date.now()),Pe=(0,C.useRef)(L.current),Fe=(0,C.useRef)({}),R=(0,C.useRef)(null),z=(0,C.useRef)(new Set),[Ie,Le]=(0,C.useState)(new Set),B=(0,C.useRef)(void 0),V=(0,C.useMemo)(()=>p.filter(e=>!D.has(e.id)),[p,D]),H=V.length,U=(0,C.useMemo)(()=>V.filter(e=>!N(e)),[V]),Re=H-U.length,W=U.length,G=V[b],K=G?.timeLimit,[ze,Be]=(0,C.useState)({questionId:G?.id,remaining:K}),q=ze.questionId===G?.id?ze.remaining:K,Ve=(0,C.useCallback)((e=Date.now())=>{let t=V[b]?.id;if(!t)return;let n=B.current,r=n?.questionId===t?Math.min(e,n.at):e;Fe.current[t]=(Fe.current[t]??0)+Math.max(0,r-Pe.current),Pe.current=e},[b,V]),J=(0,C.useCallback)(e=>{let t=B.current;!t||t.questionId!==G?.id||e<t.at||z.current.has(t.questionId)||(z.current.add(t.questionId),Le(new Set(z.current)))},[G?.id]),Y=(0,C.useMemo)(()=>{let e={};for(let t of U)e[t.id]=O(t,_[t.id]||``);return e},[_,U]),X=(0,C.useMemo)(()=>{let e=0;for(let t of U)we(t,_[t.id]||``)&&e++;return e},[_,U]),Z=(0,C.useMemo)(()=>U.reduce((e,t)=>e+(Y[t.id]??0),0),[Y,U]),He=W>0?Math.round(X/W*100):0,Q=V.filter(e=>(_[e.id]||``).trim().length>0).length,Ue=H>0&&Q===H,We=(0,C.useCallback)(()=>{if(I.current||H===0)return;I.current=!0;let n=Date.now();J(n);let r=B.current,i=r?.questionId===G?.id?Math.min(n,r.at):n;Ve(i);let a={totalMs:Math.max(0,i-L.current),perQuestionMs:{...Fe.current}};R.current=a,T(a.totalMs),le(!0),f.capture(`quiz_completed`,{question_count:p.length,score:X,partial_credit_points:Z,duration_ms:a.totalMs}),t?.({resultId:ke.current,answers:_,score:X,partialCreditPoints:Z,timing:a,partialCredits:Y,flagged:E,timedOutQuestionIds:[...z.current]}),pe.saveQuizResult(X,Z,W,e.slug,{resultId:ke.current,answers:_,partialCredits:Y,timing:a,flaggedQuestionIds:E,timedOutQuestionIds:[...z.current],pendingGradeQuestionIds:p.filter(N).map(e=>e.id)}).catch(()=>{}),window.speechSynthesis?.cancel()},[Ve,_,E,G?.id,t,Z,Y,f,p,e.slug,X,J,W,H]),Ge=(0,C.useCallback)(()=>{ne({}),ke.current=me(e.slug??e.topic),le(!1),x(0),T(0),Se(new Set),A({}),Be({questionId:p[0]?.id,remaining:p[0]?.timeLimit}),L.current=Date.now(),Pe.current=L.current,z.current=new Set,B.current=void 0,Le(new Set),Fe.current={},R.current=null,I.current=!1,window.speechSynthesis?.cancel()},[p,e.slug,e.topic]);(0,C.useEffect)(()=>{Ne.current!==g&&(Ne.current=g,Ge(),Oe(_e(g,l)))},[l,g,Ge]),(0,C.useEffect)(()=>{l&&Oe(s(l,g))},[l,g]),(0,C.useEffect)(()=>{f.capture(`quiz_started`,{question_count:p.length,has_stable_slug:!!e.slug})},[f,p.length,e.slug,g]),(0,C.useEffect)(()=>{y||(B.current=G&&typeof K==`number`&&Number.isFinite(K)?{questionId:G.id,at:Pe.current+Math.max(0,K)*1e3}:void 0,Be({questionId:G?.id,remaining:K}))},[G?.id,y,K]),(0,C.useEffect)(()=>{if(y||typeof K!=`number`||!G)return;let e=G.id,t=window.setInterval(()=>{if(I.current||B.current?.questionId!==e)return;let n=Math.max(0,Math.ceil((B.current.at-Date.now())/1e3));Be(t=>t.questionId===e&&t.remaining===n?t:{questionId:e,remaining:n}),n===0&&window.clearInterval(t)},100);return()=>window.clearInterval(t)},[G?.id,y,K]);let Ke=(0,C.useCallback)(e=>{if(e<0||e>=H)return;let t=Date.now();J(t),Ve(t),de(()=>x(e))},[Ve,J,H]);(0,C.useEffect)(()=>{if(y||ze.questionId!==G?.id||typeof q!=`number`||q>0||H===0)return;J(Date.now());let e=window.setTimeout(()=>{b>=H-1?We():Ke(b+1)},200);return()=>window.clearTimeout(e)},[b,G,We,Ke,ze.questionId,J,y,q,H]),(0,C.useEffect)(()=>{if(o!==void 0){P(o);return}let t=!1;return pe.getTopicQuizStats(e.slug).then(e=>{t||P(e)}).catch(()=>{t||P(null)}),()=>{t=!0}},[e.slug,o]),(0,C.useEffect)(()=>{if(y||H===0)return;let e=window.setInterval(()=>{I.current||T(Math.max(0,Date.now()-L.current))},250);return()=>window.clearInterval(e)},[y,H]),(0,C.useEffect)(()=>{if(!e.adaptiveRules||!G||y)return;let t=_[G.id];if(!t?.trim()||O(G,t)<(e.adaptiveRules.find(e=>e.level===G.level)?.threshold??.5))return;let n=p.findIndex(e=>e.id===G.id),r=new Set;for(let e=n+1;e<p.length;e+=1){let t=p[e];if(t.fallbackFor===G.level)r.add(t.id);else if(!t.fallbackFor)break}r.size>0&&Se(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[_,G,p,e.adaptiveRules,y]),(0,C.useEffect)(()=>{if(H===0){b!==0&&x(0);return}b>=H&&x(H-1)},[b,H]),(0,C.useEffect)(()=>()=>window.speechSynthesis?.cancel(),[]);let qe=(0,C.useCallback)((e,t)=>{let n=B.current;I.current||n?.questionId===e&&Date.now()>=n.at||ne(n=>({...n,[e]:t}))},[]),Je=(0,C.useCallback)(e=>{xe(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return ge(n),n})},[]),Ye=(0,C.useCallback)(e=>{if(typeof window>`u`||!window.speechSynthesis)return;window.speechSynthesis.cancel();let t=new SpeechSynthesisUtterance(e);t.rate=.95,window.speechSynthesis.speak(t)},[]),Xe=(0,C.useCallback)(e=>{let t=s(e,g);Oe(t),ve(t)},[g]),Ze=(0,C.useCallback)(t=>{window.dispatchEvent(new CustomEvent(`keating:quiz-remediation-requested`,{detail:{level:t,topic:e.topic,slug:e.slug}}))},[e.slug,e.topic]),Qe=De(`${g}:${G?.id??`result`}`),$e=y?Math.min(1,W>0?X/W+.16:.35):Math.min(1,Q/Math.max(1,H)*.65+b/Math.max(1,H)*.25),et={"--arena-accent":Te(F)},tt=b===H-1,$=!y&&typeof q==`number`&&typeof K==`number`?{...c(q,K),remaining:q}:null,nt=(0,w.jsxs)(`header`,{className:n(M.effectHeader,`activity-quiz-header`),style:et,children:[(0,w.jsx)(ie,{preset:F,energy:$e,seed:Qe},`${F}:${G?.id??`result`}`),(0,w.jsxs)(`div`,{className:M.effectHeaderContent,children:[(0,w.jsx)(`div`,{className:M.resultIntro,children:(0,w.jsx)(`h3`,{className:n(M.topic,`activity-quiz-topic`),children:e.topic})}),(0,w.jsxs)(`div`,{className:M.headerInstruments,children:[$?(0,w.jsxs)(`div`,{role:`timer`,"aria-label":`${$.urgency===`critical`?`Critical, `:$.urgency===`warning`?`Warning, `:``}${be($.remaining)} remaining`,"aria-live":`off`,"data-urgency":$.urgency,className:n(M.timer,$.urgency===`critical`?`quiz-timer-critical`:``),children:[(0,w.jsxs)(`strong`,{className:M.timerDigits,children:[$.urgency===`steady`?(0,w.jsx)(m,{size:20,"aria-hidden":`true`}):(0,w.jsx)(ae,{size:20,"aria-hidden":`true`}),be($.remaining)]}),(0,w.jsx)(`div`,{className:M.timerTrack,"aria-hidden":`true`,children:(0,w.jsx)(`div`,{className:M.timerFill,style:{transform:`scaleX(${$.progress})`}})}),$.urgency===`critical`?(0,w.jsx)(`span`,{role:`status`,className:M.visuallyHidden,children:`Five seconds or less remaining.`}):null]}):null,(0,w.jsxs)(`div`,{className:M.headerMeta,children:[(0,w.jsxs)(`span`,{children:[(0,w.jsx)(m,{size:12,"aria-hidden":`true`}),` `,y&&R.current?d(R.current.totalMs):ye(fe)]}),D.size>0?(0,w.jsxs)(`span`,{children:[`+`,D.size,` adapted`]}):null,y?(0,w.jsx)(`strong`,{children:W>0?`${X}/${W}`:`review`}):null,(0,w.jsxs)(`details`,{className:`activity-quiz-effects`,children:[(0,w.jsx)(`summary`,{"aria-label":`Quiz appearance`,children:(0,w.jsx)(te,{size:16})}),(0,w.jsxs)(`label`,{children:[`Appearance`,(0,w.jsx)(ue,{className:M.effectSelect,"aria-label":`Quiz visual effect`,value:F,onValueChange:e=>Xe(e),children:a.map(e=>(0,w.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})]})]})]})]}),(0,w.jsx)(se,{current:b,total:H,resolved:Q,label:`Quiz progress`,complete:y})]});return p.length===0?(0,w.jsxs)(`section`,{className:n(M.shell,`activity-game activity-quiz`),"aria-label":`Quiz: ${e.topic}`,children:[nt,(0,w.jsx)(`div`,{className:M.empty,role:`status`,children:`No quiz questions yet.`})]}):(0,w.jsxs)(`section`,{className:n(M.shell,`activity-game activity-quiz`),"aria-label":`Quiz: ${e.topic}`,children:[nt,y?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:n(M.resultIntro,`quiz-result-arrive`),children:[(0,w.jsx)(ce,{detail:W>0?`${X} of ${W} correct${Re?` · ${Re} awaiting review`:``}`:`Your teacher will review your answers.`,children:W===0?`Ready for review`:X===W?`Clean sweep`:`Round complete`}),(0,w.jsxs)(`div`,{className:M.resultMeta,children:[R.current?(0,w.jsxs)(`span`,{"aria-label":`Total quiz time: ${R.current.totalMs} milliseconds`,children:[d(R.current.totalMs),` total`]}):null,Ie.size?(0,w.jsxs)(`span`,{children:[Ie.size,` timed out`]}):null,W>0?(0,w.jsxs)(`span`,{children:[He,`% objective score`]}):null,Re>0?(0,w.jsxs)(`span`,{children:[Re,` pending review`]}):null,E.length>0?(0,w.jsxs)(`span`,{children:[E.length,` flagged`]}):null,Z===X?null:(0,w.jsxs)(`span`,{children:[Z.toFixed(2),` partial points`]})]})]}),(0,w.jsxs)(`details`,{className:`activity-review`,children:[(0,w.jsx)(`summary`,{children:`Review answers & next steps`}),(0,w.jsx)(je,{quiz:ee,answers:_,onRequestRemediation:Ze}),(0,w.jsx)(Me,{score:X,partialCreditPoints:Z,total:W,stats:j}),(0,w.jsx)(`div`,{className:r({display:`grid`,gap:`1.5rem`,"& > * + *":{borderTop:`1px solid var(--border)`,paddingTop:`1.5rem`}}),children:V.map((e,t)=>(0,w.jsx)(Ae,{q:e,index:t,answer:_[e.id]||``,onChange:t=>qe(e.id,t),revealed:!0,timeMs:R.current?.perQuestionMs[e.id],timedOut:Ie.has(e.id),bookmarked:E.includes(e.id),onToggleBookmark:()=>Je(e.id),onSpeak:()=>Ye(e.question),reframeMode:Ce[e.id]??null},e.id))})]}),(0,w.jsxs)(`button`,{type:`button`,onClick:Ge,className:n(M.buttonSecondary,`activity-back-action`,r({width:`100%`,justifyContent:`center`,gap:`0.5rem`})),children:[(0,w.jsx)(v,{size:14}),` Retake`]})]}):(0,w.jsxs)(w.Fragment,{children:[G?(0,w.jsx)(`div`,{"aria-busy":S,className:n(M.questionStage,Ee(F)),style:{...et,opacity:S?.72:1},children:(0,w.jsx)(Ae,{q:G,index:b,answer:_[G.id]||``,onChange:e=>qe(G.id,e),revealed:!1,bookmarked:E.includes(G.id),onToggleBookmark:()=>Je(G.id),onSpeak:()=>Ye(G.question),reframeMode:Ce[G.id]??null,onReframe:e=>A(t=>({...t,[G.id]:e}))})},`${G.id}:${F}`):null,(0,w.jsxs)(`nav`,{className:M.nav,"aria-label":`Quiz questions`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>Ke(b-1),disabled:S||b===0,className:n(M.buttonSecondary,`activity-back-action`,r({flex:1,justifyContent:`center`,[k]:{flex:`0 0 auto`}})),children:[(0,w.jsx)(re,{size:14}),` Back`]}),tt?(0,w.jsxs)(`button`,{type:`button`,onClick:We,disabled:!Ue||I.current,title:Ue?void 0:`${H-Q} unanswered`,className:n(M.buttonPrimary,`activity-main-action`,r({flex:1,justifyContent:`center`,gap:`0.5rem`,[k]:{flex:`0 0 auto`}})),children:[(0,w.jsx)(h,{size:14}),` `,Ue?`Finish round`:`${H-Q} left`]}):(0,w.jsxs)(`button`,{type:`button`,onClick:()=>Ke(b+1),disabled:S,className:n(M.buttonPrimary,`activity-main-action`,r({flex:1,justifyContent:`center`,[k]:{flex:`0 0 auto`}})),children:[G&&_[G.id]?.trim()?`Lock in & next`:`Skip for now`,` `,(0,w.jsx)(oe,{size:16})]})]})]})]})}Ne.displayName=`QuizRenderer`;export{de as a,fe as i,N as n,S as o,O as r,Ne as t};
1
+ import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,_n as i,dn as a,fn as o,gn as s,hn as c,mn as l,ni as u,pn as d,wt as f,xr as p}from"./index-DCgpDQKf.js";import{Y as m,q as h,r as ee}from"./shared-renderer-hMxAoPZb.js";import{t as g}from"./createLucideIcon-C_7xXnHN.js";import{t as _}from"./circle-check-B3pGmp0Q.js";import{a as te,i as ne,r as re,t as ie}from"./FlashcardShaderField-JGgL2kgp.js";import{t as ae}from"./triangle-alert-cr9L64pJ.js";import{d as v}from"./MarkdownBlock-C89ecD-M.js";import{t as oe}from"./chevron-right-CtU0hmKY.js";import{a as se,i as ce,l as y,r as le,s as b}from"./FlashcardTimer-vPNL9_0N.js";import{t as ue}from"./Select-BYfJxqbI.js";import{t as x}from"./trending-up-CAMFqCxl.js";var S=g(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),de=g(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),fe=g(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),C=e(t(),1),w=f(),pe=new p;function me(e){let t=typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():Math.random().toString(36).slice(2);return`${e||`quiz`}-${Date.now()}-${t}`}var T=`keating:quiz-bookmarks`;function he(){try{let e=localStorage.getItem(T);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function ge(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}function _e(e,t){if(t)return s(t,e);try{return s(localStorage.getItem(o),e)}catch{return s(void 0,e)}}function ve(e){try{localStorage.setItem(o,e)}catch{}}function ye(e){let t=Math.max(0,Math.round(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function be(e){let t=Math.max(0,Math.ceil(e));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function E(e){return e.toLowerCase().replace(/[^a-z0-9 ]/g,``).split(/\s+/).filter(Boolean)}function xe(e,t){if(e.length<t)return[];let n=[];for(let r=0;r<=e.length-t;r++)n.push(e.slice(r,r+t).join(` `));return n}function D(e,t,n){let r=xe(t,n);if(r.length===0)return 0;let i=new Set(xe(e,n));return r.filter(e=>i.has(e)).length/r.length}function Se(e,t){let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array.from({length:r+1},(e,t)=>t),a=Array(r+1);for(let o=1;o<=n;o++){a[0]=o;let n=e[o-1];for(let e=1;e<=r;e++)a[e]=n===t[e-1]?i[e-1]:1+Math.min(i[e-1],a[e-1],i[e]);for(let e=0;e<=r;e++)i[e]=a[e]}return i[r]}function O(e,t){if(!t.trim())return 0;if(e.type===`slider`){let n=parseFloat(t),r=parseFloat(e.correctAnswer);if(Number.isNaN(n)||Number.isNaN(r))return 0;let i=(e.max??100)-(e.min??0),a=Math.max((e.step??1)/2,i*.05),o=Math.abs(n-r);return o<=a?1:Math.max(0,1-o/(i||1))}if(e.type===`multi_select`&&e.correctAnswers){let n=t.split(`,`).map(e=>e.trim()).filter(Boolean),r=new Set(e.correctAnswers),i=0,a=0;for(let e of n)r.has(e)?i++:a++;let o=i/r.size-a/(e.options?.length||1);return Math.max(0,o)}if(e.type===`fill_in`&&e.blanks&&e.blanks.length>0){let n=t.split(`|`).map(e=>e.trim()),r=e.correctAnswers??[e.correctAnswer],i=0;for(let e=0;e<Math.min(n.length,r.length);e++)n[e].toLowerCase()===r[e].trim().toLowerCase()&&i++;return i/r.length}if(e.type===`true_false`||e.type===`multiple_choice`||e.type===`dropdown`)return+(t.trim().toLowerCase()===e.correctAnswer.trim().toLowerCase());let n=t.trim().toLowerCase(),r=e.correctAnswer.trim().toLowerCase();if(n===r)return 1;let i=Se(n,r),a=Math.max(n.length,r.length),o=Math.max(0,1-i/(a||1)),s=E(n),c=E(r),l=new Set(s),u=c.filter(e=>l.has(e)).length,d=c.length?u/c.length:0,f=D(s,c,2);return Math.max(o,d*.9,f)}var Ce=.6,k=`@media (min-width: 640px)`,A=`.dark &`,j={stack1:r({display:`grid`,gap:`0.25rem`}),stack2:r({display:`grid`,gap:`0.5rem`}),stack3:r({display:`grid`,gap:`0.75rem`}),rowCenter2:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),rowStart2:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`}),rowStart3:r({display:`flex`,alignItems:`flex-start`,gap:`0.75rem`}),minFlex:r({minWidth:0,flex:1}),mutedText:r({color:`var(--muted-foreground)`}),breakWords:r({overflowWrap:`break-word`})},M={optionBase:r({position:`relative`,display:`flex`,minHeight:`2.75rem`,width:`100%`,alignItems:`center`,gap:`0.75rem`,border:0,borderBottom:`1px solid var(--border)`,borderRadius:`0.25rem`,background:`transparent`,padding:`0.625rem 0.75rem`,fontSize:`0.875rem`,textAlign:`left`,cursor:`pointer`,transition:`background-color 150ms, color 150ms, transform 120ms`,_hover:{background:`color-mix(in srgb, var(--accent) 72%, transparent)`},_active:{transform:`translateY(1px)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`}}),optionCorrect:r({background:`color-mix(in srgb, var(--accent-green) 13%, transparent)`,color:`#047857`,[A]:{color:`#6ee7b7`}}),optionWrong:r({background:`color-mix(in srgb, var(--destructive) 10%, transparent)`,color:`var(--destructive)`}),optionSelected:r({background:`color-mix(in srgb, var(--arena-accent, var(--primary)) 14%, transparent)`,color:`color-mix(in srgb, var(--arena-accent, var(--primary)) 70%, var(--foreground))`}),optionNeutral:r({}),disabled:r({cursor:`not-allowed`,opacity:.7}),checkboxBase:r({display:`flex`,height:`1rem`,width:`1rem`,flexShrink:0,alignItems:`center`,justifyContent:`center`,borderRadius:`0.25rem`,borderWidth:`2px`}),checkboxSelected:r({borderColor:`var(--primary)`,background:`var(--primary)`,color:`var(--primary-foreground)`}),checkboxNeutral:r({borderColor:`var(--border)`}),iconButton:r({display:`inline-flex`,height:`2.75rem`,width:`2.75rem`,alignItems:`center`,justifyContent:`center`,borderRadius:`0.25rem`,color:`var(--muted-foreground)`,transition:`color 150ms, background-color 150ms`,_hover:{background:`var(--accent)`,color:`var(--accent-foreground)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`}}),card:r({display:`grid`,gap:`1rem`}),section:r({display:`grid`,gap:`0.75rem`,borderTop:`1px solid var(--border)`,paddingTop:`1.25rem`}),sectionTitle:r({display:`flex`,alignItems:`center`,gap:`0.5rem`,fontSize:`0.75rem`,fontWeight:600,letterSpacing:`0.04em`,textTransform:`uppercase`,color:`var(--muted-foreground)`}),fieldBase:r({width:`100%`,borderRadius:`0.375rem`,border:`1px solid`,background:`var(--background)`,padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,outline:`none`,_focus:{borderColor:`var(--primary)`},"&::placeholder":{color:`var(--muted-foreground)`}}),inputNeutral:r({borderColor:`var(--border)`}),inputCorrect:r({borderColor:`rgba(16, 185, 129, 0.6)`,background:`rgba(16, 185, 129, 0.05)`}),inputWrong:r({borderColor:`color-mix(in srgb, var(--destructive) 60%, transparent)`,background:`color-mix(in srgb, var(--destructive) 5%, transparent)`}),buttonSecondary:r({display:`inline-flex`,minHeight:`2.75rem`,alignItems:`center`,gap:`0.25rem`,borderRadius:`0.5rem`,borderWidth:`1px`,borderColor:`var(--border)`,background:`var(--background)`,padding:`0.5rem 0.75rem`,fontSize:`0.875rem`,fontWeight:500,transition:`background-color 150ms`,_hover:{background:`var(--accent)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`},_disabled:{opacity:.4,pointerEvents:`none`}}),buttonPrimary:r({display:`inline-flex`,minHeight:`2.75rem`,alignItems:`center`,gap:`0.25rem`,borderRadius:`0.5rem`,borderWidth:`1px`,borderColor:`var(--primary)`,background:`var(--primary)`,padding:`0.5rem 1rem`,fontSize:`0.875rem`,fontWeight:500,color:`var(--primary-foreground)`,transition:`background-color 150ms`,_hover:{background:`color-mix(in srgb, var(--primary) 90%, transparent)`},_focusVisible:{outline:`3px solid var(--accent-green, var(--ring))`,outlineOffset:`2px`},_disabled:{opacity:.4,pointerEvents:`none`}}),shell:r({position:`relative`,isolation:`isolate`,display:`grid`,gap:`1rem`,marginBlock:`0.5rem`,paddingBlock:`0.75rem`,color:`var(--foreground)`,[k]:{marginBlock:`0.75rem`,gap:`1.25rem`,paddingBlock:`1rem`}}),effectHeader:r({position:`relative`,display:`grid`,minHeight:`7.25rem`,alignContent:`space-between`,gap:`0.875rem`,overflow:`hidden`,borderRadius:`0.625rem`,background:`var(--crt)`,padding:{base:`0.875rem`,sm:`1rem 1.125rem`},color:`var(--phosphor)`}),effectHeaderContent:r({position:`relative`,zIndex:1,display:`flex`,flexWrap:`wrap`,alignItems:`flex-start`,justifyContent:`space-between`,gap:`0.75rem`}),topic:r({minWidth:0,maxWidth:`62ch`,overflowWrap:`anywhere`,fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:`1rem`,fontWeight:700,lineHeight:1.35}),headerMeta:r({display:`flex`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`flex-end`,gap:`0.5rem`,fontFamily:`var(--mono-body, var(--font-mono))`,fontSize:`0.6875rem`,fontVariantNumeric:`tabular-nums`,color:`var(--phosphor-dim)`}),headerInstruments:r({display:`grid`,justifyItems:`end`,gap:`0.375rem`}),timer:r({"--timer-color":`var(--arena-accent, var(--phosphor))`,display:`grid`,minWidth:{base:`7.25rem`,sm:`8.75rem`},justifyItems:`end`,gap:`0.25rem`,color:`var(--timer-color)`,"&[data-urgency=warning]":{"--timer-color":`var(--amber, #e8a33d)`},"&[data-urgency=critical]":{"--timer-color":`var(--red, #d95f4f)`}}),timerDigits:r({display:`inline-flex`,alignItems:`center`,gap:`0.4rem`,fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:{base:`1.75rem`,sm:`2.125rem`},fontWeight:700,fontVariantNumeric:`tabular-nums`,fontFeatureSettings:`"tnum" 1`,letterSpacing:`-0.03em`,lineHeight:1,textShadow:`0 0 16px color-mix(in srgb, var(--timer-color) 55%, transparent)`}),timerTrack:r({width:`100%`,height:`0.3125rem`,overflow:`hidden`,borderRadius:`9999px`,background:`color-mix(in srgb, var(--timer-color) 19%, transparent)`}),timerFill:r({height:`100%`,borderRadius:`inherit`,background:`var(--timer-color)`,boxShadow:`0 0 10px color-mix(in srgb, var(--timer-color) 72%, transparent)`,transformOrigin:`left center`,transition:`transform 900ms linear, background-color 150ms`}),effectSelectLabel:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),effectSelect:r({maxWidth:`7.25rem`,border:0,borderBottom:`1px solid color-mix(in srgb, var(--phosphor) 52%, transparent)`,borderRadius:0,background:`transparent`,padding:`0.125rem 1.15rem 0.125rem 0.125rem`,font:`inherit`,color:`var(--phosphor)`,outline:`none`,_focusVisible:{outline:`2px solid var(--phosphor)`,outlineOffset:`2px`},"& option":{background:`var(--crt)`,color:`var(--phosphor)`}}),progressRow:r({position:`relative`,zIndex:1,display:`flex`,alignItems:`center`,gap:`0.625rem`}),progressTrack:r({height:`0.375rem`,flex:1,overflow:`hidden`,borderRadius:`9999px`,background:`color-mix(in srgb, var(--phosphor) 18%, transparent)`}),progressFill:r({height:`100%`,borderRadius:`inherit`,background:`var(--arena-accent, var(--phosphor))`,boxShadow:`0 0 12px color-mix(in srgb, var(--arena-accent, var(--phosphor)) 65%, transparent)`,transformOrigin:`left center`,transition:`transform 240ms cubic-bezier(0.22, 1, 0.36, 1)`}),questionStage:r({position:`relative`,minWidth:0,paddingInline:{base:`0.125rem`,sm:`0.5rem`}}),nav:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`0.5rem`,paddingInline:{base:`0.125rem`,sm:`0.5rem`}}),resultIntro:r({display:`grid`,gap:`0.25rem`}),resultSignal:r({fontFamily:`var(--mono-display, var(--font-mono))`,fontSize:`1.25rem`,fontWeight:700}),resultMeta:r({display:`flex`,flexWrap:`wrap`,gap:`0.5rem 0.875rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),empty:r({display:`grid`,minHeight:`8rem`,placeItems:`center`,borderBlock:`1px solid var(--border)`,padding:`1rem`,textAlign:`center`,color:`var(--muted-foreground)`}),visuallyHidden:r({position:`absolute`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0 0 0 0)`,whiteSpace:`nowrap`})};function N(e){return e.type===`short_answer`||e.type===`transfer`||e.type===`fill_in`&&!(e.blanks&&e.blanks.length>0)}function we(e,t){if(e.type===`multi_select`&&e.correctAnswers){let n=new Set(t.split(`,`).map(e=>e.trim()).filter(Boolean));return e.correctAnswers.length===n.size&&e.correctAnswers.every(e=>n.has(e))}if(e.type===`fill_in`&&e.blanks&&e.blanks.length>0){let n=t.split(`|`).map(e=>e.trim()),r=e.correctAnswers??[e.correctAnswer];return n.length===r.length?n.every((e,t)=>e.toLowerCase()===r[t].trim().toLowerCase()):!1}return N(e)?O(e,t)>=Ce:t.trim().toLowerCase()===e.correctAnswer.trim().toLowerCase()}function P({label:e,index:t,selected:n,onClick:r,disabled:i,status:a,checkbox:o}){return(0,w.jsx)(le,{label:e,index:t,selected:n,onClick:r,disabled:i,status:a,multiple:o})}function F({modes:e,active:t,onChange:n}){return e.length===0?null:(0,w.jsxs)(`label`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.375rem`,fontSize:`0.6875rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(`span`,{children:`View`}),(0,w.jsxs)(ue,{"aria-label":`Question wording`,value:t??``,onValueChange:e=>n(e||null),className:r({border:0,borderBottom:`1px solid var(--border)`,borderRadius:0,background:`transparent`,padding:`0.2rem 1.25rem 0.2rem 0.125rem`,fontSize:`0.6875rem`,color:`var(--foreground)`,_focusVisible:{outline:`2px solid var(--ring)`,outlineOffset:`2px`}}),children:[(0,w.jsx)(`option`,{value:``,children:`Default`}),e.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]})]})}function Te(e){return e===`solar`||e===`contour`?`var(--amber, #e8a33d)`:e===`prism`?`var(--red, #d95f4f)`:e===`current`||e===`orbit`?`#67d7e8`:e===`still`?`var(--phosphor-dim, #9bd8ad)`:`var(--phosphor, #4be388)`}function Ee(e){return e===`still`?`quiz-question-enter`:`quiz-question-enter-${e}`}function De(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)/4294967295*131}function Oe(e){return e.type!==`short_answer`&&e.type!==`transfer`&&e.type!==`fill_in`}function ke({correct:e}){return(0,w.jsxs)(`span`,{className:n(r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,border:`1px solid`,padding:`0.125rem 0.5rem`,fontSize:`0.6875rem`,fontWeight:500}),r(e?{borderColor:`rgba(16, 185, 129, 0.5)`,background:`rgba(16, 185, 129, 0.1)`,color:`#047857`,[A]:{color:`#6ee7b7`}}:{borderColor:`color-mix(in srgb, var(--destructive) 50%, transparent)`,background:`color-mix(in srgb, var(--destructive) 10%, transparent)`,color:`var(--destructive)`})),children:[e?(0,w.jsx)(_,{size:12}):(0,w.jsx)(S,{size:12}),e?`Correct`:`Incorrect`]})}function I({question:e,blanks:t,answer:i,onChange:a,revealed:o,correctAnswers:s}){let c=(0,C.useMemo)(()=>i.split(`|`).map(e=>e.trim()),[i]),l=(0,C.useMemo)(()=>ee(e),[e]),u=(0,C.useRef)([]),d=(e,t)=>{let n=[...c];n[e]=t,a(n.join(`|`))},f=0;return(0,w.jsx)(`div`,{className:r({minWidth:0}),children:(0,w.jsx)(`div`,{className:r({fontSize:`0.875rem`,fontWeight:500,lineHeight:`1.75rem`,overflowWrap:`break-word`}),children:l.map((e,i)=>{if(!e.isBlank)return(0,w.jsx)(`span`,{className:r({whiteSpace:`pre-wrap`,overflowWrap:`break-word`}),children:e.text},i);let a=f++,l=t[a],p=o&&c[a]?.trim().toLowerCase()===s[a]?.trim().toLowerCase(),m=o&&c[a]?.trim()&&!p;return(0,w.jsxs)(`span`,{className:r({display:`inline-flex`,maxWidth:`100%`,alignItems:`baseline`,gap:`0.25rem`,marginInline:`0.25rem`,verticalAlign:`baseline`}),children:[(0,w.jsx)(`input`,{ref:e=>{u.current[a]=e},type:`text`,disabled:o,"aria-label":l?.hint?`${l.hint} blank`:`Blank ${a+1}`,title:l?.hint,className:n(M.fieldBase,`activity-field`,r({display:`inline-block`,height:`1.75rem`,width:`7rem`,paddingInline:`0.5rem`,textAlign:`center`,[k]:{width:`10rem`},"&::placeholder":{color:`color-mix(in srgb, var(--muted-foreground) 50%, transparent)`}}),p?M.inputCorrect:m?M.inputWrong:M.inputNeutral),placeholder:l?.placeholder??`___`,value:c[a]??``,onChange:e=>d(a,e.target.value),onKeyDown:e=>{if(e.key===`Enter`){let e=u.current[a+1];e&&e.focus()}}}),o&&(0,w.jsx)(`span`,{className:r({fontSize:`0.625rem`,color:p?`#059669`:`var(--destructive)`}),children:p?`✓`:`✗ ${s[a]??``}`})]},i)})})})}function Ae({q:e,index:t,answer:i,onChange:a,revealed:o,timeMs:s,timedOut:c=!1,bookmarked:u,onToggleBookmark:f,onSpeak:p,reframeMode:h,onReframe:ee}){let g=O(e,i),_=we(e,i),te=o&&i.trim()&&!_,re=g>=1,ie=e.type===`fill_in`&&!!e.blanks?.length,v=(0,C.useMemo)(()=>h&&e.reframes?.[h]?e.reframes[h]:e.question,[e,h]),oe=(0,C.useMemo)(()=>e.reframes?Object.keys(e.reframes):[],[e.reframes]),se=(0,C.useMemo)(()=>e.type===`multi_select`?i.split(`,`).map(e=>e.trim()).filter(Boolean):[],[i,e.type]),ce=e=>{let t=new Set(se);t.has(e)?t.delete(e):t.add(e),a(Array.from(t).join(`,`))};return(0,w.jsxs)(`div`,{className:M.card,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,flexDirection:`column`,alignItems:`stretch`,gap:`0.5rem`,[k]:{flexDirection:`row`,alignItems:`flex-start`}}),children:[(0,w.jsxs)(`div`,{className:n(j.minFlex,j.stack2),children:[o?(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({fontSize:`0.6875rem`,color:`var(--muted-foreground)`})),children:[t+1,` · `,e.level]}):null,(0,w.jsxs)(`div`,{className:r({display:`flex`,flexWrap:`wrap`,alignItems:`flex-start`,gap:`0.5rem`}),children:[ie?(0,w.jsx)(`div`,{className:j.minFlex,children:(0,w.jsx)(I,{question:v,blanks:e.blanks??[],answer:i,onChange:a,revealed:o,correctAnswers:e.correctAnswers??[e.correctAnswer]})}):(0,w.jsx)(`p`,{className:`activity-prompt`,children:v}),o&&Oe(e)&&(0,w.jsx)(ke,{correct:re})]}),oe.length>0&&!o&&ee&&(0,w.jsx)(F,{modes:oe,active:h??null,onChange:t=>{ee(t),t&&!e.reframes?.[t]&&window.dispatchEvent(new CustomEvent(`keating:quiz-reframe-requested`,{detail:{questionId:e.id,mode:t,topic:e.question}}))}})]}),(0,w.jsxs)(`div`,{className:r({display:`flex`,flexShrink:0,alignItems:`center`,justifyContent:`flex-end`,gap:`0.25rem`}),children:[(0,w.jsx)(`button`,{type:`button`,onClick:p,className:M.iconButton,"aria-label":`Read question aloud`,title:`Read aloud`,children:(0,w.jsx)(b,{size:14})}),(0,w.jsx)(`button`,{type:`button`,onClick:f,className:n(M.iconButton,u&&r({color:`#f59e0b`,_hover:{color:`#f59e0b`}})),"aria-label":u?`Remove bookmark`:`Bookmark question`,title:u?`Bookmarked`:`Bookmark for review`,children:(0,w.jsx)(ne,{size:14,fill:u?`currentColor`:`none`})}),o&&c?(0,w.jsx)(`span`,{className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:`Timed out`}):null,o&&l({timeMs:s,timeLimitSeconds:e.timeLimit,answered:!!i.trim(),timedOut:c})?(0,w.jsx)(`span`,{title:`Answered within the first quarter of the time budget. Timing does not indicate correctness.`,className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:`Quick answer`}):null,o&&typeof s==`number`&&(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,fontSize:`0.625rem`,color:`var(--muted-foreground)`})),children:[(0,w.jsx)(m,{size:11,"aria-hidden":`true`}),(0,w.jsx)(`span`,{"aria-label":`Time on question: ${s} milliseconds`,children:d(s)})]})]})]}),e.type===`multiple_choice`&&e.options&&(0,w.jsx)(`div`,{className:`activity-answer-grid`,children:e.options.map((t,n)=>{let r=i===t,s;return o&&(t===e.correctAnswer?s=`correct`:r&&(s=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>a(t),disabled:o,status:s},t)})}),e.type===`multi_select`&&e.options&&(0,w.jsx)(`div`,{className:`activity-answer-grid`,children:e.options.map((t,n)=>{let r=se.includes(t),i;return o&&(e.correctAnswers?.includes(t)??!1?i=`correct`:r&&(i=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>ce(t),disabled:o,status:i,checkbox:!0},t)})}),(e.type===`short_answer`||e.type===`fill_in`||e.type===`transfer`)&&!ie&&(0,w.jsxs)(`div`,{className:j.stack2,children:[(0,w.jsx)(`textarea`,{className:n(M.fieldBase,`activity-field`,r({minHeight:`80px`,resize:`none`}),o&&e.type===`fill_in`?te?M.inputWrong:_?M.inputCorrect:M.inputNeutral:M.inputNeutral),"aria-label":`Your answer`,placeholder:e.type===`fill_in`?`Fill in the blank...`:`Type your answer...`,value:i,onChange:e=>a(e.target.value),disabled:o}),o&&!(e.type===`fill_in`&&e.blanks&&e.blanks.length>0)&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),N(e)&&(0,w.jsxs)(`p`,{className:r({fontSize:`0.625rem`}),children:[`Teacher review pending`,g>0?` · ${g>=.6?`close match`:`partial match`}`:``,`.`]}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation}),e.rubric&&(0,w.jsx)(`p`,{className:r({fontSize:`0.625rem`}),children:e.rubric})]})]})]}),e.type===`true_false`&&(0,w.jsx)(`div`,{className:r({display:`flex`,gap:`0.75rem`}),children:[`True`,`False`].map((t,n)=>{let r=i===t,s;return o&&(t===e.correctAnswer?s=`correct`:r&&(s=`wrong`)),(0,w.jsx)(P,{label:t,index:n,selected:r,onClick:()=>a(t),disabled:o,status:s},t)})}),e.type===`slider`&&(0,w.jsxs)(`div`,{className:j.stack3,children:[(0,w.jsxs)(`div`,{className:j.rowCenter2,children:[(0,w.jsx)(`span`,{className:n(`font-terminal`,r({fontSize:`0.75rem`,color:`var(--muted-foreground)`})),children:e.min??0}),(0,w.jsx)(`input`,{type:`range`,"aria-label":v,min:e.min??0,max:e.max??100,step:e.step??1,value:i?parseFloat(i):e.min??0,onChange:e=>a(e.target.value),disabled:o,className:r({flex:1,accentColor:`var(--primary)`})}),(0,w.jsx)(`span`,{className:n(`font-terminal`,r({fontSize:`0.75rem`,color:`var(--muted-foreground)`})),children:e.max??100})]}),(0,w.jsx)(`div`,{className:r({textAlign:`center`,fontSize:`0.875rem`,fontWeight:500}),children:i||(e.min??0).toString()}),o&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation})]})]})]}),e.type===`dropdown`&&e.options&&(0,w.jsxs)(`div`,{className:j.stack2,children:[(0,w.jsxs)(ue,{"aria-label":v,value:i,onValueChange:e=>a(e),disabled:o,className:n(M.fieldBase,`activity-field`,o?_?M.inputCorrect:M.inputWrong:M.inputNeutral),children:[(0,w.jsx)(`option`,{value:``,disabled:!0,children:`Select an answer...`}),e.options.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]}),o&&(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`flex-start`,gap:`0.5rem`,borderTop:`1px solid var(--border)`,paddingTop:`0.625rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[(0,w.jsx)(y,{size:14,className:r({marginTop:`0.125rem`,flexShrink:0,color:`var(--accent)`})}),(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsx)(`p`,{children:(0,w.jsx)(`span`,{className:r({fontWeight:600,color:`var(--foreground)`}),children:e.correctAnswer})}),e.explanation&&(0,w.jsx)(`p`,{children:e.explanation})]})]})]}),o&&g<1&&g>0&&(0,w.jsxs)(`div`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,background:`rgba(245, 158, 11, 0.1)`,padding:`0.25rem 0.625rem`,fontSize:`0.6875rem`,fontWeight:500,color:`#d97706`,[A]:{color:`#f59e0b`}}),children:[(0,w.jsx)(ae,{size:12}),`Partial credit: `,Math.round(g*100),`%`]})]})}function je({quiz:e,answers:t,onRequestRemediation:n}){let i=[`recall`,`comprehension`,`application`,`analysis`,`transfer`],a=(0,C.useMemo)(()=>{let n={};for(let r of i){let i=e.questions.filter(e=>e.level===r&&!e.fallbackFor);if(i.length===0)continue;let a=0;for(let e of i)we(e,t[e.id]||``)||a++;n[r]={total:i.length,missed:a}}return n},[e,t]),[o,s]=(0,C.useState)(new Set);return Object.values(a).some(e=>e.missed>0)?(0,w.jsxs)(`div`,{className:M.section,children:[(0,w.jsxs)(`div`,{className:M.sectionTitle,children:[(0,w.jsx)(de,{size:14,className:r({color:`var(--primary)`})}),(0,w.jsx)(`span`,{children:`Review these`})]}),(0,w.jsx)(`div`,{className:r({display:`grid`,gap:`0.875rem`}),children:i.map(e=>{let t=a[e];if(!t||t.missed===0)return null;let i=t.total>0?t.missed/t.total:0;return(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`0.75rem`}),children:[(0,w.jsx)(`span`,{className:r({textTransform:`capitalize`,fontWeight:500}),children:e}),(0,w.jsxs)(`span`,{className:j.mutedText,children:[t.missed,`/`,t.total,` missed`]})]}),(0,w.jsxs)(`div`,{className:j.rowCenter2,children:[(0,w.jsx)(`div`,{className:r({height:`0.5rem`,flex:1,overflow:`hidden`,borderRadius:`9999px`,background:`var(--muted)`}),children:(0,w.jsx)(`div`,{className:r({height:`100%`,borderRadius:`9999px`,background:`var(--destructive)`}),style:{width:`${i*100}%`}})}),(0,w.jsx)(`button`,{type:`button`,disabled:o.has(e),onClick:()=>{n?.(e),s(t=>new Set(t).add(e))},className:r({flexShrink:0,fontSize:`0.625rem`,fontWeight:500,color:`var(--primary)`,_hover:{textDecoration:`underline`},_disabled:{color:`var(--muted-foreground)`,textDecoration:`none`}}),children:o.has(e)?`Requested ✓`:`Review`})]})]},e)})})]}):null}function Me({score:e,partialCreditPoints:t,total:i,stats:a}){if(!a||a.count<5||i<=0)return null;let o=e/i*100,s=a.avgScore/i*100,c=a.topQuartile/i*100,l=Math.max(o,s,c,1);return(0,w.jsxs)(`div`,{className:M.section,children:[(0,w.jsxs)(`div`,{className:M.sectionTitle,children:[(0,w.jsx)(x,{size:14,className:r({color:`var(--primary)`})}),(0,w.jsxs)(`span`,{children:[`vs `,a.count,` past sessions`]})]}),(0,w.jsx)(`div`,{className:j.stack2,children:[{label:`Your score`,value:o,color:`var(--primary)`},{label:`Session avg`,value:s,color:`var(--muted-foreground)`},{label:`Top quartile`,value:c,color:`#10b981`}].map(e=>(0,w.jsxs)(`div`,{className:j.stack1,children:[(0,w.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`0.75rem`}),children:[(0,w.jsx)(`span`,{className:j.mutedText,children:e.label}),(0,w.jsxs)(`span`,{className:n(`font-terminal`,r({fontVariantNumeric:`tabular-nums`})),children:[Math.round(e.value),`%`]})]}),(0,w.jsx)(`div`,{className:r({height:`0.5rem`,overflow:`hidden`,borderRadius:`9999px`,background:`var(--muted)`}),children:(0,w.jsx)(`div`,{className:r({height:`100%`,borderRadius:`9999px`,background:e.color,transition:`all 150ms`}),style:{width:`${e.value/l*100}%`}})})]},e.label))}),typeof t==`number`&&a.avgPartialCreditPoints>0&&(0,w.jsxs)(`div`,{className:r({fontSize:`0.75rem`,color:`var(--muted-foreground)`}),children:[`Average partial credit `,a.avgPartialCreditPoints.toFixed(2),`/`,i]})]})}function Ne({quiz:e,onSubmit:t,topicStats:o,defaultShaderPreset:l}){let f=u(),p=(0,C.useMemo)(()=>i(e.questions),[e.questions]),ee=(0,C.useMemo)(()=>({...e,questions:p}),[p,e]),g=`${e.slug??e.topic}:${p.map(e=>e.id).join(`|`)}`,[_,ne]=(0,C.useState)({}),[y,le]=(0,C.useState)(!1),[b,x]=(0,C.useState)(0),[S,de]=(0,C.useTransition)(),[fe,T]=(0,C.useState)(0),[E,xe]=(0,C.useState)(()=>he()),[D,Se]=(0,C.useState)(new Set),[Ce,A]=(0,C.useState)({}),[j,P]=(0,C.useState)(o),[F,Oe]=(0,C.useState)(()=>_e(g,l)),ke=(0,C.useRef)(me(e.slug??e.topic)),I=(0,C.useRef)(!1),Ne=(0,C.useRef)(g),L=(0,C.useRef)(Date.now()),Pe=(0,C.useRef)(L.current),Fe=(0,C.useRef)({}),R=(0,C.useRef)(null),z=(0,C.useRef)(new Set),[Ie,Le]=(0,C.useState)(new Set),B=(0,C.useRef)(void 0),V=(0,C.useMemo)(()=>p.filter(e=>!D.has(e.id)),[p,D]),H=V.length,U=(0,C.useMemo)(()=>V.filter(e=>!N(e)),[V]),Re=H-U.length,W=U.length,G=V[b],K=G?.timeLimit,[ze,Be]=(0,C.useState)({questionId:G?.id,remaining:K}),q=ze.questionId===G?.id?ze.remaining:K,Ve=(0,C.useCallback)((e=Date.now())=>{let t=V[b]?.id;if(!t)return;let n=B.current,r=n?.questionId===t?Math.min(e,n.at):e;Fe.current[t]=(Fe.current[t]??0)+Math.max(0,r-Pe.current),Pe.current=e},[b,V]),J=(0,C.useCallback)(e=>{let t=B.current;!t||t.questionId!==G?.id||e<t.at||z.current.has(t.questionId)||(z.current.add(t.questionId),Le(new Set(z.current)))},[G?.id]),Y=(0,C.useMemo)(()=>{let e={};for(let t of U)e[t.id]=O(t,_[t.id]||``);return e},[_,U]),X=(0,C.useMemo)(()=>{let e=0;for(let t of U)we(t,_[t.id]||``)&&e++;return e},[_,U]),Z=(0,C.useMemo)(()=>U.reduce((e,t)=>e+(Y[t.id]??0),0),[Y,U]),He=W>0?Math.round(X/W*100):0,Q=V.filter(e=>(_[e.id]||``).trim().length>0).length,Ue=H>0&&Q===H,We=(0,C.useCallback)(()=>{if(I.current||H===0)return;I.current=!0;let n=Date.now();J(n);let r=B.current,i=r?.questionId===G?.id?Math.min(n,r.at):n;Ve(i);let a={totalMs:Math.max(0,i-L.current),perQuestionMs:{...Fe.current}};R.current=a,T(a.totalMs),le(!0),f.capture(`quiz_completed`,{question_count:p.length,score:X,partial_credit_points:Z,duration_ms:a.totalMs}),t?.({resultId:ke.current,answers:_,score:X,partialCreditPoints:Z,timing:a,partialCredits:Y,flagged:E,timedOutQuestionIds:[...z.current]}),pe.saveQuizResult(X,Z,W,e.slug,{resultId:ke.current,answers:_,partialCredits:Y,timing:a,flaggedQuestionIds:E,timedOutQuestionIds:[...z.current],pendingGradeQuestionIds:p.filter(N).map(e=>e.id)}).catch(()=>{}),window.speechSynthesis?.cancel()},[Ve,_,E,G?.id,t,Z,Y,f,p,e.slug,X,J,W,H]),Ge=(0,C.useCallback)(()=>{ne({}),ke.current=me(e.slug??e.topic),le(!1),x(0),T(0),Se(new Set),A({}),Be({questionId:p[0]?.id,remaining:p[0]?.timeLimit}),L.current=Date.now(),Pe.current=L.current,z.current=new Set,B.current=void 0,Le(new Set),Fe.current={},R.current=null,I.current=!1,window.speechSynthesis?.cancel()},[p,e.slug,e.topic]);(0,C.useEffect)(()=>{Ne.current!==g&&(Ne.current=g,Ge(),Oe(_e(g,l)))},[l,g,Ge]),(0,C.useEffect)(()=>{l&&Oe(s(l,g))},[l,g]),(0,C.useEffect)(()=>{f.capture(`quiz_started`,{question_count:p.length,has_stable_slug:!!e.slug})},[f,p.length,e.slug,g]),(0,C.useEffect)(()=>{y||(B.current=G&&typeof K==`number`&&Number.isFinite(K)?{questionId:G.id,at:Pe.current+Math.max(0,K)*1e3}:void 0,Be({questionId:G?.id,remaining:K}))},[G?.id,y,K]),(0,C.useEffect)(()=>{if(y||typeof K!=`number`||!G)return;let e=G.id,t=window.setInterval(()=>{if(I.current||B.current?.questionId!==e)return;let n=Math.max(0,Math.ceil((B.current.at-Date.now())/1e3));Be(t=>t.questionId===e&&t.remaining===n?t:{questionId:e,remaining:n}),n===0&&window.clearInterval(t)},100);return()=>window.clearInterval(t)},[G?.id,y,K]);let Ke=(0,C.useCallback)(e=>{if(e<0||e>=H)return;let t=Date.now();J(t),Ve(t),de(()=>x(e))},[Ve,J,H]);(0,C.useEffect)(()=>{if(y||ze.questionId!==G?.id||typeof q!=`number`||q>0||H===0)return;J(Date.now());let e=window.setTimeout(()=>{b>=H-1?We():Ke(b+1)},200);return()=>window.clearTimeout(e)},[b,G,We,Ke,ze.questionId,J,y,q,H]),(0,C.useEffect)(()=>{if(o!==void 0){P(o);return}let t=!1;return pe.getTopicQuizStats(e.slug).then(e=>{t||P(e)}).catch(()=>{t||P(null)}),()=>{t=!0}},[e.slug,o]),(0,C.useEffect)(()=>{if(y||H===0)return;let e=window.setInterval(()=>{I.current||T(Math.max(0,Date.now()-L.current))},250);return()=>window.clearInterval(e)},[y,H]),(0,C.useEffect)(()=>{if(!e.adaptiveRules||!G||y)return;let t=_[G.id];if(!t?.trim()||O(G,t)<(e.adaptiveRules.find(e=>e.level===G.level)?.threshold??.5))return;let n=p.findIndex(e=>e.id===G.id),r=new Set;for(let e=n+1;e<p.length;e+=1){let t=p[e];if(t.fallbackFor===G.level)r.add(t.id);else if(!t.fallbackFor)break}r.size>0&&Se(e=>{let t=new Set(e);for(let e of r)t.add(e);return t})},[_,G,p,e.adaptiveRules,y]),(0,C.useEffect)(()=>{if(H===0){b!==0&&x(0);return}b>=H&&x(H-1)},[b,H]),(0,C.useEffect)(()=>()=>window.speechSynthesis?.cancel(),[]);let qe=(0,C.useCallback)((e,t)=>{let n=B.current;I.current||n?.questionId===e&&Date.now()>=n.at||ne(n=>({...n,[e]:t}))},[]),Je=(0,C.useCallback)(e=>{xe(t=>{let n=t.includes(e)?t.filter(t=>t!==e):[...t,e];return ge(n),n})},[]),Ye=(0,C.useCallback)(e=>{if(typeof window>`u`||!window.speechSynthesis)return;window.speechSynthesis.cancel();let t=new SpeechSynthesisUtterance(e);t.rate=.95,window.speechSynthesis.speak(t)},[]),Xe=(0,C.useCallback)(e=>{let t=s(e,g);Oe(t),ve(t)},[g]),Ze=(0,C.useCallback)(t=>{window.dispatchEvent(new CustomEvent(`keating:quiz-remediation-requested`,{detail:{level:t,topic:e.topic,slug:e.slug}}))},[e.slug,e.topic]),Qe=De(`${g}:${G?.id??`result`}`),$e=y?Math.min(1,W>0?X/W+.16:.35):Math.min(1,Q/Math.max(1,H)*.65+b/Math.max(1,H)*.25),et={"--arena-accent":Te(F)},tt=b===H-1,$=!y&&typeof q==`number`&&typeof K==`number`?{...c(q,K),remaining:q}:null,nt=(0,w.jsxs)(`header`,{className:n(M.effectHeader,`activity-quiz-header`),style:et,children:[(0,w.jsx)(ie,{preset:F,energy:$e,seed:Qe},`${F}:${G?.id??`result`}`),(0,w.jsxs)(`div`,{className:M.effectHeaderContent,children:[(0,w.jsx)(`div`,{className:M.resultIntro,children:(0,w.jsx)(`h3`,{className:n(M.topic,`activity-quiz-topic`),children:e.topic})}),(0,w.jsxs)(`div`,{className:M.headerInstruments,children:[$?(0,w.jsxs)(`div`,{role:`timer`,"aria-label":`${$.urgency===`critical`?`Critical, `:$.urgency===`warning`?`Warning, `:``}${be($.remaining)} remaining`,"aria-live":`off`,"data-urgency":$.urgency,className:n(M.timer,$.urgency===`critical`?`quiz-timer-critical`:``),children:[(0,w.jsxs)(`strong`,{className:M.timerDigits,children:[$.urgency===`steady`?(0,w.jsx)(m,{size:20,"aria-hidden":`true`}):(0,w.jsx)(ae,{size:20,"aria-hidden":`true`}),be($.remaining)]}),(0,w.jsx)(`div`,{className:M.timerTrack,"aria-hidden":`true`,children:(0,w.jsx)(`div`,{className:M.timerFill,style:{transform:`scaleX(${$.progress})`}})}),$.urgency===`critical`?(0,w.jsx)(`span`,{role:`status`,className:M.visuallyHidden,children:`Five seconds or less remaining.`}):null]}):null,(0,w.jsxs)(`div`,{className:M.headerMeta,children:[(0,w.jsxs)(`span`,{children:[(0,w.jsx)(m,{size:12,"aria-hidden":`true`}),` `,y&&R.current?d(R.current.totalMs):ye(fe)]}),D.size>0?(0,w.jsxs)(`span`,{children:[`+`,D.size,` adapted`]}):null,y?(0,w.jsx)(`strong`,{children:W>0?`${X}/${W}`:`review`}):null,(0,w.jsxs)(`details`,{className:`activity-quiz-effects`,children:[(0,w.jsx)(`summary`,{"aria-label":`Quiz appearance`,children:(0,w.jsx)(te,{size:16})}),(0,w.jsxs)(`label`,{children:[`Appearance`,(0,w.jsx)(ue,{className:M.effectSelect,"aria-label":`Quiz visual effect`,value:F,onValueChange:e=>Xe(e),children:a.map(e=>(0,w.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})]})]})]})]}),(0,w.jsx)(se,{current:b,total:H,resolved:Q,label:`Quiz progress`,complete:y})]});return p.length===0?(0,w.jsxs)(`section`,{className:n(M.shell,`activity-game activity-quiz`),"aria-label":`Quiz: ${e.topic}`,children:[nt,(0,w.jsx)(`div`,{className:M.empty,role:`status`,children:`No quiz questions yet.`})]}):(0,w.jsxs)(`section`,{className:n(M.shell,`activity-game activity-quiz`),"aria-label":`Quiz: ${e.topic}`,children:[nt,y?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:n(M.resultIntro,`quiz-result-arrive`),children:[(0,w.jsx)(ce,{detail:W>0?`${X} of ${W} correct${Re?` · ${Re} awaiting review`:``}`:`Your teacher will review your answers.`,children:W===0?`Ready for review`:X===W?`Clean sweep`:`Round complete`}),(0,w.jsxs)(`div`,{className:M.resultMeta,children:[R.current?(0,w.jsxs)(`span`,{"aria-label":`Total quiz time: ${R.current.totalMs} milliseconds`,children:[d(R.current.totalMs),` total`]}):null,Ie.size?(0,w.jsxs)(`span`,{children:[Ie.size,` timed out`]}):null,W>0?(0,w.jsxs)(`span`,{children:[He,`% objective score`]}):null,Re>0?(0,w.jsxs)(`span`,{children:[Re,` pending review`]}):null,E.length>0?(0,w.jsxs)(`span`,{children:[E.length,` flagged`]}):null,Z===X?null:(0,w.jsxs)(`span`,{children:[Z.toFixed(2),` partial points`]})]})]}),(0,w.jsxs)(`details`,{className:`activity-review`,children:[(0,w.jsx)(`summary`,{children:`Review answers & next steps`}),(0,w.jsx)(je,{quiz:ee,answers:_,onRequestRemediation:Ze}),(0,w.jsx)(Me,{score:X,partialCreditPoints:Z,total:W,stats:j}),(0,w.jsx)(`div`,{className:r({display:`grid`,gap:`1.5rem`,"& > * + *":{borderTop:`1px solid var(--border)`,paddingTop:`1.5rem`}}),children:V.map((e,t)=>(0,w.jsx)(Ae,{q:e,index:t,answer:_[e.id]||``,onChange:t=>qe(e.id,t),revealed:!0,timeMs:R.current?.perQuestionMs[e.id],timedOut:Ie.has(e.id),bookmarked:E.includes(e.id),onToggleBookmark:()=>Je(e.id),onSpeak:()=>Ye(e.question),reframeMode:Ce[e.id]??null},e.id))})]}),(0,w.jsxs)(`button`,{type:`button`,onClick:Ge,className:n(M.buttonSecondary,`activity-back-action`,r({width:`100%`,justifyContent:`center`,gap:`0.5rem`})),children:[(0,w.jsx)(v,{size:14}),` Retake`]})]}):(0,w.jsxs)(w.Fragment,{children:[G?(0,w.jsx)(`div`,{"aria-busy":S,className:n(M.questionStage,Ee(F)),style:{...et,opacity:S?.72:1},children:(0,w.jsx)(Ae,{q:G,index:b,answer:_[G.id]||``,onChange:e=>qe(G.id,e),revealed:!1,bookmarked:E.includes(G.id),onToggleBookmark:()=>Je(G.id),onSpeak:()=>Ye(G.question),reframeMode:Ce[G.id]??null,onReframe:e=>A(t=>({...t,[G.id]:e}))})},`${G.id}:${F}`):null,(0,w.jsxs)(`nav`,{className:M.nav,"aria-label":`Quiz questions`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>Ke(b-1),disabled:S||b===0,className:n(M.buttonSecondary,`activity-back-action`,r({flex:1,justifyContent:`center`,[k]:{flex:`0 0 auto`}})),children:[(0,w.jsx)(re,{size:14}),` Back`]}),tt?(0,w.jsxs)(`button`,{type:`button`,onClick:We,disabled:!Ue||I.current,title:Ue?void 0:`${H-Q} unanswered`,className:n(M.buttonPrimary,`activity-main-action`,r({flex:1,justifyContent:`center`,gap:`0.5rem`,[k]:{flex:`0 0 auto`}})),children:[(0,w.jsx)(h,{size:14}),` `,Ue?`Finish round`:`${H-Q} left`]}):(0,w.jsxs)(`button`,{type:`button`,onClick:()=>Ke(b+1),disabled:S,className:n(M.buttonPrimary,`activity-main-action`,r({flex:1,justifyContent:`center`,[k]:{flex:`0 0 auto`}})),children:[G&&_[G.id]?.trim()?`Lock in & next`:`Skip for now`,` `,(0,w.jsx)(oe,{size:16})]})]})]})]})}Ne.displayName=`QuizRenderer`;export{de as a,fe as i,N as n,S as o,O as r,Ne as t};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,P as i}from"./operation-BMdkNnIS.js";import{N as a,wt as o}from"./index-C8C76R86.js";import{t as s}from"./MarkdownBlock-KUcDESQo.js";import{a as c}from"./shared-actions-Bj56xHM3.js";import{n as l,r as u,t as d}from"./renderer-CKD_Hn-d.js";var f=e(t(),1),p=o(),m=a({minHeight:`100vh`,background:`var(--background)`,color:`var(--foreground)`,padding:`1rem`,sm:{padding:`2rem`}}),h=a({marginInline:`auto`,display:`grid`,maxWidth:`72rem`,gap:`1.5rem`}),g=a({display:`grid`,gap:`0.75rem`,border:`1px solid var(--border)`,borderRadius:`0.75rem`,background:`var(--background)`,padding:`1rem`}),_=a({minHeight:`2.75rem`,border:`1px solid var(--border)`,borderRadius:`0.5rem`,paddingInline:`0.875rem`,fontWeight:650,cursor:`pointer`,_hover:{background:`var(--muted)`}});function v(){let[e,t]=(0,f.useState)(0),[o,v]=(0,f.useState)(null),y=r,b=`rendering-source-parity-document`;return(0,p.jsx)(`main`,{className:m,children:(0,p.jsxs)(`div`,{className:h,children:[(0,p.jsxs)(`header`,{className:g,children:[(0,p.jsx)(`p`,{className:a({color:`var(--primary)`,fontSize:`0.75rem`,fontWeight:700,letterSpacing:`0.08em`,textTransform:`uppercase`}),children:`Cross-surface acceptance fixture v1`}),(0,p.jsx)(`h1`,{className:a({fontSize:`1.75rem`,fontWeight:750}),children:`Markdown, Mermaid, and OpenUI`}),(0,p.jsx)(`p`,{children:`This route is isolated from learner sessions. Controls write only the fixture's versioned action journal so reload and replay can be inspected safely.`}),(0,p.jsxs)(`div`,{className:a({display:`flex`,flexWrap:`wrap`,gap:`0.5rem`}),children:[(0,p.jsx)(`a`,{className:_,href:`/chat`,children:`Back to Tutor`}),(0,p.jsx)(`button`,{className:_,type:`button`,onClick:()=>{window.localStorage.removeItem(c(y.id)),window.localStorage.removeItem(c(b)),window.localStorage.removeItem(u(b)),v(null),t(e=>e+1)},children:`Reset fixture receipts`})]})]}),(0,p.jsxs)(`section`,{className:g,"aria-labelledby":`markdown-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`markdown-fixture-title`,className:a({fontSize:`1.125rem`,fontWeight:700}),children:`Web Markdown reference`}),(0,p.jsx)(s,{content:n})]}),(0,p.jsxs)(`section`,{"aria-labelledby":`openui-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`openui-fixture-title`,className:a({marginBottom:`0.5rem`,fontSize:`1.125rem`,fontWeight:700}),children:`Canonical OpenUI reference`}),(0,p.jsx)(d,{onAction:v,children:(0,p.jsx)(l,{document:y,metadata:{id:y.id,revision:y.revision,lifecycle:`resumable`}},`${y.id}:${e}`)})]}),(0,p.jsxs)(`section`,{"aria-labelledby":`openui-source-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`openui-source-fixture-title`,className:a({marginBottom:`0.5rem`,fontSize:`1.125rem`,fontWeight:700}),children:`Browser-source OpenUI reference`}),(0,p.jsx)(d,{onAction:v,children:(0,p.jsx)(l,{program:i,sourceComplete:!0,metadata:{id:b,revision:0,lifecycle:`workspace`}},`${b}:${e}`)})]}),(0,p.jsxs)(`section`,{className:g,"aria-live":`polite`,children:[(0,p.jsx)(`h2`,{className:a({fontSize:`1.125rem`,fontWeight:700}),children:`Last committed fixture action`}),o?.kind===`canonical`?(0,p.jsxs)(`dl`,{className:a({display:`grid`,gridTemplateColumns:`max-content minmax(0, 1fr)`,gap:`0.375rem 0.75rem`,fontSize:`0.75rem`}),children:[(0,p.jsx)(`dt`,{children:`Type`}),(0,p.jsx)(`dd`,{children:o.action.type}),(0,p.jsx)(`dt`,{children:`Key`}),(0,p.jsx)(`dd`,{className:a({overflowWrap:`anywhere`}),children:o.action.idempotencyKey}),(0,p.jsx)(`dt`,{children:`Receipt`}),(0,p.jsx)(`dd`,{children:o.receipt.state}),(0,p.jsx)(`dt`,{children:`Revision`}),(0,p.jsx)(`dd`,{children:o.receipt.result?.resultingDocument?.revision??`unchanged`})]}):(0,p.jsx)(`p`,{children:`No action committed during this mount. Reload to verify durable restoration.`})]})]})})}export{v as RenderingSmoke};
1
+ import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,P as i}from"./operation-kDIu8RLw.js";import{N as a,wt as o}from"./index-DCgpDQKf.js";import{t as s}from"./MarkdownBlock-C89ecD-M.js";import{a as c}from"./shared-actions-B9eYiZAR.js";import{n as l,r as u,t as d}from"./renderer-Cx1jCM2v.js";var f=e(t(),1),p=o(),m=a({minHeight:`100vh`,background:`var(--background)`,color:`var(--foreground)`,padding:`1rem`,sm:{padding:`2rem`}}),h=a({marginInline:`auto`,display:`grid`,maxWidth:`72rem`,gap:`1.5rem`}),g=a({display:`grid`,gap:`0.75rem`,border:`1px solid var(--border)`,borderRadius:`0.75rem`,background:`var(--background)`,padding:`1rem`}),_=a({minHeight:`2.75rem`,border:`1px solid var(--border)`,borderRadius:`0.5rem`,paddingInline:`0.875rem`,fontWeight:650,cursor:`pointer`,_hover:{background:`var(--muted)`}});function v(){let[e,t]=(0,f.useState)(0),[o,v]=(0,f.useState)(null),y=r,b=`rendering-source-parity-document`;return(0,p.jsx)(`main`,{className:m,children:(0,p.jsxs)(`div`,{className:h,children:[(0,p.jsxs)(`header`,{className:g,children:[(0,p.jsx)(`p`,{className:a({color:`var(--primary)`,fontSize:`0.75rem`,fontWeight:700,letterSpacing:`0.08em`,textTransform:`uppercase`}),children:`Cross-surface acceptance fixture v1`}),(0,p.jsx)(`h1`,{className:a({fontSize:`1.75rem`,fontWeight:750}),children:`Markdown, Mermaid, and OpenUI`}),(0,p.jsx)(`p`,{children:`This route is isolated from learner sessions. Controls write only the fixture's versioned action journal so reload and replay can be inspected safely.`}),(0,p.jsxs)(`div`,{className:a({display:`flex`,flexWrap:`wrap`,gap:`0.5rem`}),children:[(0,p.jsx)(`a`,{className:_,href:`/chat`,children:`Back to Tutor`}),(0,p.jsx)(`button`,{className:_,type:`button`,onClick:()=>{window.localStorage.removeItem(c(y.id)),window.localStorage.removeItem(c(b)),window.localStorage.removeItem(u(b)),v(null),t(e=>e+1)},children:`Reset fixture receipts`})]})]}),(0,p.jsxs)(`section`,{className:g,"aria-labelledby":`markdown-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`markdown-fixture-title`,className:a({fontSize:`1.125rem`,fontWeight:700}),children:`Web Markdown reference`}),(0,p.jsx)(s,{content:n})]}),(0,p.jsxs)(`section`,{"aria-labelledby":`openui-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`openui-fixture-title`,className:a({marginBottom:`0.5rem`,fontSize:`1.125rem`,fontWeight:700}),children:`Canonical OpenUI reference`}),(0,p.jsx)(d,{onAction:v,children:(0,p.jsx)(l,{document:y,metadata:{id:y.id,revision:y.revision,lifecycle:`resumable`}},`${y.id}:${e}`)})]}),(0,p.jsxs)(`section`,{"aria-labelledby":`openui-source-fixture-title`,children:[(0,p.jsx)(`h2`,{id:`openui-source-fixture-title`,className:a({marginBottom:`0.5rem`,fontSize:`1.125rem`,fontWeight:700}),children:`Browser-source OpenUI reference`}),(0,p.jsx)(d,{onAction:v,children:(0,p.jsx)(l,{program:i,sourceComplete:!0,metadata:{id:b,revision:0,lifecycle:`workspace`}},`${b}:${e}`)})]}),(0,p.jsxs)(`section`,{className:g,"aria-live":`polite`,children:[(0,p.jsx)(`h2`,{className:a({fontSize:`1.125rem`,fontWeight:700}),children:`Last committed fixture action`}),o?.kind===`canonical`?(0,p.jsxs)(`dl`,{className:a({display:`grid`,gridTemplateColumns:`max-content minmax(0, 1fr)`,gap:`0.375rem 0.75rem`,fontSize:`0.75rem`}),children:[(0,p.jsx)(`dt`,{children:`Type`}),(0,p.jsx)(`dd`,{children:o.action.type}),(0,p.jsx)(`dt`,{children:`Key`}),(0,p.jsx)(`dd`,{className:a({overflowWrap:`anywhere`}),children:o.action.idempotencyKey}),(0,p.jsx)(`dt`,{children:`Receipt`}),(0,p.jsx)(`dd`,{children:o.receipt.state}),(0,p.jsx)(`dt`,{children:`Revision`}),(0,p.jsx)(`dd`,{children:o.receipt.result?.resultingDocument?.revision??`unchanged`})]}):(0,p.jsx)(`p`,{children:`No action committed during this mount. Reload to verify durable restoration.`})]})]})})}export{v as RenderingSmoke};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{D as n,E as r,T as i,ri as a,wt as o}from"./index-C8C76R86.js";import{t as s}from"./createLucideIcon-C_7xXnHN.js";import{n as c,t as l}from"./Check-C4euVM-9.js";import{d as u}from"./recipes-BcSW8MlI.js";var d=s(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),f=e(t(),1),p=e(a(),1);function m(e,[t,n]){return Math.min(n,Math.max(t,e))}typeof window<`u`&&window.document&&window.document.createElement;function h(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var g=o();function _(e,t=[]){let n=[];function r(t,r){let i=f.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=f.useMemo(()=>o,Object.values(o));return(0,g.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=f.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>f.createContext(e));return function(n){let r=n?.[e]||t;return f.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,v(i,...t)]}function v(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function y(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function b(...e){return t=>{let n=!1,r=e.map(e=>{let r=y(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():y(e[t],null)}}}}function x(...e){return f.useCallback(b(...e),e)}function S(e){let t=f.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];A(r)&&typeof P==`function`&&(r=P(r._payload)),f.Children.forEach(r,e=>{if(O(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;A(n)&&typeof P==`function`&&(n=P(n._payload)),a=T(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=f.cloneElement(a,void 0,s):!o&&f.Children.count(r)===1&&f.isValidElement(r)&&(a=r);let c=a?D(a):void 0,l=x(n,c);if(!a){if(r||r===0)throw Error(o?N(e):M(e));return r}let u=E(i,a.props??{});return a.type!==f.Fragment&&(u.ref=n?l:c),f.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var C=S(`Slot`),w=Symbol.for(`radix.slottable`),T=(e,t)=>{if(`child`in e.props){let t=e.props.child;return f.isValidElement(t)?f.cloneElement(t,void 0,e.props.children(t.props.children)):null}return f.isValidElement(t)?t:null};function E(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function D(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function O(e){return f.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===w}var k=Symbol.for(`react.lazy`);function A(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===k&&`_payload`in e&&j(e._payload)}function j(e){return typeof e==`object`&&!!e&&`then`in e}var M=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,N=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,P=f.use;function F(e){let t=e+`CollectionProvider`,[n,r]=_(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=f.useRef(null),a=f.useRef(new Map).current;return(0,g.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=S(s),l=f.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,g.jsx)(c,{ref:x(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,p=S(u),m=f.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=f.useRef(null),s=x(t,o),c=a(u,n);return f.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,g.jsx)(p,{[d]:``,ref:s,children:r})});m.displayName=u;function h(t){let n=a(e+`CollectionConsumer`,t);return f.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:m},h,r]}var I=f.createContext(void 0);function L(e){let t=f.useContext(I);return e||t||`ltr`}var R=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function z(e,t){e&&p.flushSync(()=>e.dispatchEvent(t))}function B(e){let t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>((...e)=>t.current?.(...e)),[])}var V=globalThis?.document?f.useLayoutEffect:()=>{},ee=f.useEffectEvent,te=f.useInsertionEffect;function ne(e){if(typeof ee==`function`)return ee(e);let t=f.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof te==`function`?te(()=>{t.current=e}):V(()=>{t.current=e}),f.useMemo(()=>((...e)=>t.current?.(...e)),[])}var re=`DismissableLayer`,ie=`dismissableLayer.update`,ae=`dismissableLayer.pointerDownOutside`,oe=`dismissableLayer.focusOutside`,se,ce=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),le=f.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=f.useContext(ce),[d,p]=f.useState(null),m=d?.ownerDocument??globalThis?.document,[,_]=f.useState({}),v=x(t,p),y=Array.from(u.layers),[b]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),S=y.indexOf(b),C=d?y.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,T=C>=S,E=f.useRef(!1),D=fe(e=>{let t=e.target;if(!(t instanceof Node))return;let n=[...u.branches].some(e=>e.contains(t));!T||n||(a?.(e),s?.(e),e.defaultPrevented||c?.())},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:E,dismissableSurfaces:u.dismissableSurfaces}),O=pe(e=>{if(r&&E.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),k=d?C===y.length-1:!1,A=ne(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return f.useEffect(()=>{if(k)return m.addEventListener(`keydown`,A,{capture:!0}),()=>m.removeEventListener(`keydown`,A,{capture:!0})},[m,k]),f.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(se=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),me(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=se))}},[d,m,n,u]),f.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),me())},[d,u]),f.useEffect(()=>{let e=()=>_({});return document.addEventListener(ie,e),()=>document.removeEventListener(ie,e)},[]),(0,g.jsx)(R.div,{...l,ref:v,style:{pointerEvents:w?T?`auto`:`none`:void 0,...e.style},onFocusCapture:h(e.onFocusCapture,O.onFocusCapture),onBlurCapture:h(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:h(e.onPointerDownCapture,D.onPointerDownCapture)})});le.displayName=re;var ue=`DismissableLayerBranch`,de=f.forwardRef((e,t)=>{let n=f.useContext(ce),r=f.useRef(null),i=x(t,r);return f.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,g.jsx)(R.div,{...e,ref:i})});de.displayName=ue;function fe(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a}=t,o=B(e),s=f.useRef(!1),c=f.useRef(!1),l=f.useRef(new Map),u=f.useRef(()=>{});return f.useEffect(()=>{function e(){c.current=!1,i.current=!1,l.current.clear()}function t(){return Array.from(l.current.values()).some(Boolean)}function d(e){if(!c.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||l.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{c.current&&u.current()},0)}function f(e){c.current&&l.current.set(e.type,!1)}let p=a=>{if(a.target&&!s.current){let s=function(){n.removeEventListener(`click`,u.current);let r=t();e(),r||he(ae,o,d,{discrete:!0})},d={originalEvent:a};c.current=!0,i.current=r&&a.button===0,l.current.clear(),!r||a.button!==0?s():(n.removeEventListener(`click`,u.current),u.current=s,n.addEventListener(`click`,u.current,{once:!0}))}else n.removeEventListener(`click`,u.current),e();s.current=!1},m=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of m)n.addEventListener(e,d,!0),n.addEventListener(e,f);let h=window.setTimeout(()=>{n.addEventListener(`pointerdown`,p)},0);return()=>{window.clearTimeout(h),n.removeEventListener(`pointerdown`,p),n.removeEventListener(`click`,u.current);for(let e of m)n.removeEventListener(e,d,!0),n.removeEventListener(e,f)}},[n,o,r,i,a]),{onPointerDownCapture:()=>s.current=!0}}function pe(e,t=globalThis?.document){let n=B(e),r=f.useRef(!1);return f.useEffect(()=>{let e=e=>{e.target&&!r.current&&he(oe,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function me(){let e=new CustomEvent(ie);document.dispatchEvent(e)}function he(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?z(i,a):i.dispatchEvent(a)}var ge=0,_e=null;function ve(){f.useEffect(()=>{_e||={start:ye(),end:ye()};let{start:e,end:t}=_e;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),ge++,()=>{ge===1&&(_e?.start.remove(),_e?.end.remove(),_e=null),ge=Math.max(0,ge-1)}},[])}function ye(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var be=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),xe=`focusScope.autoFocusOnMount`,Se=`focusScope.autoFocusOnUnmount`,Ce={bubbles:!1,cancelable:!0},we=`FocusScope`,Te=f.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=f.useState(null),l=B(i),u=B(a),d=f.useRef(null),p=x(t,c),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Me(d.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Me(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Me(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),f.useEffect(()=>{if(s){Ne.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(xe,Ce);s.addEventListener(xe,l),s.dispatchEvent(t),t.defaultPrevented||(Ee(Ie(Oe(s)),{select:!0}),document.activeElement===e&&Me(s))}return()=>{s.removeEventListener(xe,l),setTimeout(()=>{let t=new CustomEvent(Se,Ce);s.addEventListener(Se,u),s.dispatchEvent(t),t.defaultPrevented||Me(e??document.body,{select:!0}),s.removeEventListener(Se,u),Ne.remove(m)},0)}}},[s,l,u,m]);let h=f.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=De(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Me(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Me(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,g.jsx)(be.div,{tabIndex:-1,...o,ref:p,onKeyDown:h})});Te.displayName=we;function Ee(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Me(r,{select:t}),document.activeElement!==n)return}function De(e){let t=Oe(e);return[ke(t,e),ke(t.reverse(),e)]}function Oe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ke(e,t){for(let n of e)if(!Ae(n,{upTo:t}))return n}function Ae(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function je(e){return e instanceof HTMLInputElement&&`select`in e}function Me(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&je(e)&&t&&e.select()}}var Ne=Pe();function Pe(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Fe(e,t),e.unshift(t)},remove(t){e=Fe(e,t),e[0]?.resume()}}}function Fe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ie(e){return e.filter(e=>e.tagName!==`A`)}var Le=f.useId||(()=>void 0),Re=0;function ze(e){let[t,n]=f.useState(Le());return V(()=>{e||n(e=>e??String(Re++))},[e]),e||(t?`radix-${t}`:``)}var Be=[`top`,`right`,`bottom`,`left`],Ve=Math.min,H=Math.max,He=Math.round,Ue=Math.floor,U=e=>({x:e,y:e}),We={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Ge(e,t,n){return H(e,Ve(t,n))}function W(e,t){return typeof e==`function`?e(t):e}function G(e){return e.split(`-`)[0]}function Ke(e){return e.split(`-`)[1]}function qe(e){return e===`x`?`y`:`x`}function Je(e){return e===`y`?`height`:`width`}function K(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ye(e){return qe(K(e))}function Xe(e,t,n){n===void 0&&(n=!1);let r=Ke(e),i=Ye(e),a=Je(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=at(o)),[o,at(o)]}function Ze(e){let t=at(e);return[Qe(e),t,Qe(t)]}function Qe(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var $e=[`left`,`right`],et=[`right`,`left`],tt=[`top`,`bottom`],nt=[`bottom`,`top`];function rt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?et:$e:t?$e:et;case`left`:case`right`:return t?tt:nt;default:return[]}}function it(e,t,n,r){let i=Ke(e),a=rt(G(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Qe)))),a}function at(e){let t=G(e);return We[t]+e.slice(t.length)}function ot(e){return{top:0,right:0,bottom:0,left:0,...e}}function st(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ot(e)}function ct(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function lt(e,t,n){let{reference:r,floating:i}=e,a=K(t),o=Ye(t),s=Je(o),c=G(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ke(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ut(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=W(t,e),p=st(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ct(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ct(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var dt=50,ft=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ut},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=lt(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<dt&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=lt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},pt=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=W(e,t)||{};if(l==null)return{};let d=st(u),f={x:n,y:r},p=Ye(i),m=Je(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Ve(d[_],T),D=Ve(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Ge(O,A,k),M=!c.arrow&&Ke(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),mt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=W(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=G(r),_=K(o),v=G(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[at(o)]:Ze(o)),x=p!==`none`;!d&&x&&b.push(...it(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Xe(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==K(t))||T.every(e=>K(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=K(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ht(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function gt(e){return Be.some(t=>e[t]>=0)}var _t=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=W(e,t);switch(i){case`referenceHidden`:{let e=ht(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:gt(e)}}}case`escaped`:{let e=ht(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:gt(e)}}}default:return{}}}}},vt=new Set([`left`,`top`]);async function yt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=G(n),s=Ke(n),c=K(n)===`y`,l=vt.has(o)?-1:1,u=a&&c?-1:1,d=W(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var bt=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await yt(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},xt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=W(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=K(G(i)),p=qe(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Ge(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Ge(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},St=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=W(e,t),u={x:n,y:r},d=K(i),f=qe(d),p=u[f],m=u[d],h=W(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=vt.has(G(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Ct=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=W(e,t),u=await o.detectOverflow(t,l),d=G(i),f=Ke(i),p=K(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Ve(h-u[g],v),x=Ve(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=H(u.left,0),t=H(u.right,0),n=H(u.top,0),r=H(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:H(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:H(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function wt(){return typeof window<`u`}function Tt(e){return Et(e)?(e.nodeName||``).toLowerCase():`#document`}function q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function J(e){return((Et(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Et(e){return wt()?e instanceof Node||e instanceof q(e).Node:!1}function Y(e){return wt()?e instanceof Element||e instanceof q(e).Element:!1}function X(e){return wt()?e instanceof HTMLElement||e instanceof q(e).HTMLElement:!1}function Dt(e){return!wt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof q(e).ShadowRoot}function Ot(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function kt(e){return/^(table|td|th)$/.test(Tt(e))}function At(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var jt=/transform|translate|scale|rotate|perspective|filter/,Mt=/paint|layout|strict|content/,Nt=e=>!!e&&e!==`none`,Pt;function Ft(e){let t=Y(e)?Z(e):e;return Nt(t.transform)||Nt(t.translate)||Nt(t.scale)||Nt(t.rotate)||Nt(t.perspective)||!Lt()&&(Nt(t.backdropFilter)||Nt(t.filter))||jt.test(t.willChange||``)||Mt.test(t.contain||``)}function It(e){let t=Bt(e);for(;X(t)&&!Rt(t);){if(Ft(t))return t;if(At(t))return null;t=Bt(t)}return null}function Lt(){return Pt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Pt}function Rt(e){return/^(html|body|#document)$/.test(Tt(e))}function Z(e){return q(e).getComputedStyle(e)}function zt(e){return Y(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bt(e){if(Tt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Dt(e)&&e.host||J(e);return Dt(t)?t.host:t}function Vt(e){let t=Bt(e);return Rt(t)?e.ownerDocument?e.ownerDocument.body:e.body:X(t)&&Ot(t)?t:Vt(t)}function Ht(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Vt(e),i=r===e.ownerDocument?.body,a=q(r);if(i){let e=Ut(a);return t.concat(a,a.visualViewport||[],Ot(r)?r:[],e&&n?Ht(e):[])}else return t.concat(r,Ht(r,[],n))}function Ut(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Wt(e){let t=Z(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=X(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=He(n)!==a||He(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Gt(e){return Y(e)?e:e.contextElement}function Kt(e){let t=Gt(e);if(!X(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Wt(t),o=(a?He(n.width):n.width)/r,s=(a?He(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var qt=U(0);function Jt(e){let t=q(e);return!Lt()||!t.visualViewport?qt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Yt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==q(e)?!1:t}function Xt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Gt(e),o=U(1);t&&(r?Y(r)&&(o=Kt(r)):o=Kt(e));let s=Yt(a,n,r)?Jt(a):U(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=q(a),t=r&&Y(r)?q(r):r,n=e,i=Ut(n);for(;i&&r&&t!==n;){let e=Kt(i),t=i.getBoundingClientRect(),r=Z(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=q(i),i=Ut(n)}}return ct({width:u,height:d,x:c,y:l})}function Zt(e,t){let n=zt(e).scrollLeft;return t?t.left+n:Xt(J(e)).left+n}function Qt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Zt(e,n),y:n.top+t.scrollTop}}function $t(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=J(r),s=t?At(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=U(1),u=U(0),d=X(r);if((d||!d&&!a)&&((Tt(r)!==`body`||Ot(o))&&(c=zt(r)),d)){let e=Xt(r);l=Kt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Qt(o,c):U(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function en(e){return Array.from(e.getClientRects())}function tn(e){let t=J(e),n=zt(e),r=e.ownerDocument.body,i=H(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=H(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Zt(e),s=-n.scrollTop;return Z(r).direction===`rtl`&&(o+=H(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var nn=25;function rn(e,t){let n=q(e),r=J(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Lt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Zt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=nn&&(a-=o)}else l<=nn&&(a+=l);return{width:a,height:o,x:s,y:c}}function an(e,t){let n=Xt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=X(e)?Kt(e):U(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function on(e,t,n){let r;if(t===`viewport`)r=rn(e,n);else if(t===`document`)r=tn(J(e));else if(Y(t))r=an(t,n);else{let n=Jt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ct(r)}function sn(e,t){let n=Bt(e);return n===t||!Y(n)||Rt(n)?!1:Z(n).position===`fixed`||sn(n,t)}function cn(e,t){let n=t.get(e);if(n)return n;let r=Ht(e,[],!1).filter(e=>Y(e)&&Tt(e)!==`body`),i=null,a=Z(e).position===`fixed`,o=a?Bt(e):e;for(;Y(o)&&!Rt(o);){let t=Z(o),n=Ft(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ot(o)&&!n&&sn(e,o))?r=r.filter(e=>e!==o):i=t,o=Bt(o)}return t.set(e,r),r}function ln(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?At(t)?[]:cn(t,this._c):[].concat(n),r],o=on(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=on(t,a[e],i);s=H(n.top,s),c=Ve(n.right,c),l=Ve(n.bottom,l),u=H(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function un(e){let{width:t,height:n}=Wt(e);return{width:t,height:n}}function dn(e,t,n){let r=X(t),i=J(t),a=n===`fixed`,o=Xt(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=U(0);function l(){c.x=Zt(i)}if(r||!r&&!a)if((Tt(t)!==`body`||Ot(i))&&(s=zt(t)),r){let e=Xt(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Qt(i,s):U(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function fn(e){return Z(e).position===`static`}function pn(e,t){if(!X(e)||Z(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return J(e)===n&&(n=n.ownerDocument.body),n}function mn(e,t){let n=q(e);if(At(e))return n;if(!X(e)){let t=Bt(e);for(;t&&!Rt(t);){if(Y(t)&&!fn(t))return t;t=Bt(t)}return n}let r=pn(e,t);for(;r&&kt(r)&&fn(r);)r=pn(r,t);return r&&Rt(r)&&fn(r)&&!Ft(r)?n:r||It(e)||n}var hn=async function(e){let t=this.getOffsetParent||mn,n=this.getDimensions,r=await n(e.floating);return{reference:dn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function gn(e){return Z(e).direction===`rtl`}var _n={convertOffsetParentRelativeRectToViewportRelativeRect:$t,getDocumentElement:J,getClippingRect:ln,getOffsetParent:mn,getElementRects:hn,getClientRects:en,getDimensions:un,getScale:Kt,isElement:Y,isRTL:gn};function vn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function yn(e,t){let n=null,r,i=J(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ue(d),h=Ue(i.clientWidth-(u+f)),g=Ue(i.clientHeight-(d+p)),_=Ue(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:H(0,Ve(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!vn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function bn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Gt(e),u=i||a?[...l?Ht(l):[],...t?Ht(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?yn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Xt(e):null;c&&g();function g(){let t=Xt(e);h&&!vn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var xn=bt,Sn=xt,Cn=mt,wn=Ct,Tn=_t,En=pt,Dn=St,On=(e,t,n)=>{let r=new Map,i={platform:_n,...n},a={...i.platform,_c:r};return ft(e,t,{...i,platform:a})},kn=typeof document<`u`?f.useLayoutEffect:function(){};function An(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!An(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!An(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function jn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Mn(e,t){let n=jn(e);return Math.round(t*n)/n}function Nn(e){let t=f.useRef(e);return kn(()=>{t.current=e}),t}function Pn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=f.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=f.useState(r);An(m,r)||h(r);let[g,_]=f.useState(null),[v,y]=f.useState(null),b=f.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=f.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||g,C=o||v,w=f.useRef(null),T=f.useRef(null),E=f.useRef(u),D=c!=null,O=Nn(c),k=Nn(i),A=Nn(l),j=f.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:m};k.current&&(e.platform=k.current),On(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!An(E.current,t)&&(E.current=t,p.flushSync(()=>{d(t)}))})},[m,t,n,k,A]);kn(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=f.useRef(!1);kn(()=>(M.current=!0,()=>{M.current=!1}),[]),kn(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=f.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=f.useMemo(()=>({reference:S,floating:C}),[S,C]),F=f.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Mn(P.floating,u.x),r=Mn(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...jn(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return f.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var Fn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:En({element:r.current,padding:i}).fn(n):r?En({element:r,padding:i}).fn(n):{}}}},In=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ln=(e,t)=>{let n=Sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Rn=(e,t)=>({fn:Dn(e).fn,options:[e,t]}),zn=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bn=(e,t)=>{let n=wn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vn=(e,t)=>{let n=Tn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Hn=(e,t)=>{let n=Fn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Un=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Wn=`Arrow`,Gn=f.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,g.jsx)(Un.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,g.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Gn.displayName=Wn;var Kn=Gn;function qn(e){let[t,n]=f.useState(void 0);return V(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Jn=`Popper`,[Yn,Xn]=_(Jn),[Zn,Qn]=Yn(Jn),$n=e=>{let{__scopePopper:t,children:n}=e,[r,i]=f.useState(null),[a,o]=f.useState(void 0);return(0,g.jsx)(Zn,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};$n.displayName=Jn;var er=`PopperAnchor`,tr=f.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Qn(er,n),o=f.useRef(null),s=a.onAnchorChange,c=x(t,f.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=f.useRef(null);f.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&dr(a.placementState),d=u?.[0],p=u?.[1];return r?null:(0,g.jsx)(Un.div,{"data-radix-popper-side":d,"data-radix-popper-align":p,...i,ref:c})});tr.displayName=er;var nr=`PopperContent`,[rr,ir]=Yn(nr),ar=f.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:p=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,..._}=e,v=Qn(nr,n),[y,b]=f.useState(null),S=x(t,b),[C,w]=f.useState(null),T=qn(C),E=T?.width??0,D=T?.height??0,O=r+(a===`center`?``:`-`+a),k=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},A=Array.isArray(l)?l:[l],j=A.length>0,M={padding:k,boundary:A.filter(lr),altBoundary:j},{refs:N,floatingStyles:P,placement:F,isPositioned:I,middlewareData:L}=Pn({strategy:`fixed`,placement:O,whileElementsMounted:(...e)=>bn(...e,{animationFrame:m===`always`}),elements:{reference:v.anchor},middleware:[In({mainAxis:i+D,alignmentAxis:o}),c&&Ln({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Rn():void 0,...M}),c&&zn({...M}),Bn({...M,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),C&&Hn({element:C,padding:s}),ur({arrowWidth:E,arrowHeight:D}),p&&Vn({strategy:`referenceHidden`,...M,boundary:j?M.boundary:void 0})]}),R=v.setPlacementState;V(()=>(R(F),()=>{R(void 0)}),[F,R]);let[z,ee]=dr(F),te=B(h);V(()=>{I&&te?.()},[I,te]);let ne=L.arrow?.x,re=L.arrow?.y,ie=L.arrow?.centerOffset!==0,[ae,oe]=f.useState();return V(()=>{y&&oe(window.getComputedStyle(y).zIndex)},[y]),(0,g.jsx)(`div`,{ref:N.setFloating,"data-radix-popper-content-wrapper":``,style:{...P,transform:I?P.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(` `),...L.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,g.jsx)(rr,{scope:n,placedSide:z,placedAlign:ee,onArrowChange:w,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,g.jsx)(Un.div,{"data-side":z,"data-align":ee,..._,ref:S,style:{..._.style,animation:I?void 0:`none`}})})})});ar.displayName=nr;var or=`PopperArrow`,sr={top:`bottom`,right:`left`,bottom:`top`,left:`right`},cr=f.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=ir(or,n),a=sr[i.placedSide];return(0,g.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,g.jsx)(Kn,{...r,ref:t,style:{...r.style,display:`block`}})})});cr.displayName=or;function lr(e){return e!==null}var ur=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=dr(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function dr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var fr=$n,pr=tr,mr=ar,hr=cr,gr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),_r=`Portal`,vr=f.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=f.useState(!1);V(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?p.createPortal((0,g.jsx)(gr.div,{...r,ref:t}),o):null});vr.displayName=_r;function yr(e,t){return f.useReducer((e,n)=>t[e][n]??e,e)}var br=e=>{let{present:t,children:n}=e,r=xr(t),i=typeof n==`function`?n({present:r.isPresent}):f.Children.only(n),a=Cr(r.ref,Tr(i));return typeof n==`function`||r.isPresent?f.cloneElement(i,{ref:a}):null};br.displayName=`Presence`;function xr(e){let[t,n]=f.useState(),r=f.useRef(null),i=f.useRef(e),a=f.useRef(`none`),[o,s]=yr(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return f.useEffect(()=>{let e=wr(r.current);a.current=o===`mounted`?e:`none`},[o]),V(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=wr(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),V(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=wr(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=wr(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:f.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Sr(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Cr(...e){let t=f.useRef(e);return t.current=e,f.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Sr(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Sr(n[e],null)}}},[])}function wr(e){return e?.animationName||`none`}function Tr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Q=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Er=f.useInsertionEffect||V;function Dr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Or({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=f.useRef(e!==void 0);f.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,f.useCallback(t=>{if(s){let n=kr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Or({defaultProp:e,onChange:t}){let[n,r]=f.useState(e),i=f.useRef(n),a=f.useRef(t);return Er(()=>{a.current=t},[t]),f.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function kr(e){return typeof e==`function`}function Ar(e){let t=f.useRef({value:e,previous:e});return f.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var jr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Mr=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Nr=`VisuallyHidden`,Pr=f.forwardRef((e,t)=>(0,g.jsx)(jr.span,{...e,ref:t,style:{...Mr,...e.style}}));Pr.displayName=Nr;var Fr=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ir=new WeakMap,Lr=new WeakMap,Rr={},zr=0,Br=function(e){return e&&(e.host||Br(e.parentNode))},Vr=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Br(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Hr=function(e,t,n,r){var i=Vr(t,Array.isArray(e)?e:[e]);Rr[n]||(Rr[n]=new WeakMap);var a=Rr[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ir.get(e)||0)+1,l=(a.get(e)||0)+1;Ir.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Lr.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),zr++,function(){o.forEach(function(e){var t=Ir.get(e)-1,i=a.get(e)-1;Ir.set(e,t),a.set(e,i),t||(Lr.has(e)||e.removeAttribute(r),Lr.delete(e)),i||e.removeAttribute(n)}),zr--,zr||(Ir=new WeakMap,Ir=new WeakMap,Lr=new WeakMap,Rr={})}},Ur=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Fr(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Hr(r,i,n,`aria-hidden`)):function(){return null}},Wr=`right-scroll-bar-position`,Gr=`width-before-scroll-bar`,Kr=`with-scroll-bars-hidden`,qr=`--removed-body-scroll-bar-size`;function Jr(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Yr(e,t){var n=(0,f.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Xr=typeof window<`u`?f.useLayoutEffect:f.useEffect,Zr=new WeakMap;function Qr(e,t){var n=Yr(t||null,function(t){return e.forEach(function(e){return Jr(e,t)})});return Xr(function(){var t=Zr.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Jr(e,null)}),i.forEach(function(e){r.has(e)||Jr(e,a)})}Zr.set(n,e)},[e]),n}function $r(e){return e}function ei(e,t){t===void 0&&(t=$r);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function ti(e){e===void 0&&(e={});var t=ei(null);return t.options=i({async:!0,ssr:!1},e),t}var ni=function(e){var t=e.sideCar,n=r(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var a=t.read();if(!a)throw Error(`Sidecar medium not found`);return f.createElement(a,i({},n))};ni.isSideCarExport=!0;function ri(e,t){return e.useMedium(t),ni}var ii=ti(),ai=function(){},oi=f.forwardRef(function(e,t){var n=f.useRef(null),a=f.useState({onScrollCapture:ai,onWheelCapture:ai,onTouchMoveCapture:ai}),o=a[0],s=a[1],c=e.forwardProps,l=e.children,u=e.className,d=e.removeScrollBar,p=e.enabled,m=e.shards,h=e.sideCar,g=e.noRelative,_=e.noIsolation,v=e.inert,y=e.allowPinchZoom,b=e.as,x=b===void 0?`div`:b,S=e.gapMode,C=r(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),w=h,T=Qr([n,t]),E=i(i({},C),o);return f.createElement(f.Fragment,null,p&&f.createElement(w,{sideCar:ii,removeScrollBar:d,shards:m,noRelative:g,noIsolation:_,inert:v,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:S}),c?f.cloneElement(f.Children.only(l),i(i({},E),{ref:T})):f.createElement(x,i({},E,{className:u,ref:T}),l))});oi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},oi.classNames={fullWidth:Gr,zeroRight:Wr};var si,ci=function(){if(si)return si;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function li(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=ci();return t&&e.setAttribute(`nonce`,t),e}function ui(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function di(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var fi=function(){var e=0,t=null;return{add:function(n){e==0&&(t=li())&&(ui(t,n),di(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},pi=function(){var e=fi();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},mi=function(){var e=pi();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},hi={left:0,top:0,right:0,gap:0},gi=function(e){return parseInt(e||``,10)||0},_i=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[gi(n),gi(r),gi(i)]},vi=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return hi;var t=_i(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},yi=mi(),bi=`data-scroll-locked`,xi=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
1
+ import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{D as n,E as r,T as i,ri as a,wt as o}from"./index-DCgpDQKf.js";import{t as s}from"./createLucideIcon-C_7xXnHN.js";import{n as c,t as l}from"./Check-C4euVM-9.js";import{d as u}from"./recipes-lg2hVa6Q.js";var d=s(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),f=e(t(),1),p=e(a(),1);function m(e,[t,n]){return Math.min(n,Math.max(t,e))}typeof window<`u`&&window.document&&window.document.createElement;function h(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var g=o();function _(e,t=[]){let n=[];function r(t,r){let i=f.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=f.useMemo(()=>o,Object.values(o));return(0,g.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=f.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>f.createContext(e));return function(n){let r=n?.[e]||t;return f.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,v(i,...t)]}function v(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function y(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function b(...e){return t=>{let n=!1,r=e.map(e=>{let r=y(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():y(e[t],null)}}}}function x(...e){return f.useCallback(b(...e),e)}function S(e){let t=f.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];A(r)&&typeof P==`function`&&(r=P(r._payload)),f.Children.forEach(r,e=>{if(O(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;A(n)&&typeof P==`function`&&(n=P(n._payload)),a=T(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=f.cloneElement(a,void 0,s):!o&&f.Children.count(r)===1&&f.isValidElement(r)&&(a=r);let c=a?D(a):void 0,l=x(n,c);if(!a){if(r||r===0)throw Error(o?N(e):M(e));return r}let u=E(i,a.props??{});return a.type!==f.Fragment&&(u.ref=n?l:c),f.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var C=S(`Slot`),w=Symbol.for(`radix.slottable`),T=(e,t)=>{if(`child`in e.props){let t=e.props.child;return f.isValidElement(t)?f.cloneElement(t,void 0,e.props.children(t.props.children)):null}return f.isValidElement(t)?t:null};function E(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function D(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function O(e){return f.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===w}var k=Symbol.for(`react.lazy`);function A(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===k&&`_payload`in e&&j(e._payload)}function j(e){return typeof e==`object`&&!!e&&`then`in e}var M=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,N=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,P=f.use;function F(e){let t=e+`CollectionProvider`,[n,r]=_(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=f.useRef(null),a=f.useRef(new Map).current;return(0,g.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=S(s),l=f.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,g.jsx)(c,{ref:x(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,p=S(u),m=f.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=f.useRef(null),s=x(t,o),c=a(u,n);return f.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,g.jsx)(p,{[d]:``,ref:s,children:r})});m.displayName=u;function h(t){let n=a(e+`CollectionConsumer`,t);return f.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:m},h,r]}var I=f.createContext(void 0);function L(e){let t=f.useContext(I);return e||t||`ltr`}var R=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function z(e,t){e&&p.flushSync(()=>e.dispatchEvent(t))}function B(e){let t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>((...e)=>t.current?.(...e)),[])}var V=globalThis?.document?f.useLayoutEffect:()=>{},ee=f.useEffectEvent,te=f.useInsertionEffect;function ne(e){if(typeof ee==`function`)return ee(e);let t=f.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof te==`function`?te(()=>{t.current=e}):V(()=>{t.current=e}),f.useMemo(()=>((...e)=>t.current?.(...e)),[])}var re=`DismissableLayer`,ie=`dismissableLayer.update`,ae=`dismissableLayer.pointerDownOutside`,oe=`dismissableLayer.focusOutside`,se,ce=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),le=f.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=f.useContext(ce),[d,p]=f.useState(null),m=d?.ownerDocument??globalThis?.document,[,_]=f.useState({}),v=x(t,p),y=Array.from(u.layers),[b]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),S=y.indexOf(b),C=d?y.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,T=C>=S,E=f.useRef(!1),D=fe(e=>{let t=e.target;if(!(t instanceof Node))return;let n=[...u.branches].some(e=>e.contains(t));!T||n||(a?.(e),s?.(e),e.defaultPrevented||c?.())},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:E,dismissableSurfaces:u.dismissableSurfaces}),O=pe(e=>{if(r&&E.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),k=d?C===y.length-1:!1,A=ne(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return f.useEffect(()=>{if(k)return m.addEventListener(`keydown`,A,{capture:!0}),()=>m.removeEventListener(`keydown`,A,{capture:!0})},[m,k]),f.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(se=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),me(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=se))}},[d,m,n,u]),f.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),me())},[d,u]),f.useEffect(()=>{let e=()=>_({});return document.addEventListener(ie,e),()=>document.removeEventListener(ie,e)},[]),(0,g.jsx)(R.div,{...l,ref:v,style:{pointerEvents:w?T?`auto`:`none`:void 0,...e.style},onFocusCapture:h(e.onFocusCapture,O.onFocusCapture),onBlurCapture:h(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:h(e.onPointerDownCapture,D.onPointerDownCapture)})});le.displayName=re;var ue=`DismissableLayerBranch`,de=f.forwardRef((e,t)=>{let n=f.useContext(ce),r=f.useRef(null),i=x(t,r);return f.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,g.jsx)(R.div,{...e,ref:i})});de.displayName=ue;function fe(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a}=t,o=B(e),s=f.useRef(!1),c=f.useRef(!1),l=f.useRef(new Map),u=f.useRef(()=>{});return f.useEffect(()=>{function e(){c.current=!1,i.current=!1,l.current.clear()}function t(){return Array.from(l.current.values()).some(Boolean)}function d(e){if(!c.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||l.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{c.current&&u.current()},0)}function f(e){c.current&&l.current.set(e.type,!1)}let p=a=>{if(a.target&&!s.current){let s=function(){n.removeEventListener(`click`,u.current);let r=t();e(),r||he(ae,o,d,{discrete:!0})},d={originalEvent:a};c.current=!0,i.current=r&&a.button===0,l.current.clear(),!r||a.button!==0?s():(n.removeEventListener(`click`,u.current),u.current=s,n.addEventListener(`click`,u.current,{once:!0}))}else n.removeEventListener(`click`,u.current),e();s.current=!1},m=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of m)n.addEventListener(e,d,!0),n.addEventListener(e,f);let h=window.setTimeout(()=>{n.addEventListener(`pointerdown`,p)},0);return()=>{window.clearTimeout(h),n.removeEventListener(`pointerdown`,p),n.removeEventListener(`click`,u.current);for(let e of m)n.removeEventListener(e,d,!0),n.removeEventListener(e,f)}},[n,o,r,i,a]),{onPointerDownCapture:()=>s.current=!0}}function pe(e,t=globalThis?.document){let n=B(e),r=f.useRef(!1);return f.useEffect(()=>{let e=e=>{e.target&&!r.current&&he(oe,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function me(){let e=new CustomEvent(ie);document.dispatchEvent(e)}function he(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?z(i,a):i.dispatchEvent(a)}var ge=0,_e=null;function ve(){f.useEffect(()=>{_e||={start:ye(),end:ye()};let{start:e,end:t}=_e;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),ge++,()=>{ge===1&&(_e?.start.remove(),_e?.end.remove(),_e=null),ge=Math.max(0,ge-1)}},[])}function ye(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var be=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),xe=`focusScope.autoFocusOnMount`,Se=`focusScope.autoFocusOnUnmount`,Ce={bubbles:!1,cancelable:!0},we=`FocusScope`,Te=f.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=f.useState(null),l=B(i),u=B(a),d=f.useRef(null),p=x(t,c),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Me(d.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Me(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Me(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),f.useEffect(()=>{if(s){Ne.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(xe,Ce);s.addEventListener(xe,l),s.dispatchEvent(t),t.defaultPrevented||(Ee(Ie(Oe(s)),{select:!0}),document.activeElement===e&&Me(s))}return()=>{s.removeEventListener(xe,l),setTimeout(()=>{let t=new CustomEvent(Se,Ce);s.addEventListener(Se,u),s.dispatchEvent(t),t.defaultPrevented||Me(e??document.body,{select:!0}),s.removeEventListener(Se,u),Ne.remove(m)},0)}}},[s,l,u,m]);let h=f.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=De(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Me(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Me(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,g.jsx)(be.div,{tabIndex:-1,...o,ref:p,onKeyDown:h})});Te.displayName=we;function Ee(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Me(r,{select:t}),document.activeElement!==n)return}function De(e){let t=Oe(e);return[ke(t,e),ke(t.reverse(),e)]}function Oe(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function ke(e,t){for(let n of e)if(!Ae(n,{upTo:t}))return n}function Ae(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function je(e){return e instanceof HTMLInputElement&&`select`in e}function Me(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&je(e)&&t&&e.select()}}var Ne=Pe();function Pe(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Fe(e,t),e.unshift(t)},remove(t){e=Fe(e,t),e[0]?.resume()}}}function Fe(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ie(e){return e.filter(e=>e.tagName!==`A`)}var Le=f.useId||(()=>void 0),Re=0;function ze(e){let[t,n]=f.useState(Le());return V(()=>{e||n(e=>e??String(Re++))},[e]),e||(t?`radix-${t}`:``)}var Be=[`top`,`right`,`bottom`,`left`],Ve=Math.min,H=Math.max,He=Math.round,Ue=Math.floor,U=e=>({x:e,y:e}),We={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Ge(e,t,n){return H(e,Ve(t,n))}function W(e,t){return typeof e==`function`?e(t):e}function G(e){return e.split(`-`)[0]}function Ke(e){return e.split(`-`)[1]}function qe(e){return e===`x`?`y`:`x`}function Je(e){return e===`y`?`height`:`width`}function K(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ye(e){return qe(K(e))}function Xe(e,t,n){n===void 0&&(n=!1);let r=Ke(e),i=Ye(e),a=Je(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=at(o)),[o,at(o)]}function Ze(e){let t=at(e);return[Qe(e),t,Qe(t)]}function Qe(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var $e=[`left`,`right`],et=[`right`,`left`],tt=[`top`,`bottom`],nt=[`bottom`,`top`];function rt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?et:$e:t?$e:et;case`left`:case`right`:return t?tt:nt;default:return[]}}function it(e,t,n,r){let i=Ke(e),a=rt(G(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Qe)))),a}function at(e){let t=G(e);return We[t]+e.slice(t.length)}function ot(e){return{top:0,right:0,bottom:0,left:0,...e}}function st(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ot(e)}function ct(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function lt(e,t,n){let{reference:r,floating:i}=e,a=K(t),o=Ye(t),s=Je(o),c=G(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ke(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ut(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=W(t,e),p=st(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ct(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ct(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var dt=50,ft=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ut},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=lt(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<dt&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=lt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},pt=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=W(e,t)||{};if(l==null)return{};let d=st(u),f={x:n,y:r},p=Ye(i),m=Je(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Ve(d[_],T),D=Ve(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Ge(O,A,k),M=!c.arrow&&Ke(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),mt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=W(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=G(r),_=K(o),v=G(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[at(o)]:Ze(o)),x=p!==`none`;!d&&x&&b.push(...it(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Xe(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==K(t))||T.every(e=>K(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=K(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ht(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function gt(e){return Be.some(t=>e[t]>=0)}var _t=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=W(e,t);switch(i){case`referenceHidden`:{let e=ht(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:gt(e)}}}case`escaped`:{let e=ht(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:gt(e)}}}default:return{}}}}},vt=new Set([`left`,`top`]);async function yt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=G(n),s=Ke(n),c=K(n)===`y`,l=vt.has(o)?-1:1,u=a&&c?-1:1,d=W(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var bt=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await yt(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},xt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=W(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=K(G(i)),p=qe(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Ge(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Ge(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},St=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=W(e,t),u={x:n,y:r},d=K(i),f=qe(d),p=u[f],m=u[d],h=W(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=vt.has(G(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Ct=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=W(e,t),u=await o.detectOverflow(t,l),d=G(i),f=Ke(i),p=K(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Ve(h-u[g],v),x=Ve(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=H(u.left,0),t=H(u.right,0),n=H(u.top,0),r=H(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:H(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:H(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function wt(){return typeof window<`u`}function Tt(e){return Et(e)?(e.nodeName||``).toLowerCase():`#document`}function q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function J(e){return((Et(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Et(e){return wt()?e instanceof Node||e instanceof q(e).Node:!1}function Y(e){return wt()?e instanceof Element||e instanceof q(e).Element:!1}function X(e){return wt()?e instanceof HTMLElement||e instanceof q(e).HTMLElement:!1}function Dt(e){return!wt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof q(e).ShadowRoot}function Ot(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function kt(e){return/^(table|td|th)$/.test(Tt(e))}function At(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var jt=/transform|translate|scale|rotate|perspective|filter/,Mt=/paint|layout|strict|content/,Nt=e=>!!e&&e!==`none`,Pt;function Ft(e){let t=Y(e)?Z(e):e;return Nt(t.transform)||Nt(t.translate)||Nt(t.scale)||Nt(t.rotate)||Nt(t.perspective)||!Lt()&&(Nt(t.backdropFilter)||Nt(t.filter))||jt.test(t.willChange||``)||Mt.test(t.contain||``)}function It(e){let t=Bt(e);for(;X(t)&&!Rt(t);){if(Ft(t))return t;if(At(t))return null;t=Bt(t)}return null}function Lt(){return Pt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Pt}function Rt(e){return/^(html|body|#document)$/.test(Tt(e))}function Z(e){return q(e).getComputedStyle(e)}function zt(e){return Y(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bt(e){if(Tt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Dt(e)&&e.host||J(e);return Dt(t)?t.host:t}function Vt(e){let t=Bt(e);return Rt(t)?e.ownerDocument?e.ownerDocument.body:e.body:X(t)&&Ot(t)?t:Vt(t)}function Ht(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Vt(e),i=r===e.ownerDocument?.body,a=q(r);if(i){let e=Ut(a);return t.concat(a,a.visualViewport||[],Ot(r)?r:[],e&&n?Ht(e):[])}else return t.concat(r,Ht(r,[],n))}function Ut(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Wt(e){let t=Z(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=X(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=He(n)!==a||He(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Gt(e){return Y(e)?e:e.contextElement}function Kt(e){let t=Gt(e);if(!X(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Wt(t),o=(a?He(n.width):n.width)/r,s=(a?He(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var qt=U(0);function Jt(e){let t=q(e);return!Lt()||!t.visualViewport?qt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Yt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==q(e)?!1:t}function Xt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Gt(e),o=U(1);t&&(r?Y(r)&&(o=Kt(r)):o=Kt(e));let s=Yt(a,n,r)?Jt(a):U(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=q(a),t=r&&Y(r)?q(r):r,n=e,i=Ut(n);for(;i&&r&&t!==n;){let e=Kt(i),t=i.getBoundingClientRect(),r=Z(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=q(i),i=Ut(n)}}return ct({width:u,height:d,x:c,y:l})}function Zt(e,t){let n=zt(e).scrollLeft;return t?t.left+n:Xt(J(e)).left+n}function Qt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Zt(e,n),y:n.top+t.scrollTop}}function $t(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=J(r),s=t?At(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=U(1),u=U(0),d=X(r);if((d||!d&&!a)&&((Tt(r)!==`body`||Ot(o))&&(c=zt(r)),d)){let e=Xt(r);l=Kt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Qt(o,c):U(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function en(e){return Array.from(e.getClientRects())}function tn(e){let t=J(e),n=zt(e),r=e.ownerDocument.body,i=H(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=H(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Zt(e),s=-n.scrollTop;return Z(r).direction===`rtl`&&(o+=H(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var nn=25;function rn(e,t){let n=q(e),r=J(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Lt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Zt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=nn&&(a-=o)}else l<=nn&&(a+=l);return{width:a,height:o,x:s,y:c}}function an(e,t){let n=Xt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=X(e)?Kt(e):U(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function on(e,t,n){let r;if(t===`viewport`)r=rn(e,n);else if(t===`document`)r=tn(J(e));else if(Y(t))r=an(t,n);else{let n=Jt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ct(r)}function sn(e,t){let n=Bt(e);return n===t||!Y(n)||Rt(n)?!1:Z(n).position===`fixed`||sn(n,t)}function cn(e,t){let n=t.get(e);if(n)return n;let r=Ht(e,[],!1).filter(e=>Y(e)&&Tt(e)!==`body`),i=null,a=Z(e).position===`fixed`,o=a?Bt(e):e;for(;Y(o)&&!Rt(o);){let t=Z(o),n=Ft(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ot(o)&&!n&&sn(e,o))?r=r.filter(e=>e!==o):i=t,o=Bt(o)}return t.set(e,r),r}function ln(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?At(t)?[]:cn(t,this._c):[].concat(n),r],o=on(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=on(t,a[e],i);s=H(n.top,s),c=Ve(n.right,c),l=Ve(n.bottom,l),u=H(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function un(e){let{width:t,height:n}=Wt(e);return{width:t,height:n}}function dn(e,t,n){let r=X(t),i=J(t),a=n===`fixed`,o=Xt(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=U(0);function l(){c.x=Zt(i)}if(r||!r&&!a)if((Tt(t)!==`body`||Ot(i))&&(s=zt(t)),r){let e=Xt(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Qt(i,s):U(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function fn(e){return Z(e).position===`static`}function pn(e,t){if(!X(e)||Z(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return J(e)===n&&(n=n.ownerDocument.body),n}function mn(e,t){let n=q(e);if(At(e))return n;if(!X(e)){let t=Bt(e);for(;t&&!Rt(t);){if(Y(t)&&!fn(t))return t;t=Bt(t)}return n}let r=pn(e,t);for(;r&&kt(r)&&fn(r);)r=pn(r,t);return r&&Rt(r)&&fn(r)&&!Ft(r)?n:r||It(e)||n}var hn=async function(e){let t=this.getOffsetParent||mn,n=this.getDimensions,r=await n(e.floating);return{reference:dn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function gn(e){return Z(e).direction===`rtl`}var _n={convertOffsetParentRelativeRectToViewportRelativeRect:$t,getDocumentElement:J,getClippingRect:ln,getOffsetParent:mn,getElementRects:hn,getClientRects:en,getDimensions:un,getScale:Kt,isElement:Y,isRTL:gn};function vn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function yn(e,t){let n=null,r,i=J(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ue(d),h=Ue(i.clientWidth-(u+f)),g=Ue(i.clientHeight-(d+p)),_=Ue(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:H(0,Ve(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!vn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function bn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Gt(e),u=i||a?[...l?Ht(l):[],...t?Ht(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?yn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Xt(e):null;c&&g();function g(){let t=Xt(e);h&&!vn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var xn=bt,Sn=xt,Cn=mt,wn=Ct,Tn=_t,En=pt,Dn=St,On=(e,t,n)=>{let r=new Map,i={platform:_n,...n},a={...i.platform,_c:r};return ft(e,t,{...i,platform:a})},kn=typeof document<`u`?f.useLayoutEffect:function(){};function An(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!An(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!An(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function jn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Mn(e,t){let n=jn(e);return Math.round(t*n)/n}function Nn(e){let t=f.useRef(e);return kn(()=>{t.current=e}),t}function Pn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=f.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=f.useState(r);An(m,r)||h(r);let[g,_]=f.useState(null),[v,y]=f.useState(null),b=f.useCallback(e=>{e!==w.current&&(w.current=e,_(e))},[]),x=f.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||g,C=o||v,w=f.useRef(null),T=f.useRef(null),E=f.useRef(u),D=c!=null,O=Nn(c),k=Nn(i),A=Nn(l),j=f.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:m};k.current&&(e.platform=k.current),On(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!An(E.current,t)&&(E.current=t,p.flushSync(()=>{d(t)}))})},[m,t,n,k,A]);kn(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=f.useRef(!1);kn(()=>(M.current=!0,()=>{M.current=!1}),[]),kn(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=f.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),P=f.useMemo(()=>({reference:S,floating:C}),[S,C]),F=f.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=Mn(P.floating,u.x),r=Mn(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...jn(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return f.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var Fn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:En({element:r.current,padding:i}).fn(n):r?En({element:r,padding:i}).fn(n):{}}}},In=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ln=(e,t)=>{let n=Sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Rn=(e,t)=>({fn:Dn(e).fn,options:[e,t]}),zn=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bn=(e,t)=>{let n=wn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vn=(e,t)=>{let n=Tn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Hn=(e,t)=>{let n=Fn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Un=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Wn=`Arrow`,Gn=f.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,g.jsx)(Un.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,g.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});Gn.displayName=Wn;var Kn=Gn;function qn(e){let[t,n]=f.useState(void 0);return V(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Jn=`Popper`,[Yn,Xn]=_(Jn),[Zn,Qn]=Yn(Jn),$n=e=>{let{__scopePopper:t,children:n}=e,[r,i]=f.useState(null),[a,o]=f.useState(void 0);return(0,g.jsx)(Zn,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};$n.displayName=Jn;var er=`PopperAnchor`,tr=f.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Qn(er,n),o=f.useRef(null),s=a.onAnchorChange,c=x(t,f.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=f.useRef(null);f.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&dr(a.placementState),d=u?.[0],p=u?.[1];return r?null:(0,g.jsx)(Un.div,{"data-radix-popper-side":d,"data-radix-popper-align":p,...i,ref:c})});tr.displayName=er;var nr=`PopperContent`,[rr,ir]=Yn(nr),ar=f.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:p=!1,updatePositionStrategy:m=`optimized`,onPlaced:h,..._}=e,v=Qn(nr,n),[y,b]=f.useState(null),S=x(t,b),[C,w]=f.useState(null),T=qn(C),E=T?.width??0,D=T?.height??0,O=r+(a===`center`?``:`-`+a),k=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},A=Array.isArray(l)?l:[l],j=A.length>0,M={padding:k,boundary:A.filter(lr),altBoundary:j},{refs:N,floatingStyles:P,placement:F,isPositioned:I,middlewareData:L}=Pn({strategy:`fixed`,placement:O,whileElementsMounted:(...e)=>bn(...e,{animationFrame:m===`always`}),elements:{reference:v.anchor},middleware:[In({mainAxis:i+D,alignmentAxis:o}),c&&Ln({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Rn():void 0,...M}),c&&zn({...M}),Bn({...M,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),C&&Hn({element:C,padding:s}),ur({arrowWidth:E,arrowHeight:D}),p&&Vn({strategy:`referenceHidden`,...M,boundary:j?M.boundary:void 0})]}),R=v.setPlacementState;V(()=>(R(F),()=>{R(void 0)}),[F,R]);let[z,ee]=dr(F),te=B(h);V(()=>{I&&te?.()},[I,te]);let ne=L.arrow?.x,re=L.arrow?.y,ie=L.arrow?.centerOffset!==0,[ae,oe]=f.useState();return V(()=>{y&&oe(window.getComputedStyle(y).zIndex)},[y]),(0,g.jsx)(`div`,{ref:N.setFloating,"data-radix-popper-content-wrapper":``,style:{...P,transform:I?P.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[L.transformOrigin?.x,L.transformOrigin?.y].join(` `),...L.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,g.jsx)(rr,{scope:n,placedSide:z,placedAlign:ee,onArrowChange:w,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,g.jsx)(Un.div,{"data-side":z,"data-align":ee,..._,ref:S,style:{..._.style,animation:I?void 0:`none`}})})})});ar.displayName=nr;var or=`PopperArrow`,sr={top:`bottom`,right:`left`,bottom:`top`,left:`right`},cr=f.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=ir(or,n),a=sr[i.placedSide];return(0,g.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,g.jsx)(Kn,{...r,ref:t,style:{...r.style,display:`block`}})})});cr.displayName=or;function lr(e){return e!==null}var ur=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=dr(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function dr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var fr=$n,pr=tr,mr=ar,hr=cr,gr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),_r=`Portal`,vr=f.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=f.useState(!1);V(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?p.createPortal((0,g.jsx)(gr.div,{...r,ref:t}),o):null});vr.displayName=_r;function yr(e,t){return f.useReducer((e,n)=>t[e][n]??e,e)}var br=e=>{let{present:t,children:n}=e,r=xr(t),i=typeof n==`function`?n({present:r.isPresent}):f.Children.only(n),a=Cr(r.ref,Tr(i));return typeof n==`function`||r.isPresent?f.cloneElement(i,{ref:a}):null};br.displayName=`Presence`;function xr(e){let[t,n]=f.useState(),r=f.useRef(null),i=f.useRef(e),a=f.useRef(`none`),[o,s]=yr(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return f.useEffect(()=>{let e=wr(r.current);a.current=o===`mounted`?e:`none`},[o]),V(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=wr(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),V(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=wr(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=wr(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:f.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Sr(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Cr(...e){let t=f.useRef(e);return t.current=e,f.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Sr(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Sr(n[e],null)}}},[])}function wr(e){return e?.animationName||`none`}function Tr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Q=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Er=f.useInsertionEffect||V;function Dr({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Or({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=f.useRef(e!==void 0);f.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,f.useCallback(t=>{if(s){let n=kr(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Or({defaultProp:e,onChange:t}){let[n,r]=f.useState(e),i=f.useRef(n),a=f.useRef(t);return Er(()=>{a.current=t},[t]),f.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function kr(e){return typeof e==`function`}function Ar(e){let t=f.useRef({value:e,previous:e});return f.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var jr=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=S(`Primitive.${t}`),r=f.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,g.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Mr=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Nr=`VisuallyHidden`,Pr=f.forwardRef((e,t)=>(0,g.jsx)(jr.span,{...e,ref:t,style:{...Mr,...e.style}}));Pr.displayName=Nr;var Fr=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ir=new WeakMap,Lr=new WeakMap,Rr={},zr=0,Br=function(e){return e&&(e.host||Br(e.parentNode))},Vr=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Br(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Hr=function(e,t,n,r){var i=Vr(t,Array.isArray(e)?e:[e]);Rr[n]||(Rr[n]=new WeakMap);var a=Rr[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ir.get(e)||0)+1,l=(a.get(e)||0)+1;Ir.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Lr.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),zr++,function(){o.forEach(function(e){var t=Ir.get(e)-1,i=a.get(e)-1;Ir.set(e,t),a.set(e,i),t||(Lr.has(e)||e.removeAttribute(r),Lr.delete(e)),i||e.removeAttribute(n)}),zr--,zr||(Ir=new WeakMap,Ir=new WeakMap,Lr=new WeakMap,Rr={})}},Ur=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Fr(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Hr(r,i,n,`aria-hidden`)):function(){return null}},Wr=`right-scroll-bar-position`,Gr=`width-before-scroll-bar`,Kr=`with-scroll-bars-hidden`,qr=`--removed-body-scroll-bar-size`;function Jr(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Yr(e,t){var n=(0,f.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Xr=typeof window<`u`?f.useLayoutEffect:f.useEffect,Zr=new WeakMap;function Qr(e,t){var n=Yr(t||null,function(t){return e.forEach(function(e){return Jr(e,t)})});return Xr(function(){var t=Zr.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Jr(e,null)}),i.forEach(function(e){r.has(e)||Jr(e,a)})}Zr.set(n,e)},[e]),n}function $r(e){return e}function ei(e,t){t===void 0&&(t=$r);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function ti(e){e===void 0&&(e={});var t=ei(null);return t.options=i({async:!0,ssr:!1},e),t}var ni=function(e){var t=e.sideCar,n=r(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var a=t.read();if(!a)throw Error(`Sidecar medium not found`);return f.createElement(a,i({},n))};ni.isSideCarExport=!0;function ri(e,t){return e.useMedium(t),ni}var ii=ti(),ai=function(){},oi=f.forwardRef(function(e,t){var n=f.useRef(null),a=f.useState({onScrollCapture:ai,onWheelCapture:ai,onTouchMoveCapture:ai}),o=a[0],s=a[1],c=e.forwardProps,l=e.children,u=e.className,d=e.removeScrollBar,p=e.enabled,m=e.shards,h=e.sideCar,g=e.noRelative,_=e.noIsolation,v=e.inert,y=e.allowPinchZoom,b=e.as,x=b===void 0?`div`:b,S=e.gapMode,C=r(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),w=h,T=Qr([n,t]),E=i(i({},C),o);return f.createElement(f.Fragment,null,p&&f.createElement(w,{sideCar:ii,removeScrollBar:d,shards:m,noRelative:g,noIsolation:_,inert:v,setCallbacks:s,allowPinchZoom:!!y,lockRef:n,gapMode:S}),c?f.cloneElement(f.Children.only(l),i(i({},E),{ref:T})):f.createElement(x,i({},E,{className:u,ref:T}),l))});oi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},oi.classNames={fullWidth:Gr,zeroRight:Wr};var si,ci=function(){if(si)return si;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function li(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=ci();return t&&e.setAttribute(`nonce`,t),e}function ui(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function di(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var fi=function(){var e=0,t=null;return{add:function(n){e==0&&(t=li())&&(ui(t,n),di(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},pi=function(){var e=fi();return function(t,n){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},mi=function(){var e=pi();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},hi={left:0,top:0,right:0,gap:0},gi=function(e){return parseInt(e||``,10)||0},_i=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[gi(n),gi(r),gi(i)]},vi=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return hi;var t=_i(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},yi=mi(),bi=`data-scroll-locked`,xi=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
2
  .${Kr} {
3
3
  overflow: hidden ${r};
4
4
  padding-right: ${s}px ${r};
@@ -1,4 +1,4 @@
1
- import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,Tt as i,ni as a,wt as o}from"./index-C8C76R86.js";import{t as s}from"./createLucideIcon-C_7xXnHN.js";import{t as c}from"./arrow-left-DwKFZ0Rg.js";import{h as l,t as u}from"./MarkdownBlock-KUcDESQo.js";import{r as d}from"./OpenUIPreview-C8sgkYAj.js";import{t as f}from"./message-square-text-3oqB9UW2.js";import{n as p,o as m,r as h}from"./shared-sessions-B2FsK7oM.js";import{i as g,m as _,r as v,y}from"./trajectory-store-CFat_se9.js";import{t as b}from"./useSeo-fXJau5mP.js";import{l as x,x as S}from"./use-review-passes-BTc5nGD9.js";import{n as C}from"./TrajectoryReviewWorkspace-D80QHrDn.js";import"./PatternDigestPanel-Ctm7smvT.js";var w=s(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),T=e(t(),1),E=o();function D(e,t,n){return{sessionId:e,mode:t.length>0?`transcript`:`artifact`,activeMessageId:t[0],activeArtifactId:n[0]}}function O(e,t){if(t.type===`reconcile`){if(t.sessionId!==e.sessionId)return D(t.sessionId,t.messageIds,t.artifactIds);let n=e.activeMessageId&&t.messageIds.includes(e.activeMessageId)?e.activeMessageId:t.messageIds[0],r=e.activeArtifactId&&t.artifactIds.includes(e.activeArtifactId)?e.activeArtifactId:t.artifactIds[0],i=e.mode===`transcript`&&!n&&r?`artifact`:e.mode===`artifact`&&!r&&n?`transcript`:e.mode;return{...e,mode:i,activeMessageId:n,activeArtifactId:r,activeAnnotationId:e.activeAnnotationId&&t.annotationIds.includes(e.activeAnnotationId)?e.activeAnnotationId:void 0}}return t.type===`mode`?{...e,mode:t.mode}:t.type===`message`?{...e,mode:`transcript`,activeMessageId:t.messageId,activeAnnotationId:void 0}:t.type===`artifact`?{...e,mode:`artifact`,activeArtifactId:t.artifactId,activeAnnotationId:void 0}:{...e,mode:t.messageId?`transcript`:t.artifactId?`artifact`:e.mode,activeMessageId:t.messageId??e.activeMessageId,activeArtifactId:t.artifactId??e.activeArtifactId,activeAnnotationId:t.annotationId}}function k(e){return!e||!Number.isFinite(e)?null:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`}).format(e)}function A({data:e,renderArtifact:t,className:i}){let a=(0,T.useMemo)(()=>e.annotations.filter(e=>e.status===`final`),[e.annotations]),[o,s]=(0,T.useReducer)(O,void 0,()=>D(e.session.id,e.messages.map(e=>e.id),e.artifacts.map(e=>e.id))),c=k(e.session.startedAt);(0,T.useEffect)(()=>{s({type:`reconcile`,sessionId:e.session.id,messageIds:e.messages.map(e=>e.id),artifactIds:e.artifacts.map(e=>e.id),annotationIds:a.map(e=>e.id)})},[e.artifacts,e.messages,e.session.id,a]);function l(t){let n=t.target;if(n.kind===`message`||n.kind===`message-span`){s({type:`annotation`,annotationId:t.id,messageId:n.messageId});return}if(n.kind.startsWith(`artifact`)&&`artifact`in n){let r=v(n.artifact),i=e.artifacts.find(e=>v(e.reference)===r)?.id;s({type:`annotation`,annotationId:t.id,artifactId:i});return}s({type:`annotation`,annotationId:t.id})}return(0,E.jsxs)(`main`,{"aria-label":`Shared session`,className:n(r({display:`flex`,width:`100%`,height:{base:`auto`,md:`min(86dvh, 56rem)`},minHeight:{base:`38rem`,md:`40rem`},flexDirection:`column`,overflow:`hidden`,border:`1px solid var(--border)`,borderRadius:{base:0,md:`0.5rem`},background:`var(--paper, var(--background))`,color:`var(--foreground)`}),i),children:[(0,E.jsxs)(`header`,{className:r({display:`flex`,minHeight:`4rem`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`space-between`,gap:`0.625rem`,borderBottom:`1px solid var(--border)`,padding:{base:`0.625rem 0.75rem`,md:`0.625rem 1rem`}}),children:[(0,E.jsxs)(`div`,{className:r({minWidth:0}),children:[(0,E.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),children:[(0,E.jsx)(`h1`,{className:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`serif`,fontSize:{base:`1rem`,md:`1.125rem`},fontWeight:700,color:`var(--foreground)`}),children:e.session.title}),(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,flex:`0 0 auto`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,background:`var(--muted)`,padding:`0.15rem 0.4rem`,fontSize:`0.5625rem`,fontWeight:750,letterSpacing:`0.04em`,textTransform:`uppercase`,color:`var(--muted-foreground)`}),children:[(0,E.jsx)(y,{icon:S.inspect,size:10}),` Read only`]})]}),(0,E.jsxs)(`div`,{className:n(x,r({display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem`,marginTop:`0.125rem`})),children:[(0,E.jsx)(`span`,{children:`Shared session`}),e.session.subtitle?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,E.jsx)(`span`,{children:e.session.subtitle})]}):null,c?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,E.jsx)(`span`,{children:c})]}):null]})]}),(0,E.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,gap:`0.75rem`,fontSize:`0.6875rem`,color:`var(--muted-foreground)`}),children:[(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),children:[(0,E.jsx)(y,{icon:S.message,size:12}),` `,e.messages.length,` turns`]}),(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),children:[(0,E.jsx)(y,{icon:S.page,size:12}),` `,e.artifacts.length,` artifacts`]})]})]}),(0,E.jsx)(`section`,{"aria-label":`Shared session content`,className:r({display:`flex`,minWidth:0,minHeight:{base:`32rem`,md:0},flex:1,flexDirection:`column`}),children:(0,E.jsx)(C,{messages:e.messages,artifacts:e.artifacts,annotations:a,activeMessageId:o.activeMessageId,activeArtifactId:o.activeArtifactId,activeAnnotationId:o.activeAnnotationId,mode:o.mode,readOnly:!0,transcript:`continuous`,onModeChange:e=>s({type:`mode`,mode:e}),onSelectMessage:e=>s({type:`message`,messageId:e}),onSelectArtifact:e=>s({type:`artifact`,artifactId:e}),onSelectAnnotation:e=>{let t=a.find(t=>t.id===e);t&&l(t)},renderArtifact:t,className:r({minHeight:0,flex:1})})})]})}function j(e){return`shared:${e.id}`}function M(e){let t=[e.content,e.secondaryContent].filter(e=>typeof e==`string`&&e.length>0);return t.length>0?t.join(`
1
+ import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{M as n,N as r,Tt as i,ni as a,wt as o}from"./index-DCgpDQKf.js";import{t as s}from"./createLucideIcon-C_7xXnHN.js";import{t as c}from"./arrow-left-DwKFZ0Rg.js";import{h as l,t as u}from"./MarkdownBlock-C89ecD-M.js";import{r as d}from"./OpenUIPreview-BrBXAEt4.js";import{t as f}from"./message-square-text-3oqB9UW2.js";import{t as p}from"./user-DEmM1U0O.js";import{i as m,m as h,r as g}from"./trajectory-store-C3qzwrr6.js";import{r as _}from"./Plus-RIb_ldNd.js";import{i as v,n as y}from"./shared-sessions-CwS3OLWR.js";import{t as b}from"./useSeo-fXJau5mP.js";import{l as x,x as S}from"./use-review-passes-DmWsvYdF.js";import{n as C}from"./TrajectoryReviewWorkspace-DSn96Dxb.js";import"./PatternDigestPanel-jmxcLCUX.js";var w=s(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),T=e(t(),1),E=o();function D(e,t,n){return{sessionId:e,mode:t.length>0?`transcript`:`artifact`,activeMessageId:t[0],activeArtifactId:n[0]}}function O(e,t){if(t.type===`reconcile`){if(t.sessionId!==e.sessionId)return D(t.sessionId,t.messageIds,t.artifactIds);let n=e.activeMessageId&&t.messageIds.includes(e.activeMessageId)?e.activeMessageId:t.messageIds[0],r=e.activeArtifactId&&t.artifactIds.includes(e.activeArtifactId)?e.activeArtifactId:t.artifactIds[0],i=e.mode===`transcript`&&!n&&r?`artifact`:e.mode===`artifact`&&!r&&n?`transcript`:e.mode;return{...e,mode:i,activeMessageId:n,activeArtifactId:r,activeAnnotationId:e.activeAnnotationId&&t.annotationIds.includes(e.activeAnnotationId)?e.activeAnnotationId:void 0}}return t.type===`mode`?{...e,mode:t.mode}:t.type===`message`?{...e,mode:`transcript`,activeMessageId:t.messageId,activeAnnotationId:void 0}:t.type===`artifact`?{...e,mode:`artifact`,activeArtifactId:t.artifactId,activeAnnotationId:void 0}:{...e,mode:t.messageId?`transcript`:t.artifactId?`artifact`:e.mode,activeMessageId:t.messageId??e.activeMessageId,activeArtifactId:t.artifactId??e.activeArtifactId,activeAnnotationId:t.annotationId}}function k(e){return!e||!Number.isFinite(e)?null:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`,year:`numeric`}).format(e)}function A({data:e,renderArtifact:t,className:i}){let a=(0,T.useMemo)(()=>e.annotations.filter(e=>e.status===`final`),[e.annotations]),[o,s]=(0,T.useReducer)(O,void 0,()=>D(e.session.id,e.messages.map(e=>e.id),e.artifacts.map(e=>e.id))),c=k(e.session.startedAt);(0,T.useEffect)(()=>{s({type:`reconcile`,sessionId:e.session.id,messageIds:e.messages.map(e=>e.id),artifactIds:e.artifacts.map(e=>e.id),annotationIds:a.map(e=>e.id)})},[e.artifacts,e.messages,e.session.id,a]);function l(t){let n=t.target;if(n.kind===`message`||n.kind===`message-span`){s({type:`annotation`,annotationId:t.id,messageId:n.messageId});return}if(n.kind.startsWith(`artifact`)&&`artifact`in n){let r=g(n.artifact),i=e.artifacts.find(e=>g(e.reference)===r)?.id;s({type:`annotation`,annotationId:t.id,artifactId:i});return}s({type:`annotation`,annotationId:t.id})}return(0,E.jsxs)(`main`,{"aria-label":`Shared session`,className:n(r({display:`flex`,width:`100%`,height:{base:`auto`,md:`min(86dvh, 56rem)`},minHeight:{base:`38rem`,md:`40rem`},flexDirection:`column`,overflow:`hidden`,border:`1px solid var(--border)`,borderRadius:{base:0,md:`0.5rem`},background:`var(--paper, var(--background))`,color:`var(--foreground)`}),i),children:[(0,E.jsxs)(`header`,{className:r({display:`flex`,minHeight:`4rem`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`space-between`,gap:`0.625rem`,borderBottom:`1px solid var(--border)`,padding:{base:`0.625rem 0.75rem`,md:`0.625rem 1rem`}}),children:[(0,E.jsxs)(`div`,{className:r({minWidth:0}),children:[(0,E.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),children:[(0,E.jsx)(`h1`,{className:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`serif`,fontSize:{base:`1rem`,md:`1.125rem`},fontWeight:700,color:`var(--foreground)`}),children:e.session.title}),(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,flex:`0 0 auto`,alignItems:`center`,gap:`0.25rem`,borderRadius:`9999px`,background:`var(--muted)`,padding:`0.15rem 0.4rem`,fontSize:`0.5625rem`,fontWeight:750,letterSpacing:`0.04em`,textTransform:`uppercase`,color:`var(--muted-foreground)`}),children:[(0,E.jsx)(_,{icon:S.inspect,size:10}),` Read only`]})]}),(0,E.jsxs)(`div`,{className:n(x,r({display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`0.35rem`,marginTop:`0.125rem`})),children:[(0,E.jsx)(`span`,{children:`Shared session`}),e.session.subtitle?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,E.jsx)(`span`,{children:e.session.subtitle})]}):null,c?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,E.jsx)(`span`,{children:c})]}):null]})]}),(0,E.jsxs)(`div`,{className:r({display:`flex`,alignItems:`center`,gap:`0.75rem`,fontSize:`0.6875rem`,color:`var(--muted-foreground)`}),children:[(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),children:[(0,E.jsx)(_,{icon:S.message,size:12}),` `,e.messages.length,` turns`]}),(0,E.jsxs)(`span`,{className:r({display:`inline-flex`,alignItems:`center`,gap:`0.25rem`}),children:[(0,E.jsx)(_,{icon:S.page,size:12}),` `,e.artifacts.length,` artifacts`]})]})]}),(0,E.jsx)(`section`,{"aria-label":`Shared session content`,className:r({display:`flex`,minWidth:0,minHeight:{base:`32rem`,md:0},flex:1,flexDirection:`column`}),children:(0,E.jsx)(C,{messages:e.messages,artifacts:e.artifacts,annotations:a,activeMessageId:o.activeMessageId,activeArtifactId:o.activeArtifactId,activeAnnotationId:o.activeAnnotationId,mode:o.mode,readOnly:!0,transcript:`continuous`,onModeChange:e=>s({type:`mode`,mode:e}),onSelectMessage:e=>s({type:`message`,messageId:e}),onSelectArtifact:e=>s({type:`artifact`,artifactId:e}),onSelectAnnotation:e=>{let t=a.find(t=>t.id===e);t&&l(t)},renderArtifact:t,className:r({minHeight:0,flex:1})})})]})}function j(e){return`shared:${e.id}`}function M(e){let t=[e.content,e.secondaryContent].filter(e=>typeof e==`string`&&e.length>0);return t.length>0?t.join(`
2
2
 
3
- `):void 0}function N(e){let t=[];return e.topic&&t.push(`Topic: ${e.topic}.`),(e.contentTruncated||e.secondaryContentTruncated)&&t.push(`Some artifact text was shortened for this link.`),(e.contentOmitted||e.secondaryContentOmitted)&&t.push(`Some artifact text was not included in this link.`),e.previewOmitted&&t.push(`The artifact preview was not included in this link.`),t.length>0?t.join(` `):void 0}function P(e){return g([e.id,e.artifactType,e.format,e.content??``,e.secondaryContent??``,e.preview?.mimeType??``,e.preview?.dataUrl??``,e.preview?.naturalWidth??``,e.preview?.naturalHeight??``].join(`\0`))}function F(e){return`public-asset:${g(e.media?.kind===`image`?e.media.src:e.reference.contentHash)}`}function I(e,t){return{source:{source:`session`,sessionId:j(e),id:t.id},artifactType:t.artifactType,format:t.format,versionId:t.id,contentHash:`public:${P(t)}`,frozen:!0,parentVersionId:t.parentArtifactId}}function L(e,t){let n=I(e,t),r=t.preview?{kind:`image`,src:t.preview.dataUrl,alt:t.preview.alt,assetHash:``,naturalWidth:t.preview.naturalWidth,naturalHeight:t.preview.naturalHeight}:void 0;return r&&(r.assetHash=`public-asset:${g(r.src)}`),{id:t.id,title:t.label,reference:n,summary:N(t),plainText:M(t),media:r,createdAt:t.createdAt,status:`ready`}}function R(e,t,n,r){if(!t)return 0;let i=0,a=-1,o=-1;for(;i<=e.length-t.length;){let s=e.indexOf(t,i);if(s<0)break;let c=s+t.length,l=e.slice(Math.max(0,s-n.length),s),u=e.slice(c,c+r.length),d=Number(l.endsWith(n))+Number(u.startsWith(r));d>o&&(a=s,o=d),i=s+Math.max(1,t.length)}return a}function z(e,t){let n=R(e,t.quote,t.prefix,t.suffix);return n<0||!t.quote?null:{start:n,end:n+t.quote.length,quote:t.quote,prefix:t.prefix,suffix:t.suffix,contentFingerprint:g(e)}}function B(e,t){let n=t.media;return n?.kind===`image`&&[e.x,e.y,e.width,e.height,e.naturalWidth,e.naturalHeight].every(Number.isFinite)&&e.x>=0&&e.y>=0&&e.width>0&&e.height>0&&e.x+e.width<=1&&e.y+e.height<=1&&e.naturalWidth===n.naturalWidth&&e.naturalHeight===n.naturalHeight}function V(e){return[e.startMs,e.endMs].every(Number.isFinite)&&e.startMs>=0&&e.endMs>e.startMs&&(e.durationMs===void 0||Number.isFinite(e.durationMs)&&e.durationMs>0&&e.endMs<=e.durationMs)}function H(e,t,n){switch(e.kind){case`session`:return{kind:`session`};case`message`:{let n=t.get(e.turnId);return n?{kind:`message`,messageId:n.id,role:n.role,contentFingerprint:n.contentFingerprint}:null}case`message-span`:{let n=t.get(e.turnId);if(!n)return null;let r=z(n.text,e);return r?{kind:`message-span`,messageId:n.id,role:n.role,anchor:r}:{kind:`message`,messageId:n.id,role:n.role,contentFingerprint:n.contentFingerprint}}case`artifact`:{let t=n.get(e.artifactId);return t?{kind:`artifact`,artifact:t.reference}:null}case`artifact-span`:{let t=n.get(e.artifactId);if(!t)return null;let r=z(t.plainText??``,e);return r?{kind:`artifact-span`,artifact:t.reference,blockId:e.blockId,anchor:r}:{kind:`artifact`,artifact:t.reference}}case`artifact-region`:{let t=n.get(e.artifactId);return t?B(e,t)?{kind:`artifact-region`,artifact:t.reference,assetHash:F(t),coordinateSpace:e.coordinateSpace,x:e.x,y:e.y,width:e.width,height:e.height,naturalWidth:e.naturalWidth,naturalHeight:e.naturalHeight}:{kind:`artifact`,artifact:t.reference}:null}case`artifact-time-range`:{let t=n.get(e.artifactId);return t?V(e)?{kind:`artifact-time-range`,artifact:t.reference,mediaHash:`public-media:${t.reference.contentHash}`,timeBasis:e.timeBasis,startMs:e.startMs,endMs:e.endMs,durationMs:e.durationMs}:{kind:`artifact`,artifact:t.reference}:null}}}function U(e){let t=e.trajectory;if(!t||t.turns.length===0&&t.artifacts.length===0)return null;let n=j(e),r=t.turns.map(e=>({id:e.id,role:e.role,ordinal:e.ordinal,text:e.text,contentFingerprint:g(e.text),label:e.role===`assistant`?`Keating`:`Learner`,status:`complete`})),i=t.artifacts.map(t=>L(e,t)),a=new Map(r.map(e=>[e.id,e])),o=new Map(i.map(e=>[e.id,e])),s=t.annotations.flatMap(t=>{let r=H(t.target,a,o);return r?[{schemaVersion:1,id:t.id,reviewId:`shared-review:${e.id}`,sessionId:n,target:r,targetKey:_(r),kind:t.kind,category:t.category,severity:t.severity,note:t.note,pedagogicalImpact:t.pedagogicalImpact,suggestedAlternative:t.suggestedAlternative,status:`final`,createdAt:t.createdAt,updatedAt:t.updatedAt}]:[]}),c=Date.parse(e.createdAt);return{session:{id:n,title:e.title,subtitle:`${r.length} turn${r.length===1?``:`s`} · ${i.length} artifact${i.length===1?``:`s`}`,startedAt:Number.isFinite(c)?c:void 0,learnerLabel:`Learner`},messages:r,artifacts:i,annotations:s,review:t.review?{verdict:t.review.verdict,ratings:t.review.ratings,overallRating:t.review.overallRating,summary:t.review.summary}:void 0}}function W(e){let t=e.trajectory?.omitted;if(!t)return{hasOmissions:!1,items:[]};let n=[t.turns>0?`${t.turns} turn${t.turns===1?``:`s`}`:null,t.artifacts>0?`${t.artifacts} artifact${t.artifacts===1?``:`s`}`:null,t.annotations>0?`${t.annotations} review note${t.annotations===1?``:`s`}`:null,t.artifactContents>0?`${t.artifactContents} artifact text section${t.artifactContents===1?``:`s`}`:null,t.artifactPreviews>0?`${t.artifactPreviews} artifact preview${t.artifactPreviews===1?``:`s`}`:null].filter(e=>!!e);return{hasOmissions:n.length>0,items:n}}var G={page:r({minH:`100vh`,bg:`var(--background)`,color:`var(--foreground)`}),center:r({display:`flex`,minH:`100vh`,alignItems:`center`,justifyContent:`center`,fontSize:`0.875rem`,color:`var(--muted-foreground)`}),notFound:r({mx:`auto`,display:`flex`,minH:`100vh`,maxW:`48rem`,flexDir:`column`,alignItems:`center`,justifyContent:`center`,px:`1rem`,textAlign:`center`}),iconMuted:r({mb:`1rem`,color:`var(--muted-foreground)`}),h1:r({fontSize:`1.25rem`,fontWeight:`600`}),notFoundCopy:r({mt:`0.5rem`,fontSize:`0.875rem`,color:`var(--muted-foreground)`}),outlineButton:r({display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,px:`0.75rem`,fontSize:`0.875rem`,_hover:{bg:`var(--accent)`}}),backButton:r({mt:`1.5rem`,display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,px:`0.75rem`,fontSize:`0.875rem`,_hover:{bg:`var(--accent)`}}),header:r({borderBottom:`1px solid var(--border)`}),headerInner:r({mx:`auto`,display:`flex`,maxW:`56rem`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`space-between`,gap:`0.75rem`,px:`1rem`,py:`1rem`}),headerInnerRich:r({maxW:`88rem`}),minW0:r({minW:0}),eyebrow:r({fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`0.025em`,color:`var(--muted-foreground)`}),title:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontSize:`1.25rem`,fontWeight:`600`}),meta:r({mt:`0.25rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),modelBadge:r({mt:`0.5rem`,display:`inline-flex`,maxW:`100%`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid color-mix(in srgb, var(--primary) 30%, transparent)`,bg:`color-mix(in srgb, var(--primary) 10%, transparent)`,px:`0.5rem`,py:`0.25rem`,fontSize:`0.75rem`,color:`var(--primary)`}),shrink0:r({flexShrink:0}),truncate:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),modelDetails:r({display:`none`,color:`color-mix(in srgb, var(--primary) 80%, transparent)`,sm:{display:`inline`}}),headerActions:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),primaryButton:r({display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,bg:`var(--primary)`,px:`0.75rem`,fontSize:`0.875rem`,color:`var(--primary-foreground)`,_hover:{bg:`color-mix(in srgb, var(--primary) 90%, transparent)`},_disabled:{opacity:.6}}),main:r({mx:`auto`,maxW:`56rem`,px:`1rem`,py:`1.5rem`}),richMain:r({mx:`auto`,maxW:`88rem`,px:{base:0,md:`1rem`},py:{base:`0.75rem`,md:`1.25rem`}}),error:r({mb:`1rem`,borderRadius:`0.375rem`,border:`1px solid color-mix(in srgb, var(--destructive) 30%, transparent)`,bg:`color-mix(in srgb, var(--destructive) 5%, transparent)`,px:`0.75rem`,py:`0.5rem`,fontSize:`0.875rem`,color:`var(--destructive)`}),omissionNotice:r({mx:{base:`0.75rem`,md:0},mb:`0.75rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,bg:`var(--muted)`,px:`0.75rem`,py:`0.625rem`,fontSize:`0.75rem`,lineHeight:1.5,color:`var(--foreground)`}),omissionMeta:r({mt:`0.125rem`,color:`var(--muted-foreground)`}),messageStack:r({"& > * + *":{mt:`1rem`}}),messageArticle:r({borderRadius:`0.5rem`,border:`1px solid`,bg:`var(--background)`,p:`1rem`}),assistantArticle:r({borderColor:`color-mix(in srgb, var(--primary) 30%, transparent)`,borderLeftWidth:`4px`,borderLeftColor:`var(--primary)`}),learnerArticle:r({borderColor:`rgba(245, 158, 11, 0.4)`,borderLeftWidth:`4px`,borderLeftColor:`#f59e0b`,bg:`rgba(245, 158, 11, 0.05)`}),messageHeader:r({mb:`0.75rem`,display:`flex`,alignItems:`center`,gap:`0.5rem`,fontSize:`0.75rem`,fontWeight:`500`,textTransform:`uppercase`,letterSpacing:`0.025em`}),assistantText:r({color:`var(--primary)`}),learnerText:r({color:`#b45309`,_dark:{color:`#fcd34d`}}),markdown:r({maxW:`none`})};function K(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function q(e){let t=e?.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>e?.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
4
- `):``}function J(e){return e?.role===`assistant`?`Keating`:`Learner`}function Y(e){let t=e.model;return t?t.name||t.id:`Unknown model`}function X(e){let t=e.model;return[t?t.provider:`unknown provider`,e.thinkingLevel?`${e.thinkingLevel} reasoning`:null].filter(Boolean).join(` | `)}function Z(){b({title:`Keating Shared Session`,description:`View a shared Keating tutoring session with conversation, teaching artifacts, and published review feedback.`});let e=a(),t=i(),r=(0,T.useMemo)(()=>decodeURIComponent(window.location.pathname.split(`/`).pop()??``),[]),[o,s]=(0,T.useState)(null),[g,_]=(0,T.useState)(!0),[v,y]=(0,T.useState)(!1),[x,S]=(0,T.useState)(!1),[C,D]=(0,T.useState)(``),O=(0,T.useMemo)(()=>o?U(o):null,[o]),k=(0,T.useMemo)(()=>o?W(o):null,[o]);return(0,T.useEffect)(()=>{let t=!1;return _(!0),s(null),D(``),h(r,window.location.hash).then(n=>{t||(n.ok?(s(n.session),e?.capture(`shared_session_opened`,{success:!0,source:n.source,message_count:n.session.messageCount,artifact_count:n.session.trajectory?.artifactCount??0,review_included:!!n.session.trajectory?.review,provider:n.session.model?.provider??`unknown`})):(D(n.message),e?.capture(`shared_session_opened`,{success:!1,failure_type:n.reason})))}).catch(n=>{t||(D(n instanceof Error?n.message:`Could not load the shared session.`),s(null),e?.capture(`shared_session_opened`,{success:!1,failure_type:`unexpected`}))}).finally(()=>{t||_(!1)}),()=>{t=!0}},[e,r]),g?(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsx)(`div`,{className:G.center,children:`Loading shared session...`})}):o?(0,E.jsxs)(`div`,{className:G.page,children:[(0,E.jsx)(`header`,{className:G.header,children:(0,E.jsxs)(`div`,{className:n(G.headerInner,O?G.headerInnerRich:void 0),children:[(0,E.jsxs)(`div`,{className:G.minW0,children:[(0,E.jsx)(`p`,{className:G.eyebrow,children:`Shared Keating session`}),O?null:(0,E.jsx)(`h1`,{className:G.title,children:o.title}),(0,E.jsx)(`p`,{className:G.meta,children:O?`${O.messages.length} turns | ${O.artifacts.length} artifacts | Shared ${K(o.sharedAt)}`:`${o.messageCount} messages | Shared ${K(o.sharedAt)}`}),(0,E.jsxs)(`div`,{className:G.modelBadge,children:[(0,E.jsx)(w,{size:13,className:G.shrink0}),(0,E.jsxs)(`span`,{className:G.truncate,children:[`Shared from `,Y(o)]}),(0,E.jsxs)(`span`,{className:G.modelDetails,children:[`| `,X(o)]})]})]}),(0,E.jsxs)(`div`,{className:G.headerActions,children:[(0,E.jsxs)(`button`,{className:G.outlineButton,onClick:async()=>{await navigator.clipboard?.writeText(window.location.href),e?.capture(`shared_session_link_copied`,{clipboard_available:!!navigator.clipboard}),y(!0),window.setTimeout(()=>y(!1),1500)},children:[(0,E.jsx)(l,{size:16}),v?`Copied`:`Copy link`]}),(0,E.jsxs)(`button`,{className:G.primaryButton,disabled:x,title:`Starts a new chat from the shared conversation`,onClick:async()=>{if(o){S(!0),D(``);try{await p(o),e?.capture(`shared_session_forked`,{success:!0,message_count:o.messageCount,artifact_count:o.trajectory?.artifactCount??0,provider:o.model?.provider??`unknown`}),await t({to:`/chat`})}catch(t){e?.capture(`shared_session_forked`,{success:!1,failure_type:t instanceof Error?t.name:`unknown`}),D(t instanceof Error?t.message:`Failed to fork session`)}finally{S(!1)}}},children:[(0,E.jsx)(d,{size:16}),x?`Forking`:`Start from this`]})]})]})}),O?(0,E.jsxs)(`div`,{className:G.richMain,children:[C?(0,E.jsx)(`div`,{className:G.error,children:C}):null,k?.hasOmissions?(0,E.jsxs)(`div`,{role:`note`,className:G.omissionNotice,children:[(0,E.jsx)(`div`,{children:`Some details were left out because they were private, unsupported, or too large for this link.`}),(0,E.jsx)(`div`,{className:G.omissionMeta,children:k.items.join(` · `)})]}):null,(0,E.jsx)(A,{data:O})]}):(0,E.jsxs)(`main`,{className:G.main,children:[C?(0,E.jsx)(`div`,{className:G.error,children:C}):null,(0,E.jsx)(`div`,{className:G.messageStack,children:o.messages.map((e,t)=>{let r=e.role===`assistant`,i=r?w:m;return(0,E.jsxs)(`article`,{className:n(G.messageArticle,r?G.assistantArticle:G.learnerArticle),children:[(0,E.jsxs)(`div`,{className:n(G.messageHeader,r?G.assistantText:G.learnerText),children:[(0,E.jsx)(i,{size:13}),(0,E.jsx)(`span`,{children:J(e)})]}),(0,E.jsx)(`div`,{className:G.markdown,children:(0,E.jsx)(u,{content:q(e)})})]},t)})})]})]}):(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsxs)(`div`,{className:G.notFound,children:[(0,E.jsx)(f,{className:G.iconMuted,size:32}),(0,E.jsx)(`h1`,{className:G.h1,children:`Shared session not found`}),(0,E.jsx)(`p`,{className:G.notFoundCopy,children:C||`This share link is missing its session snapshot. Ask for a fresh link or open a cached share from this browser.`}),(0,E.jsxs)(`button`,{className:G.backButton,onClick:()=>t({to:`/chat`}),children:[(0,E.jsx)(c,{size:16}),`Back to chat`]})]})})}function Q(){return(0,E.jsx)(T.Suspense,{fallback:(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsx)(`div`,{className:G.center,children:`Loading shared session...`})}),children:(0,E.jsx)(Z,{})})}export{Q as SharedSession};
3
+ `):void 0}function N(e){let t=[];return e.topic&&t.push(`Topic: ${e.topic}.`),(e.contentTruncated||e.secondaryContentTruncated)&&t.push(`Some artifact text was shortened for this link.`),(e.contentOmitted||e.secondaryContentOmitted)&&t.push(`Some artifact text was not included in this link.`),e.previewOmitted&&t.push(`The artifact preview was not included in this link.`),t.length>0?t.join(` `):void 0}function P(e){return m([e.id,e.artifactType,e.format,e.content??``,e.secondaryContent??``,e.preview?.mimeType??``,e.preview?.dataUrl??``,e.preview?.naturalWidth??``,e.preview?.naturalHeight??``].join(`\0`))}function F(e){return`public-asset:${m(e.media?.kind===`image`?e.media.src:e.reference.contentHash)}`}function I(e,t){return{source:{source:`session`,sessionId:j(e),id:t.id},artifactType:t.artifactType,format:t.format,versionId:t.id,contentHash:`public:${P(t)}`,frozen:!0,parentVersionId:t.parentArtifactId}}function L(e,t){let n=I(e,t),r=t.preview?{kind:`image`,src:t.preview.dataUrl,alt:t.preview.alt,assetHash:``,naturalWidth:t.preview.naturalWidth,naturalHeight:t.preview.naturalHeight}:void 0;return r&&(r.assetHash=`public-asset:${m(r.src)}`),{id:t.id,title:t.label,reference:n,summary:N(t),plainText:M(t),media:r,createdAt:t.createdAt,status:`ready`}}function R(e,t,n,r){if(!t)return 0;let i=0,a=-1,o=-1;for(;i<=e.length-t.length;){let s=e.indexOf(t,i);if(s<0)break;let c=s+t.length,l=e.slice(Math.max(0,s-n.length),s),u=e.slice(c,c+r.length),d=Number(l.endsWith(n))+Number(u.startsWith(r));d>o&&(a=s,o=d),i=s+Math.max(1,t.length)}return a}function z(e,t){let n=R(e,t.quote,t.prefix,t.suffix);return n<0||!t.quote?null:{start:n,end:n+t.quote.length,quote:t.quote,prefix:t.prefix,suffix:t.suffix,contentFingerprint:m(e)}}function B(e,t){let n=t.media;return n?.kind===`image`&&[e.x,e.y,e.width,e.height,e.naturalWidth,e.naturalHeight].every(Number.isFinite)&&e.x>=0&&e.y>=0&&e.width>0&&e.height>0&&e.x+e.width<=1&&e.y+e.height<=1&&e.naturalWidth===n.naturalWidth&&e.naturalHeight===n.naturalHeight}function V(e){return[e.startMs,e.endMs].every(Number.isFinite)&&e.startMs>=0&&e.endMs>e.startMs&&(e.durationMs===void 0||Number.isFinite(e.durationMs)&&e.durationMs>0&&e.endMs<=e.durationMs)}function H(e,t,n){switch(e.kind){case`session`:return{kind:`session`};case`message`:{let n=t.get(e.turnId);return n?{kind:`message`,messageId:n.id,role:n.role,contentFingerprint:n.contentFingerprint}:null}case`message-span`:{let n=t.get(e.turnId);if(!n)return null;let r=z(n.text,e);return r?{kind:`message-span`,messageId:n.id,role:n.role,anchor:r}:{kind:`message`,messageId:n.id,role:n.role,contentFingerprint:n.contentFingerprint}}case`artifact`:{let t=n.get(e.artifactId);return t?{kind:`artifact`,artifact:t.reference}:null}case`artifact-span`:{let t=n.get(e.artifactId);if(!t)return null;let r=z(t.plainText??``,e);return r?{kind:`artifact-span`,artifact:t.reference,blockId:e.blockId,anchor:r}:{kind:`artifact`,artifact:t.reference}}case`artifact-region`:{let t=n.get(e.artifactId);return t?B(e,t)?{kind:`artifact-region`,artifact:t.reference,assetHash:F(t),coordinateSpace:e.coordinateSpace,x:e.x,y:e.y,width:e.width,height:e.height,naturalWidth:e.naturalWidth,naturalHeight:e.naturalHeight}:{kind:`artifact`,artifact:t.reference}:null}case`artifact-time-range`:{let t=n.get(e.artifactId);return t?V(e)?{kind:`artifact-time-range`,artifact:t.reference,mediaHash:`public-media:${t.reference.contentHash}`,timeBasis:e.timeBasis,startMs:e.startMs,endMs:e.endMs,durationMs:e.durationMs}:{kind:`artifact`,artifact:t.reference}:null}}}function U(e){let t=e.trajectory;if(!t||t.turns.length===0&&t.artifacts.length===0)return null;let n=j(e),r=t.turns.map(e=>({id:e.id,role:e.role,ordinal:e.ordinal,text:e.text,contentFingerprint:m(e.text),label:e.role===`assistant`?`Keating`:`Learner`,status:`complete`})),i=t.artifacts.map(t=>L(e,t)),a=new Map(r.map(e=>[e.id,e])),o=new Map(i.map(e=>[e.id,e])),s=t.annotations.flatMap(t=>{let r=H(t.target,a,o);return r?[{schemaVersion:1,id:t.id,reviewId:`shared-review:${e.id}`,sessionId:n,target:r,targetKey:h(r),kind:t.kind,category:t.category,severity:t.severity,note:t.note,pedagogicalImpact:t.pedagogicalImpact,suggestedAlternative:t.suggestedAlternative,status:`final`,createdAt:t.createdAt,updatedAt:t.updatedAt}]:[]}),c=Date.parse(e.createdAt);return{session:{id:n,title:e.title,subtitle:`${r.length} turn${r.length===1?``:`s`} · ${i.length} artifact${i.length===1?``:`s`}`,startedAt:Number.isFinite(c)?c:void 0,learnerLabel:`Learner`},messages:r,artifacts:i,annotations:s,review:t.review?{verdict:t.review.verdict,ratings:t.review.ratings,overallRating:t.review.overallRating,summary:t.review.summary}:void 0}}function W(e){let t=e.trajectory?.omitted;if(!t)return{hasOmissions:!1,items:[]};let n=[t.turns>0?`${t.turns} turn${t.turns===1?``:`s`}`:null,t.artifacts>0?`${t.artifacts} artifact${t.artifacts===1?``:`s`}`:null,t.annotations>0?`${t.annotations} review note${t.annotations===1?``:`s`}`:null,t.artifactContents>0?`${t.artifactContents} artifact text section${t.artifactContents===1?``:`s`}`:null,t.artifactPreviews>0?`${t.artifactPreviews} artifact preview${t.artifactPreviews===1?``:`s`}`:null].filter(e=>!!e);return{hasOmissions:n.length>0,items:n}}var G={page:r({minH:`100vh`,bg:`var(--background)`,color:`var(--foreground)`}),center:r({display:`flex`,minH:`100vh`,alignItems:`center`,justifyContent:`center`,fontSize:`0.875rem`,color:`var(--muted-foreground)`}),notFound:r({mx:`auto`,display:`flex`,minH:`100vh`,maxW:`48rem`,flexDir:`column`,alignItems:`center`,justifyContent:`center`,px:`1rem`,textAlign:`center`}),iconMuted:r({mb:`1rem`,color:`var(--muted-foreground)`}),h1:r({fontSize:`1.25rem`,fontWeight:`600`}),notFoundCopy:r({mt:`0.5rem`,fontSize:`0.875rem`,color:`var(--muted-foreground)`}),outlineButton:r({display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,px:`0.75rem`,fontSize:`0.875rem`,_hover:{bg:`var(--accent)`}}),backButton:r({mt:`1.5rem`,display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,px:`0.75rem`,fontSize:`0.875rem`,_hover:{bg:`var(--accent)`}}),header:r({borderBottom:`1px solid var(--border)`}),headerInner:r({mx:`auto`,display:`flex`,maxW:`56rem`,flexWrap:`wrap`,alignItems:`center`,justifyContent:`space-between`,gap:`0.75rem`,px:`1rem`,py:`1rem`}),headerInnerRich:r({maxW:`88rem`}),minW0:r({minW:0}),eyebrow:r({fontSize:`0.75rem`,textTransform:`uppercase`,letterSpacing:`0.025em`,color:`var(--muted-foreground)`}),title:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontSize:`1.25rem`,fontWeight:`600`}),meta:r({mt:`0.25rem`,fontSize:`0.75rem`,color:`var(--muted-foreground)`}),modelBadge:r({mt:`0.5rem`,display:`inline-flex`,maxW:`100%`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,border:`1px solid color-mix(in srgb, var(--primary) 30%, transparent)`,bg:`color-mix(in srgb, var(--primary) 10%, transparent)`,px:`0.5rem`,py:`0.25rem`,fontSize:`0.75rem`,color:`var(--primary)`}),shrink0:r({flexShrink:0}),truncate:r({overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),modelDetails:r({display:`none`,color:`color-mix(in srgb, var(--primary) 80%, transparent)`,sm:{display:`inline`}}),headerActions:r({display:`flex`,alignItems:`center`,gap:`0.5rem`}),primaryButton:r({display:`inline-flex`,h:`2.25rem`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,bg:`var(--primary)`,px:`0.75rem`,fontSize:`0.875rem`,color:`var(--primary-foreground)`,_hover:{bg:`color-mix(in srgb, var(--primary) 90%, transparent)`},_disabled:{opacity:.6}}),main:r({mx:`auto`,maxW:`56rem`,px:`1rem`,py:`1.5rem`}),richMain:r({mx:`auto`,maxW:`88rem`,px:{base:0,md:`1rem`},py:{base:`0.75rem`,md:`1.25rem`}}),error:r({mb:`1rem`,borderRadius:`0.375rem`,border:`1px solid color-mix(in srgb, var(--destructive) 30%, transparent)`,bg:`color-mix(in srgb, var(--destructive) 5%, transparent)`,px:`0.75rem`,py:`0.5rem`,fontSize:`0.875rem`,color:`var(--destructive)`}),omissionNotice:r({mx:{base:`0.75rem`,md:0},mb:`0.75rem`,borderRadius:`0.375rem`,border:`1px solid var(--border)`,bg:`var(--muted)`,px:`0.75rem`,py:`0.625rem`,fontSize:`0.75rem`,lineHeight:1.5,color:`var(--foreground)`}),omissionMeta:r({mt:`0.125rem`,color:`var(--muted-foreground)`}),messageStack:r({"& > * + *":{mt:`1rem`}}),messageArticle:r({borderRadius:`0.5rem`,border:`1px solid`,bg:`var(--background)`,p:`1rem`}),assistantArticle:r({borderColor:`color-mix(in srgb, var(--primary) 30%, transparent)`,borderLeftWidth:`4px`,borderLeftColor:`var(--primary)`}),learnerArticle:r({borderColor:`rgba(245, 158, 11, 0.4)`,borderLeftWidth:`4px`,borderLeftColor:`#f59e0b`,bg:`rgba(245, 158, 11, 0.05)`}),messageHeader:r({mb:`0.75rem`,display:`flex`,alignItems:`center`,gap:`0.5rem`,fontSize:`0.75rem`,fontWeight:`500`,textTransform:`uppercase`,letterSpacing:`0.025em`}),assistantText:r({color:`var(--primary)`}),learnerText:r({color:`#b45309`,_dark:{color:`#fcd34d`}}),markdown:r({maxW:`none`})};function K(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function q(e){let t=e?.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>e?.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
4
+ `):``}function J(e){return e?.role===`assistant`?`Keating`:`Learner`}function Y(e){let t=e.model;return t?t.name||t.id:`Unknown model`}function X(e){let t=e.model;return[t?t.provider:`unknown provider`,e.thinkingLevel?`${e.thinkingLevel} reasoning`:null].filter(Boolean).join(` | `)}function Z(){b({title:`Keating Shared Session`,description:`View a shared Keating tutoring session with conversation, teaching artifacts, and published review feedback.`});let e=a(),t=i(),r=(0,T.useMemo)(()=>decodeURIComponent(window.location.pathname.split(`/`).pop()??``),[]),[o,s]=(0,T.useState)(null),[m,h]=(0,T.useState)(!0),[g,_]=(0,T.useState)(!1),[x,S]=(0,T.useState)(!1),[C,D]=(0,T.useState)(``),O=(0,T.useMemo)(()=>o?U(o):null,[o]),k=(0,T.useMemo)(()=>o?W(o):null,[o]);return(0,T.useEffect)(()=>{let t=!1;return h(!0),s(null),D(``),v(r,window.location.hash).then(n=>{t||(n.ok?(s(n.session),e?.capture(`shared_session_opened`,{success:!0,source:n.source,message_count:n.session.messageCount,artifact_count:n.session.trajectory?.artifactCount??0,review_included:!!n.session.trajectory?.review,provider:n.session.model?.provider??`unknown`})):(D(n.message),e?.capture(`shared_session_opened`,{success:!1,failure_type:n.reason})))}).catch(n=>{t||(D(n instanceof Error?n.message:`Could not load the shared session.`),s(null),e?.capture(`shared_session_opened`,{success:!1,failure_type:`unexpected`}))}).finally(()=>{t||h(!1)}),()=>{t=!0}},[e,r]),m?(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsx)(`div`,{className:G.center,children:`Loading shared session...`})}):o?(0,E.jsxs)(`div`,{className:G.page,children:[(0,E.jsx)(`header`,{className:G.header,children:(0,E.jsxs)(`div`,{className:n(G.headerInner,O?G.headerInnerRich:void 0),children:[(0,E.jsxs)(`div`,{className:G.minW0,children:[(0,E.jsx)(`p`,{className:G.eyebrow,children:`Shared Keating session`}),O?null:(0,E.jsx)(`h1`,{className:G.title,children:o.title}),(0,E.jsx)(`p`,{className:G.meta,children:O?`${O.messages.length} turns | ${O.artifacts.length} artifacts | Shared ${K(o.sharedAt)}`:`${o.messageCount} messages | Shared ${K(o.sharedAt)}`}),(0,E.jsxs)(`div`,{className:G.modelBadge,children:[(0,E.jsx)(w,{size:13,className:G.shrink0}),(0,E.jsxs)(`span`,{className:G.truncate,children:[`Shared from `,Y(o)]}),(0,E.jsxs)(`span`,{className:G.modelDetails,children:[`| `,X(o)]})]})]}),(0,E.jsxs)(`div`,{className:G.headerActions,children:[(0,E.jsxs)(`button`,{className:G.outlineButton,onClick:async()=>{await navigator.clipboard?.writeText(window.location.href),e?.capture(`shared_session_link_copied`,{clipboard_available:!!navigator.clipboard}),_(!0),window.setTimeout(()=>_(!1),1500)},children:[(0,E.jsx)(l,{size:16}),g?`Copied`:`Copy link`]}),(0,E.jsxs)(`button`,{className:G.primaryButton,disabled:x,title:`Starts a new chat from the shared conversation`,onClick:async()=>{if(o){S(!0),D(``);try{await y(o),e?.capture(`shared_session_forked`,{success:!0,message_count:o.messageCount,artifact_count:o.trajectory?.artifactCount??0,provider:o.model?.provider??`unknown`}),await t({to:`/chat`})}catch(t){e?.capture(`shared_session_forked`,{success:!1,failure_type:t instanceof Error?t.name:`unknown`}),D(t instanceof Error?t.message:`Failed to fork session`)}finally{S(!1)}}},children:[(0,E.jsx)(d,{size:16}),x?`Forking`:`Start from this`]})]})]})}),O?(0,E.jsxs)(`div`,{className:G.richMain,children:[C?(0,E.jsx)(`div`,{className:G.error,children:C}):null,k?.hasOmissions?(0,E.jsxs)(`div`,{role:`note`,className:G.omissionNotice,children:[(0,E.jsx)(`div`,{children:`Some details were left out because they were private, unsupported, or too large for this link.`}),(0,E.jsx)(`div`,{className:G.omissionMeta,children:k.items.join(` · `)})]}):null,(0,E.jsx)(A,{data:O})]}):(0,E.jsxs)(`main`,{className:G.main,children:[C?(0,E.jsx)(`div`,{className:G.error,children:C}):null,(0,E.jsx)(`div`,{className:G.messageStack,children:o.messages.map((e,t)=>{let r=e.role===`assistant`,i=r?w:p;return(0,E.jsxs)(`article`,{className:n(G.messageArticle,r?G.assistantArticle:G.learnerArticle),children:[(0,E.jsxs)(`div`,{className:n(G.messageHeader,r?G.assistantText:G.learnerText),children:[(0,E.jsx)(i,{size:13}),(0,E.jsx)(`span`,{children:J(e)})]}),(0,E.jsx)(`div`,{className:G.markdown,children:(0,E.jsx)(u,{content:q(e)})})]},t)})})]})]}):(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsxs)(`div`,{className:G.notFound,children:[(0,E.jsx)(f,{className:G.iconMuted,size:32}),(0,E.jsx)(`h1`,{className:G.h1,children:`Shared session not found`}),(0,E.jsx)(`p`,{className:G.notFoundCopy,children:C||`This share link is missing its session snapshot. Ask for a fresh link or open a cached share from this browser.`}),(0,E.jsxs)(`button`,{className:G.backButton,onClick:()=>t({to:`/chat`}),children:[(0,E.jsx)(c,{size:16}),`Back to chat`]})]})})}function Q(){return(0,E.jsx)(T.Suspense,{fallback:(0,E.jsx)(`div`,{className:G.page,children:(0,E.jsx)(`div`,{className:G.center,children:`Loading shared session...`})}),children:(0,E.jsx)(Z,{})})}export{Q as SharedSession};
@@ -1 +1 @@
1
- import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{N as n,wt as r}from"./index-C8C76R86.js";import{t as i}from"./createLucideIcon-C_7xXnHN.js";import{t as a}from"./sun-DMbmf-Gm.js";import{m as o}from"./recipes-BcSW8MlI.js";var s=i(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),c=e(t(),1),l=r(),u=n({display:`flex`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,paddingInline:`0.75rem`,paddingBlock:`0.5rem`,textAlign:`left`,fontSize:`0.875rem`,transitionProperty:`color, background-color`,transitionDuration:`{durations.fast}`,transitionTimingFunction:`{easings.standard}`,_hover:{background:`var(--accent)`,color:`var(--accent-foreground)`}}),d=o({size:`lg`,tone:`ghost`});function f(){if(typeof document>`u`)return!1;let e=document.documentElement;if(e.classList.contains(`dark`)||e.classList.contains(`light`))return e.classList.contains(`dark`);let t=localStorage.getItem(`theme`);return t===`dark`?!0:t===`light`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}function p({className:e=``,variant:t=`icon`,onToggled:n}={}){let[r,i]=(0,c.useState)(()=>f());(0,c.useEffect)(()=>{let e=new MutationObserver(()=>{i(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]);let o=(0,c.useCallback)(()=>{let e=document.documentElement,t=!e.classList.contains(`dark`);t?(e.classList.add(`dark`),localStorage.setItem(`theme`,`dark`)):(e.classList.remove(`dark`),localStorage.setItem(`theme`,`light`)),i(t),n?.()},[n]),p=r?`Switch to light mode`:`Switch to dark mode`;return t===`menu`?(0,l.jsxs)(`button`,{type:`button`,onClick:o,className:`${u} ${e}`.trim(),"aria-label":p,children:[r?(0,l.jsx)(a,{size:14}):(0,l.jsx)(s,{size:14}),r?`Light mode`:`Dark mode`]}):(0,l.jsx)(`button`,{type:`button`,onClick:o,className:`chat-action-button ${d} ${e}`.trim(),title:p,"aria-label":p,children:r?(0,l.jsx)(a,{size:16}):(0,l.jsx)(s,{size:16})})}export{p as t};
1
+ import{s as e}from"./rolldown-runtime-BG2f4sTM.js";import{T as t}from"./syntax-highlighter-Buac5fmw.js";import{N as n,wt as r}from"./index-DCgpDQKf.js";import{t as i}from"./createLucideIcon-C_7xXnHN.js";import{t as a}from"./sun-DMbmf-Gm.js";import{m as o}from"./recipes-lg2hVa6Q.js";var s=i(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),c=e(t(),1),l=r(),u=n({display:`flex`,alignItems:`center`,gap:`0.5rem`,borderRadius:`0.375rem`,paddingInline:`0.75rem`,paddingBlock:`0.5rem`,textAlign:`left`,fontSize:`0.875rem`,transitionProperty:`color, background-color`,transitionDuration:`{durations.fast}`,transitionTimingFunction:`{easings.standard}`,_hover:{background:`var(--accent)`,color:`var(--accent-foreground)`}}),d=o({size:`lg`,tone:`ghost`});function f(){if(typeof document>`u`)return!1;let e=document.documentElement;if(e.classList.contains(`dark`)||e.classList.contains(`light`))return e.classList.contains(`dark`);let t=localStorage.getItem(`theme`);return t===`dark`?!0:t===`light`?!1:window.matchMedia(`(prefers-color-scheme: dark)`).matches}function p({className:e=``,variant:t=`icon`,onToggled:n}={}){let[r,i]=(0,c.useState)(()=>f());(0,c.useEffect)(()=>{let e=new MutationObserver(()=>{i(document.documentElement.classList.contains(`dark`))});return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]);let o=(0,c.useCallback)(()=>{let e=document.documentElement,t=!e.classList.contains(`dark`);t?(e.classList.add(`dark`),localStorage.setItem(`theme`,`dark`)):(e.classList.remove(`dark`),localStorage.setItem(`theme`,`light`)),i(t),n?.()},[n]),p=r?`Switch to light mode`:`Switch to dark mode`;return t===`menu`?(0,l.jsxs)(`button`,{type:`button`,onClick:o,className:`${u} ${e}`.trim(),"aria-label":p,children:[r?(0,l.jsx)(a,{size:14}):(0,l.jsx)(s,{size:14}),r?`Light mode`:`Dark mode`]}):(0,l.jsx)(`button`,{type:`button`,onClick:o,className:`chat-action-button ${d} ${e}`.trim(),title:p,"aria-label":p,children:r?(0,l.jsx)(a,{size:16}):(0,l.jsx)(s,{size:16})})}export{p as t};