@mavea/mavea 2.0.1 → 2.1.0

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 (265) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/PRIVACY.md +9 -2
  3. package/README.md +13 -1
  4. package/SECURITY.md +1 -1
  5. package/TERMS.md +4 -2
  6. package/TRADEMARKS.md +3 -1
  7. package/dist/.vite/manifest.json +898 -858
  8. package/dist/assets/AnnotationLayer-BRYhJ1LB.css +1 -0
  9. package/dist/assets/AnnotationLayer-Bh1yiSAK.js +2 -0
  10. package/dist/assets/{AppCommandPalette-Cucwjk5N.js → AppCommandPalette-DS4sLY_K.js} +1 -1
  11. package/dist/assets/{AtlasView-DO_p0TdZ.js → AtlasView-CYZ9sfXb.js} +1 -1
  12. package/dist/assets/BlockEmpty-B-giiUPy.js +1 -0
  13. package/dist/assets/{CadenceCard-DxceyiPA.js → CadenceCard-j1V7XOxX.js} +1 -1
  14. package/dist/assets/{CheckLogRail-vq2lZ7a5.js → CheckLogRail-onH7DaxW.js} +1 -1
  15. package/dist/assets/{CommandPalette-Bs6tpdZl.js → CommandPalette-Cz8h94Jd.js} +1 -1
  16. package/dist/assets/ConversationVideoStudio-adb7legp.js +1 -0
  17. package/dist/assets/CourseLessonReader-CkzViEij.js +2 -0
  18. package/dist/assets/CourseLessonReader-DNHFQOkX.css +1 -0
  19. package/dist/assets/{CourseRail-CUa7uIGG.css → CourseRail-BDQIWara.css} +1 -1
  20. package/dist/assets/{CourseRail-BQmUsG6v.js → CourseRail-DD8gtAn4.js} +1 -1
  21. package/dist/assets/CoursesApp-B0HFM8Al.js +2 -0
  22. package/dist/assets/{DashPresent-DZcRdu6R.js → DashPresent-BdOJ7F9D.js} +1 -1
  23. package/dist/assets/DashboardDetail-Chrpi1Yk.js +2 -0
  24. package/dist/assets/DashboardLoopGate-B01Hpm7O.js +2 -0
  25. package/dist/assets/DashboardLoopRuntime-BcdZtIgH.js +1 -0
  26. package/dist/assets/{DashboardSettings-DJon1Q4o.js → DashboardSettings-5tn-dw6G.js} +1 -1
  27. package/dist/assets/DashboardsApp--jjj-GVX.js +2 -0
  28. package/dist/assets/DeepZoomApp-BpQbKTjc.js +37 -0
  29. package/dist/assets/DelegatePanel-e4y0CJsn.js +33 -0
  30. package/dist/assets/{DemoGallery-BcQ9yz2u.js → DemoGallery-DF1ShRG4.js} +1 -1
  31. package/dist/assets/{DropSelect-GKioj__f.js → DropSelect-D3Q9Su_x.js} +1 -1
  32. package/dist/assets/{ExportModal-1pWr-c7I.js → ExportModal-DkmyBpeN.js} +1 -1
  33. package/dist/assets/ExportModal-sX8MPVPW.css +1 -0
  34. package/dist/assets/{ExtractionPreview-TKyfEqwM.js → ExtractionPreview-C6F1q3qG.js} +2 -2
  35. package/dist/assets/FeatureUseNotice-CCI4mM39.js +1 -0
  36. package/dist/assets/{FlagshipCommandPalette-D1pv3hfZ.js → FlagshipCommandPalette-BkjvGrKT.js} +1 -1
  37. package/dist/assets/{FlagshipShowcase-CCFFcaL7.js → FlagshipShowcase-Dx2noFrP.js} +1 -1
  38. package/dist/assets/{FlashcardsApp-Dbe-8UkQ.js → FlashcardsApp-C1TeLlkY.js} +1 -1
  39. package/dist/assets/GalleryApp-7oBldBKU.js +1 -0
  40. package/dist/assets/{HonestByDesign-ByOR1sRQ.js → HonestByDesign-DlRrxgrO.js} +1 -1
  41. package/dist/assets/{HowItWorks-Dllc30ph.js → HowItWorks-BM2yn2dq.js} +1 -1
  42. package/dist/assets/LegalApp-DPfTD0jz.js +1 -0
  43. package/dist/assets/{LegalMarkdownDocument-CmxHsXlb.js → LegalMarkdownDocument-DJgwmK1q.js} +1 -1
  44. package/dist/assets/{LegalPageShell-CDD6D6T_.js → LegalPageShell-DuIwSVSJ.js} +1 -1
  45. package/dist/assets/Library-CDgWdTiF.js +1 -0
  46. package/dist/assets/{LibraryOverlay-CHmubwG3.js → LibraryOverlay-DsLhiJzF.js} +1 -1
  47. package/dist/assets/LiveApp-CEaISHEZ.css +1 -0
  48. package/dist/assets/LiveApp-DNYYimuo.js +79 -0
  49. package/dist/assets/LiveSettings-CDHQnEtF.js +6 -0
  50. package/dist/assets/{MindMapViewerDrawer-BLRBWsTz.js → MindMapViewerDrawer-C3BgiubE.js} +1 -1
  51. package/dist/assets/{MindShape-CaDuLyGa.js → MindShape-DVlgSR1B.js} +1 -1
  52. package/dist/assets/{PinToDashboard-ChK2Ou73.js → PinToDashboard-Dd_egidB.js} +1 -1
  53. package/dist/assets/{PlanReview-Dg6VE0xF.js → PlanReview-wOsBpofo.js} +1 -1
  54. package/dist/assets/PresentationDeck-BSMzp5T9.js +1 -0
  55. package/dist/assets/PrismApp-DbbDNVpy.js +2 -0
  56. package/dist/assets/{PrismAskController-C4MuB8om.js → PrismAskController-BgwijoI2.js} +1 -1
  57. package/dist/assets/PrismBriefingPlayer-B1_ziOwl.js +2 -0
  58. package/dist/assets/PrismOverlay-5ZVXu4WL.css +1 -0
  59. package/dist/assets/PrismOverlay-DLxvsh9l.js +105 -0
  60. package/dist/assets/PrismWorkbench-ZlhI7Mhw.js +1 -0
  61. package/dist/assets/{PrivacyApp-CBPMqUEA.js → PrivacyApp-Ki_5bM9Z.js} +10 -3
  62. package/dist/assets/ReplayCard-WKBKeSKc.js +2 -0
  63. package/dist/assets/ReplayOverlay-PFSJv540.js +1 -0
  64. package/dist/assets/{RewindOverlay-BO7YgDsW.js → RewindOverlay-okltPbfw.js} +1 -1
  65. package/dist/assets/{RippleApp-BnIUhIA0.js → RippleApp-DqVyZYKV.js} +2 -2
  66. package/dist/assets/{RippleAskController-BzdwYcYY.js → RippleAskController-BqnazbZ7.js} +1 -1
  67. package/dist/assets/{RippleOverlay-C9W7uVOp.js → RippleOverlay-4McJCSV8.js} +2 -2
  68. package/dist/assets/{SeeDontRead-ByW9HnOj.js → SeeDontRead-gARjJuF7.js} +1 -1
  69. package/dist/assets/ShareModal-C5HVVMtQ.js +2 -0
  70. package/dist/assets/{ShipCourse-CT_F9oJH.js → ShipCourse-BUm4TKUk.js} +1 -1
  71. package/dist/assets/{SignatureLoop-DejFTZ-Y.js → SignatureLoop-CYspJuij.js} +1 -1
  72. package/dist/assets/SynthesisApp-BNhF9aJ2.js +2 -0
  73. package/dist/assets/SynthesisOverlay-Bvwdc8uQ.js +66 -0
  74. package/dist/assets/TemplatePicker-DBa4lkpf.js +1 -0
  75. package/dist/assets/{TermsApp-ZzlhrXhd.js → TermsApp-BvwDtgIz.js} +5 -3
  76. package/dist/assets/TopicCanvas-Cwc6-K3q.js +2 -0
  77. package/dist/assets/{TourPrism-Cng4h9Ly.js → TourPrism-CCjys3-x.js} +1 -1
  78. package/dist/assets/{TrackerTile-DuUsFQTj.js → TrackerTile-B4j5qtop.js} +2 -2
  79. package/dist/assets/{TwoSurfaces-BeYMvVuX.js → TwoSurfaces-fGm1MJrD.js} +1 -1
  80. package/dist/assets/WorldOverlay-CLWtwuSl.css +1 -0
  81. package/dist/assets/WorldOverlay-JOp1rLyU.js +2 -0
  82. package/dist/assets/{WowFeatures-D58JgpLg.js → WowFeatures-D5dJvp9W.js} +1 -1
  83. package/dist/assets/{ZoomDeck-CPG2XQhr.js → ZoomDeck-DYmkT0TA.js} +1 -1
  84. package/dist/assets/{alternateFinishes-Cgks49KV.js → alternateFinishes-BHcX08Hs.js} +2 -2
  85. package/dist/assets/annotationAuto-B8_I3PNS.js +1 -0
  86. package/dist/assets/annotationReel-BA8Fv9Or.js +1 -0
  87. package/dist/assets/audioTrack-BJ2D_nuy.js +1 -0
  88. package/dist/assets/{BlockEmpty-B82uCse8.js → axis-DHAV38YM.js} +1 -1
  89. package/dist/assets/backup-DkCsHNEE.js +1 -0
  90. package/dist/assets/cache-7UEbF3S6.js +1 -0
  91. package/dist/assets/canvas-CYrbzF43.js +1 -0
  92. package/dist/assets/capture-Y6Qm8zCN.js +2 -0
  93. package/dist/assets/{catalog-DfIYAG3v.js → catalog-CRekRbKO.js} +1 -1
  94. package/dist/assets/chapters-DcdG3Lu8.js +1 -0
  95. package/dist/assets/{codeContext-goNoLAIr.js → codeContext-CFnI3GLf.js} +1 -1
  96. package/dist/assets/{confirmAdd-CxWIORcu.js → confirmAdd-D-TTCQ31.js} +1 -1
  97. package/dist/assets/contentVault-XKWjF2FB.js +1 -0
  98. package/dist/assets/{dashboardEvents-D1OP4ARB.js → dashboardEvents-MzCzak6K.js} +1 -1
  99. package/dist/assets/{deepen-BhP9OmH3.js → deepen-FZiVqiEc.js} +1 -1
  100. package/dist/assets/effort-BftNJCCV.js +39 -0
  101. package/dist/assets/empty-D51uhW0E.js +1 -0
  102. package/dist/assets/explode-niun7Zqc.js +15 -0
  103. package/dist/assets/{format-g3dP8OI3.js → format-BkvssSOr.js} +1 -1
  104. package/dist/assets/{generate-COfYQFmT.js → generate-BZobrQPX.js} +1 -1
  105. package/dist/assets/{generateBeats-CtffeoEa.js → generateBeats-Dqtfd8HC.js} +1 -1
  106. package/dist/assets/generateCourse-DPL0bO3L.js +28 -0
  107. package/dist/assets/generateLive-B7nlaqz8.js +24 -0
  108. package/dist/assets/{gesture-Bouqjr3g.js → gesture-BBS5nQEi.js} +2 -2
  109. package/dist/assets/{githubBrowser-BDiuD9dz.js → githubBrowser-CErQprLW.js} +1 -1
  110. package/dist/assets/homeTarget-CDc-r2mj.js +1 -0
  111. package/dist/assets/http-Bqk6nJiH.js +2 -0
  112. package/dist/assets/index-CFE0vqqO.css +1 -0
  113. package/dist/assets/{index-CdUH6Eo9.js → index-Db-FgYxX.js} +4 -4
  114. package/dist/assets/json-J4Y32_i9.js +1 -0
  115. package/dist/assets/kokoro-yB7iU_JU.js +1 -0
  116. package/dist/assets/{ledger-Cv0LBflx.js → ledger-DHS2di3l.js} +1 -1
  117. package/dist/assets/lens-DyGK7Owa.js +1 -0
  118. package/dist/assets/{lib-u95BsX_B.js → lib-Dkb5WBRc.js} +1 -1
  119. package/dist/assets/liveSchema-Z_39HuDI.js +125 -0
  120. package/dist/assets/{loader-ChcXMM9W.js → loader-Ciz6XbG-.js} +2 -2
  121. package/dist/assets/{model-CAewjw45.js → model-FR-9md4s.js} +1 -1
  122. package/dist/assets/{neighborhoods-CqECCmo8.js → neighborhoods-B56WegJs.js} +1 -1
  123. package/dist/assets/notes-CEloxKQ3.js +1 -0
  124. package/dist/assets/offers-eBNj_lSP.js +1 -0
  125. package/dist/assets/{openWorld-BHTJM39n.js → openWorld-B4VY6xO7.js} +1 -1
  126. package/dist/assets/{owners-HRBX7JN_.js → owners-CP-4Q59L.js} +1 -1
  127. package/dist/assets/{pen-DtEW1xf4.js → pen-UKrUHlDA.js} +1 -1
  128. package/dist/assets/{penStrokes-DlHnO9xE.js → penStrokes-CTC3AYiz.js} +1 -1
  129. package/dist/assets/{perfProbe-DaLsQQBb.js → perfProbe-DrOeB7yd.js} +1 -1
  130. package/dist/assets/{pin-BcKMUOiV.js → pin-C5_s4Ju5.js} +1 -1
  131. package/dist/assets/{planTracker-BwoKEftp.js → planTracker-BA-x4jbw.js} +1 -1
  132. package/dist/assets/{portal-BIN_aqvw.js → portal-TqJbr2rR.js} +1 -1
  133. package/dist/assets/prewarm-Bt5X_9CM.js +1 -0
  134. package/dist/assets/providers-CPhoN8j0.js +1 -0
  135. package/dist/assets/quietHours-LtXDl4-v.js +1 -0
  136. package/dist/assets/{ready-yBSGJubb.js → ready-_sg3IJkE.js} +1 -1
  137. package/dist/assets/{registry-DdgeK4fY.js → registry-BHDUu15I.js} +1 -1
  138. package/dist/assets/{registry-C8FuGbOr.js → registry-BPLbZIVz.js} +1 -1
  139. package/dist/assets/registry-BQuygaKz.js +1 -0
  140. package/dist/assets/registry-B_wlsfxh.js +1 -0
  141. package/dist/assets/{registry-Bl2qfp5V.js → registry-Bjf2Ggs6.js} +1 -1
  142. package/dist/assets/{registry-CE1T0z9x.js → registry-BmjYillB.js} +1 -1
  143. package/dist/assets/{registry-DGNSqTxE.js → registry-BodYWiga.js} +1 -1
  144. package/dist/assets/{registry-Dt0wu9rC.js → registry-BwlvYVHq.js} +1 -1
  145. package/dist/assets/{registry-CcHxIYQN.js → registry-BxkAuBx8.js} +1 -1
  146. package/dist/assets/{registry-BdHj_oIs.js → registry-C3bIc5Kp.js} +1 -1
  147. package/dist/assets/{registry-BFQQpjO2.js → registry-CfIJ9dJS.js} +1 -1
  148. package/dist/assets/{registry-CvylL2BN.css → registry-CmWPyj7Q.css} +1 -1
  149. package/dist/assets/{registry-BDXwUn3i.js → registry-CvtHBjkb.js} +1 -1
  150. package/dist/assets/{registry-Dd1lcXrO.js → registry-Cz5cZREW.js} +2 -2
  151. package/dist/assets/{registry-DdVZGvkL.js → registry-Di1fTdpi.js} +1 -1
  152. package/dist/assets/registry-GxnzELw0.js +1 -0
  153. package/dist/assets/{registry-Cgo4C0ux.js → registry-JRteQJcE.js} +1 -1
  154. package/dist/assets/registry-MwJlqlFZ.js +1 -0
  155. package/dist/assets/{registry-B53EEn8S.js → registry-YrewlFlo.js} +1 -1
  156. package/dist/assets/{registry-qRfnKTt4.js → registry-uiAoJKXu.js} +1 -1
  157. package/dist/assets/{relate-CqYpFpsO.js → relate-CCma73G9.js} +1 -1
  158. package/dist/assets/{replay-NognvQfM.js → replay-dMDmsTaD.js} +1 -1
  159. package/dist/assets/{run-CwMSPOps.js → run-BVgCc5Xi.js} +1 -1
  160. package/dist/assets/{run-DCQrxgHA.js → run-CW67JOGe.js} +1 -1
  161. package/dist/assets/{run-CuHaB8wF.js → run-DqsfL9JC.js} +1 -1
  162. package/dist/assets/{select-Dp-OeZfq.js → select-BuqyXI8k.js} +1 -1
  163. package/dist/assets/sentenceCase-CLDiNB0f.js +1 -0
  164. package/dist/assets/shard070-BmNyRhxw.js +1 -0
  165. package/dist/assets/spokenText-Dy-GZvZV.js +1 -0
  166. package/dist/assets/store-C9s8Bfz0.js +1 -0
  167. package/dist/assets/store-CgA7mKy1.js +1 -0
  168. package/dist/assets/store-D16dGt7I.js +1 -0
  169. package/dist/assets/{store-BWLbFXiY.js → store-DqOaVRLn.js} +1 -1
  170. package/dist/assets/store-gfPI5TVE.js +1 -0
  171. package/dist/assets/useDashboardLoop-Cnxmf7wU.js +5 -0
  172. package/dist/assets/{useDashboards-lgQnk2Al.js → useDashboards-B-EjE8FH.js} +1 -1
  173. package/dist/assets/{useLedger-1WVXef68.js → useLedger-D4cXEwI0.js} +1 -1
  174. package/dist/assets/useLiveConfig-CvOQTr0s.js +1 -0
  175. package/dist/assets/useStudy-70Iz4ZVn.js +1 -0
  176. package/dist/assets/validate-MQG0EcTD.js +4 -0
  177. package/dist/assets/walkSync-D6leFb_u.js +1 -0
  178. package/dist/fonts/LICENSE.txt +2 -0
  179. package/dist/fonts/PROVENANCE.md +1 -0
  180. package/dist/fonts/caveat-var-latin.woff2 +0 -0
  181. package/dist/fonts/fonts.css +10 -0
  182. package/dist/index.html +6 -2
  183. package/dist/legal/PRIVACY.md +9 -2
  184. package/dist/legal/SECURITY.md +1 -1
  185. package/dist/legal/TERMS.md +4 -2
  186. package/dist/legal/TRADEMARKS.md +3 -1
  187. package/docs/media/go-hub.jpg +0 -0
  188. package/docs/media/living-answer.jpg +0 -0
  189. package/package.json +1 -1
  190. package/dist/assets/AnnotationLayer-BsAcAd59.js +0 -0
  191. package/dist/assets/AnnotationLayer-ClU-e6qL.css +0 -1
  192. package/dist/assets/BriefingPlayer-74mRKyjl.js +0 -1
  193. package/dist/assets/ConversationVideoStudio-Df892wqs.js +0 -1
  194. package/dist/assets/CourseLessonReader-COmTQdSK.css +0 -1
  195. package/dist/assets/CourseLessonReader-DKQimh2S.js +0 -2
  196. package/dist/assets/CoursesApp-LeqL6dWT.js +0 -2
  197. package/dist/assets/DashboardDetail-2XL-J4rS.js +0 -2
  198. package/dist/assets/DashboardLoopGate-B95S4oKR.js +0 -2
  199. package/dist/assets/DashboardLoopRuntime-Wzk85QXi.js +0 -1
  200. package/dist/assets/DashboardsApp-ZGuT2QBi.js +0 -2
  201. package/dist/assets/DeepZoomApp-CPOsar8c.js +0 -37
  202. package/dist/assets/DelegatePanel-BkTtUMSl.js +0 -33
  203. package/dist/assets/ExportModal-D4WpAg2c.css +0 -1
  204. package/dist/assets/FeatureUseNotice-pQe4YHgJ.js +0 -1
  205. package/dist/assets/GalleryApp-CCLYcEqn.js +0 -1
  206. package/dist/assets/LegalApp-CpblxmmB.js +0 -1
  207. package/dist/assets/Library-CVj7R6F4.js +0 -1
  208. package/dist/assets/LiveApp-CSbjhgzM.js +0 -79
  209. package/dist/assets/LiveApp-CziqEsOb.css +0 -1
  210. package/dist/assets/LiveSettings-B4T6x41n.js +0 -6
  211. package/dist/assets/PresentationDeck-oEd6TXdN.js +0 -1
  212. package/dist/assets/PrismApp-Bju264hL.js +0 -2
  213. package/dist/assets/PrismBriefingPlayer-BY0RREUu.js +0 -2
  214. package/dist/assets/PrismOverlay-BwnF4BEn.css +0 -1
  215. package/dist/assets/PrismOverlay-DOWyOUVW.js +0 -105
  216. package/dist/assets/PrismWorkbench-9RonO2uv.js +0 -1
  217. package/dist/assets/ReplayCard-BnX73r9n.js +0 -2
  218. package/dist/assets/ReplayOverlay-B-Ok0mEs.js +0 -1
  219. package/dist/assets/ShareModal-Mo-dkgAZ.js +0 -2
  220. package/dist/assets/SynthesisApp-6W04mrMU.js +0 -2
  221. package/dist/assets/SynthesisOverlay-DDyFFiO8.js +0 -66
  222. package/dist/assets/TopicCanvas-CkqP92SC.js +0 -2
  223. package/dist/assets/WorldOverlay-D7ay5y4D.css +0 -1
  224. package/dist/assets/WorldOverlay-DeVpS8HE.js +0 -2
  225. package/dist/assets/annotationAuto-B2UdfJNj.js +0 -1
  226. package/dist/assets/annotationReel-K2FYv-3B.js +0 -1
  227. package/dist/assets/backup-CtEvuZoL.js +0 -1
  228. package/dist/assets/cache-CvbSI-pr.js +0 -1
  229. package/dist/assets/canvas-Ct-O9Jok.js +0 -1
  230. package/dist/assets/capture-CgaD86-q.js +0 -2
  231. package/dist/assets/chapters-CIvdCeBC.js +0 -1
  232. package/dist/assets/contentVault-xfUwSJ3i.js +0 -1
  233. package/dist/assets/effort-Bqti44UZ.js +0 -39
  234. package/dist/assets/empty-BO1NC9qY.js +0 -1
  235. package/dist/assets/explode-CPnvJiTg.js +0 -15
  236. package/dist/assets/friendlyAsk-BBdRZIar.js +0 -1
  237. package/dist/assets/generateCourse-BldPpgdh.js +0 -28
  238. package/dist/assets/generateLive-D5M8v38b.js +0 -24
  239. package/dist/assets/homeTarget-CwFsJYwb.js +0 -1
  240. package/dist/assets/http-Lar_UMKb.js +0 -2
  241. package/dist/assets/index-BIUYTk1W.css +0 -1
  242. package/dist/assets/json-B0N3XRZU.js +0 -1
  243. package/dist/assets/kokoro-D15HDMcP.js +0 -1
  244. package/dist/assets/lens-ChFJD9il.js +0 -1
  245. package/dist/assets/liveSchema-B8Y9HZxd.js +0 -100
  246. package/dist/assets/notes-BG5pIVAJ.js +0 -1
  247. package/dist/assets/prewarm-CyvSJKv4.js +0 -1
  248. package/dist/assets/providers-0DthJW_I.js +0 -1
  249. package/dist/assets/quietHours-D1nboK5q.js +0 -1
  250. package/dist/assets/registry-BQzvA61G.js +0 -1
  251. package/dist/assets/registry-CPImC7mO.js +0 -1
  252. package/dist/assets/registry-DPBJYRmC.js +0 -1
  253. package/dist/assets/registry-QbArAJKB.js +0 -1
  254. package/dist/assets/shard070-Dm9m2a5U.js +0 -1
  255. package/dist/assets/spokenText-C88IQJ0M.js +0 -1
  256. package/dist/assets/store-Ba9vzL4H.js +0 -1
  257. package/dist/assets/store-BwyOArJl.js +0 -1
  258. package/dist/assets/store-D-f8ZuaK.js +0 -1
  259. package/dist/assets/store-ruEsXJjU.js +0 -1
  260. package/dist/assets/useDashboardLoop-C3iCNS8X.js +0 -5
  261. package/dist/assets/useLiveConfig-B4CmBiAK.js +0 -1
  262. package/dist/assets/useStudy-CwCIyiTb.js +0 -1
  263. package/dist/assets/validate-sGUCmPAs.js +0 -4
  264. package/dist/assets/walkSync-DC9iE0BX.js +0 -1
  265. /package/dist/assets/{BriefingPlayer-DHV4vMga.css → PrismBriefingPlayer-DHV4vMga.css} +0 -0
@@ -0,0 +1,6 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/backup-DkCsHNEE.js","assets/catalog-CRekRbKO.js","assets/preload-helper-CiWYd9n-.js","assets/rolldown-runtime-DkW27tQK.js","assets/facts-BUGuVUIc.js","assets/blockTypes-DUDdP3pB.js","assets/liveSchema-Z_39HuDI.js","assets/icons-gLFQTv74.js","assets/jsx-runtime-DeHZSEgm.js","assets/safeImageUrl-BINWXOTz.js","assets/empty-D51uhW0E.js","assets/catalog-BHjl-1uH.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-Dy-GZvZV.js","assets/annotations-CftUUB13.js","assets/streamParse-BX0bAppQ.js","assets/store-C9s8Bfz0.js","assets/contentVault-XKWjF2FB.js","assets/keyVault-Aw5Y2PjT.js","assets/localBudget-CxLP6bjE.js","assets/store-D16dGt7I.js","assets/useLiveConfig-CvOQTr0s.js","assets/react-BZJXY1be.js","assets/compiler-runtime-qQQXpJgv.js","assets/info-CiqHR5cs.js","assets/providers-CPhoN8j0.js","assets/http-Bqk6nJiH.js","assets/attachments-BW-vki-E.js","assets/route-CMdTFx0P.js","assets/store-DqOaVRLn.js","assets/store-D2IJF4SA.js","assets/store-CgA7mKy1.js","assets/store-B2Rpbqgg.js","assets/ready-_sg3IJkE.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{_ as a,d as o,h as s,o as c,st as l,v as u}from"./index-Db-FgYxX.js";import{n as d}from"./icons-gLFQTv74.js";import{t as f}from"./useFocusTrap-CJmpNZv2.js";import{c as p,d as m,l as h,o as g,u as _}from"./kokoro-yB7iU_JU.js";import{t as v}from"./FeatureUseNotice-CCI4mM39.js";import{i as y,r as b}from"./info-CiqHR5cs.js";import{n as x}from"./store-C9s8Bfz0.js";import{t as ee}from"./time-BHTmJR1s.js";import{t as S}from"./providers-CPhoN8j0.js";import{c as C,d as w,i as T,n as E,s as D,t as te,u as ne}from"./useLiveConfig-CvOQTr0s.js";import{a as re,d as ie,f as ae,l as oe,m as se,n as ce,p as le,r as ue,s as de,u as fe}from"./quietHours-LtXDl4-v.js";import{i as pe,n as me,r as he,s as O}from"./store-DqOaVRLn.js";import{t as ge}from"./TemplatePicker-DBa4lkpf.js";import{t as _e}from"./DropSelect-D3Q9Su_x.js";import{g as ve}from"./store-D2IJF4SA.js";import{n as ye,t as be}from"./useStudy-70Iz4ZVn.js";import{r as xe,t as Se}from"./ledger-BssK9Pv2.js";var k=e(),A=t(),j=n();function Ce(e){return e.reduce((e,t)=>({calls:e.calls+1,input:e.input+t.input,cachedInput:e.cachedInput+t.cachedInput,output:e.output+t.output}),{calls:0,input:0,cachedInput:0,output:0})}var M=new Intl.NumberFormat;function we(){let e=(0,A.c)(30),t=(0,k.useSyncExternalStore)(xe,Se,Se);if(!t.length){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`p`,{className:`usage-empty`,children:`No model calls yet this session — the tour and the recorded demos never make one.`}),e[0]=t):t=e[0],t}let n,r,i,a;if(e[1]!==t){let o=Ce(t),s=o.input?Math.round(o.cachedInput/o.input*100):0,c=new Map;for(let e of t)c.set(e.label,(c.get(e.label)??0)+e.input+e.output);let l=[...c.entries()].sort(N);i=`usage-panel`;let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsx)(`dt`,{children:`Sent`}),e[6]=u):u=e[6];let d;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,j.jsx)(`span`,{className:`usage-unit`,children:` in`}),e[7]=d):d=e[7];let f=(0,j.jsxs)(`div`,{children:[u,(0,j.jsxs)(`dd`,{children:[M.format(o.input),d]})]}),p;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsx)(`dt`,{children:`Cached`}),e[8]=p):p=e[8];let m;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,j.jsx)(`span`,{className:`usage-unit`,children:`% of that`}),e[9]=m):m=e[9];let h;e[10]===s?h=e[11]:(h=(0,j.jsxs)(`div`,{children:[p,(0,j.jsxs)(`dd`,{children:[s,m]})]}),e[10]=s,e[11]=h);let g;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(`dt`,{children:`Written`}),e[12]=g):g=e[12];let _;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,j.jsx)(`span`,{className:`usage-unit`,children:` out`}),e[13]=_):_=e[13];let v=(0,j.jsxs)(`div`,{children:[g,(0,j.jsxs)(`dd`,{children:[M.format(o.output),_]})]}),y;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,j.jsx)(`dt`,{children:`Calls`}),e[14]=y):y=e[14];let b=M.format(o.calls),x;e[15]===b?x=e[16]:(x=(0,j.jsxs)(`div`,{children:[y,(0,j.jsx)(`dd`,{children:b})]}),e[15]=b,e[16]=x),e[17]!==v||e[18]!==x||e[19]!==f||e[20]!==h?(a=(0,j.jsxs)(`dl`,{className:`usage-totals`,children:[f,h,v,x]}),e[17]=v,e[18]=x,e[19]=f,e[20]=h,e[21]=a):a=e[21],n=`usage-sites`,r=l.map(Te),e[1]=t,e[2]=n,e[3]=r,e[4]=i,e[5]=a}else n=e[2],r=e[3],i=e[4],a=e[5];let o;e[22]!==n||e[23]!==r?(o=(0,j.jsx)(`ul`,{className:n,children:r}),e[22]=n,e[23]=r,e[24]=o):o=e[24];let s;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`p`,{className:`usage-note`,children:`Counted from what each provider reported for this session only — nothing is stored, and nothing leaves this device. Output tokens usually cost several times what input does.`}),e[25]=s):s=e[25];let c;return e[26]!==i||e[27]!==a||e[28]!==o?(c=(0,j.jsxs)(`div`,{className:i,children:[a,o,s]}),e[26]=i,e[27]=a,e[28]=o,e[29]=c):c=e[29],c}function Te(e){let[t,n]=e;return(0,j.jsxs)(`li`,{children:[(0,j.jsx)(`span`,{className:`usage-site-name`,children:t}),(0,j.jsx)(`span`,{className:`usage-site-tokens`,children:M.format(n)})]},t)}function N(e,t){return t[1]-e[1]}var P={display:`flex`,flexDirection:`column`,gap:4,fontSize:13,background:`var(--surface-default)`,border:`1px solid var(--line)`,borderRadius:8,padding:`7px 10px`},F={flex:`0 0 auto`,background:`transparent`,border:`none`,color:`var(--text-muted)`,cursor:`pointer`,font:`inherit`,lineHeight:1,padding:0};function Ee(e){let t=(0,A.c)(40),{node:n,ago:r}=e,[i,a]=(0,k.useState)(!1),[o,s]=(0,k.useState)(n.body),c=(0,k.useRef)(null),l,u;t[0]===i?(l=t[1],u=t[2]):(l=()=>{i&&c.current?.focus()},u=[i],t[0]=i,t[1]=l,t[2]=u),(0,k.useEffect)(l,u);let d;t[3]!==o||t[4]!==n.body||t[5]!==n.id?(d=()=>{let e=o.trim();e&&e!==n.body&&he(n.id,e),a(!1)},t[3]=o,t[4]=n.body,t[5]=n.id,t[6]=d):d=t[6];let f=d,p;t[7]===n.body?p=t[8]:(p=()=>{s(n.body),a(!1)},t[7]=n.body,t[8]=p);let m=p,h,g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h={display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8},g={fontFamily:`var(--font-data, inherit)`,fontSize:10.5,fontWeight:600,color:`var(--presence)`,letterSpacing:`0.02em`},t[9]=h,t[10]=g):(h=t[9],g=t[10]);let _;t[11]===n.concept?_=t[12]:(_=(0,j.jsx)(`span`,{style:g,children:n.concept}),t[11]=n.concept,t[12]=_);let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v={fontSize:10.5,color:`var(--text-muted)`,whiteSpace:`nowrap`},t[13]=v):v=t[13];let y;t[14]===r?y=t[15]:(y=(0,j.jsx)(`span`,{style:v,children:r}),t[14]=r,t[15]=y);let b;t[16]!==i||t[17]!==n.concept?(b=!i&&(0,j.jsx)(`button`,{type:`button`,onClick:()=>a(!0),title:`Edit this fact`,"aria-label":`Edit: ${n.concept}`,style:{...F,fontSize:12},children:`Edit`}),t[16]=i,t[17]=n.concept,t[18]=b):b=t[18];let x;t[19]===n.id?x=t[20]:(x=()=>me(n.id),t[19]=n.id,t[20]=x);let ee=`Forget: ${n.concept}`,S;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(S={...F,fontSize:16},t[21]=S):S=t[21];let C;t[22]!==x||t[23]!==ee?(C=(0,j.jsx)(`button`,{type:`button`,onClick:x,title:`Forget this concept`,"aria-label":ee,style:S,children:`×`}),t[22]=x,t[23]=ee,t[24]=C):C=t[24];let w;t[25]!==b||t[26]!==C||t[27]!==_||t[28]!==y?(w=(0,j.jsxs)(`div`,{style:h,children:[_,y,b,C]}),t[25]=b,t[26]=C,t[27]=_,t[28]=y,t[29]=w):w=t[29];let T;t[30]!==m||t[31]!==o||t[32]!==i||t[33]!==n.body||t[34]!==n.concept||t[35]!==f?(T=i?(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`textarea`,{ref:c,value:o,onChange:e=>s(e.target.value),rows:3,"aria-label":`Edit memory: ${n.concept}`,style:{font:`inherit`,fontSize:13,lineHeight:1.4,color:`var(--text-primary)`,background:`var(--surface-elevated)`,border:`1px solid var(--line)`,borderRadius:6,padding:`6px 8px`,resize:`vertical`,width:`100%`,boxSizing:`border-box`}}),(0,j.jsxs)(`div`,{style:{display:`flex`,gap:8,justifyContent:`flex-end`},children:[(0,j.jsx)(`button`,{type:`button`,onClick:m,style:{...F,fontSize:12},children:`Cancel`}),(0,j.jsx)(`button`,{type:`button`,onClick:f,disabled:!o.trim(),style:{...F,fontSize:12,color:`var(--presence)`,fontWeight:600},children:`Save`})]})]}):(0,j.jsx)(`span`,{style:{color:`var(--text-primary)`,lineHeight:1.4},children:n.body}),t[30]=m,t[31]=o,t[32]=i,t[33]=n.body,t[34]=n.concept,t[35]=f,t[36]=T):T=t[36];let E;return t[37]!==w||t[38]!==T?(E=(0,j.jsxs)(`li`,{style:P,children:[w,T]}),t[37]=w,t[38]=T,t[39]=E):E=t[39],E}function I(e){let t=e.concept.indexOf(`.`);return t<0?e.concept:e.concept.slice(0,t)}function De(e){return{profile:`About you`,preferences:`Preferences`,topics:`Topics`,threads:`Open threads`,projects:`Projects`,work:`Work`,life:`Life`}[e]??e.slice(0,1).toUpperCase()+e.slice(1)}function Oe(e){let t=new Map;for(let n of e){let e=I(n),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.keys()].sort((e,t)=>e===`profile`?-1:t===`profile`?1:e.localeCompare(t)).map(e=>({namespace:e,nodes:t.get(e).slice().sort((e,t)=>t.updatedAt-e.updatedAt)}))}function ke(e){if(!e)return``;try{return new Date(e).toISOString().split(`T`)[0]}catch{return``}}function L(e){let t=ke(e.updatedAt);return`${t?`---\nconcept: ${e.concept}\nupdated: ${t}\n---`:`---\nconcept: ${e.concept}\n---`}\n\n${e.body}`}function Ae(e){return e.length?[...e].sort((e,t)=>e.concept===`profile`?-1:t.concept===`profile`?1:e.concept.localeCompare(t.concept)).map(L).join(`
3
+
4
+ ---
5
+
6
+ `):``}function je(e){let t=Ae(e);if(t)try{let e=new Blob([t],{type:`text/markdown;charset=utf-8`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`mavea-memory.md`,r.click(),URL.revokeObjectURL(n)}catch{}}var R=420,z=300,B=6,V=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`,`var(--warning-soft)`],Me={profile:V[0],preferences:V[3],topics:V[1],threads:V[4],projects:V[2]};function Ne(e){return Me[e]??V[H(e)%V.length]}function H(e){let t=0;for(let n=0;n<e.length;n++)t=Math.imul(31,t)+e.charCodeAt(n)|0;return Math.abs(t)}function U(e){let t=[],n=new Set,r=(e,t)=>[e,t].sort().join(`\0`),i=e.filter(e=>e.updatedAt>0).sort((e,t)=>e.updatedAt-t.updatedAt);for(let e=0;e<i.length;e++)for(let a=e+1;a<i.length&&i[a].updatedAt-i[e].updatedAt<200;a++){let o=r(i[e].concept,i[a].concept);n.has(o)||(n.add(o),t.push({a:i[e].concept,b:i[a].concept,cooccurred:!0}))}let a=new Set(e.map(e=>e.concept));for(let i of e){let e=i.concept.split(`.`)[0];if(e!==i.concept&&a.has(e)){let a=r(i.concept,e);n.has(a)||(n.add(a),t.push({a:i.concept,b:e,cooccurred:!1}))}}return t}function Pe(e,t){let n=[...e].sort((e,t)=>e.concept.localeCompare(t.concept)),r=new Map;n.forEach((e,t)=>{let i=t/Math.max(1,n.length)*Math.PI*2,a=Math.min(R,z)*.3;r.set(e.concept,{x:R/2+Math.cos(i)*a,y:z/2+Math.sin(i)*a,vx:0,vy:0})});let i=[...r.values()],a=.82;for(let e=0;e<80;e++){let o=1-e/80,s=.08*Math.sqrt(R*z/Math.max(1,n.length));for(let e=0;e<i.length;e++){let t=i[e];for(let n=e+1;n<i.length;n++){let e=i[n],r=e.x-t.x||.01,a=e.y-t.y||.01,c=Math.hypot(r,a)||.01,l=s*s/c*1.5;t.vx-=r/c*l*o,t.vy-=a/c*l*o,e.vx+=r/c*l*o,e.vy+=a/c*l*o}}for(let e of t){let t=r.get(e.a),n=r.get(e.b);if(!t||!n)continue;let i=n.x-t.x,a=n.y-t.y,s=Math.hypot(i,a)||.01,c=(s-(e.cooccurred?85:120))*.05*o;t.vx+=i/s*c,t.vy+=a/s*c,n.vx-=i/s*c,n.vy-=a/s*c}for(let e of r.values())e.vx+=(R/2-e.x)*.006*o,e.vy+=(z/2-e.y)*.006*o;let c=0;for(let e of i){let t=Math.abs(e.vx)+Math.abs(e.vy);t>c&&(c=t),e.x=Math.max(20,Math.min(400,e.x+e.vx)),e.y=Math.max(20,Math.min(280,e.y+e.vy)),e.vx*=a,e.vy*=a}if(c<.4)break}let o=new Map;for(let[e,t]of r)o.set(e,{x:t.x,y:t.y});return o}function Fe(e){let t=(0,A.c)(39),{nodes:n}=e,[r,i]=(0,k.useState)(null),[a,o]=(0,k.useState)(null),s;t[0]===n?s=t[1]:(s=U(n),t[0]=n,t[1]=s);let c=s,l;t[2]!==c||t[3]!==n?(l=Pe(n,c),t[2]=c,t[3]=n,t[4]=l):l=t[4];let u=l,d;t[5]===c?d=t[6]:(d=c.filter(W),t[5]=c,t[6]=d);let f=d.length,p;t[7]!==a||t[8]!==n?(p=a?n.find(e=>e.concept===a):null,t[7]=a,t[8]=n,t[9]=p):p=t[9];let m=p;if(n.length===0){let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`div`,{className:`mg-empty`,children:`Your knowledge graph appears here as you talk — start a conversation to add concepts.`}),t[10]=e):e=t[10],e}let h;if(t[11]!==c||t[12]!==r||t[13]!==u){let e;t[15]!==r||t[16]!==u?(e=(e,t)=>{let n=u.get(e.a),i=u.get(e.b);if(!n||!i)return null;let a=r===e.a||r===e.b,o=e.cooccurred?.55:.2;return(0,j.jsx)(`line`,{x1:n.x,y1:n.y,x2:i.x,y2:i.y,className:`mg-edge`+(e.cooccurred?` mg-edge--strong`:``),style:{opacity:r?a?o+.3:.05:o}},t)},t[15]=r,t[16]=u,t[17]=e):e=t[17],h=c.map(e),t[11]=c,t[12]=r,t[13]=u,t[14]=h}else h=t[14];let g;if(t[18]!==a||t[19]!==r||t[20]!==n||t[21]!==u){let e;t[23]!==a||t[24]!==r||t[25]!==u?(e=e=>{let t=u.get(e.concept);if(!t)return null;let n=Ne(I(e)),s=Math.max(7,Math.min(18,7+e.body.length/400*11)),c=r===e.concept,l=a===e.concept,d=e.concept.split(`.`).pop()??e.concept,f=O(e.source),p=e.kind===`procedural`,m=l?1:f?.82:.42,h=p||l||!f?n:`none`,g=p?2:l?1.5:+!f;return(0,j.jsxs)(`g`,{className:`mg-node`,transform:`translate(${t.x},${t.y})`,onMouseEnter:()=>i(e.concept),onMouseLeave:()=>i(null),onClick:()=>o(l?null:e.concept),style:{opacity:r&&!c?.3:1},children:[(0,j.jsx)(`title`,{children:`${e.concept} · ${f?`confirmed`:`unconfirmed`}${p?` · lesson`:``}`}),c&&(0,j.jsx)(`circle`,{r:s+5,fill:n,style:{opacity:.15},"aria-hidden":`true`}),(0,j.jsx)(`circle`,{r:s,fill:n,style:{opacity:m},stroke:h,strokeWidth:g,strokeDasharray:f?void 0:`3 2`,strokeOpacity:.5}),(0,j.jsx)(`text`,{className:`mg-label`,y:s+13,textAnchor:`middle`,style:{fill:n,opacity:c||l?1:.65},children:d})]},e.concept)},t[23]=a,t[24]=r,t[25]=u,t[26]=e):e=t[26],g=n.map(e),t[18]=a,t[19]=r,t[20]=n,t[21]=u,t[22]=g}else g=t[22];let _;t[27]!==h||t[28]!==g?(_=(0,j.jsxs)(`svg`,{className:`mg-svg`,viewBox:`0 0 ${R} ${z}`,width:`100%`,height:`auto`,"aria-label":`Memory concept graph`,children:[h,g]}),t[27]=h,t[28]=g,t[29]=_):_=t[29];let v;t[30]===m?v=t[31]:(v=m&&(0,j.jsxs)(`div`,{className:`mg-detail`,onClick:()=>o(null),title:`Click to close`,role:`button`,tabIndex:0,onKeyDown:e=>e.key===`Enter`&&o(null),children:[(0,j.jsx)(`span`,{className:`mg-detail-concept`,children:m.concept}),(0,j.jsx)(`p`,{className:`mg-detail-body`,children:m.body})]}),t[30]=m,t[31]=v);let y;t[32]!==n.length||t[33]!==f?(y=n.length<B?(0,j.jsxs)(`div`,{className:`mg-warmup`,children:[(0,j.jsx)(`div`,{className:`mg-warmup-track`,children:(0,j.jsx)(`div`,{className:`mg-warmup-fill`,style:{width:`${n.length/B*100}%`}})}),(0,j.jsxs)(`span`,{className:`mg-warmup-label`,children:[B-n.length,` more`,` `,B-n.length===1?`concept`:`concepts`,` until your map fills in`]})]}):(0,j.jsxs)(`p`,{className:`mg-foot`,children:[f,` connection`,f===1?``:`s`,` across `,n.length,` `,`concepts`]}),t[32]=n.length,t[33]=f,t[34]=y):y=t[34];let b;return t[35]!==_||t[36]!==v||t[37]!==y?(b=(0,j.jsxs)(`div`,{className:`mg-wrap`,children:[_,v,y]}),t[35]=_,t[36]=v,t[37]=y,t[38]=b):b=t[38],b}function W(e){return e.cooccurred}r();var Ie=1e6;function Le(e){return e instanceof DOMException&&e.name===`AbortError`}function Re(e){return e===`provider-api-keys`?`provider API keys`:e===`search-api-keys`?`search API keys`:`GitHub tokens`}function G(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function ze(e,t){return new Promise((n,r)=>{let i=new FileReader,a=()=>t.removeEventListener(`abort`,s),o=e=>{a(),i.onload=null,i.onerror=null,i.onabort=null,e()},s=()=>{i.readyState===FileReader.LOADING?i.abort():o(()=>r(new DOMException(`Import cancelled`,`AbortError`)))};i.onload=()=>o(()=>typeof i.result==`string`?n(i.result):r(Error(`The selected file could not be read as text.`))),i.onerror=()=>o(()=>r(i.error??Error(`The selected file could not be read.`))),i.onabort=()=>o(()=>r(new DOMException(`Import cancelled`,`AbortError`))),t.addEventListener(`abort`,s,{once:!0}),t.aborted?s():i.readAsText(e)})}function Be({children:e,label:t=`More options`,defaultOpen:n=!1}){let[r,i]=(0,k.useState)(n);return(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[(0,j.jsxs)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-expanded":r,style:{display:`flex`,alignItems:`center`,gap:6,alignSelf:`flex-start`,padding:`4px 2px`,border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,font:`inherit`,fontSize:12,fontWeight:600,letterSpacing:`0.02em`},children:[(0,j.jsx)(`span`,{"aria-hidden":`true`,style:{display:`inline-block`,transition:`transform 150ms ease`,transform:r?`rotate(90deg)`:`none`,fontSize:10},children:`▶`}),t]}),r&&(0,j.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12,paddingLeft:10,borderLeft:`2px solid var(--line)`},children:e})]})}function Ve(e){return{padding:`5px 14px`,borderRadius:8,border:`1px solid ${e?`var(--presence)`:`var(--line)`}`,background:e?`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated))`:`var(--surface-default)`,color:e?`var(--presence)`:`var(--text-secondary)`,cursor:`pointer`,font:`inherit`,fontSize:12,fontWeight:e?600:400}}var He={background:`var(--surface-elevated)`,border:`1px solid var(--line)`,borderRadius:16,padding:16,display:`flex`,flexDirection:`column`,gap:12,width:`min(460px, calc(100vw - 32px))`,boxShadow:`var(--shadow-modal)`},K={fontSize:12,color:`var(--text-muted)`,textTransform:`uppercase`,letterSpacing:`0.06em`},Ue={background:`var(--surface-default)`,border:`1px solid var(--line)`,borderRadius:10,padding:`9px 11px`,color:`var(--text-primary)`,font:`inherit`,width:`100%`};function We(e,t){try{return localStorage.getItem(e)||t}catch{return t}}function Ge(e){let t=m(e);if(t){g(`mavea`,t.kokoro);try{localStorage.setItem(h,e)}catch{}}}var q=[`model`,`settings`,`you`,`data`];function J(e){let t=(0,A.c)(27),{label:n,on:r,onToggle:i,note:a}=e,o=(0,k.useId)(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={display:`flex`,alignItems:`flex-start`,gap:10,cursor:`pointer`},t[0]=s):s=t[0];let c=r?`var(--presence)`:`var(--track)`,l;t[1]===c?l=t[2]:(l={flex:`0 0 auto`,width:38,height:22,borderRadius:999,border:`1px solid var(--line-strong)`,background:c,position:`relative`,cursor:`pointer`,transition:`background 140ms ease`,marginTop:1},t[1]=c,t[2]=l);let u=r?18:2,d=r?`#fff`:`var(--text-muted)`,f;t[3]!==u||t[4]!==d?(f=(0,j.jsx)(`span`,{style:{position:`absolute`,top:2,left:u,width:16,height:16,borderRadius:`50%`,background:d,transition:`left 140ms ease, background 140ms ease`}}),t[3]=u,t[4]=d,t[5]=f):f=t[5];let p;t[6]!==n||t[7]!==o||t[8]!==r||t[9]!==i||t[10]!==l||t[11]!==f?(p=(0,j.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":r,"aria-label":n,"aria-describedby":o,onClick:i,style:l,children:f}),t[6]=n,t[7]=o,t[8]=r,t[9]=i,t[10]=l,t[11]=f,t[12]=p):p=t[12];let m,h;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(m={display:`flex`,flexDirection:`column`,gap:2},h={fontSize:13},t[13]=m,t[14]=h):(m=t[13],h=t[14]);let g;t[15]===n?g=t[16]:(g=(0,j.jsx)(`span`,{style:h,children:n}),t[15]=n,t[16]=g);let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontSize:12,color:`var(--text-muted)`},t[17]=_):_=t[17];let v;t[18]!==a||t[19]!==o?(v=(0,j.jsx)(`span`,{id:o,style:_,children:a}),t[18]=a,t[19]=o,t[20]=v):v=t[20];let y;t[21]!==g||t[22]!==v?(y=(0,j.jsxs)(`div`,{style:m,children:[g,v]}),t[21]=g,t[22]=v,t[23]=y):y=t[23];let b;return t[24]!==y||t[25]!==p?(b=(0,j.jsxs)(`label`,{style:s,children:[p,y]}),t[24]=y,t[25]=p,t[26]=b):b=t[26],b}function Ke(e){let t=(0,A.c)(14),{label:n,confirmLabel:r,onConfirm:i}=e,[a,o]=(0,k.useState)(!1),s,c;t[0]===a?(s=t[1],c=t[2]):(s=()=>{if(!a)return;let e=window.setTimeout(()=>o(!1),5e3);return()=>window.clearTimeout(e)},c=[a],t[0]=a,t[1]=s,t[2]=c),(0,k.useEffect)(s,c);let l;t[3]!==a||t[4]!==i?(l=()=>{if(!a){o(!0);return}o(!1),i()},t[3]=a,t[4]=i,t[5]=l):l=t[5];let u=a?`color-mix(in oklab, var(--warning) 10%, transparent)`:`transparent`,d=`1px solid ${a?`var(--warning)`:`var(--line)`}`,f=a?`var(--warning)`:`var(--text-muted)`,p;t[6]!==u||t[7]!==d||t[8]!==f?(p={background:u,border:d,borderRadius:8,padding:`3px 9px`,color:f,cursor:`pointer`,font:`inherit`,fontSize:12},t[6]=u,t[7]=d,t[8]=f,t[9]=p):p=t[9];let m=a?r:n,h;return t[10]!==l||t[11]!==p||t[12]!==m?(h=(0,j.jsx)(`button`,{type:`button`,onClick:l,style:p,children:m}),t[10]=l,t[11]=p,t[12]=m,t[13]=h):h=t[13],h}function Y(e){let t=(0,A.c)(24),{value:n,options:r,onPick:i,label:a}=e,o;if(t[0]!==r||t[1]!==n){let e;t[3]===n?e=t[4]:(e=e=>e.value===n,t[3]=n,t[4]=e),o=r.findIndex(e),t[0]=r,t[1]=n,t[2]=o}else o=t[2];let s=Math.max(0,o),c;t[5]!==s||t[6]!==i||t[7]!==r?(c=e=>{let t=e.key===`ArrowRight`||e.key===`ArrowDown`?1:e.key===`ArrowLeft`||e.key===`ArrowUp`?-1:0;if(!t)return;e.preventDefault();let n=(s+t+r.length)%r.length;i(r[n].value),(e.currentTarget.parentElement?.children[n])?.focus()},t[5]=s,t[6]=i,t[7]=r,t[8]=c):c=t[8];let l=c,u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u={display:`flex`,gap:4,padding:3,borderRadius:10,background:`var(--track)`,border:`1px solid var(--line)`},t[9]=u):u=t[9];let d;if(t[10]!==s||t[11]!==l||t[12]!==i||t[13]!==r||t[14]!==n){let e;t[16]!==s||t[17]!==l||t[18]!==i||t[19]!==n?(e=(e,t)=>{let r=e.value===n;return(0,j.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,tabIndex:t===s?0:-1,onClick:()=>i(e.value),onKeyDown:l,style:{flex:1,display:`flex`,flexDirection:`column`,alignItems:`center`,gap:1,padding:`6px 8px`,borderRadius:8,border:`none`,cursor:`pointer`,background:r?`var(--surface-elevated)`:`transparent`,boxShadow:r?`0 1px 2px rgba(0,0,0,0.12)`:`none`,color:`inherit`,font:`inherit`},children:[(0,j.jsx)(`span`,{style:{fontSize:13,fontWeight:r?600:400},children:e.label}),e.badge&&(0,j.jsx)(`span`,{style:{fontSize:10.5,color:`var(--text-muted)`},children:e.badge})]},e.value)},t[16]=s,t[17]=l,t[18]=i,t[19]=n,t[20]=e):e=t[20],d=r.map(e),t[10]=s,t[11]=l,t[12]=i,t[13]=r,t[14]=n,t[15]=d}else d=t[15];let f;return t[21]!==a||t[22]!==d?(f=(0,j.jsx)(`div`,{role:`radiogroup`,"aria-label":a,style:u,children:d}),t[21]=a,t[22]=d,t[23]=f):f=t[23],f}function X({onClose:e,initialTab:t,initialAdvancedYouOpen:n}){let[r]=w(),{style:g,newPerDay:me}=ye(),he=be(),O=y(r.provider),xe=r.models[r.provider]??``,Se=xe||O.defaultModel,A=r.keys[r.provider]??``,Ce=S(r.provider).capabilities,M=ie(),Te=(0,k.useMemo)(()=>Math.max(1,Math.round(JSON.stringify(M).length/1024)),[M]),N=se(),[P,F]=(0,k.useState)(ce),[I,ke]=(0,k.useState)(`list`),[L,Ae]=(0,k.useState)(t??`model`),[R,z]=(0,k.useState)(null),[B,V]=(0,k.useState)(!1),[Me,Ne]=(0,k.useState)(!1),H=(0,k.useRef)(0),U=(0,k.useRef)(!1),Pe=(0,k.useRef)(null),W=(0,k.useRef)(null),[X,qe]=(0,k.useState)(!1),[Je,Ye]=(0,k.useState)(null),[Xe,Ze]=(0,k.useState)(null),Qe=(0,k.useRef)(null),$e=(0,k.useRef)(null),Z=(0,k.useRef)(null),[Q,et]=(0,k.useState)(null),[tt,$]=(0,k.useState)(null),[nt,rt]=(0,k.useState)(null),it=(0,k.useRef)(null);f(it,{onEscape:e}),(0,k.useEffect)(()=>(U.current=!0,()=>{U.current=!1,H.current+=1,W.current?.abort(),$e.current?.abort(),fe()}),[]);function at(){let e=te(),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`mavea-live-v2.json`,r.click(),URL.revokeObjectURL(n)}async function ot(e){let t=e.target.files?.[0];if(e.target.value=``,!t||W.current)return;if(Ze(null),Ye(null),t.size>Ie){Ze(`That file is too large to be a Mavéa settings file.`);return}let n=new AbortController;W.current=n,qe(!0);try{let e=await ze(t,n.signal),r=T(e);if(U.current){let e=r.appliedFields.length?`Imported ${G(r.appliedFields.length,`setting`)}.`:`No recognized settings found.`,t=r.credentialsIgnored.length?` Ignored ${r.credentialsIgnored.map(Re).join(`, `)}; credentials are never imported.`:` Credentials were not imported.`;Ye(`${e}${t}`)}}catch(e){U.current&&!Le(e)&&Ze(e instanceof Error?e.message:`Import failed.`)}finally{W.current===n&&(W.current=null,U.current&&qe(!1))}}async function st(){if(!Z.current){Z.current=`export`,et(`export`),rt(null),$(null);try{let{downloadBackup:e}=await i(async()=>{let{downloadBackup:e}=await import(`./backup-DkCsHNEE.js`);return{downloadBackup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]));await e(),U.current&&$(`Backup downloaded.`)}catch{U.current&&rt(`Couldn’t build the backup — please try again.`)}finally{Z.current=null,U.current&&et(null)}}}async function ct(e){let t=e.target.files?.[0];if(e.target.value=``,!t||Z.current)return;Z.current=`import`,et(`import`),rt(null),$(null);let n=new AbortController;$e.current=n;try{let{importBackup:e,MAX_BACKUP_BYTES:r}=await i(async()=>{let{importBackup:e,MAX_BACKUP_BYTES:t}=await import(`./backup-DkCsHNEE.js`);return{importBackup:e,MAX_BACKUP_BYTES:t}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32]));if(t.size>r)throw Error(`That file is too large to be a Mavéa backup.`);let a=await e(await ze(t,n.signal)),o=[[a.dashboards,`dashboard`],[a.memory,`memory item`],[a.flashcards,`card`],[a.library,`saved canvas`,`saved canvases`],[a.atlas,`map record`],[a.courses,`course`]].filter(([e])=>e>0).map(([e,t,n])=>`${e} ${e===1?t:n??`${t}s`}`);if(U.current){let e=Object.values(a.sections),t=e.reduce((e,t)=>e+t.rejected,0),n=e.reduce((e,t)=>e+t.conflicts,0),r=e.reduce((e,t)=>e+t.evictedExisting,0),i=[o.length?`Merged ${o.join(`, `)}.`:`Nothing new to merge from that file.`];a.settingsApplied&&i.push(`Recognized settings were applied.`),n&&i.push(`${G(n,`incoming ID`)} matched records already present.`),t&&i.push(`${G(t,`entry`,`entries`)} ${t===1?`was`:`were`} rejected as invalid.`),r&&i.push(`${G(r,`existing record`)} ${r===1?`was`:`were`} evicted by bounded store capacity.`),a.credentialsIgnored.length&&i.push(`Ignored ${a.credentialsIgnored.map(Re).join(`, `)}; credentials are never imported.`),a.versionAhead&&i.push(`This backup uses a newer format; only recognized data was merged.`),i.push(`Changes are visible now; persistence is best-effort because browser storage writes cannot be verified.`),$(i.join(` `))}}catch(e){U.current&&!Le(e)&&rt(e instanceof Error?e.message:`Import failed.`)}finally{$e.current===n&&($e.current=null),Z.current=null,U.current&&et(null)}}let[lt,ut]=(0,k.useState)(()=>We(h,p)),[dt,ft]=(0,k.useState)(()=>s()),pt=(0,k.useCallback)(e=>{ft(e),u(e),o(a())},[]),mt=(0,k.useCallback)(async()=>{let e=++H.current;V(!0),Ne(!1);try{let{checkLiveReady:t}=await i(async()=>{let{checkLiveReady:e}=await import(`./ready-_sg3IJkE.js`).then(e=>e.n);return{checkLiveReady:e}},__vite__mapDeps([33,3,26,25,5,24,27,28])),n=await t(ne(E()),{tts:!1});e===H.current&&z({llm:n.llm,model:n.model,statusCode:n.statusCode})}catch{e===H.current&&(z(null),Ne(!0))}finally{e===H.current&&V(!1)}},[]);(0,k.useEffect)(()=>{if(O.needsKey&&!A){z(null);return}let e=setTimeout(()=>void mt(),400);return()=>clearTimeout(e)},[r.provider,Se,A,mt,O.needsKey]);let ht=B?`var(--text-muted)`:R?.llm&&R?.model?`var(--insight)`:`var(--warning)`,gt=B?`Checking…`:Me?`Couldn’t check readiness — try again`:R?.llm&&R?.model?`Ready`:R?.llm?`Reachable — model not found`:O.needsKey&&!A?`Add your API key`:R?.statusCode===401||R?.statusCode===400?`Invalid API key`:R?.statusCode===403?`Key lacks permission`:R?.statusCode===404?`Model not found`:R?.statusCode===void 0?`Not reachable`:`Error ${R.statusCode}`;return(0,j.jsxs)(`div`,{ref:it,style:He,role:`dialog`,"aria-modal":`true`,"aria-label":`Mavéa settings`,children:[(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,j.jsxs)(`span`,{style:{fontWeight:700,fontSize:15,display:`flex`,alignItems:`center`,gap:8},children:[(0,j.jsx)(d.sparkle,{style:{width:16,height:16,flex:`0 0 auto`,color:`var(--presence)`}}),`Settings`]}),e&&(0,j.jsx)(`button`,{onClick:e,title:`Close`,"aria-label":`Close settings`,style:{display:`inline-grid`,placeItems:`center`,width:28,height:28,padding:0,border:`none`,borderRadius:6,background:`transparent`,color:`var(--text-secondary)`,cursor:`pointer`,flexShrink:0},children:(0,j.jsx)(d.x,{style:{width:16,height:16}})})]}),(0,j.jsx)(`div`,{className:`ls-tabs`,role:`tablist`,"aria-label":`Settings sections`,children:q.map((e,t)=>(0,j.jsx)(`button`,{type:`button`,role:`tab`,id:`ls-tab-${e}`,"aria-selected":L===e,"aria-controls":`ls-panel-${e}`,tabIndex:L===e?0:-1,className:`ls-tab${L===e?` active`:``}`,onClick:()=>Ae(e),onKeyDown:e=>{let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:0;if(!n)return;e.preventDefault();let r=q[(t+n+q.length)%q.length];Ae(r),document.getElementById(`ls-tab-${r}`)?.focus()},children:e===`model`?`Model`:e===`settings`?`Settings`:e===`you`?`You`:`Your data`},e))}),(0,j.jsxs)(`div`,{className:`ls-body`,role:`tabpanel`,id:`ls-panel-${L}`,"aria-labelledby":`ls-tab-${L}`,children:[L===`model`&&(0,j.jsxs)(`div`,{className:`settings-model-connect`,children:[(0,j.jsx)(`div`,{className:`settings-provider-picker`,style:{display:`flex`,flexWrap:`wrap`,gap:8},"aria-label":`Model providers`,children:b.map(e=>{let t=e.id===r.provider;return(0,j.jsx)(`button`,{onClick:()=>D({provider:e.id}),style:{...Ue,width:`auto`,cursor:`pointer`,borderColor:t?`var(--presence)`:`var(--line)`,boxShadow:t?`0 0 0 1px var(--presence)`:`none`,opacity:t?1:.7},"aria-pressed":t,children:e.label},e.id)})}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:K,children:`Model`}),(0,j.jsx)(le,{provider:r.provider,value:xe,onChange:e=>C(r.provider,`model`,e)},r.provider)]}),O.needsKey&&(0,j.jsxs)(`label`,{className:`settings-api-key-field`,style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,j.jsx)(`span`,{style:K,children:`API key`}),!r.rememberKey&&(0,j.jsx)(`span`,{className:`settings-session-only`,"aria-label":`Key is not saved to disk`,children:`session only`})]}),(0,j.jsx)(`input`,{style:Ue,type:`password`,value:A,onChange:e=>C(r.provider,`key`,e.target.value),placeholder:r.provider===`anthropic`?`sk-ant-…`:`paste your key`,spellCheck:!1,autoComplete:`off`}),(0,j.jsxs)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:[`Kept in memory unless Remember can store encrypted ciphertext on this device. If browser encryption is unavailable, it stays session-only and is never saved as plaintext. Sent through this deployment to`,` `,O.label.split(` · `)[1]??O.label,` when used.`]})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,fontSize:13},children:[(0,j.jsx)(`span`,{style:{width:8,height:8,borderRadius:8,background:ht,flex:`0 0 auto`},"aria-hidden":!0}),(0,j.jsx)(`span`,{role:`status`,"aria-live":`polite`,"aria-busy":B,children:gt}),(0,j.jsx)(`span`,{style:{color:`var(--text-muted)`},children:`·`}),(0,j.jsx)(`span`,{style:{color:`var(--text-muted)`},children:O.hint}),(0,j.jsx)(`button`,{onClick:()=>void mt(),disabled:B,style:{marginLeft:`auto`,background:`transparent`,border:`1px solid var(--line)`,borderRadius:8,padding:`4px 10px`,color:`var(--text-muted)`,cursor:B?`wait`:`pointer`,font:`inherit`,fontSize:12},title:`Re-check readiness`,children:`Recheck`})]}),O.needsKey&&(0,j.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:8,fontSize:13},children:[(0,j.jsx)(`input`,{type:`checkbox`,checked:r.rememberKey,onChange:e=>D({rememberKey:e.target.checked})}),(0,j.jsx)(`span`,{children:`Remember key on this device`}),(0,j.jsx)(`span`,{style:{color:`var(--text-muted)`,fontSize:12},children:r.rememberKey?`encrypted on this device when supported; otherwise session-only — never saved as plaintext`:`kept in memory only — cleared on reload`})]}),(0,j.jsx)(ae,{}),(0,j.jsxs)(`section`,{"aria-labelledby":`ls-usage-heading`,children:[(0,j.jsx)(`h4`,{id:`ls-usage-heading`,className:`ls-usage-heading`,children:`This session’s tokens`}),(0,j.jsx)(we,{})]}),(0,j.jsxs)(`div`,{className:`settings-transfer-row`,"aria-busy":X,children:[(0,j.jsx)(`button`,{type:`button`,className:`settings-transfer-btn`,onClick:at,children:`Export settings`}),(0,j.jsx)(`button`,{type:`button`,className:`settings-transfer-btn`,disabled:X,onClick:()=>Pe.current?.click(),children:X?`Importing settings…`:`Import settings`}),(0,j.jsx)(`input`,{ref:Pe,type:`file`,accept:`application/json,.json`,disabled:X,style:{display:`none`},"aria-hidden":`true`,onChange:e=>void ot(e)}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:`API and search keys are never included.`}),Xe&&(0,j.jsx)(`span`,{className:`settings-import-error`,role:`alert`,children:Xe}),Je&&(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},role:`status`,children:Je})]})]}),L===`settings`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(ge,{}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:{fontSize:13,fontWeight:600},children:`Web search`}),(0,j.jsx)(Y,{label:`Web search`,value:r.searchMode,options:[{value:`off`,label:`Off`},{value:`realtime`,label:`Real-time`}],onPick:e=>D({searchMode:e})}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:r.searchMode===`off`?`Answers from the model's own knowledge — no web calls.`:Ce.nativeWebSearch?`Grounds fresh asks in live results with citations when a question needs it.`:`This model has no built-in search, so Real-time won't ground anything right now. The four direct providers support it; on OpenRouter it depends on the selected model. Pick a search-capable model or leave this off.`})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:{fontSize:13,fontWeight:600},children:`Explanation level`}),(0,j.jsx)(Y,{label:`Explanation level`,value:r.explainLevel,options:[{value:`simple`,label:`Simple`,badge:`like I'm 5`},{value:`standard`,label:`Standard`,badge:`default`},{value:`deep`,label:`In-depth`,badge:`full rigor`}],onPick:e=>D({explainLevel:e})}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:`How answers are written: Simple uses shorter sentences, everyday analogies, and fewer, more-labelled visuals; In-depth goes further — mechanisms, numbers, edge cases. You can also just say "explain it simpler" or "go deeper". (How long Mavéa thinks is Thinking time, below.)`})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:{fontSize:13,fontWeight:600},children:`Thinking time`}),(0,j.jsx)(Y,{label:`Thinking time`,value:r.quality,options:[{value:`fast`,label:`Fast`,badge:`snappiest`},{value:`balanced`,label:`Balanced`,badge:`default`},{value:`thorough`,label:`Thorough`,badge:`thinks longer`}],onPick:e=>D({quality:e})}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:`How long Mavéa reasons before answering — speed versus care on hard questions. (How the answer is written is Explanation level, above.)`})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:{fontSize:13,fontWeight:600},children:`Visual richness`}),(0,j.jsx)(Y,{label:`Visual richness`,value:dt,options:[{value:`auto`,label:`Auto`,badge:`recommended`},{value:`full`,label:`Full`},{value:`lite`,label:`Lite`,badge:`older machines`}],onPick:e=>pt(e)}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:`Auto matches the effects to your machine. Lite calms the animated face and drops the glass blur so Mavéa stays smooth on older or lower-powered computers.`})]}),(0,j.jsxs)(Be,{children:[(0,j.jsx)(J,{label:`Pen mode`,on:r.annotationsEnabled,onToggle:()=>{let e=!r.annotationsEnabled;D({annotationsEnabled:e,teachMode:e})},note:`Mavéa draws on the canvas as it speaks — circling numbers, striking out misconceptions, annotating every walkthrough stop. Muted walks also write margin notes beside the cards, so you keep the marked-up answer. Off: the pen stays quiet entirely.`}),r.searchMode!==`off`&&(0,j.jsxs)(`span`,{style:{fontSize:12,color:`var(--text-muted)`,display:`flex`,gap:6},children:[(0,j.jsx)(d.globe,{style:{width:14,height:14,flex:`0 0 auto`,marginTop:1}}),`You'll see "Searching…" whenever a search actually runs.`]}),(0,j.jsx)(J,{label:`Living answers`,on:r.worldEnabled,onToggle:()=>D({worldEnabled:!r.worldEnabled}),note:`When you ask why something happened, Mavéa offers the causal web behind the answer — every arrow shows its source, and follow-ups reshape the same web instead of starting over. Offering one is free: it is generated only when you open it, once, and then it's kept.`}),(0,j.jsx)(J,{label:`Keep a library`,on:r.libraryEnabled,onToggle:()=>D({libraryEnabled:!r.libraryEnabled}),note:`Saves the canvases you generate on this device so you can pick any one back up from the welcome screen. On by default; turn it off or clear the library any time.`}),N.length>0&&(0,j.jsx)(`div`,{style:{marginLeft:48},children:(0,j.jsx)(Ke,{label:`Clear library (${N.length})`,confirmLabel:`Confirm clear ${N.length===1?`saved canvas`:`${N.length} saved canvases`}`,onConfirm:x})})]})]}),L===`you`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(v,{kind:`stored-data`,from:`live`}),(0,j.jsx)(J,{label:`Remember me`,on:r.memoryEnabled,onToggle:()=>D({memoryEnabled:!r.memoryEnabled}),note:`Stored facts stay on this device. While Memory is enabled, relevant facts are included in future requests to your selected model provider. You can inspect, edit, export, or forget each stored fact below.`}),(0,j.jsxs)(`div`,{style:{marginLeft:48,display:`flex`,flexDirection:`column`,gap:8},children:[M.length===0?(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:r.memoryEnabled?`Nothing remembered yet — Mavéa will build a concept wiki as you talk.`:`No stored concepts. Memory is off, so future conversations will not add any.`}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,j.jsx)(`div`,{role:`group`,"aria-label":`Memory view`,style:{display:`flex`,gap:2,padding:2,borderRadius:8,background:`var(--track)`,border:`1px solid var(--line)`,alignSelf:`flex-start`},children:[`list`,`graph`].map(e=>(0,j.jsx)(`button`,{type:`button`,"aria-pressed":I===e,onClick:()=>ke(e),style:{padding:`4px 12px`,borderRadius:6,border:`none`,background:I===e?`var(--surface-elevated)`:`transparent`,boxShadow:I===e?`0 1px 2px rgba(0,0,0,0.12)`:`none`,color:I===e?`var(--text-primary)`:`var(--text-muted)`,cursor:`pointer`,font:`inherit`,fontSize:12,fontWeight:I===e?600:400},children:e===`list`?`Concepts`:`Graph`},e))}),(0,j.jsx)(Ke,{label:`Forget all`,confirmLabel:`Confirm forget ${M.length===1?`1 concept`:`${M.length} concepts`}`,onConfirm:pe})]}),I===`graph`?(0,j.jsx)(Fe,{nodes:M}):(0,j.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,maxHeight:280,overflowY:`auto`},children:Oe(M).map(({namespace:e,nodes:t})=>(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:{fontFamily:`var(--font-data, inherit)`,fontSize:10,letterSpacing:`0.14em`,textTransform:`uppercase`,color:`var(--text-muted)`,margin:`2px 2px 0`},children:De(e)}),(0,j.jsx)(`ul`,{style:{listStyle:`none`,margin:0,padding:0,display:`flex`,flexDirection:`column`,gap:6},children:t.map(e=>(0,j.jsx)(Ee,{node:e,ago:ee(e.updatedAt)},e.id))})]},e))}),(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:8},children:[(0,j.jsxs)(`span`,{style:{fontSize:11.5,color:`var(--text-muted)`},children:[M.length,` `,M.length===1?`concept`:`concepts`,` · `,Te,` KB on this device`]}),(0,j.jsx)(`button`,{type:`button`,onClick:()=>je(M),style:{background:`transparent`,border:`1px solid var(--line)`,borderRadius:8,padding:`3px 9px`,color:`var(--text-muted)`,cursor:`pointer`,font:`inherit`,fontSize:12},children:`Export memory`})]})]}),(0,j.jsxs)(`span`,{style:{fontSize:12,color:`var(--text-muted)`,display:`flex`,gap:6},children:[(0,j.jsx)(d.sparkle,{style:{width:14,height:14,flex:`0 0 auto`,marginTop:1}}),r.memoryEnabled?`Stored on this device, and sent to ${O.label.split(` · `)[1]??O.label} inside each prompt to personalize answers — the same path as your questions.`:`Memory is off. Existing concepts stay on this device until you forget them, but they are not included in prompts.`]})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8},children:[(0,j.jsx)(`span`,{style:K,children:`Voice`}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:`Microphone audio goes through this deployment to its configured Whisper endpoint; the default is loopback-only. Spoken replies use its configured Kokoro endpoint. Mavéa does not fall back to a browser-vendor speech service.`}),(0,j.jsx)(`div`,{style:{display:`flex`,gap:12,alignItems:`center`},children:(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4,flex:1},children:[(0,j.jsx)(`span`,{style:{fontSize:11,color:`var(--text-muted)`},children:`Mavéa`}),(0,j.jsxs)(`div`,{style:{display:`flex`,gap:6},children:[(0,j.jsx)(`div`,{style:{flex:1},children:(0,j.jsx)(_e,{ariaLabel:`Mavéa's voice`,value:lt,onChange:e=>{ut(e),Ge(e);let t=m(e);t&&oe(t)},options:_.map(e=>({value:e.id,label:e.label,note:e.tone}))})}),(0,j.jsx)(`button`,{type:`button`,onClick:()=>{let e=m(lt);e&&oe(e)},style:{...Ue,width:`auto`,padding:`6px 10px`,cursor:`pointer`,fontSize:11},title:`Preview voice`,"aria-label":`Preview Mavéa's voice`,children:`▶`})]})]})}),(0,j.jsx)(de,{})]}),he.total>0&&(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsx)(`span`,{style:K,children:`Flashcards`}),(0,j.jsx)(Y,{label:`Flashcards`,value:g,options:[{value:`collection`,label:`Just save them`},{value:`spaced`,label:`Help me remember`}],onPick:e=>ve(e)}),(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},children:g===`collection`?`A plain pile you flip through when you feel like it. No dates, no counts, nothing waiting for you.`:`Each card comes back just before you'd forget it. New ones join ${me} a day, so a big pile never lands at once.`})]}),(0,j.jsxs)(Be,{defaultOpen:n,children:[(0,j.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:6},children:[(0,j.jsxs)(`span`,{style:{fontSize:11,color:`var(--text-muted)`},children:[`Hold to talk key `,(0,j.jsx)(`span`,{style:{opacity:.6},children:`(Hold mode only)`})]}),(0,j.jsx)(`div`,{style:{display:`flex`,gap:6},children:[{key:`Alt`,label:`Alt`},{key:`Control`,label:`Ctrl`},{key:`Shift`,label:`Shift`}].map(({key:e,label:t})=>{let n=(r.pttKey||`Alt`)===e;return(0,j.jsx)(`button`,{type:`button`,onClick:()=>D({pttKey:e}),style:Ve(n),"aria-pressed":n,title:`Hold ${t} to talk (shows as ${re(e,r.pttSide)} in the hint)`,children:t},e)})}),(0,j.jsx)(`div`,{style:{display:`flex`,gap:6},children:[{side:`any`,label:`Either side`},{side:`left`,label:`Left`},{side:`right`,label:`Right`}].map(({side:e,label:t})=>{let n=(r.pttSide||`any`)===e;return(0,j.jsx)(`button`,{type:`button`,onClick:()=>D({pttSide:e}),style:Ve(n),"aria-pressed":n,title:e===`any`?`Either side of the key talks`:`Only the ${t.toLowerCase()} key talks`,children:t},e)})})]}),(0,j.jsx)(J,{label:`Morning brief`,on:r.morningBrief,onToggle:()=>D({morningBrief:!r.morningBrief}),note:`On the first open of the day, Mavéa opens with a quick read on the things you track.`}),(0,j.jsx)(J,{label:`Save flashcards automatically`,on:r.autoSaveFlashcards,onToggle:()=>D({autoSaveFlashcards:!r.autoSaveFlashcards}),note:`When an answer already contains flashcards, keep them without asking. Off by default — the usual way is tapping “Cards” on the answer you want. Every save shows a pill with Undo, so it's never silent.`}),(0,j.jsx)(J,{label:`Quiet hours`,on:P,onToggle:()=>{ue(!P),F(!P)},note:`10 PM – 6 AM: the screen dims and voice output is reduced. Audibility still depends on your device volume and surroundings.`})]})]}),L===`data`&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(v,{kind:`stored-data`,from:`live`}),(0,j.jsxs)(`p`,{style:{fontSize:13,lineHeight:1.5,color:`var(--text-secondary)`,margin:0},children:[`Export a backup, or import one you saved. `,(0,j.jsx)(`strong`,{children:`Saved on this browser.`}),` Some content uses device-bound browser encryption; preferences and other records may use ordinary browser storage. A raw storage copy is not a portable backup — to move data to incognito, another port, browser, or computer, export it here and import it there.`]}),(0,j.jsxs)(`ul`,{style:{margin:0,paddingLeft:18,fontSize:12,lineHeight:1.6,color:`var(--text-muted)`},children:[(0,j.jsx)(`li`,{children:`Includes supported dashboards, memory, flashcards, saved canvases, map records, courses, and settings.`}),(0,j.jsxs)(`li`,{children:[`Provider/search keys and GitHub tokens are `,(0,j.jsx)(`strong`,{children:`never included`}),`. Active turn history, refresh ledgers, caches, Ripple tracking, and device-only appearance, audio, and performance preferences are also excluded.`]}),(0,j.jsxs)(`li`,{children:[`Importing `,(0,j.jsx)(`strong`,{children:`merges`}),` recognized data. It does not clear a store first, but bounded stores can evict older records when an import exceeds their capacity.`]}),(0,j.jsx)(`li`,{children:`The file is plain, unencrypted JSON: keep it somewhere safe, import only files you trust.`})]}),(0,j.jsxs)(`div`,{className:`settings-transfer-row`,"aria-busy":Q!==null,children:[(0,j.jsx)(`button`,{type:`button`,className:`settings-transfer-btn`,disabled:Q!==null,onClick:()=>void st(),children:Q===`export`?`Exporting backup…`:`Export a backup`}),(0,j.jsx)(`button`,{type:`button`,className:`settings-transfer-btn`,disabled:Q!==null,onClick:()=>Qe.current?.click(),children:Q===`import`?`Importing backup…`:`Import a backup`}),(0,j.jsx)(`input`,{ref:Qe,type:`file`,accept:`application/json,.json`,disabled:Q!==null,style:{display:`none`},"aria-hidden":`true`,onChange:e=>void ct(e)}),tt&&(0,j.jsx)(`span`,{style:{fontSize:12,color:`var(--text-muted)`},role:`status`,children:tt}),nt&&(0,j.jsx)(`span`,{className:`settings-import-error`,role:`alert`,children:nt})]})]}),(0,j.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`6px 12px`,paddingTop:14,borderTop:`1px solid var(--line-soft)`,color:`var(--text-muted)`,fontSize:10.5},children:[(0,j.jsx)(`a`,{href:`#/terms?from=live`,style:{color:`inherit`},children:`Terms`}),(0,j.jsx)(`a`,{href:`#/privacy?from=live`,style:{color:`inherit`},children:`Privacy`}),(0,j.jsx)(`a`,{href:`#/legal?from=live`,style:{color:`inherit`},children:`Important information`}),(0,j.jsx)(`a`,{href:l(`LICENSE.txt`),target:`_blank`,rel:`noreferrer noopener`,style:{color:`inherit`},children:`License`}),(0,j.jsx)(`button`,{type:`button`,onClick:c,style:{marginLeft:`auto`,padding:0,border:0,color:`inherit`,background:`transparent`,font:`inherit`,textDecoration:`underline`,textUnderlineOffset:3,cursor:`pointer`},children:`Review legal acknowledgement now`})]})]})]})}export{X as LiveSettings};
@@ -1 +1 @@
1
- import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";import{t as r}from"./MindShape-CaDuLyGa.js";var i=e(),a=t();function o(e){let t=(0,i.c)(33),{open:o,onClose:s,spec:c}=e,l=`scrim`+(o?` show`:``),u=o?0:-1,d=!o,f;t[0]===s?f=t[1]:(f=e=>{(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),s())},t[0]=s,t[1]=f);let p=o?`auto`:`none`,m;t[2]===p?m=t[3]:(m={pointerEvents:p},t[2]=p,t[3]=m);let h;t[4]!==s||t[5]!==l||t[6]!==u||t[7]!==d||t[8]!==f||t[9]!==m?(h=(0,a.jsx)(`div`,{className:l,onClick:s,role:`button`,tabIndex:u,"aria-hidden":d,"aria-label":`Close the map`,onKeyDown:f,style:m}),t[4]=s,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=m,t[10]=h):h=t[10];let g=`drawer`+(o?` show`:``),_=!o,v=!o,y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,a.jsx)(n.x,{}),t[11]=y):y=t[11];let b;t[12]===s?b=t[13]:(b=(0,a.jsx)(`button`,{className:`drawer-x`,onClick:s,"aria-label":`Close the map`,children:y}),t[12]=s,t[13]=b);let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,a.jsxs)(`div`,{className:`drawer-eyebrow`,children:[(0,a.jsx)(n.sparkle,{style:{width:14,height:14}}),` The thinking behind this`]}),t[14]=x):x=t[14];let S;t[15]===c?S=t[16]:(S=c?.center&&(0,a.jsx)(`div`,{className:`drawer-claim`,children:c.center}),t[15]=c,t[16]=S);let C;t[17]===S?C=t[18]:(C=(0,a.jsxs)(`div`,{className:`drawer-head`,children:[x,S]}),t[17]=S,t[18]=C);let w;t[19]===c?w=t[20]:(w=c&&(0,a.jsx)(r,{asBlock:!0,center:c.center,atoms:c.atoms,links:c.links,clusters:c.clusters,unsaid:c.unsaid}),t[19]=c,t[20]=w);let T;t[21]===w?T=t[22]:(T=(0,a.jsx)(`div`,{className:`drawer-body`,children:w}),t[21]=w,t[22]=T);let E;t[23]!==v||t[24]!==b||t[25]!==C||t[26]!==T||t[27]!==g||t[28]!==_?(E=(0,a.jsxs)(`aside`,{className:g,"aria-hidden":_,inert:v,children:[b,C,T]}),t[23]=v,t[24]=b,t[25]=C,t[26]=T,t[27]=g,t[28]=_,t[29]=E):E=t[29];let D;return t[30]!==E||t[31]!==h?(D=(0,a.jsxs)(a.Fragment,{children:[h,E]}),t[30]=E,t[31]=h,t[32]=D):D=t[32],D}export{o as MindMapViewerDrawer};
1
+ import{t as e}from"./compiler-runtime-qQQXpJgv.js";import{t}from"./jsx-runtime-DeHZSEgm.js";import{n}from"./icons-gLFQTv74.js";import{t as r}from"./MindShape-DVlgSR1B.js";var i=e(),a=t();function o(e){let t=(0,i.c)(33),{open:o,onClose:s,spec:c}=e,l=`scrim`+(o?` show`:``),u=o?0:-1,d=!o,f;t[0]===s?f=t[1]:(f=e=>{(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),s())},t[0]=s,t[1]=f);let p=o?`auto`:`none`,m;t[2]===p?m=t[3]:(m={pointerEvents:p},t[2]=p,t[3]=m);let h;t[4]!==s||t[5]!==l||t[6]!==u||t[7]!==d||t[8]!==f||t[9]!==m?(h=(0,a.jsx)(`div`,{className:l,onClick:s,role:`button`,tabIndex:u,"aria-hidden":d,"aria-label":`Close the map`,onKeyDown:f,style:m}),t[4]=s,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=m,t[10]=h):h=t[10];let g=`drawer`+(o?` show`:``),_=!o,v=!o,y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,a.jsx)(n.x,{}),t[11]=y):y=t[11];let b;t[12]===s?b=t[13]:(b=(0,a.jsx)(`button`,{className:`drawer-x`,onClick:s,"aria-label":`Close the map`,children:y}),t[12]=s,t[13]=b);let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,a.jsxs)(`div`,{className:`drawer-eyebrow`,children:[(0,a.jsx)(n.sparkle,{style:{width:14,height:14}}),` The thinking behind this`]}),t[14]=x):x=t[14];let S;t[15]===c?S=t[16]:(S=c?.center&&(0,a.jsx)(`div`,{className:`drawer-claim`,children:c.center}),t[15]=c,t[16]=S);let C;t[17]===S?C=t[18]:(C=(0,a.jsxs)(`div`,{className:`drawer-head`,children:[x,S]}),t[17]=S,t[18]=C);let w;t[19]===c?w=t[20]:(w=c&&(0,a.jsx)(r,{asBlock:!0,center:c.center,atoms:c.atoms,links:c.links,clusters:c.clusters,unsaid:c.unsaid}),t[19]=c,t[20]=w);let T;t[21]===w?T=t[22]:(T=(0,a.jsx)(`div`,{className:`drawer-body`,children:w}),t[21]=w,t[22]=T);let E;t[23]!==v||t[24]!==b||t[25]!==C||t[26]!==T||t[27]!==g||t[28]!==_?(E=(0,a.jsxs)(`aside`,{className:g,"aria-hidden":_,inert:v,children:[b,C,T]}),t[23]=v,t[24]=b,t[25]=C,t[26]=T,t[27]=g,t[28]=_,t[29]=E):E=t[29];let D;return t[30]!==E||t[31]!==h?(D=(0,a.jsxs)(a.Fragment,{children:[h,E]}),t[30]=E,t[31]=h,t[32]=D):D=t[32],D}export{o as MindMapViewerDrawer};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{R as r}from"./index-CdUH6Eo9.js";import{t as i}from"./useSpatialCanvas-CfmZOXXP.js";import{t as a}from"./Presence-UqXfH4Y-.js";var o=e(),s=t(),c=1e3,l=26,u=150,d=105,f=82,p=16,m=1.5,h=324,g=252;.1*c;var _=120,v=80;.82*c;var y=120;function b(e,t,n,r=[],i=!1){let a=Array.from(e.keys()),o=t*2+l,s=n*2+l,c=168+Math.max(0,a.length-6)*10,f=i?h:c+d,p=i?g:c+n*.9,m=i?g:p+u;for(let i=0;i<400;i++){for(let[t,n]of a.entries()){let r=e.get(n);if(r.x===500&&r.y===329){let e=t/Math.max(1,a.length)*2*Math.PI;r.x=500+Math.cos(e),r.y=329+Math.sin(e)}let i=r.x-500,o=r.y-329,s=o>=0?m:p,c=i/f,l=o/s,u=Math.hypot(c,l)||1;u<1&&(r.x=500+c/u*f,r.y=329+l/u*s)}let i=!1;for(let t=0;t<a.length;t++)for(let n=t+1;n<a.length;n++){let r=e.get(a[t]),c=e.get(a[n]),l=c.x-r.x,u=c.y-r.y;l===0&&u===0&&(l=t-n,u=n-t);let d=o-Math.abs(l),f=s-Math.abs(u);if(d>0&&f>0){if(i=!0,d<=f){let e=d/2*(l<0?-1:1);r.x-=e,c.x+=e}else{let e=f/2*(u<0?-1:1);r.y-=e,c.y+=e}}}for(let o of a){let a=e.get(o);for(let e of r){let r=t+e.hw+l-Math.abs(a.x-e.x),o=n+e.hh+l-Math.abs(a.y-e.y);r<=0||o<=0||(i=!0,o<=r?a.y+=a.y>=e.y?o:-o:a.x+=a.x>=e.x?r:-r)}}if(!i)break}}function x(e,t,n){let r=Array.from(t.values()),i=new Map(n.map(e=>[e.id,e.members]));for(let n of e){let a=(i.get(n.id)??[]).map(e=>t.get(e.id)).filter(e=>!!e);if(a.length){let e=Math.min(...a.map(e=>e.x)),t=Math.max(...a.map(e=>e.x)),r=Math.min(...a.map(e=>e.y)),i=Math.max(...a.map(e=>e.y)),o=(e+t)/2,s=(r+i)/2,c=o-500,l=s-329;Math.abs(l)>=Math.abs(c)?(n.x=o,n.y=l>=0?i+78+p+14:r-78-p-14):(n.y=s,n.x=c>=0?t+150+f+14:e-150-f-14)}for(let t=0;t<80;t++){let t=!1,i=[...r.map(e=>({point:e,hw:150,hh:78})),...e.filter(e=>e!==n).map(e=>({point:e,hw:f,hh:p}))];for(let e of i){let r=f+e.hw+12-Math.abs(n.x-e.point.x),i=p+e.hh+10-Math.abs(n.y-e.point.y);r<=0||i<=0||(t=!0,i<=r?n.y+=n.y>=e.point.y?i:-i:n.x+=n.x>=e.point.x?r:-r)}if(!t)break}}}function S(e,t,n,r=!1,i=!1){let a=new Map,o=new Map,s=[],l=new Map(e.map(e=>[e.id,e])),u=new Set,d=[];for(let e of t??[]){let t=e.atomIds.map(e=>l.get(e)).filter(e=>!!e);t.length!==0&&(t.forEach(e=>u.add(e.id)),d.push({id:e.id,label:e.label,members:t}))}let f=e.filter(e=>!u.has(e.id));if(f.length&&d.push({id:`__rest`,members:f}),d.length===0)return{positions:a,centroidOf:o,labels:s};let p=d.length,h=p===1,g=h?0:Math.min(250,180+p*20);if(d.forEach((e,t)=>{let r=t/p*2*Math.PI-Math.PI/2,i=h?500:500+g*Math.cos(r),c=h?329:329+g*Math.sin(r);e.label&&s.push({id:e.id,label:e.label,x:i,y:c});let l=e.members.length,u=Math.max(318,230+l*26),d=l<=1?h?u:0:h?u:Math.min(220,110+l*16),f={x:i,y:c};e.members.forEach((e,r)=>{let s=n?.get(e.id);if(s)a.set(e.id,{x:s.x,y:s.y});else{let n=r/Math.max(1,l)*2*Math.PI-Math.PI/2+t*.4;a.set(e.id,{x:i+d*Math.cos(n),y:c+d*Math.sin(n)})}o.set(e.id,f)})}),b(a,150,78,[...r?[{x:820,y:630,hw:y,hh:78}]:[],...i?[{x:100,y:84,hw:_,hh:v}]:[]],i),i){let e=c*.42;for(let t of a.values()){let n=t.x-500,r=Math.abs(n)*m;t.x=500+Math.sign(n)*Math.min(r,Math.max(Math.abs(n),e))}}for(let e of d){let t=e.members.map(e=>a.get(e.id)).filter(e=>!!e);if(!t.length)continue;let n={x:t.reduce((e,t)=>e+t.x,0)/t.length,y:t.reduce((e,t)=>e+t.y,0)/t.length};for(let t of e.members)a.has(t.id)&&o.set(t.id,n)}return x(s,a,d),{positions:a,centroidOf:o,labels:s}}var C=n(),w={person:`#2E9C8E`,option:`#5B63E8`,want:`#B07A2E`,fear:`#C9705E`,constraint:`#7A8194`,tradeoff:`#8B6FD4`,contradiction:`#C9705E`,open_loop:`#C98A1B`,action:`#5B63E8`,value:`#B07A2E`,question:`#C98A1B`},T={person:`Person`,option:`Option`,want:`Want`,fear:`Worry`,constraint:`Constraint`,tradeoff:`Tradeoff`,contradiction:`Contradiction`,open_loop:`Open loop`,action:`Action`,value:`Value`,question:`Question`},E=96,D=18,O=104;function k(e,t,n,r){let i=n-e,a=r-t,o=Math.hypot(i,a)||1,s=-a/o,c=i/o,l=(e+n)/2,u=(t+r)/2,d=l+s*52,f=u+c*52,p=.25*e+.5*d+.25*n+s*18,m=.25*t+.5*f+.25*r+c*18;return{d:`M ${e} ${t} Q ${d} ${f} ${n} ${r}`,lx:p,ly:m}}function ee({atom:e,x:t,y:n,order:r,onRemove:i}){let[a,s]=(0,o.useState)(!1),c=w[e.kind]??`#7A8194`,l=e.status===`stable`;return(0,C.jsxs)(`div`,{className:`ms-card`,"data-status":e.status,"data-open":a?`true`:void 0,style:{left:`${t}px`,top:`${n}px`,"--ms-kind-color":c,"--ms-i":r},onClick:()=>l&&s(e=>!e),role:l?`button`:void 0,tabIndex:l?0:void 0,"aria-expanded":l?a:void 0,onKeyDown:e=>e.key===`Enter`&&l&&s(e=>!e),children:[i&&(0,C.jsx)(`button`,{type:`button`,className:`ms-card-remove`,"aria-label":`Remove “${e.label}”`,onClick:t=>{t.stopPropagation(),i(e.id)},children:`×`}),(0,C.jsxs)(`div`,{className:`ms-card-header`,children:[(0,C.jsx)(`span`,{className:`ms-kind-dot`,"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`ms-kind-label`,children:T[e.kind]})]}),(0,C.jsx)(`div`,{className:`ms-atom-label`,children:e.label}),l&&(0,C.jsxs)(`div`,{className:`ms-card-quote`,"aria-hidden":!a,children:[(0,C.jsx)(`span`,{className:`ms-you-said`,children:`you said · `}),e.quote]})]})}function te({unsaid:e,onConfirm:t,onDismiss:n}){let r=!!(t||n);return(0,C.jsxs)(`div`,{className:`ms-card ms-unsaid`,"data-status":`maybe`,"data-interactive":r?`true`:void 0,style:{left:`820px`,top:`630px`,"--ms-i":20},"aria-label":`Maybe: ${e.label}`,children:[(0,C.jsxs)(`div`,{className:`ms-card-header`,children:[(0,C.jsx)(`span`,{className:`ms-kind-dot`,style:{background:`var(--warning)`},"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`ms-kind-label`,style:{color:`var(--warning)`},children:`Maybe`})]}),(0,C.jsx)(`div`,{className:`ms-atom-label`,children:e.label}),(0,C.jsx)(`div`,{className:`ms-card-quote`,children:e.why}),r&&(0,C.jsxs)(`div`,{className:`ms-unsaid-actions`,children:[t&&(0,C.jsx)(`button`,{type:`button`,className:`ms-unsaid-btn ms-unsaid-confirm`,onClick:e=>{e.stopPropagation(),t()},children:`Yes, that's it`}),n&&(0,C.jsx)(`button`,{type:`button`,className:`ms-unsaid-btn ms-unsaid-dismiss`,onClick:e=>{e.stopPropagation(),n()},children:`Not this`})]})]})}function ne(e){let t=(0,s.c)(4),{signal:n}=e,r;return t[0]!==n.content||t[1]!==n.id||t[2]!==n.kind?(r=(0,C.jsx)(`div`,{className:`ms-signal-chip`,"data-kind":n.kind,"aria-live":`polite`,children:n.content},n.id),t[0]=n.content,t[1]=n.id,t[2]=n.kind,t[3]=r):r=t[3],r}function re(e,t){let n=e.links.filter(e=>e.kind===`tensions`).length,r=e.atoms.filter(e=>e.kind===`question`).length,i=e.atoms.filter(e=>e.kind===`option`).length,a=e.atoms.length;return t&&n>0?n===1?`1 tension. ${t.a.label} vs ${t.b.label}.`:`${n} tensions. The real pull: ${t.a.label} vs ${t.b.label}.`:r>=3?`${r} open questions.`:i>=2?`${i} options. ${a} things on your mind.`:`${a} thought${a===1?``:`s`}. Here's what I heard.`}function A({center:e,atoms:t=[],links:n=[],clusters:s,unsaid:l,title:u,phase:d=`settled`,intent:f=`general`,isRevealing:p=!1,modelUnavailable:m=!1,currentSignal:h,onAction:g,onRemoveAtom:_,onConfirmUnsaid:v,onDismissUnsaid:y,liveTranscript:b,thoughtCount:x,delay:T=0,asBlock:A=!0}){let j=(0,o.useRef)(new Map),M=r(),N=d===`settled`,P=`${N}|${(s??[]).map(e=>`${e.id}:${e.atomIds.join(`,`)}`).join(`|`)}`,F=(0,o.useRef)(``),ie=P===F.current?j.current:void 0,{positions:I,centroidOf:ae,labels:L}=(0,o.useMemo)(()=>S(t,s,ie,!!l,N),[t,s,l,N]);j.current=I,F.current=P;let oe=!!g&&t.length>0,R=i({clamp:{min:.12,max:1.6},margin:20,insetBottom:oe?O:0}),{fitTo:z}=R,B=(0,o.useMemo)(()=>{let e=318,t=195.6;for(let n of I.values())e=Math.max(e,Math.abs(n.x-500)+150),t=Math.max(t,Math.abs(n.y-329)+78);for(let n of L)e=Math.max(e,Math.abs(n.x-500)+E),t=Math.max(t,Math.abs(n.y-329)+D);return l&&(e=Math.max(e,470),t=Math.max(t,379)),e+=24,t+=24,{x:500-e,y:329-t,w:2*e,h:2*t}},[I,L,l]);(0,o.useEffect)(()=>{z(B)},[B,z]);let V=[...n].sort((e,t)=>(e.kind===`tensions`)-+(t.kind===`tensions`)),H=(0,o.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]),U=(0,o.useMemo)(()=>{let e=n.filter(e=>e.kind===`tensions`&&!e.provisional&&e.label);if(e.length===0)return null;let t=e=>H.get(e)?.weight??1,r=e.map(e=>({l:e,w:t(e.from)+t(e.to)})).sort((e,t)=>t.w-e.w||(e.l.from+e.l.to).localeCompare(t.l.from+t.l.to))[0],i=H.get(r.l.from),a=H.get(r.l.to);return!i||!a?null:{a:i,b:a,label:r.l.label}},[n,H]),W=(0,o.useMemo)(()=>t.filter(e=>(e.kind===`open_loop`||e.kind===`action`||e.kind===`question`)&&e.quote&&e.status!==`maybe`).map(e=>({id:e.id,label:e.label,quote:e.quote})),[t]),[G,K]=(0,o.useState)(null),[se,ce]=(0,o.useState)(()=>new Set),le=(0,o.useCallback)(e=>{ce(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),q=(0,o.useRef)(!1),J=(0,o.useRef)(!1),Y=(0,o.useRef)(d===`settled`);(0,o.useEffect)(()=>{d===`settled`&&(f===`planning`&&!J.current?(J.current=!0,K(`plan`)):U&&!q.current&&f!==`planning`&&(q.current=!0,K(`tension`)));let e=Y.current;Y.current=d===`settled`,e&&d!==`settled`&&(q.current=!1,J.current=!1,K(null))},[d,U,f]);let X=d===`listening`?`listening`:d===`pausing`?`thinking`:`idle`,ue=d===`settled`?{decision:`THE DECISION`,planning:`THE PLAN`,exploration:`THE QUESTION`,processing:`WHAT'S GOING ON`,general:`WHAT I HEARD`}[f]??`WHAT I HEARD`:`WHAT I'M HEARING`,de={decision:`Help me decide`,planning:`Build this plan`,exploration:`Take me deeper`,processing:`Help me understand`,general:`Answer this`}[f]??`Answer this`,Z=(0,o.useRef)(null),fe=e=>{!N||e.button!==0||e.target.closest(`.ms-card, .ms-hub, button`)||(Z.current={x:e.clientX,y:e.clientY},e.currentTarget.setPointerCapture(e.pointerId))},pe=e=>{let t=Z.current;t&&(R.pan(e.clientX-t.x,e.clientY-t.y),Z.current={x:e.clientX,y:e.clientY})},Q=e=>{Z.current&&(Z.current=null,e.currentTarget.releasePointerCapture?.(e.pointerId))},$=(0,C.jsxs)(`div`,{className:`ms-canvas`,ref:R.viewportRef,onPointerDown:fe,onPointerMove:pe,onPointerUp:Q,onPointerCancel:Q,onWheel:e=>{N&&R.zoomAtClient(e.deltaY<0?1.12:1/1.12,e.clientX,e.clientY)},"data-interactive":!0,"data-explorable":N?`true`:void 0,style:{"--ms-cam-scale":R.camera.scale},"data-phase":d,"data-revealing":p?`true`:void 0,"data-has-actions":g&&t.length>0?`true`:void 0,role:`region`,"aria-label":`Mindshape — the shape of your thought`,children:[(0,C.jsxs)(`div`,{className:`ms-world`,style:{transform:R.transform,"--ms-cam-scale":R.camera.scale},children:[L.map(e=>(0,C.jsx)(`div`,{className:`ms-cluster-label`,style:{left:`${e.x}px`,top:`${e.y}px`},"aria-hidden":`true`,children:e.label},e.id)),(0,C.jsxs)(`svg`,{className:`ms-svg`,viewBox:`0 0 ${c} 700`,"aria-hidden":`true`,children:[t.filter(e=>e.status===`stable`).map((e,t)=>{let n=I.get(e.id),r=ae.get(e.id);return!n||!r?null:(0,C.jsx)(`path`,{className:`ms-spoke`,d:`M ${r.x} ${r.y} L ${n.x} ${n.y}`,pathLength:1,style:{"--ms-spoke-i":t}},`spoke-${e.id}`)}),V.map((e,t)=>{let n=I.get(e.from),r=I.get(e.to);if(!n||!r)return null;let i=e.kind===`tensions`,a=w[H.get(e.from)?.kind??`fear`],{d:o,lx:s,ly:c}=k(n.x,n.y,r.x,r.y),l=i&&U&&e.from===U.a.id&&e.to===U.b.id;return(0,C.jsxs)(`g`,{children:[(0,C.jsx)(`path`,{className:i?`ms-thread`:`ms-link`,"data-kind":e.kind,"data-hero":l?`true`:void 0,d:o,pathLength:i?1:void 0,stroke:i?a:void 0,style:{animationDelay:`${.3+t*.12}s`}}),i&&e.label&&(0,C.jsx)(`text`,{className:`ms-thread-label`,x:s,y:c,textAnchor:`middle`,dominantBaseline:`middle`,children:e.label})]},`link-${e.from}-${e.to}-${e.kind}`)})]}),N&&e&&(0,C.jsx)(`div`,{className:`ms-hub`,style:{left:`500px`,top:`329px`},"aria-live":`polite`,children:(0,C.jsx)(`span`,{className:`ms-hub-text`,children:e})}),t.map((e,t)=>{let n=I.get(e.id);return n?(0,C.jsx)(ee,{atom:e,x:n.x,y:n.y,order:t,onRemove:_},e.id):null}),l&&(0,C.jsx)(te,{unsaid:l,onConfirm:v,onDismiss:y})]}),(0,C.jsxs)(`div`,{className:`ms-center`,children:[h&&d!==`settled`&&(0,C.jsx)(ne,{signal:h}),!N&&(0,C.jsx)(`div`,{className:`ms-center-pip-wrap`,ref:M,children:(0,C.jsx)(a,{state:X,emotion:`neutral`,gaze:`center`})}),(0,C.jsx)(`div`,{className:`ms-center-label`,"aria-hidden":`true`,children:ue}),e&&!N&&(0,C.jsx)(`div`,{className:`ms-center-question`,"aria-live":`polite`,children:e}),d===`settled`&&(t.length>0?(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:re({atoms:t,links:n},U)}):m?(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:`I couldn't reach the model just now — nothing you said was lost. Try again in a moment.`}):(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:`Didn't catch enough to map yet — keep talking and I'll shape it.`})),x!==void 0&&x>=0&&d!==`settled`&&(0,C.jsxs)(`div`,{className:`ms-thought-count`,"aria-live":`polite`,children:[(0,C.jsx)(`span`,{className:`ms-mic-dot`,"aria-hidden":`true`}),(()=>{let e=Math.max(x,t.length);return e===0?`Listening…`:`${e} thought${e===1?``:`s`}`})()]}),b&&(0,C.jsx)(`div`,{className:`ms-live-text`,"aria-live":`polite`,"aria-label":`Currently hearing`,children:b})]}),d===`settled`&&U&&G===`tension`&&(0,C.jsxs)(`div`,{className:`ms-tension-callout`,role:`dialog`,"aria-label":`The tension`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Dismiss`,onClick:()=>K(null),children:`×`}),(0,C.jsx)(`span`,{className:`ms-tension-eyebrow`,children:`THE TENSION`}),(0,C.jsxs)(`p`,{className:`ms-tension-body`,children:[`You keep coming back to `,(0,C.jsxs)(`strong`,{children:[`“`,U.a.label,`.”`]}),` But you also said`,` `,(0,C.jsxs)(`strong`,{children:[`“`,U.b.label,`.”`]}),` Those may not be the same reason.`]}),g&&(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-cta`,onClick:()=>g(`tell-apart`,{tension:{a:U.a.label,b:U.b.label}}),children:`Help me tell them apart →`})]}),G===`plan`&&(0,C.jsxs)(`div`,{className:`ms-plan`,role:`dialog`,"aria-label":`Turn into a plan`,children:[(0,C.jsxs)(`header`,{className:`ms-plan-head`,children:[(0,C.jsx)(`span`,{className:`ms-plan-title`,children:`The open loops, as steps you control`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Close the plan`,onClick:()=>K(null),children:`×`})]}),W.length>0?(0,C.jsx)(`ol`,{className:`ms-plan-steps`,children:W.map(e=>{let t=se.has(e.id);return(0,C.jsxs)(`li`,{className:`ms-plan-step`,"data-done":t?`true`:void 0,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-plan-check`,role:`checkbox`,"aria-checked":t,"aria-label":`Mark “${e.label}” done`,onClick:()=>le(e.id),children:t&&(0,C.jsx)(`span`,{className:`ms-plan-check-mark`,"aria-hidden":`true`,children:`✓`})}),(0,C.jsxs)(`span`,{className:`ms-plan-step-body`,children:[(0,C.jsx)(`span`,{className:`ms-plan-step-label`,children:e.label}),(0,C.jsxs)(`span`,{className:`ms-plan-step-trace`,children:[`from “`,e.quote,`”`]})]})]},e.id)})}):(0,C.jsx)(`p`,{className:`ms-plan-empty`,children:`No open loops to turn into steps yet — keep talking and they’ll surface.`}),(0,C.jsxs)(`footer`,{className:`ms-plan-foot`,children:[(0,C.jsx)(`span`,{className:`ms-plan-note`,children:`Every step traces back to something you said — nothing invented.`}),g&&W.length>0&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn ms-action-primary`,onClick:()=>g(`commit-plan`),children:`Make it real →`})]})]}),d===`settled`&&G===`kept`&&(0,C.jsxs)(`div`,{className:`ms-kept`,role:`dialog`,"aria-label":`Kept this shape`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Close`,onClick:()=>K(null),children:`×`}),(0,C.jsx)(`span`,{className:`ms-kept-eyebrow`,children:`KEPT THIS SHAPE`}),(0,C.jsx)(`p`,{className:`ms-kept-body`,children:`This is the shape of what you were thinking. It’s yours to revisit.`}),g&&(0,C.jsxs)(`div`,{className:`ms-kept-actions`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`answer`),children:`↻ Replay`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`share`),children:`↗ Share`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`present`),children:`▶ Present mode`})]}),(0,C.jsx)(`span`,{className:`ms-kept-memory`,children:`Nothing was saved to memory — Mavéa asks first before keeping anything personal.`})]}),g&&t.length>0&&(0,C.jsxs)(`div`,{className:`ms-actions`,role:`group`,"aria-label":`What to do with this map`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn ms-action-primary`,onClick:()=>g(`answer`),children:de}),(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`+(G===`plan`?` is-active`:``),"aria-pressed":G===`plan`,onClick:()=>K(e=>e===`plan`?null:`plan`),children:`Turn into a plan`}),d===`settled`&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`+(G===`kept`?` is-active`:``),"aria-pressed":G===`kept`,onClick:()=>K(e=>e===`kept`?null:`kept`),children:`That’s it`}),d===`settled`&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`,onClick:()=>g(`add-more`),children:`Add more`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`,onClick:()=>g(`not-quite`),children:`Not quite`})]})]});return A?(0,C.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${T}ms`},children:[u&&(0,C.jsx)(`div`,{className:`card-eyebrow`,children:u}),$]}):$}export{A as t};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{R as r}from"./index-Db-FgYxX.js";import{t as i}from"./useSpatialCanvas-CfmZOXXP.js";import{t as a}from"./Presence-UqXfH4Y-.js";var o=e(),s=t(),c=1e3,l=26,u=150,d=105,f=82,p=16,m=1.5,h=324,g=252;.1*c;var _=120,v=80;.82*c;var y=120;function b(e,t,n,r=[],i=!1){let a=Array.from(e.keys()),o=t*2+l,s=n*2+l,c=168+Math.max(0,a.length-6)*10,f=i?h:c+d,p=i?g:c+n*.9,m=i?g:p+u;for(let i=0;i<400;i++){for(let[t,n]of a.entries()){let r=e.get(n);if(r.x===500&&r.y===329){let e=t/Math.max(1,a.length)*2*Math.PI;r.x=500+Math.cos(e),r.y=329+Math.sin(e)}let i=r.x-500,o=r.y-329,s=o>=0?m:p,c=i/f,l=o/s,u=Math.hypot(c,l)||1;u<1&&(r.x=500+c/u*f,r.y=329+l/u*s)}let i=!1;for(let t=0;t<a.length;t++)for(let n=t+1;n<a.length;n++){let r=e.get(a[t]),c=e.get(a[n]),l=c.x-r.x,u=c.y-r.y;l===0&&u===0&&(l=t-n,u=n-t);let d=o-Math.abs(l),f=s-Math.abs(u);if(d>0&&f>0){if(i=!0,d<=f){let e=d/2*(l<0?-1:1);r.x-=e,c.x+=e}else{let e=f/2*(u<0?-1:1);r.y-=e,c.y+=e}}}for(let o of a){let a=e.get(o);for(let e of r){let r=t+e.hw+l-Math.abs(a.x-e.x),o=n+e.hh+l-Math.abs(a.y-e.y);r<=0||o<=0||(i=!0,o<=r?a.y+=a.y>=e.y?o:-o:a.x+=a.x>=e.x?r:-r)}}if(!i)break}}function x(e,t,n){let r=Array.from(t.values()),i=new Map(n.map(e=>[e.id,e.members]));for(let n of e){let a=(i.get(n.id)??[]).map(e=>t.get(e.id)).filter(e=>!!e);if(a.length){let e=Math.min(...a.map(e=>e.x)),t=Math.max(...a.map(e=>e.x)),r=Math.min(...a.map(e=>e.y)),i=Math.max(...a.map(e=>e.y)),o=(e+t)/2,s=(r+i)/2,c=o-500,l=s-329;Math.abs(l)>=Math.abs(c)?(n.x=o,n.y=l>=0?i+78+p+14:r-78-p-14):(n.y=s,n.x=c>=0?t+150+f+14:e-150-f-14)}for(let t=0;t<80;t++){let t=!1,i=[...r.map(e=>({point:e,hw:150,hh:78})),...e.filter(e=>e!==n).map(e=>({point:e,hw:f,hh:p}))];for(let e of i){let r=f+e.hw+12-Math.abs(n.x-e.point.x),i=p+e.hh+10-Math.abs(n.y-e.point.y);r<=0||i<=0||(t=!0,i<=r?n.y+=n.y>=e.point.y?i:-i:n.x+=n.x>=e.point.x?r:-r)}if(!t)break}}}function S(e,t,n,r=!1,i=!1){let a=new Map,o=new Map,s=[],l=new Map(e.map(e=>[e.id,e])),u=new Set,d=[];for(let e of t??[]){let t=e.atomIds.map(e=>l.get(e)).filter(e=>!!e);t.length!==0&&(t.forEach(e=>u.add(e.id)),d.push({id:e.id,label:e.label,members:t}))}let f=e.filter(e=>!u.has(e.id));if(f.length&&d.push({id:`__rest`,members:f}),d.length===0)return{positions:a,centroidOf:o,labels:s};let p=d.length,h=p===1,g=h?0:Math.min(250,180+p*20);if(d.forEach((e,t)=>{let r=t/p*2*Math.PI-Math.PI/2,i=h?500:500+g*Math.cos(r),c=h?329:329+g*Math.sin(r);e.label&&s.push({id:e.id,label:e.label,x:i,y:c});let l=e.members.length,u=Math.max(318,230+l*26),d=l<=1?h?u:0:h?u:Math.min(220,110+l*16),f={x:i,y:c};e.members.forEach((e,r)=>{let s=n?.get(e.id);if(s)a.set(e.id,{x:s.x,y:s.y});else{let n=r/Math.max(1,l)*2*Math.PI-Math.PI/2+t*.4;a.set(e.id,{x:i+d*Math.cos(n),y:c+d*Math.sin(n)})}o.set(e.id,f)})}),b(a,150,78,[...r?[{x:820,y:630,hw:y,hh:78}]:[],...i?[{x:100,y:84,hw:_,hh:v}]:[]],i),i){let e=c*.42;for(let t of a.values()){let n=t.x-500,r=Math.abs(n)*m;t.x=500+Math.sign(n)*Math.min(r,Math.max(Math.abs(n),e))}}for(let e of d){let t=e.members.map(e=>a.get(e.id)).filter(e=>!!e);if(!t.length)continue;let n={x:t.reduce((e,t)=>e+t.x,0)/t.length,y:t.reduce((e,t)=>e+t.y,0)/t.length};for(let t of e.members)a.has(t.id)&&o.set(t.id,n)}return x(s,a,d),{positions:a,centroidOf:o,labels:s}}var C=n(),w={person:`#2E9C8E`,option:`#5B63E8`,want:`#B07A2E`,fear:`#C9705E`,constraint:`#7A8194`,tradeoff:`#8B6FD4`,contradiction:`#C9705E`,open_loop:`#C98A1B`,action:`#5B63E8`,value:`#B07A2E`,question:`#C98A1B`},T={person:`Person`,option:`Option`,want:`Want`,fear:`Worry`,constraint:`Constraint`,tradeoff:`Tradeoff`,contradiction:`Contradiction`,open_loop:`Open loop`,action:`Action`,value:`Value`,question:`Question`},E=96,D=18,O=104;function k(e,t,n,r){let i=n-e,a=r-t,o=Math.hypot(i,a)||1,s=-a/o,c=i/o,l=(e+n)/2,u=(t+r)/2,d=l+s*52,f=u+c*52,p=.25*e+.5*d+.25*n+s*18,m=.25*t+.5*f+.25*r+c*18;return{d:`M ${e} ${t} Q ${d} ${f} ${n} ${r}`,lx:p,ly:m}}function ee({atom:e,x:t,y:n,order:r,onRemove:i}){let[a,s]=(0,o.useState)(!1),c=w[e.kind]??`#7A8194`,l=e.status===`stable`;return(0,C.jsxs)(`div`,{className:`ms-card`,"data-status":e.status,"data-open":a?`true`:void 0,style:{left:`${t}px`,top:`${n}px`,"--ms-kind-color":c,"--ms-i":r},onClick:()=>l&&s(e=>!e),role:l?`button`:void 0,tabIndex:l?0:void 0,"aria-expanded":l?a:void 0,onKeyDown:e=>e.key===`Enter`&&l&&s(e=>!e),children:[i&&(0,C.jsx)(`button`,{type:`button`,className:`ms-card-remove`,"aria-label":`Remove “${e.label}”`,onClick:t=>{t.stopPropagation(),i(e.id)},children:`×`}),(0,C.jsxs)(`div`,{className:`ms-card-header`,children:[(0,C.jsx)(`span`,{className:`ms-kind-dot`,"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`ms-kind-label`,children:T[e.kind]})]}),(0,C.jsx)(`div`,{className:`ms-atom-label`,children:e.label}),l&&(0,C.jsxs)(`div`,{className:`ms-card-quote`,"aria-hidden":!a,children:[(0,C.jsx)(`span`,{className:`ms-you-said`,children:`you said · `}),e.quote]})]})}function te({unsaid:e,onConfirm:t,onDismiss:n}){let r=!!(t||n);return(0,C.jsxs)(`div`,{className:`ms-card ms-unsaid`,"data-status":`maybe`,"data-interactive":r?`true`:void 0,style:{left:`820px`,top:`630px`,"--ms-i":20},"aria-label":`Maybe: ${e.label}`,children:[(0,C.jsxs)(`div`,{className:`ms-card-header`,children:[(0,C.jsx)(`span`,{className:`ms-kind-dot`,style:{background:`var(--warning)`},"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`ms-kind-label`,style:{color:`var(--warning)`},children:`Maybe`})]}),(0,C.jsx)(`div`,{className:`ms-atom-label`,children:e.label}),(0,C.jsx)(`div`,{className:`ms-card-quote`,children:e.why}),r&&(0,C.jsxs)(`div`,{className:`ms-unsaid-actions`,children:[t&&(0,C.jsx)(`button`,{type:`button`,className:`ms-unsaid-btn ms-unsaid-confirm`,onClick:e=>{e.stopPropagation(),t()},children:`Yes, that's it`}),n&&(0,C.jsx)(`button`,{type:`button`,className:`ms-unsaid-btn ms-unsaid-dismiss`,onClick:e=>{e.stopPropagation(),n()},children:`Not this`})]})]})}function ne(e){let t=(0,s.c)(4),{signal:n}=e,r;return t[0]!==n.content||t[1]!==n.id||t[2]!==n.kind?(r=(0,C.jsx)(`div`,{className:`ms-signal-chip`,"data-kind":n.kind,"aria-live":`polite`,children:n.content},n.id),t[0]=n.content,t[1]=n.id,t[2]=n.kind,t[3]=r):r=t[3],r}function re(e,t){let n=e.links.filter(e=>e.kind===`tensions`).length,r=e.atoms.filter(e=>e.kind===`question`).length,i=e.atoms.filter(e=>e.kind===`option`).length,a=e.atoms.length;return t&&n>0?n===1?`1 tension. ${t.a.label} vs ${t.b.label}.`:`${n} tensions. The real pull: ${t.a.label} vs ${t.b.label}.`:r>=3?`${r} open questions.`:i>=2?`${i} options. ${a} things on your mind.`:`${a} thought${a===1?``:`s`}. Here's what I heard.`}function A({center:e,atoms:t=[],links:n=[],clusters:s,unsaid:l,title:u,phase:d=`settled`,intent:f=`general`,isRevealing:p=!1,modelUnavailable:m=!1,currentSignal:h,onAction:g,onRemoveAtom:_,onConfirmUnsaid:v,onDismissUnsaid:y,liveTranscript:b,thoughtCount:x,delay:T=0,asBlock:A=!0}){let j=(0,o.useRef)(new Map),M=r(),N=d===`settled`,P=`${N}|${(s??[]).map(e=>`${e.id}:${e.atomIds.join(`,`)}`).join(`|`)}`,F=(0,o.useRef)(``),ie=P===F.current?j.current:void 0,{positions:I,centroidOf:ae,labels:L}=(0,o.useMemo)(()=>S(t,s,ie,!!l,N),[t,s,l,N]);j.current=I,F.current=P;let oe=!!g&&t.length>0,R=i({clamp:{min:.12,max:1.6},margin:20,insetBottom:oe?O:0}),{fitTo:z}=R,B=(0,o.useMemo)(()=>{let e=318,t=195.6;for(let n of I.values())e=Math.max(e,Math.abs(n.x-500)+150),t=Math.max(t,Math.abs(n.y-329)+78);for(let n of L)e=Math.max(e,Math.abs(n.x-500)+E),t=Math.max(t,Math.abs(n.y-329)+D);return l&&(e=Math.max(e,470),t=Math.max(t,379)),e+=24,t+=24,{x:500-e,y:329-t,w:2*e,h:2*t}},[I,L,l]);(0,o.useEffect)(()=>{z(B)},[B,z]);let V=[...n].sort((e,t)=>(e.kind===`tensions`)-+(t.kind===`tensions`)),H=(0,o.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]),U=(0,o.useMemo)(()=>{let e=n.filter(e=>e.kind===`tensions`&&!e.provisional&&e.label);if(e.length===0)return null;let t=e=>H.get(e)?.weight??1,r=e.map(e=>({l:e,w:t(e.from)+t(e.to)})).sort((e,t)=>t.w-e.w||(e.l.from+e.l.to).localeCompare(t.l.from+t.l.to))[0],i=H.get(r.l.from),a=H.get(r.l.to);return!i||!a?null:{a:i,b:a,label:r.l.label}},[n,H]),W=(0,o.useMemo)(()=>t.filter(e=>(e.kind===`open_loop`||e.kind===`action`||e.kind===`question`)&&e.quote&&e.status!==`maybe`).map(e=>({id:e.id,label:e.label,quote:e.quote})),[t]),[G,K]=(0,o.useState)(null),[se,ce]=(0,o.useState)(()=>new Set),le=(0,o.useCallback)(e=>{ce(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),q=(0,o.useRef)(!1),J=(0,o.useRef)(!1),Y=(0,o.useRef)(d===`settled`);(0,o.useEffect)(()=>{d===`settled`&&(f===`planning`&&!J.current?(J.current=!0,K(`plan`)):U&&!q.current&&f!==`planning`&&(q.current=!0,K(`tension`)));let e=Y.current;Y.current=d===`settled`,e&&d!==`settled`&&(q.current=!1,J.current=!1,K(null))},[d,U,f]);let X=d===`listening`?`listening`:d===`pausing`?`thinking`:`idle`,ue=d===`settled`?{decision:`THE DECISION`,planning:`THE PLAN`,exploration:`THE QUESTION`,processing:`WHAT'S GOING ON`,general:`WHAT I HEARD`}[f]??`WHAT I HEARD`:`WHAT I'M HEARING`,de={decision:`Help me decide`,planning:`Build this plan`,exploration:`Take me deeper`,processing:`Help me understand`,general:`Answer this`}[f]??`Answer this`,Z=(0,o.useRef)(null),fe=e=>{!N||e.button!==0||e.target.closest(`.ms-card, .ms-hub, button`)||(Z.current={x:e.clientX,y:e.clientY},e.currentTarget.setPointerCapture(e.pointerId))},pe=e=>{let t=Z.current;t&&(R.pan(e.clientX-t.x,e.clientY-t.y),Z.current={x:e.clientX,y:e.clientY})},Q=e=>{Z.current&&(Z.current=null,e.currentTarget.releasePointerCapture?.(e.pointerId))},$=(0,C.jsxs)(`div`,{className:`ms-canvas`,ref:R.viewportRef,onPointerDown:fe,onPointerMove:pe,onPointerUp:Q,onPointerCancel:Q,onWheel:e=>{N&&R.zoomAtClient(e.deltaY<0?1.12:1/1.12,e.clientX,e.clientY)},"data-interactive":!0,"data-explorable":N?`true`:void 0,style:{"--ms-cam-scale":R.camera.scale},"data-phase":d,"data-revealing":p?`true`:void 0,"data-has-actions":g&&t.length>0?`true`:void 0,role:`region`,"aria-label":`Mindshape — the shape of your thought`,children:[(0,C.jsxs)(`div`,{className:`ms-world`,style:{transform:R.transform,"--ms-cam-scale":R.camera.scale},children:[L.map(e=>(0,C.jsx)(`div`,{className:`ms-cluster-label`,style:{left:`${e.x}px`,top:`${e.y}px`},"aria-hidden":`true`,children:e.label},e.id)),(0,C.jsxs)(`svg`,{className:`ms-svg`,viewBox:`0 0 ${c} 700`,"aria-hidden":`true`,children:[t.filter(e=>e.status===`stable`).map((e,t)=>{let n=I.get(e.id),r=ae.get(e.id);return!n||!r?null:(0,C.jsx)(`path`,{className:`ms-spoke`,d:`M ${r.x} ${r.y} L ${n.x} ${n.y}`,pathLength:1,style:{"--ms-spoke-i":t}},`spoke-${e.id}`)}),V.map((e,t)=>{let n=I.get(e.from),r=I.get(e.to);if(!n||!r)return null;let i=e.kind===`tensions`,a=w[H.get(e.from)?.kind??`fear`],{d:o,lx:s,ly:c}=k(n.x,n.y,r.x,r.y),l=i&&U&&e.from===U.a.id&&e.to===U.b.id;return(0,C.jsxs)(`g`,{children:[(0,C.jsx)(`path`,{className:i?`ms-thread`:`ms-link`,"data-kind":e.kind,"data-hero":l?`true`:void 0,d:o,pathLength:i?1:void 0,stroke:i?a:void 0,style:{animationDelay:`${.3+t*.12}s`}}),i&&e.label&&(0,C.jsx)(`text`,{className:`ms-thread-label`,x:s,y:c,textAnchor:`middle`,dominantBaseline:`middle`,children:e.label})]},`link-${e.from}-${e.to}-${e.kind}`)})]}),N&&e&&(0,C.jsx)(`div`,{className:`ms-hub`,style:{left:`500px`,top:`329px`},"aria-live":`polite`,children:(0,C.jsx)(`span`,{className:`ms-hub-text`,children:e})}),t.map((e,t)=>{let n=I.get(e.id);return n?(0,C.jsx)(ee,{atom:e,x:n.x,y:n.y,order:t,onRemove:_},e.id):null}),l&&(0,C.jsx)(te,{unsaid:l,onConfirm:v,onDismiss:y})]}),(0,C.jsxs)(`div`,{className:`ms-center`,children:[h&&d!==`settled`&&(0,C.jsx)(ne,{signal:h}),!N&&(0,C.jsx)(`div`,{className:`ms-center-pip-wrap`,ref:M,children:(0,C.jsx)(a,{state:X,emotion:`neutral`,gaze:`center`})}),(0,C.jsx)(`div`,{className:`ms-center-label`,"aria-hidden":`true`,children:ue}),e&&!N&&(0,C.jsx)(`div`,{className:`ms-center-question`,"aria-live":`polite`,children:e}),d===`settled`&&(t.length>0?(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:re({atoms:t,links:n},U)}):m?(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:`I couldn't reach the model just now — nothing you said was lost. Try again in a moment.`}):(0,C.jsx)(`div`,{className:`ms-synthesis-line`,"aria-live":`polite`,children:`Didn't catch enough to map yet — keep talking and I'll shape it.`})),x!==void 0&&x>=0&&d!==`settled`&&(0,C.jsxs)(`div`,{className:`ms-thought-count`,"aria-live":`polite`,children:[(0,C.jsx)(`span`,{className:`ms-mic-dot`,"aria-hidden":`true`}),(()=>{let e=Math.max(x,t.length);return e===0?`Listening…`:`${e} thought${e===1?``:`s`}`})()]}),b&&(0,C.jsx)(`div`,{className:`ms-live-text`,"aria-live":`polite`,"aria-label":`Currently hearing`,children:b})]}),d===`settled`&&U&&G===`tension`&&(0,C.jsxs)(`div`,{className:`ms-tension-callout`,role:`dialog`,"aria-label":`The tension`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Dismiss`,onClick:()=>K(null),children:`×`}),(0,C.jsx)(`span`,{className:`ms-tension-eyebrow`,children:`THE TENSION`}),(0,C.jsxs)(`p`,{className:`ms-tension-body`,children:[`You keep coming back to `,(0,C.jsxs)(`strong`,{children:[`“`,U.a.label,`.”`]}),` But you also said`,` `,(0,C.jsxs)(`strong`,{children:[`“`,U.b.label,`.”`]}),` Those may not be the same reason.`]}),g&&(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-cta`,onClick:()=>g(`tell-apart`,{tension:{a:U.a.label,b:U.b.label}}),children:`Help me tell them apart →`})]}),G===`plan`&&(0,C.jsxs)(`div`,{className:`ms-plan`,role:`dialog`,"aria-label":`Turn into a plan`,children:[(0,C.jsxs)(`header`,{className:`ms-plan-head`,children:[(0,C.jsx)(`span`,{className:`ms-plan-title`,children:`The open loops, as steps you control`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Close the plan`,onClick:()=>K(null),children:`×`})]}),W.length>0?(0,C.jsx)(`ol`,{className:`ms-plan-steps`,children:W.map(e=>{let t=se.has(e.id);return(0,C.jsxs)(`li`,{className:`ms-plan-step`,"data-done":t?`true`:void 0,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-plan-check`,role:`checkbox`,"aria-checked":t,"aria-label":`Mark “${e.label}” done`,onClick:()=>le(e.id),children:t&&(0,C.jsx)(`span`,{className:`ms-plan-check-mark`,"aria-hidden":`true`,children:`✓`})}),(0,C.jsxs)(`span`,{className:`ms-plan-step-body`,children:[(0,C.jsx)(`span`,{className:`ms-plan-step-label`,children:e.label}),(0,C.jsxs)(`span`,{className:`ms-plan-step-trace`,children:[`from “`,e.quote,`”`]})]})]},e.id)})}):(0,C.jsx)(`p`,{className:`ms-plan-empty`,children:`No open loops to turn into steps yet — keep talking and they’ll surface.`}),(0,C.jsxs)(`footer`,{className:`ms-plan-foot`,children:[(0,C.jsx)(`span`,{className:`ms-plan-note`,children:`Every step traces back to something you said — nothing invented.`}),g&&W.length>0&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn ms-action-primary`,onClick:()=>g(`commit-plan`),children:`Make it real →`})]})]}),d===`settled`&&G===`kept`&&(0,C.jsxs)(`div`,{className:`ms-kept`,role:`dialog`,"aria-label":`Kept this shape`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-tension-close`,"aria-label":`Close`,onClick:()=>K(null),children:`×`}),(0,C.jsx)(`span`,{className:`ms-kept-eyebrow`,children:`KEPT THIS SHAPE`}),(0,C.jsx)(`p`,{className:`ms-kept-body`,children:`This is the shape of what you were thinking. It’s yours to revisit.`}),g&&(0,C.jsxs)(`div`,{className:`ms-kept-actions`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`answer`),children:`↻ Replay`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`share`),children:`↗ Share`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-kept-btn`,onClick:()=>g(`present`),children:`▶ Present mode`})]}),(0,C.jsx)(`span`,{className:`ms-kept-memory`,children:`Nothing was saved to memory — Mavéa asks first before keeping anything personal.`})]}),g&&t.length>0&&(0,C.jsxs)(`div`,{className:`ms-actions`,role:`group`,"aria-label":`What to do with this map`,children:[(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn ms-action-primary`,onClick:()=>g(`answer`),children:de}),(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`+(G===`plan`?` is-active`:``),"aria-pressed":G===`plan`,onClick:()=>K(e=>e===`plan`?null:`plan`),children:`Turn into a plan`}),d===`settled`&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`+(G===`kept`?` is-active`:``),"aria-pressed":G===`kept`,onClick:()=>K(e=>e===`kept`?null:`kept`),children:`That’s it`}),d===`settled`&&(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`,onClick:()=>g(`add-more`),children:`Add more`}),(0,C.jsx)(`button`,{type:`button`,className:`ms-action-btn`,onClick:()=>g(`not-quite`),children:`Not quite`})]})]});return A?(0,C.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${T}ms`},children:[u&&(0,C.jsx)(`div`,{className:`card-eyebrow`,children:u}),$]}):$}export{A as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r}from"./icons-gLFQTv74.js";import{n as i}from"./blockLabel-FogyzEQY.js";import{t as a}from"./useFocusTrap-CJmpNZv2.js";import{F as o,Y as s,m as c}from"./store-Ba9vzL4H.js";import{l,n as u}from"./useLiveConfig-B4CmBiAK.js";import{r as d}from"./format-g3dP8OI3.js";import{t as f}from"./pin-BcKMUOiV.js";var ee=t(),p=e(),m=n(),h=[{v:`15min`,label:`15M`},{v:`hourly`,label:`1H`},{v:`6h`,label:`6H`},{v:`daily`,label:`DAILY`},{v:`manual`,label:`MANUAL`}],g={"15min":{text:`15 MIN`,tone:`fast`},hourly:{text:`HOURLY`,tone:`steady`},"6h":{text:`6 HOURS`,tone:`steady`},daily:{text:`DAILY`,tone:`calm`},manual:{text:`MANUAL`,tone:`calm`}};function _(e){let t=(0,ee.c)(45),{block:n,conversationTitle:_,question:y,onClose:b,onAdded:x}=e,[S,C]=(0,p.useState)(v),w;t[0]===n?w=t[1]:(w=i(n),t[0]=n,t[1]=w);let T=w,[E,D]=(0,p.useState)(S.length===0),O;t[2]!==_||t[3]!==T||t[4]!==y?(O=()=>d(y?.trim()||_||T),t[2]=_,t[3]=T,t[4]=y,t[5]=O):O=t[5];let[k,te]=(0,p.useState)(O),[A,j]=(0,p.useState)(`manual`),M=(0,p.useRef)(!1),N,P;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>{let e=!0;return o().then(()=>{e&&C(e=>{if(e.length>0)return e;let t=c();return t.length>0&&!M.current&&D(!1),t})}),()=>{e=!1}},P=[],t[6]=N,t[7]=P):(N=t[6],P=t[7]),(0,p.useEffect)(N,P);let F=(0,p.useRef)(null),I;t[8]===b?I=t[9]:(I={onEscape:b},t[8]=b,t[9]=I),a(F,I);let L=(0,p.useRef)(null),R,z;t[10]===E?(R=t[11],z=t[12]):(R=()=>{E?L.current?.focus():F.current?.querySelector(`.pin-row`)?.focus()},z=[E],t[10]=E,t[11]=R,t[12]=z),(0,p.useEffect)(R,z);let B;t[13]!==n||t[14]!==x||t[15]!==b||t[16]!==y?(B=e=>{let t=f({block:n,question:y,target:e});t&&x?.(t.dashboardId,t.title),b()},t[13]=n,t[14]=x,t[15]=b,t[16]=y,t[17]=B):B=t[17];let V=B,H=s(A),U;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(U=l(u()),t[18]=U):U=t[18];let W=!!U.apiKey,G;t[19]===b?G=t[20]:(G=e=>{e.target===e.currentTarget&&b()},t[19]=b,t[20]=G);let K;t[21]===b?K=t[22]:(K=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),b())},t[21]=b,t[22]=K);let q=E?`New dashboard`:`Add to dashboard`,J;t[23]===q?J=t[24]:(J=(0,m.jsx)(`span`,{className:`pin-eyebrow`,children:q}),t[23]=q,t[24]=J);let Y;t[25]===T?Y=t[26]:(Y=(0,m.jsx)(`span`,{className:`pin-subject`,children:T}),t[25]=T,t[26]=Y);let X;t[27]!==J||t[28]!==Y?(X=(0,m.jsxs)(`div`,{className:`pin-head`,children:[J,Y]}),t[27]=J,t[28]=Y,t[29]=X):X=t[29];let Z;t[30]!==A||t[31]!==S||t[32]!==T||t[33]!==k||t[34]!==E||t[35]!==V||t[36]!==H?(Z=E?(0,m.jsxs)(`form`,{className:`pin-new-step`,onSubmit:e=>{e.preventDefault(),V({new:{title:k.trim()||T,cadence:A}})},children:[(0,m.jsxs)(`label`,{className:`pin-name-field`,children:[(0,m.jsx)(`span`,{className:`pin-plan-label`,children:`Name`}),(0,m.jsx)(`input`,{ref:L,className:`pin-name-input`,value:k,onChange:e=>{M.current=!0,te(e.target.value)},"aria-label":`Dashboard name`})]}),(0,m.jsxs)(`div`,{className:`pin-plan-cadence`,children:[(0,m.jsx)(`span`,{className:`pin-plan-label`,children:`Check cadence`}),(0,m.jsx)(`div`,{className:`pin-cadence-seg`,role:`group`,"aria-label":`Check cadence`,children:h.map(e=>(0,m.jsx)(`button`,{type:`button`,className:`pin-cadence-opt`+(e.v===A?` is-active`:``),"aria-pressed":e.v===A,onClick:()=>j(e.v),children:e.label},e.v))}),(0,m.jsx)(`p`,{className:`pin-plan-estimate`,children:H>0?W?`≈ ${H} searches/mo on your key, at this cadence.`:`≈ ${H} searches/mo once a key is connected in Live — parked until then.`:`No standing searches — this refreshes only when you ask.`})]}),(0,m.jsxs)(`div`,{className:`pin-plan-actions`,children:[S.length>0?(0,m.jsx)(`button`,{type:`button`,className:`pin-secondary`,onClick:()=>D(!1),children:`← Back`}):(0,m.jsx)(`span`,{}),(0,m.jsx)(`button`,{type:`submit`,className:`pin-plan-confirm`,children:`Create · first check queued`})]})]}):(0,m.jsxs)(`div`,{className:`pin-list`,role:`menu`,children:[(0,m.jsxs)(`button`,{type:`button`,className:`pin-row pin-new`,role:`menuitem`,onClick:()=>D(!0),children:[(0,m.jsx)(`span`,{className:`pin-row-ic`,children:(0,m.jsx)(r.plus,{})}),(0,m.jsxs)(`span`,{className:`pin-row-text`,children:[(0,m.jsx)(`span`,{className:`pin-row-title`,children:`New dashboard`}),(0,m.jsx)(`span`,{className:`pin-row-sub`,children:`Start one with this card`})]})]}),S.map(e=>{let t=g[e.cadence.data];return(0,m.jsxs)(`button`,{type:`button`,className:`pin-row`,role:`menuitem`,onClick:()=>V(e.id),children:[(0,m.jsx)(`span`,{className:`pin-row-ic`,children:(0,m.jsx)(r.table,{})}),(0,m.jsxs)(`span`,{className:`pin-row-text`,children:[(0,m.jsx)(`span`,{className:`pin-row-title`,children:d(e.title)}),(0,m.jsxs)(`span`,{className:`pin-row-sub`,children:[e.widgets.length,` `,e.widgets.length===1?`card`:`cards`]})]}),(0,m.jsx)(`span`,{className:`pin-row-cad pin-row-cad--${t.tone}`,children:t.text})]},e.id)})]}),t[30]=A,t[31]=S,t[32]=T,t[33]=k,t[34]=E,t[35]=V,t[36]=H,t[37]=Z):Z=t[37];let Q;t[38]!==X||t[39]!==Z?(Q=(0,m.jsxs)(`div`,{className:`pin-sheet`,ref:F,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`Add to a dashboard`,children:[X,Z]}),t[38]=X,t[39]=Z,t[40]=Q):Q=t[40];let $;return t[41]!==G||t[42]!==K||t[43]!==Q?($=(0,m.jsx)(`div`,{className:`pin-scrim`,onClick:G,role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:K,children:Q}),t[41]=G,t[42]=K,t[43]=Q,t[44]=$):$=t[44],$}function v(){return c()}export{_ as PinToDashboard};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r}from"./icons-gLFQTv74.js";import{n as i}from"./blockLabel-FogyzEQY.js";import{t as a}from"./useFocusTrap-CJmpNZv2.js";import{F as o,Y as s,m as c}from"./store-D16dGt7I.js";import{n as l,u}from"./useLiveConfig-CvOQTr0s.js";import{r as d}from"./format-BkvssSOr.js";import{t as f}from"./pin-C5_s4Ju5.js";var ee=t(),p=e(),m=n(),h=[{v:`15min`,label:`15M`},{v:`hourly`,label:`1H`},{v:`6h`,label:`6H`},{v:`daily`,label:`DAILY`},{v:`manual`,label:`MANUAL`}],g={"15min":{text:`15 MIN`,tone:`fast`},hourly:{text:`HOURLY`,tone:`steady`},"6h":{text:`6 HOURS`,tone:`steady`},daily:{text:`DAILY`,tone:`calm`},manual:{text:`MANUAL`,tone:`calm`}};function _(e){let t=(0,ee.c)(45),{block:n,conversationTitle:_,question:y,onClose:b,onAdded:x}=e,[S,C]=(0,p.useState)(v),w;t[0]===n?w=t[1]:(w=i(n),t[0]=n,t[1]=w);let T=w,[E,D]=(0,p.useState)(S.length===0),O;t[2]!==_||t[3]!==T||t[4]!==y?(O=()=>d(y?.trim()||_||T),t[2]=_,t[3]=T,t[4]=y,t[5]=O):O=t[5];let[k,te]=(0,p.useState)(O),[A,j]=(0,p.useState)(`manual`),M=(0,p.useRef)(!1),N,P;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(N=()=>{let e=!0;return o().then(()=>{e&&C(e=>{if(e.length>0)return e;let t=c();return t.length>0&&!M.current&&D(!1),t})}),()=>{e=!1}},P=[],t[6]=N,t[7]=P):(N=t[6],P=t[7]),(0,p.useEffect)(N,P);let F=(0,p.useRef)(null),I;t[8]===b?I=t[9]:(I={onEscape:b},t[8]=b,t[9]=I),a(F,I);let L=(0,p.useRef)(null),R,z;t[10]===E?(R=t[11],z=t[12]):(R=()=>{E?L.current?.focus():F.current?.querySelector(`.pin-row`)?.focus()},z=[E],t[10]=E,t[11]=R,t[12]=z),(0,p.useEffect)(R,z);let B;t[13]!==n||t[14]!==x||t[15]!==b||t[16]!==y?(B=e=>{let t=f({block:n,question:y,target:e});t&&x?.(t.dashboardId,t.title),b()},t[13]=n,t[14]=x,t[15]=b,t[16]=y,t[17]=B):B=t[17];let V=B,H=s(A),U;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(U=u(l()),t[18]=U):U=t[18];let W=!!U.apiKey,G;t[19]===b?G=t[20]:(G=e=>{e.target===e.currentTarget&&b()},t[19]=b,t[20]=G);let K;t[21]===b?K=t[22]:(K=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),b())},t[21]=b,t[22]=K);let q=E?`New dashboard`:`Add to dashboard`,J;t[23]===q?J=t[24]:(J=(0,m.jsx)(`span`,{className:`pin-eyebrow`,children:q}),t[23]=q,t[24]=J);let Y;t[25]===T?Y=t[26]:(Y=(0,m.jsx)(`span`,{className:`pin-subject`,children:T}),t[25]=T,t[26]=Y);let X;t[27]!==J||t[28]!==Y?(X=(0,m.jsxs)(`div`,{className:`pin-head`,children:[J,Y]}),t[27]=J,t[28]=Y,t[29]=X):X=t[29];let Z;t[30]!==A||t[31]!==S||t[32]!==T||t[33]!==k||t[34]!==E||t[35]!==V||t[36]!==H?(Z=E?(0,m.jsxs)(`form`,{className:`pin-new-step`,onSubmit:e=>{e.preventDefault(),V({new:{title:k.trim()||T,cadence:A}})},children:[(0,m.jsxs)(`label`,{className:`pin-name-field`,children:[(0,m.jsx)(`span`,{className:`pin-plan-label`,children:`Name`}),(0,m.jsx)(`input`,{ref:L,className:`pin-name-input`,value:k,onChange:e=>{M.current=!0,te(e.target.value)},"aria-label":`Dashboard name`})]}),(0,m.jsxs)(`div`,{className:`pin-plan-cadence`,children:[(0,m.jsx)(`span`,{className:`pin-plan-label`,children:`Check cadence`}),(0,m.jsx)(`div`,{className:`pin-cadence-seg`,role:`group`,"aria-label":`Check cadence`,children:h.map(e=>(0,m.jsx)(`button`,{type:`button`,className:`pin-cadence-opt`+(e.v===A?` is-active`:``),"aria-pressed":e.v===A,onClick:()=>j(e.v),children:e.label},e.v))}),(0,m.jsx)(`p`,{className:`pin-plan-estimate`,children:H>0?W?`≈ ${H} searches/mo on your key, at this cadence.`:`≈ ${H} searches/mo once a key is connected in Live — parked until then.`:`No standing searches — this refreshes only when you ask.`})]}),(0,m.jsxs)(`div`,{className:`pin-plan-actions`,children:[S.length>0?(0,m.jsx)(`button`,{type:`button`,className:`pin-secondary`,onClick:()=>D(!1),children:`← Back`}):(0,m.jsx)(`span`,{}),(0,m.jsx)(`button`,{type:`submit`,className:`pin-plan-confirm`,children:`Create · first check queued`})]})]}):(0,m.jsxs)(`div`,{className:`pin-list`,role:`menu`,children:[(0,m.jsxs)(`button`,{type:`button`,className:`pin-row pin-new`,role:`menuitem`,onClick:()=>D(!0),children:[(0,m.jsx)(`span`,{className:`pin-row-ic`,children:(0,m.jsx)(r.plus,{})}),(0,m.jsxs)(`span`,{className:`pin-row-text`,children:[(0,m.jsx)(`span`,{className:`pin-row-title`,children:`New dashboard`}),(0,m.jsx)(`span`,{className:`pin-row-sub`,children:`Start one with this card`})]})]}),S.map(e=>{let t=g[e.cadence.data];return(0,m.jsxs)(`button`,{type:`button`,className:`pin-row`,role:`menuitem`,onClick:()=>V(e.id),children:[(0,m.jsx)(`span`,{className:`pin-row-ic`,children:(0,m.jsx)(r.table,{})}),(0,m.jsxs)(`span`,{className:`pin-row-text`,children:[(0,m.jsx)(`span`,{className:`pin-row-title`,children:d(e.title)}),(0,m.jsxs)(`span`,{className:`pin-row-sub`,children:[e.widgets.length,` `,e.widgets.length===1?`card`:`cards`]})]}),(0,m.jsx)(`span`,{className:`pin-row-cad pin-row-cad--${t.tone}`,children:t.text})]},e.id)})]}),t[30]=A,t[31]=S,t[32]=T,t[33]=k,t[34]=E,t[35]=V,t[36]=H,t[37]=Z):Z=t[37];let Q;t[38]!==X||t[39]!==Z?(Q=(0,m.jsxs)(`div`,{className:`pin-sheet`,ref:F,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`Add to a dashboard`,children:[X,Z]}),t[38]=X,t[39]=Z,t[40]=Q):Q=t[40];let $;return t[41]!==G||t[42]!==K||t[43]!==Q?($=(0,m.jsx)(`div`,{className:`pin-scrim`,onClick:G,role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:K,children:Q}),t[41]=G,t[42]=K,t[43]=Q,t[44]=$):$=t[44],$}function v(){return c()}export{_ as PinToDashboard};
@@ -1 +1 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{S as r,X as i,Y as a,a as o,d as s,f as c}from"./store-Ba9vzL4H.js";import{l}from"./useDashboardLoop-C3iCNS8X.js";import{i as u,n as d,r as f}from"./confirmAdd-CxWIORcu.js";/* empty css *//* empty css */import{t as ee}from"./relate-CqYpFpsO.js";var p=e(),m=t();function h(e){return e*4}function g(e,t,n,r={}){let i=`template:${e.id}`,a=new Map,o=[];e.metrics.forEach((e,i)=>{if(r.metrics?.[i]===!1)return;let s=`m-${n}-${i}`,c=e.label(t);a.set(i,s),o.push({id:s,label:c,query:e.query(t),...e.unit?{unit:e.unit}:{},sourceQuote:{text:c,saidAt:n},lastValue:null,origin:`empty`})});let s=[];e.tripwires.forEach((e,i)=>{if(!(r.tripwires?.[i]??e.enabledByDefault))return;let o=a.get(e.metricIndex);if(!o)return;let c=e.label(t);s.push({id:`t-${n}-${i}`,label:c,metricId:o,comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:{text:c,saidAt:n},state:`AWAITING`})});let c=[],l=[];return e.widgets.forEach((e,s)=>{if(r.widgets?.[s]===!1)return;if(e.metricIndex!==void 0){let t=a.get(e.metricIndex);if(!t)return;let r=o.find(e=>e.id===t);c.push({id:`w-${n}-${s}`,block:{type:e.blockType,col:h(e.span),id:`wblk-${n}-${s}`,num:String(c.length+1),props:{title:r.label,stat:`—`,conf:`inferred`,summary:r.sourceQuote.text}},span:e.span,metricId:t,fromSource:i});return}let u=e.refreshQuery?.(t),d=e.seedProps?.(t)??{};l.push({id:`w-${n}-${s}`,block:{type:e.blockType,col:h(e.span),id:`wblk-${n}-${s}`,props:u?{title:u,...d}:d},span:e.span,fromSource:i,...u?{refreshQuery:u}:{}})}),{metrics:o,tripwires:s,widgets:[...c,...l]}}function te(e,t,n={}){let a=n.now??Date.now(),o=`template:${e.id}`,s=e.title(t),{metrics:c,tripwires:l,widgets:u}=g(e,t,a,n.toggles),d=l.length>0,f={id:`w-thesis`,block:{type:`thesis`,col:8,id:`w-thesis`,props:{reasoning:e.thesis(t)}},span:2,fromSource:o},ee={id:`w-align`,block:{type:`alignmentgauge`,col:4,id:`w-align`,props:{pct:null}},span:1,fromSource:o},p={id:`w-alerts`,block:{type:`standingalerts`,col:4,id:`w-alerts`,props:{alerts:[]}},span:1,fromSource:o},m={id:`w-sources`,block:{type:`sourceslineage`,col:8,id:`w-sources`,props:{rows:[]}},span:2,fromSource:o},h=n.cadence??e.cadence,te=c.some(e=>e.query.trim()!==``&&!e.blankKey)||u.some(e=>e.refreshQuery?.trim());return{id:r(),title:s,question:s,thesis:{text:e.thesis(t),saidAt:a},tripwires:l,metrics:c,sources:[{kind:`ORIGIN`,conversationId:o,title:e.label,contributed:`Started from the '${e.label}' template.`,at:a}],widgets:[...d?[f,ee]:[],...u,...d?[p]:[],m],cadence:h,smartTrigger:d,alerts:{inApp:!0,push:!1},...e.topic?{topic:e.topic}:{},createdAt:a,updatedAt:a,nextDataAt:i(h,a),nextAiAt:2**53-1,lastRefreshedAt:null,...te?{oneShotAt:a,oneShotLabel:`first check`}:{}}}function ne(e,t,n,r=Date.now()){let i=new Set(e.metrics.map(e=>l(e.label))),a=new Set(e.tripwires.map(e=>l(e.label))),o=g(t,n,r),s=o.metrics.filter(e=>!i.has(l(e.label))),u=new Set(s.map(e=>e.id)),d=o.tripwires.filter(e=>u.has(e.metricId)&&!a.has(l(e.label))),f=o.widgets.filter(e=>!e.metricId||u.has(e.metricId)),ee=s.length+d.length,p=[];s.length&&p.push(`${s.length} metric${s.length>1?`s`:``}`),d.length&&p.push(`${d.length} alert${d.length>1?`s`:``}`);let m={kind:`ADDED`,conversationId:`template:${t.id}`,title:t.label,contributed:p.length?`Added: ${p.join(` + `)}`:`Linked the '${t.label}' template.`,at:r};return c(e.id,{metrics:s,tripwires:d,widgets:f,source:m}),ee}var _={chart:{labels:[],series:[]},scoreboard:{games:[]},standings:{rows:[]},forecast:{days:[]},list:{items:[]},timeline:{events:[]}};function re(e){return{id:`plan`,label:`Track anything`,blurb:``,input:{key:`ask`,label:`Track`,placeholder:``},title:()=>e.title,thesis:()=>`Tracking ${e.title}.`,metrics:e.metrics.map(e=>({label:()=>e.label,query:()=>e.query,...e.unit?{unit:e.unit}:{}})),tripwires:[],widgets:[...e.metrics.map((e,t)=>({blockType:`insight`,span:1,metricIndex:t})),...e.widgets.map(e=>({blockType:e.blockType,span:e.span,refreshQuery:()=>e.query,seedProps:()=>({..._[e.blockType]??{}})}))],cadence:{data:e.cadence,ai:`manual`}}}var v=n(),ie={"15min":`checks every 15 minutes while open`,hourly:`checks hourly while open`,"6h":`checks every 6 hours while open`,daily:`checks daily while open`,manual:`refreshes only when you ask`};function ae(e,t){let n=[...e];return n[t]=!n[t],n}function oe(e){let t=(0,m.c)(102),{plan:n,ask:r,existing:i,onDone:c}=e,[l,h]=(0,p.useState)(n.title),g;t[0]===n.metrics?g=t[1]:(g=()=>n.metrics.map(le),t[0]=n.metrics,t[1]=g);let[_,oe]=(0,p.useState)(g),y;t[2]===n.widgets?y=t[3]:(y=()=>n.widgets.map(ce),t[2]=n.widgets,t[3]=y);let[b,de]=(0,p.useState)(y),[x,fe]=(0,p.useState)(null),[S,pe]=(0,p.useState)(`manual`),C;t[4]===_?C=t[5]:(C=_.filter(Boolean),t[4]=_,t[5]=C);let me=C.length,w;t[6]===b?w=t[7]:(w=b.filter(Boolean),t[6]=b,t[7]=w);let T=me+w.length,he=a(S),[E,ge]=(0,p.useState)(!1),[D,_e]=(0,p.useState)(null),ve=(0,p.useRef)(!0),O,k;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>(ve.current=!0,()=>{ve.current=!1}),k=[],t[8]=O,t[9]=k):(O=t[8],k=t[9]),(0,p.useEffect)(O,k);let A;t[10]!==r||t[11]!==S||t[12]!==E||t[13]!==T||t[14]!==_||t[15]!==l||t[16]!==c||t[17]!==n||t[18]!==b?(A=async()=>{if(T===0||E)return;let e=re(n),t=[...n.metrics.map(se),...b],i=te(e,r.trim(),{toggles:{metrics:_,widgets:t},cadence:{data:S,ai:`manual`}});i.title=l.trim()||i.title,i.question=r.trim(),o(i),c(i.id),u(i.id,null)},t[10]=r,t[11]=S,t[12]=E,t[13]=T,t[14]=_,t[15]=l,t[16]=c,t[17]=n,t[18]=b,t[19]=A):A=t[19];let j=A,M;t[20]!==r||t[21]!==E||t[22]!==c||t[23]!==n?(M=async e=>{if(E)return;let t=d(e);ne(e,re(n),r.trim()),s(e.id),ge(!0),_e(null);let i=await u(e.id,t);if(ve.current){if(ge(!1),i!==`confirmed`){_e(f(i,!1));return}c(e.id)}},t[20]=r,t[21]=E,t[22]=c,t[23]=n,t[24]=M):M=t[24];let ye=M,N;t[25]!==r||t[26]!==j||t[27]!==i||t[28]!==n.title?(N=()=>{let e=ee(i,{text:`${n.title} ${r}`});if(e){fe(e);return}j()},t[25]=r,t[26]=j,t[27]=i,t[28]=n.title,t[29]=N):N=t[29];let P=N;if(x){let e;t[30]===x.title?e=t[31]:(e=(0,v.jsxs)(`p`,{className:`tpl-interstitial-text`,children:[`This looks related to your existing “`,x.title,`” dashboard — fold this in instead of creating a new one?`]}),t[30]=x.title,t[31]=e);let n;t[32]!==ye||t[33]!==x?(n=()=>void ye(x),t[32]=ye,t[33]=x,t[34]=n):n=t[34];let r=E?`Confirming live data…`:`Fold into “${x.title}”`,i;t[35]!==E||t[36]!==n||t[37]!==r?(i=(0,v.jsx)(`button`,{type:`button`,className:`tpl-fold-btn`,disabled:E,onClick:n,children:r}),t[35]=E,t[36]=n,t[37]=r,t[38]=i):i=t[38];let a;t[39]===j?a=t[40]:(a=()=>void j(),t[39]=j,t[40]=a);let o;t[41]!==E||t[42]!==a?(o=(0,v.jsx)(`button`,{type:`button`,className:`tpl-create-anyway`,disabled:E,onClick:a,children:`Create new anyway`}),t[41]=E,t[42]=a,t[43]=o):o=t[43];let s;t[44]!==i||t[45]!==o?(s=(0,v.jsxs)(`div`,{className:`tpl-interstitial-actions`,children:[i,o]}),t[44]=i,t[45]=o,t[46]=s):s=t[46];let c;t[47]===E?c=t[48]:(c=E&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),t[47]=E,t[48]=c);let l;t[49]===D?l=t[50]:(l=D&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:D}),t[49]=D,t[50]=l);let u;return t[51]!==e||t[52]!==s||t[53]!==c||t[54]!==l?(u=(0,v.jsxs)(`div`,{className:`tpl-interstitial`,children:[e,s,c,l]}),t[51]=e,t[52]=s,t[53]=c,t[54]=l,t[55]=u):u=t[55],u}let F;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Dashboard name`}),t[56]=F):F=t[56];let I;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>h(e.target.value),t[57]=I):I=t[57];let L;t[58]===l?L=t[59]:(L=(0,v.jsxs)(`label`,{className:`tpl-field`,children:[F,(0,v.jsx)(`input`,{className:`xt-name`,value:l,onChange:I,"aria-label":`Dashboard name`})]}),t[58]=l,t[59]=L);let R;t[60]!==_||t[61]!==n.metrics?(R=n.metrics.length>0&&(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Numbers to watch`}),(0,v.jsx)(`div`,{className:`tpl-chips`,children:n.metrics.map((e,t)=>(0,v.jsx)(ue,{kind:`METRIC`,label:e.label,detail:e.query,on:_[t]??!0,onToggle:()=>oe(e=>ae(e,t))},`m${t}`))})]}),t[60]=_,t[61]=n.metrics,t[62]=R):R=t[62];let z;t[63]!==n.widgets||t[64]!==b?(z=n.widgets.length>0&&(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Live cards`}),(0,v.jsx)(`div`,{className:`tpl-chips`,children:n.widgets.map((e,t)=>(0,v.jsx)(ue,{kind:`CARD`,label:e.query,detail:e.blockType,on:b[t]??!0,onToggle:()=>de(e=>ae(e,t))},`w${t}`))})]}),t[63]=n.widgets,t[64]=b,t[65]=z):z=t[65];let B;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,v.jsx)(`span`,{className:`xt-section-label`,children:`How often`}),t[66]=B):B=t[66];let be=`tpl-chip xt-comp--goal${S===`manual`?``:` tpl-chip-off`}`,xe=S===`manual`,V,H;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>pe(`manual`),H=(0,v.jsx)(`span`,{className:`tpl-chip-label`,children:`Manual — only when you ask`}),t[67]=V,t[68]=H):(V=t[67],H=t[68]);let U;t[69]!==be||t[70]!==xe?(U=(0,v.jsx)(`button`,{type:`button`,className:be,"aria-pressed":xe,onClick:V,children:H}),t[69]=be,t[70]=xe,t[71]=U):U=t[71];let W;t[72]!==S||t[73]!==n.cadence?(W=n.cadence!==`manual`&&(0,v.jsx)(`button`,{type:`button`,className:`tpl-chip xt-comp--metric${S===n.cadence?``:` tpl-chip-off`}`,"aria-pressed":S===n.cadence,onClick:()=>pe(n.cadence),title:ie[n.cadence],children:(0,v.jsxs)(`span`,{className:`tpl-chip-label`,children:[`Suggested — `,ie[n.cadence]]})}),t[72]=S,t[73]=n.cadence,t[74]=W):W=t[74];let G;t[75]!==U||t[76]!==W?(G=(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[B,(0,v.jsxs)(`div`,{className:`tpl-chips`,children:[U,W]})]}),t[75]=U,t[76]=W,t[77]=G):G=t[77];let Se=he>0?`≈ ${he} searches/mo on your key, at this cadence.`:`No standing searches — this refreshes only when you ask.`,K;t[78]===Se?K=t[79]:(K=(0,v.jsx)(`p`,{className:`dash-plan-estimate`,children:Se}),t[78]=Se,t[79]=K);let Ce=ie[S],q;t[80]===Ce?q=t[81]:(q=(0,v.jsx)(`span`,{className:`tpl-cadence-note`,children:Ce}),t[80]=Ce,t[81]=q);let J=T===0||E,we=E?`Confirming live data…`:`Create dashboard →`,Y;t[82]!==P||t[83]!==J||t[84]!==we?(Y=(0,v.jsx)(`button`,{type:`button`,className:`tpl-create`,onClick:P,disabled:J,children:we}),t[82]=P,t[83]=J,t[84]=we,t[85]=Y):Y=t[85];let X;t[86]!==q||t[87]!==Y?(X=(0,v.jsxs)(`div`,{className:`xt-build-row`,children:[q,Y]}),t[86]=q,t[87]=Y,t[88]=X):X=t[88];let Z;t[89]===E?Z=t[90]:(Z=E&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),t[89]=E,t[90]=Z);let Q;t[91]===D?Q=t[92]:(Q=D&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:D}),t[91]=D,t[92]=Q);let $;return t[93]!==L||t[94]!==R||t[95]!==z||t[96]!==G||t[97]!==K||t[98]!==X||t[99]!==Z||t[100]!==Q?($=(0,v.jsxs)(`div`,{className:`tpl-form`,children:[L,R,z,G,K,X,Z,Q]}),t[93]=L,t[94]=R,t[95]=z,t[96]=G,t[97]=K,t[98]=X,t[99]=Z,t[100]=Q,t[101]=$):$=t[101],$}function se(){return!0}function ce(){return!0}function le(){return!0}function ue(e){let t=(0,m.c)(14),{kind:n,label:r,detail:i,on:a,onToggle:o}=e,s=`tpl-chip xt-comp--${n===`METRIC`?`metric`:`goal`}${a?``:` tpl-chip-off`}`,c;t[0]===n?c=t[1]:(c=(0,v.jsx)(`span`,{className:`tpl-chip-kind`,children:n}),t[0]=n,t[1]=c);let l;t[2]===r?l=t[3]:(l=(0,v.jsx)(`span`,{className:`tpl-chip-label`,children:r}),t[2]=r,t[3]=l);let u=a?`Included ✓`:`Removed ✕`,d;t[4]===u?d=t[5]:(d=(0,v.jsx)(`span`,{className:`tpl-chip-state`,children:u}),t[4]=u,t[5]=d);let f;return t[6]!==i||t[7]!==a||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,v.jsxs)(`button`,{type:`button`,className:s,onClick:o,"aria-pressed":a,title:i,children:[c,l,d]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s,t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}export{oe as PlanReview};
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{S as r,X as i,Y as a,a as o,d as s,f as c}from"./store-D16dGt7I.js";import{l}from"./useDashboardLoop-Cnxmf7wU.js";import{i as u,n as d,r as f}from"./confirmAdd-D-TTCQ31.js";/* empty css *//* empty css */import{t as ee}from"./relate-CCma73G9.js";var p=e(),m=t();function h(e){return e*4}function g(e,t,n,r={}){let i=`template:${e.id}`,a=new Map,o=[];e.metrics.forEach((e,i)=>{if(r.metrics?.[i]===!1)return;let s=`m-${n}-${i}`,c=e.label(t);a.set(i,s),o.push({id:s,label:c,query:e.query(t),...e.unit?{unit:e.unit}:{},sourceQuote:{text:c,saidAt:n},lastValue:null,origin:`empty`})});let s=[];e.tripwires.forEach((e,i)=>{if(!(r.tripwires?.[i]??e.enabledByDefault))return;let o=a.get(e.metricIndex);if(!o)return;let c=e.label(t);s.push({id:`t-${n}-${i}`,label:c,metricId:o,comparator:e.comparator,threshold:e.threshold,...e.unit?{unit:e.unit}:{},sourceQuote:{text:c,saidAt:n},state:`AWAITING`})});let c=[],l=[];return e.widgets.forEach((e,s)=>{if(r.widgets?.[s]===!1)return;if(e.metricIndex!==void 0){let t=a.get(e.metricIndex);if(!t)return;let r=o.find(e=>e.id===t);c.push({id:`w-${n}-${s}`,block:{type:e.blockType,col:h(e.span),id:`wblk-${n}-${s}`,num:String(c.length+1),props:{title:r.label,stat:`—`,conf:`inferred`,summary:r.sourceQuote.text}},span:e.span,metricId:t,fromSource:i});return}let u=e.refreshQuery?.(t),d=e.seedProps?.(t)??{};l.push({id:`w-${n}-${s}`,block:{type:e.blockType,col:h(e.span),id:`wblk-${n}-${s}`,props:u?{title:u,...d}:d},span:e.span,fromSource:i,...u?{refreshQuery:u}:{}})}),{metrics:o,tripwires:s,widgets:[...c,...l]}}function te(e,t,n={}){let a=n.now??Date.now(),o=`template:${e.id}`,s=e.title(t),{metrics:c,tripwires:l,widgets:u}=g(e,t,a,n.toggles),d=l.length>0,f={id:`w-thesis`,block:{type:`thesis`,col:8,id:`w-thesis`,props:{reasoning:e.thesis(t)}},span:2,fromSource:o},ee={id:`w-align`,block:{type:`alignmentgauge`,col:4,id:`w-align`,props:{pct:null}},span:1,fromSource:o},p={id:`w-alerts`,block:{type:`standingalerts`,col:4,id:`w-alerts`,props:{alerts:[]}},span:1,fromSource:o},m={id:`w-sources`,block:{type:`sourceslineage`,col:8,id:`w-sources`,props:{rows:[]}},span:2,fromSource:o},h=n.cadence??e.cadence,te=c.some(e=>e.query.trim()!==``&&!e.blankKey)||u.some(e=>e.refreshQuery?.trim());return{id:r(),title:s,question:s,thesis:{text:e.thesis(t),saidAt:a},tripwires:l,metrics:c,sources:[{kind:`ORIGIN`,conversationId:o,title:e.label,contributed:`Started from the '${e.label}' template.`,at:a}],widgets:[...d?[f,ee]:[],...u,...d?[p]:[],m],cadence:h,smartTrigger:d,alerts:{inApp:!0,push:!1},...e.topic?{topic:e.topic}:{},createdAt:a,updatedAt:a,nextDataAt:i(h,a),nextAiAt:2**53-1,lastRefreshedAt:null,...te?{oneShotAt:a,oneShotLabel:`first check`}:{}}}function ne(e,t,n,r=Date.now()){let i=new Set(e.metrics.map(e=>l(e.label))),a=new Set(e.tripwires.map(e=>l(e.label))),o=g(t,n,r),s=o.metrics.filter(e=>!i.has(l(e.label))),u=new Set(s.map(e=>e.id)),d=o.tripwires.filter(e=>u.has(e.metricId)&&!a.has(l(e.label))),f=o.widgets.filter(e=>!e.metricId||u.has(e.metricId)),ee=s.length+d.length,p=[];s.length&&p.push(`${s.length} metric${s.length>1?`s`:``}`),d.length&&p.push(`${d.length} alert${d.length>1?`s`:``}`);let m={kind:`ADDED`,conversationId:`template:${t.id}`,title:t.label,contributed:p.length?`Added: ${p.join(` + `)}`:`Linked the '${t.label}' template.`,at:r};return c(e.id,{metrics:s,tripwires:d,widgets:f,source:m}),ee}var _={chart:{labels:[],series:[]},scoreboard:{games:[]},standings:{rows:[]},forecast:{days:[]},list:{items:[]},timeline:{events:[]}};function re(e){return{id:`plan`,label:`Track anything`,blurb:``,input:{key:`ask`,label:`Track`,placeholder:``},title:()=>e.title,thesis:()=>`Tracking ${e.title}.`,metrics:e.metrics.map(e=>({label:()=>e.label,query:()=>e.query,...e.unit?{unit:e.unit}:{}})),tripwires:[],widgets:[...e.metrics.map((e,t)=>({blockType:`insight`,span:1,metricIndex:t})),...e.widgets.map(e=>({blockType:e.blockType,span:e.span,refreshQuery:()=>e.query,seedProps:()=>({..._[e.blockType]??{}})}))],cadence:{data:e.cadence,ai:`manual`}}}var v=n(),ie={"15min":`checks every 15 minutes while open`,hourly:`checks hourly while open`,"6h":`checks every 6 hours while open`,daily:`checks daily while open`,manual:`refreshes only when you ask`};function ae(e,t){let n=[...e];return n[t]=!n[t],n}function oe(e){let t=(0,m.c)(102),{plan:n,ask:r,existing:i,onDone:c}=e,[l,h]=(0,p.useState)(n.title),g;t[0]===n.metrics?g=t[1]:(g=()=>n.metrics.map(le),t[0]=n.metrics,t[1]=g);let[_,oe]=(0,p.useState)(g),y;t[2]===n.widgets?y=t[3]:(y=()=>n.widgets.map(ce),t[2]=n.widgets,t[3]=y);let[b,de]=(0,p.useState)(y),[x,fe]=(0,p.useState)(null),[S,pe]=(0,p.useState)(`manual`),C;t[4]===_?C=t[5]:(C=_.filter(Boolean),t[4]=_,t[5]=C);let me=C.length,w;t[6]===b?w=t[7]:(w=b.filter(Boolean),t[6]=b,t[7]=w);let T=me+w.length,he=a(S),[E,ge]=(0,p.useState)(!1),[D,_e]=(0,p.useState)(null),ve=(0,p.useRef)(!0),O,k;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=()=>(ve.current=!0,()=>{ve.current=!1}),k=[],t[8]=O,t[9]=k):(O=t[8],k=t[9]),(0,p.useEffect)(O,k);let A;t[10]!==r||t[11]!==S||t[12]!==E||t[13]!==T||t[14]!==_||t[15]!==l||t[16]!==c||t[17]!==n||t[18]!==b?(A=async()=>{if(T===0||E)return;let e=re(n),t=[...n.metrics.map(se),...b],i=te(e,r.trim(),{toggles:{metrics:_,widgets:t},cadence:{data:S,ai:`manual`}});i.title=l.trim()||i.title,i.question=r.trim(),o(i),c(i.id),u(i.id,null)},t[10]=r,t[11]=S,t[12]=E,t[13]=T,t[14]=_,t[15]=l,t[16]=c,t[17]=n,t[18]=b,t[19]=A):A=t[19];let j=A,M;t[20]!==r||t[21]!==E||t[22]!==c||t[23]!==n?(M=async e=>{if(E)return;let t=d(e);ne(e,re(n),r.trim()),s(e.id),ge(!0),_e(null);let i=await u(e.id,t);if(ve.current){if(ge(!1),i!==`confirmed`){_e(f(i,!1));return}c(e.id)}},t[20]=r,t[21]=E,t[22]=c,t[23]=n,t[24]=M):M=t[24];let ye=M,N;t[25]!==r||t[26]!==j||t[27]!==i||t[28]!==n.title?(N=()=>{let e=ee(i,{text:`${n.title} ${r}`});if(e){fe(e);return}j()},t[25]=r,t[26]=j,t[27]=i,t[28]=n.title,t[29]=N):N=t[29];let P=N;if(x){let e;t[30]===x.title?e=t[31]:(e=(0,v.jsxs)(`p`,{className:`tpl-interstitial-text`,children:[`This looks related to your existing “`,x.title,`” dashboard — fold this in instead of creating a new one?`]}),t[30]=x.title,t[31]=e);let n;t[32]!==ye||t[33]!==x?(n=()=>void ye(x),t[32]=ye,t[33]=x,t[34]=n):n=t[34];let r=E?`Confirming live data…`:`Fold into “${x.title}”`,i;t[35]!==E||t[36]!==n||t[37]!==r?(i=(0,v.jsx)(`button`,{type:`button`,className:`tpl-fold-btn`,disabled:E,onClick:n,children:r}),t[35]=E,t[36]=n,t[37]=r,t[38]=i):i=t[38];let a;t[39]===j?a=t[40]:(a=()=>void j(),t[39]=j,t[40]=a);let o;t[41]!==E||t[42]!==a?(o=(0,v.jsx)(`button`,{type:`button`,className:`tpl-create-anyway`,disabled:E,onClick:a,children:`Create new anyway`}),t[41]=E,t[42]=a,t[43]=o):o=t[43];let s;t[44]!==i||t[45]!==o?(s=(0,v.jsxs)(`div`,{className:`tpl-interstitial-actions`,children:[i,o]}),t[44]=i,t[45]=o,t[46]=s):s=t[46];let c;t[47]===E?c=t[48]:(c=E&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),t[47]=E,t[48]=c);let l;t[49]===D?l=t[50]:(l=D&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:D}),t[49]=D,t[50]=l);let u;return t[51]!==e||t[52]!==s||t[53]!==c||t[54]!==l?(u=(0,v.jsxs)(`div`,{className:`tpl-interstitial`,children:[e,s,c,l]}),t[51]=e,t[52]=s,t[53]=c,t[54]=l,t[55]=u):u=t[55],u}let F;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Dashboard name`}),t[56]=F):F=t[56];let I;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>h(e.target.value),t[57]=I):I=t[57];let L;t[58]===l?L=t[59]:(L=(0,v.jsxs)(`label`,{className:`tpl-field`,children:[F,(0,v.jsx)(`input`,{className:`xt-name`,value:l,onChange:I,"aria-label":`Dashboard name`})]}),t[58]=l,t[59]=L);let R;t[60]!==_||t[61]!==n.metrics?(R=n.metrics.length>0&&(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Numbers to watch`}),(0,v.jsx)(`div`,{className:`tpl-chips`,children:n.metrics.map((e,t)=>(0,v.jsx)(ue,{kind:`METRIC`,label:e.label,detail:e.query,on:_[t]??!0,onToggle:()=>oe(e=>ae(e,t))},`m${t}`))})]}),t[60]=_,t[61]=n.metrics,t[62]=R):R=t[62];let z;t[63]!==n.widgets||t[64]!==b?(z=n.widgets.length>0&&(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[(0,v.jsx)(`span`,{className:`xt-section-label`,children:`Live cards`}),(0,v.jsx)(`div`,{className:`tpl-chips`,children:n.widgets.map((e,t)=>(0,v.jsx)(ue,{kind:`CARD`,label:e.query,detail:e.blockType,on:b[t]??!0,onToggle:()=>de(e=>ae(e,t))},`w${t}`))})]}),t[63]=n.widgets,t[64]=b,t[65]=z):z=t[65];let B;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,v.jsx)(`span`,{className:`xt-section-label`,children:`How often`}),t[66]=B):B=t[66];let be=`tpl-chip xt-comp--goal${S===`manual`?``:` tpl-chip-off`}`,xe=S===`manual`,V,H;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>pe(`manual`),H=(0,v.jsx)(`span`,{className:`tpl-chip-label`,children:`Manual — only when you ask`}),t[67]=V,t[68]=H):(V=t[67],H=t[68]);let U;t[69]!==be||t[70]!==xe?(U=(0,v.jsx)(`button`,{type:`button`,className:be,"aria-pressed":xe,onClick:V,children:H}),t[69]=be,t[70]=xe,t[71]=U):U=t[71];let W;t[72]!==S||t[73]!==n.cadence?(W=n.cadence!==`manual`&&(0,v.jsx)(`button`,{type:`button`,className:`tpl-chip xt-comp--metric${S===n.cadence?``:` tpl-chip-off`}`,"aria-pressed":S===n.cadence,onClick:()=>pe(n.cadence),title:ie[n.cadence],children:(0,v.jsxs)(`span`,{className:`tpl-chip-label`,children:[`Suggested — `,ie[n.cadence]]})}),t[72]=S,t[73]=n.cadence,t[74]=W):W=t[74];let G;t[75]!==U||t[76]!==W?(G=(0,v.jsxs)(`div`,{className:`tpl-chip-group`,children:[B,(0,v.jsxs)(`div`,{className:`tpl-chips`,children:[U,W]})]}),t[75]=U,t[76]=W,t[77]=G):G=t[77];let Se=he>0?`≈ ${he} searches/mo on your key, at this cadence.`:`No standing searches — this refreshes only when you ask.`,K;t[78]===Se?K=t[79]:(K=(0,v.jsx)(`p`,{className:`dash-plan-estimate`,children:Se}),t[78]=Se,t[79]=K);let Ce=ie[S],q;t[80]===Ce?q=t[81]:(q=(0,v.jsx)(`span`,{className:`tpl-cadence-note`,children:Ce}),t[80]=Ce,t[81]=q);let J=T===0||E,we=E?`Confirming live data…`:`Create dashboard →`,Y;t[82]!==P||t[83]!==J||t[84]!==we?(Y=(0,v.jsx)(`button`,{type:`button`,className:`tpl-create`,onClick:P,disabled:J,children:we}),t[82]=P,t[83]=J,t[84]=we,t[85]=Y):Y=t[85];let X;t[86]!==q||t[87]!==Y?(X=(0,v.jsxs)(`div`,{className:`xt-build-row`,children:[q,Y]}),t[86]=q,t[87]=Y,t[88]=X):X=t[88];let Z;t[89]===E?Z=t[90]:(Z=E&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:`Checking a live source before this joins your board — a search can take up to a minute. You can close this; the result lands in your check log either way.`}),t[89]=E,t[90]=Z);let Q;t[91]===D?Q=t[92]:(Q=D&&(0,v.jsx)(`p`,{className:`tpl-cadence-note`,children:D}),t[91]=D,t[92]=Q);let $;return t[93]!==L||t[94]!==R||t[95]!==z||t[96]!==G||t[97]!==K||t[98]!==X||t[99]!==Z||t[100]!==Q?($=(0,v.jsxs)(`div`,{className:`tpl-form`,children:[L,R,z,G,K,X,Z,Q]}),t[93]=L,t[94]=R,t[95]=z,t[96]=G,t[97]=K,t[98]=X,t[99]=Z,t[100]=Q,t[101]=$):$=t[101],$}function se(){return!0}function ce(){return!0}function le(){return!0}function ue(e){let t=(0,m.c)(14),{kind:n,label:r,detail:i,on:a,onToggle:o}=e,s=`tpl-chip xt-comp--${n===`METRIC`?`metric`:`goal`}${a?``:` tpl-chip-off`}`,c;t[0]===n?c=t[1]:(c=(0,v.jsx)(`span`,{className:`tpl-chip-kind`,children:n}),t[0]=n,t[1]=c);let l;t[2]===r?l=t[3]:(l=(0,v.jsx)(`span`,{className:`tpl-chip-label`,children:r}),t[2]=r,t[3]=l);let u=a?`Included ✓`:`Removed ✕`,d;t[4]===u?d=t[5]:(d=(0,v.jsx)(`span`,{className:`tpl-chip-state`,children:u}),t[4]=u,t[5]=d);let f;return t[6]!==i||t[7]!==a||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,v.jsxs)(`button`,{type:`button`,className:s,onClick:o,"aria-pressed":a,title:i,children:[c,l,d]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s,t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}export{oe as PlanReview};
@@ -0,0 +1 @@
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{l as r}from"./index-Db-FgYxX.js";import{i,n as a,o}from"./notes-CEloxKQ3.js";import{t as s}from"./registry-DLyrLfe-.js";var c=t(),l=e(),u=n(),d=10,f=5,p=1500,m=60,h=1.5;function g(e){return`${Math.floor(e/60)}:${(e%60).toString().padStart(2,`0`)}`}function _(e){return e instanceof HTMLElement?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e.isContentEditable:!1}var v=[{keys:`→ / Space / Page Down`,action:`Next slide`},{keys:`← / Page Up`,action:`Previous slide`},{keys:`Home / End`,action:`First / last slide`},{keys:`0–9, then Enter`,action:`Jump to a slide number`},{keys:`B`,action:`Blackout the screen`},{keys:`W`,action:`Whiteout the screen`},{keys:`F`,action:`Toggle fullscreen`},{keys:`O or G`,action:`Overview — every slide at once`},{keys:`S`,action:`Presenter notes`},{keys:`R`,action:`Reset the timer`},{keys:`X`,action:`Skip this slide for this run (restore it from the overview)`},{keys:`?`,action:`This help`},{keys:`Esc`,action:`Close the topmost panel — or end the show`}];function ee(e){let t=(0,c.c)(24),{slides:n,skipped:r,skin:a,selected:o,presentedIndex:s,onJump:l,onToggleSkip:d,onClose:f}=e,p;t[0]===f?p=t[1]:(p=(0,u.jsx)(`button`,{type:`button`,className:`preso-overview-close`,onClick:f,"aria-label":`Close overview`,children:`×`}),t[0]=f,t[1]=p);let m;t[2]===r.size?m=t[3]:(m=r.size>0&&(0,u.jsxs)(`div`,{className:`preso-overview-skipnote`,children:[r.size,` slide`,r.size===1?``:`s`,` skipped this run`]}),t[2]=r.size,t[3]=m);let h;if(t[4]!==l||t[5]!==d||t[6]!==s||t[7]!==o||t[8]!==a||t[9]!==n){let e;t[11]!==l||t[12]!==d||t[13]!==s||t[14]!==o||t[15]!==a||t[16]!==n.length?(e=(e,t)=>{let r=s(t),c=r<0;return(0,u.jsxs)(`div`,{className:`preso-overview-cell`+(!c&&r===o?` is-selected`:``)+(c?` is-skipped`:``),children:[(0,u.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":!c&&r===o,className:`preso-overview-open`,"aria-label":c?`Slide ${t+1}, skipped — restore it`:`Go to slide ${t+1}`,onClick:()=>c?d(e.id):l(r),children:[(0,u.jsx)(`span`,{className:`preso-overview-thumb`,children:(0,u.jsx)(i,{slide:e,skin:a,ctx:{index:t,total:n.length}})}),(0,u.jsx)(`span`,{className:`preso-overview-num`,children:t+1})]}),(0,u.jsx)(`button`,{type:`button`,className:`preso-overview-skip`,"aria-label":c?`Restore slide ${t+1}`:`Skip slide ${t+1} this run`,title:c?`Restore`:`Skip for this run`,onClick:()=>d(e.id),children:c?`↩`:`×`})]},e.id)},t[11]=l,t[12]=d,t[13]=s,t[14]=o,t[15]=a,t[16]=n.length,t[17]=e):e=t[17],h=n.map(e),t[4]=l,t[5]=d,t[6]=s,t[7]=o,t[8]=a,t[9]=n,t[10]=h}else h=t[10];let g;t[18]===h?g=t[19]:(g=(0,u.jsx)(`div`,{className:`preso-overview-grid`,children:h}),t[18]=h,t[19]=g);let _;return t[20]!==p||t[21]!==m||t[22]!==g?(_=(0,u.jsxs)(`div`,{className:`preso-overview`,role:`listbox`,"aria-label":`All slides`,children:[p,m,g]}),t[20]=p,t[21]=m,t[22]=g,t[23]=_):_=t[23],_}function te(e){let t=(0,c.c)(6),{onClose:n}=e,r;t[0]===n?r=t[1]:(r=(0,u.jsx)(`button`,{type:`button`,className:`preso-help-close`,onClick:n,"aria-label":`Close help`,children:`×`}),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,u.jsx)(`h2`,{className:`preso-help-title`,children:`Keyboard shortcuts`}),t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,u.jsx)(`dl`,{className:`preso-help-list`,children:v.map(y)}),t[3]=a):a=t[3];let o;return t[4]===r?o=t[5]:(o=(0,u.jsxs)(`div`,{className:`preso-help`,role:`dialog`,"aria-modal":`true`,"aria-label":`Keyboard shortcuts`,children:[r,i,a]}),t[4]=r,t[5]=o),o}function y(e){return(0,u.jsxs)(`div`,{className:`preso-help-row`,children:[(0,u.jsx)(`dt`,{children:e.keys}),(0,u.jsx)(`dd`,{children:e.action})]},e.keys)}function ne(e){let t=(0,c.c)(3),{mode:n,onDismiss:r}=e,i=`preso-curtain preso-curtain-${n}`,a;return t[0]!==r||t[1]!==i?(a=(0,u.jsx)(`div`,{className:i,role:`presentation`,onClick:r}),t[0]=r,t[1]=i,t[2]=a):a=t[2],a}function b({spec:e,question:t,narration:n,skinId:c,autoAdvanceMs:v,onExit:y}){let[b]=(0,l.useState)(()=>Date.now()),x=(0,l.useMemo)(()=>o(e?[e]:[],b),[e,b]).slides,[S,re]=(0,l.useState)(new Set),C=(0,l.useMemo)(()=>x.filter(e=>!S.has(e.id)),[x,S]),w=(0,l.useCallback)(e=>{re(t=>{let n=new Set(t);return n.has(e)?n.delete(e):x.filter(e=>!t.has(e.id)).length>1&&n.add(e),n})},[x]),T=s[c],[E,D]=(0,l.useState)(0),[O,k]=(0,l.useState)(!1),[ie,ae]=(0,l.useState)(0),[A,j]=(0,l.useState)(null),[M,N]=(0,l.useState)(!1),[P,F]=(0,l.useState)(0),[I,L]=(0,l.useState)(!1),[R,z]=(0,l.useState)(``),B=(0,l.useRef)(null),V=(0,l.useRef)(null),H=(0,l.useRef)(null),U=C.length,W=(0,l.useCallback)(e=>Math.max(0,Math.min(U-1,e)),[U]),G=(0,l.useCallback)(()=>D(e=>W(e+1)),[W]),K=(0,l.useCallback)(()=>D(e=>W(e-1)),[W]),q=(0,l.useCallback)(()=>ae(0),[]),J=(0,l.useCallback)(()=>{let e=B.current;e&&(document.fullscreenElement===e?document.exitFullscreen().catch(()=>{}):e.requestFullscreen?.().catch(()=>{}))},[]);(0,l.useEffect)(()=>()=>{V.current!==null&&window.clearTimeout(V.current)},[]);let oe=(0,l.useCallback)(e=>{z(t=>t+e),V.current!==null&&window.clearTimeout(V.current),V.current=window.setTimeout(()=>z(``),p)},[]),se=(0,l.useCallback)(()=>{V.current!==null&&(window.clearTimeout(V.current),V.current=null),R&&D(W(Number(R)-1)),z(``)},[R,W]);(0,l.useEffect)(()=>{let e=window.setInterval(()=>{r()||ae(e=>e+1)},1e3);return()=>window.clearInterval(e)},[]),(0,l.useEffect)(()=>{if(!v)return;let e=window.setInterval(()=>{r()||D(e=>e>=U-1?e:W(e+1))},v);return()=>window.clearInterval(e)},[v,U,W]),(0,l.useEffect)(()=>{B.current?.focus({preventScroll:!0})},[]),(0,l.useEffect)(()=>{let e=e=>{if(!_(e.target)){if(e.key===`Escape`){I?(e.preventDefault(),e.stopPropagation(),L(!1)):M?(e.preventDefault(),e.stopPropagation(),N(!1)):A?(e.preventDefault(),e.stopPropagation(),j(null)):O?(e.preventDefault(),e.stopPropagation(),k(!1)):y();return}if(I){e.key===`?`&&(e.preventDefault(),L(!1));return}if(M){if(e.key===`ArrowRight`){e.preventDefault(),F(e=>Math.min(U-1,e+1));return}if(e.key===`ArrowLeft`){e.preventDefault(),F(e=>Math.max(0,e-1));return}if(e.key===`ArrowDown`){e.preventDefault(),F(e=>Math.min(U-1,e+f));return}if(e.key===`ArrowUp`){e.preventDefault(),F(e=>Math.max(0,e-f));return}if(e.key===`Enter`){e.preventDefault(),D(P),N(!1);return}}if(R&&!/^[0-9]$/.test(e.key)&&e.key!==`Enter`&&(V.current!==null&&(window.clearTimeout(V.current),V.current=null),z(``)),e.key===`ArrowRight`||e.key===`PageDown`||e.key===` `)e.preventDefault(),j(null),G();else if(e.key===`ArrowLeft`||e.key===`PageUp`)e.preventDefault(),j(null),K();else if(e.key===`Home`)e.preventDefault(),j(null),D(0);else if(e.key===`End`)e.preventDefault(),j(null),D(U-1);else if(e.key===`s`||e.key===`S`)k(e=>!e);else if(e.key===`b`||e.key===`B`)j(e=>e===`black`?null:`black`);else if(e.key===`w`||e.key===`W`)j(e=>e===`white`?null:`white`);else if(e.key===`f`||e.key===`F`)J();else if(e.key===`o`||e.key===`O`||e.key===`g`||e.key===`G`)M?N(!1):(F(W(E)),N(!0));else if(e.key===`?`)L(e=>!e);else if(e.key===`x`||e.key===`X`){let e=C[W(E)];e&&w(e.id)}else e.key===`r`||e.key===`R`?q():e.key===`Enter`?R&&(e.preventDefault(),se()):/^[0-9]$/.test(e.key)&&(e.preventDefault(),oe(e.key))}};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[G,K,U,W,E,y,I,M,P,A,O,R,J,q,oe,se,C,w]);let Y=W(E),X=C[Y],Z=(0,l.useRef)(Y),ce=Y>=Z.current?`next`:`prev`,[Q,le]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(Z.current===Y)return;le(Z.current),Z.current=Y;let e=window.setTimeout(()=>le(null),380);return()=>window.clearTimeout(e)},[Y]);let ue=X?.notes??(X?.kind===`cover`?n||t||``:a(X)),$=C[Y+1],de=$?a($):`— end —`,fe=U?Math.round((Y+1)/U*100):0,pe=(0,l.useCallback)(e=>{(e.pointerType===`touch`||e.pointerType===`pen`)&&(e.target instanceof Element&&e.target.closest(`button`)||(H.current={x:e.clientX,y:e.clientY}))},[]),me=(0,l.useCallback)(e=>{let t=H.current;if(H.current=null,!t||e.pointerType!==`touch`&&e.pointerType!==`pen`)return;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<m||Math.abs(n)<Math.abs(r)*h||(j(null),n<0?G():K())},[G,K]),he=A?A===`black`?`Screen blacked out.`:`Screen whited out.`:U?`Slide ${Y+1} of ${U}: ${a(X)||X?.kind||``}`:``;return(0,u.jsxs)(`div`,{className:`preso-deck`,role:`region`,"aria-label":`Presentation`,tabIndex:-1,style:{background:`#0a0c11`},ref:B,children:[(0,u.jsx)(`div`,{className:`preso-sr`,"aria-live":`polite`,"aria-atomic":`true`,children:he}),(0,u.jsx)(`div`,{className:`preso-stage`,onPointerDown:pe,onPointerUp:me,children:(0,u.jsxs)(`div`,{className:`preso-skinframe`,style:{aspectRatio:`16 / 9`,width:`min(86vw, calc(84vh * 16 / 9))`,margin:`auto`,position:`relative`,borderRadius:12,overflow:`hidden`,border:`1px solid rgba(255,255,255,.08)`,boxShadow:`0 30px 90px rgba(0,0,0,.55)`},children:[Q!==null&&Q!==Y&&C[Q]&&(0,u.jsx)(`div`,{className:`preso-slide-ghost`,"aria-hidden":!0,children:(0,u.jsx)(i,{slide:C[Q],skin:T,ctx:{index:Q,total:U}})}),X&&(0,u.jsx)(`div`,{className:`preso-slide-anim preso-dir-${ce}`,children:(0,u.jsx)(i,{slide:X,skin:T,ctx:{index:Y,total:U}})},Y)]})}),(0,u.jsx)(`button`,{type:`button`,className:`preso-zone preso-zone-prev`,onClick:K,"aria-label":`Previous slide`,disabled:E===0}),(0,u.jsx)(`button`,{type:`button`,className:`preso-zone preso-zone-next`,onClick:G,"aria-label":`Next slide`,disabled:E>=U-1}),(0,u.jsxs)(`div`,{className:`preso-rail`,children:[R&&(0,u.jsxs)(`span`,{className:`preso-jumpchip`,role:`status`,children:[(0,u.jsx)(`span`,{"aria-hidden":!0,children:`→`}),` `,R]}),(0,u.jsxs)(`span`,{className:`preso-count`,children:[Y+1,` / `,U]}),(0,u.jsx)(`button`,{type:`button`,className:`preso-jump`,onClick:()=>D(0),"aria-label":`First slide`,disabled:Y===0,children:`⤒`}),U<=d&&(0,u.jsx)(`div`,{className:`preso-dots`,role:`presentation`,children:C.map((e,t)=>(0,u.jsx)(`button`,{type:`button`,className:`preso-dot`+(t===Y?` is-active`:``),onClick:()=>D(t),"aria-label":`Go to slide ${t+1}`,"aria-current":t===Y},t))}),(0,u.jsx)(`button`,{type:`button`,className:`preso-jump`,onClick:()=>D(U-1),"aria-label":`Last slide`,disabled:Y>=U-1,children:`⤓`}),(0,u.jsx)(`button`,{type:`button`,className:`preso-notes-btn`+(O?` is-on`:``),onClick:()=>k(e=>!e),"aria-pressed":O,title:`Presenter notes (S)`,children:`Notes`})]}),O&&(0,u.jsxs)(`aside`,{className:`preso-presenter`,"aria-label":`Presenter notes`,children:[(0,u.jsxs)(`div`,{className:`preso-presenter-head`,children:[(0,u.jsx)(`button`,{type:`button`,className:`preso-timer`,onClick:q,title:`Reset timer (R)`,children:g(ie)}),(0,u.jsxs)(`span`,{className:`preso-presenter-pct`,children:[fe,`%`]}),(0,u.jsx)(`button`,{type:`button`,className:`preso-presenter-close`,onClick:()=>k(!1),"aria-label":`Hide presenter notes`,children:`×`})]}),(0,u.jsx)(`div`,{className:`preso-presenter-progress`,"aria-hidden":!0,children:(0,u.jsx)(`span`,{style:{width:`${fe}%`}})}),(0,u.jsxs)(`p`,{className:`preso-presenter-slide`,children:[Y+1,`. `,a(X)||X?.kind]}),(0,u.jsx)(`p`,{className:`preso-presenter-notes`,children:ue||`No notes for this slide.`}),(0,u.jsxs)(`div`,{className:`preso-presenter-next`,children:[(0,u.jsx)(`span`,{className:`preso-presenter-next-label`,children:`Next`}),$?(0,u.jsx)(`div`,{className:`preso-presenter-thumb`,children:(0,u.jsx)(i,{slide:$,skin:T,ctx:{index:Y+1,total:U}})}):null,(0,u.jsx)(`span`,{className:`preso-presenter-next-text`,children:de})]})]}),A&&(0,u.jsx)(ne,{mode:A,onDismiss:()=>j(null)}),M&&(0,u.jsx)(ee,{slides:x,skipped:S,skin:T,selected:P,presentedIndex:e=>S.has(x[e].id)?-1:x.slice(0,e).filter(e=>!S.has(e.id)).length,onJump:e=>{D(e),N(!1)},onToggleSkip:w,onClose:()=>N(!1)}),I&&(0,u.jsx)(te,{onClose:()=>L(!1)})]})}export{b as PresentationDeck};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/PrismWorkbench-ZlhI7Mhw.js","assets/compiler-runtime-qQQXpJgv.js","assets/rolldown-runtime-DkW27tQK.js","assets/react-BZJXY1be.js","assets/jsx-runtime-DeHZSEgm.js","assets/useLiveConfig-CvOQTr0s.js","assets/info-CiqHR5cs.js","assets/keyVault-Aw5Y2PjT.js","assets/providers-CPhoN8j0.js","assets/http-Bqk6nJiH.js","assets/blockTypes-DUDdP3pB.js","assets/attachments-BW-vki-E.js","assets/route-CMdTFx0P.js","assets/PrismOverlay-DLxvsh9l.js","assets/preload-helper-CiWYd9n-.js","assets/cachedImport-DW0gP14h.js","assets/preloadableLazy-MIX1ApBW.js","assets/lazyRetry-D50B1UMY.js","assets/index-Db-FgYxX.js","assets/useInView-DsTvv7L_.js","assets/coreIcons-DDTChE1H.js","assets/theme-D5D55hZi.js","assets/index-CFE0vqqO.css","assets/useFocusTrap-CJmpNZv2.js","assets/toast-BBNs2h3L.js","assets/sourceHost-BV3t2XDb.js","assets/penStrokes-CTC3AYiz.js","assets/gesture-BBS5nQEi.js","assets/types-CaO6xOn5.js","assets/cache-7UEbF3S6.js","assets/verbatim-DBTj9sPD.js","assets/officeDoc-GU6Cssjf.js","assets/csv-DAqzYXUs.js","assets/pen-UKrUHlDA.js","assets/streamParse-BX0bAppQ.js","assets/citation-BsSvaaer.js","assets/search-ZN7v_P5B.js","assets/PrismOverlay-5ZVXu4WL.css"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{n as a,t as o}from"./preloadableLazy-MIX1ApBW.js";import{n as s,t as c}from"./theme-D5D55hZi.js";import{E as l}from"./index-Db-FgYxX.js";import{n as u}from"./icons-gLFQTv74.js";import{t as d}from"./FeatureUseNotice-CCI4mM39.js";import{t as ee}from"./homeTarget-CDc-r2mj.js";import{a as te,s as ne,t as re,u as ie}from"./attachments-BW-vki-E.js";/* empty css */var ae=t(),f=e(),p=n();r();var m=o(()=>i(()=>import(`./PrismWorkbench-ZlhI7Mhw.js`).then(e=>({default:e.PrismWorkbench})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))),h=m.Component,g={"too-large":`File is too large. Documents up to 40 MB, images up to 10 MB.`,unsupported:`Unsupported file type. Try a PDF, Word doc, spreadsheet, image, or text file.`};function _(){let e=(0,ae.c)(39),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=ee(),e[0]=t):t=e[0];let n=t,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],e[1]=r):r=e[1],(0,f.useEffect)(ue,r);let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],e[2]=i):i=e[2];let[o,s]=(0,f.useState)(i),[c,_]=(0,f.useState)(null),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(!1),[C,w]=(0,f.useState)(null),T=(0,f.useRef)(null),E;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(E=async e=>{if(!e||e.length===0)return;m.preload().catch(le),w(null);let t=Array.from(e).flatMap(e=>{let t=te(e);return t?(w(g[t]),[]):[e]});t.length>0&&s(e=>{let n=new Set(e.map(ce));return[...e,...t.filter(e=>!n.has(e.name))]}),T.current&&(T.current.value=``)},e[3]=E):E=e[3];let D=E,O;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>{s(t=>t.filter(t=>t.name!==e))},e[4]=O):O=e[4];let de=O,k;e[5]!==y||e[6]!==o?(k=async()=>{if(o.length===0||y)return;b(!0),w(null),m.preload().catch(se);let e=await Promise.all(o.map(ie)),t=e.flatMap(oe);t.length===o.length?_(t):w(g[e.find(v)?.error??`unsupported`]),b(!1)},e[5]=y,e[6]=o,e[7]=k):k=e[7];let A=k,j;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(j=e=>{e.preventDefault(),S(!1),D(e.dataTransfer.files)},e[8]=j):j=e[8];let M=j,N;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(N=e=>{e.preventDefault(),S(!0)},e[9]=N):N=e[9];let P=N,F;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(F=e=>{e.currentTarget.contains(e.relatedTarget)||S(!1)},e[10]=F):F=e[10];let I=F;if(c){let t;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=()=>_(null),e[11]=t):t=e[11];let n;return e[12]===c?n=e[13]:(n=(0,p.jsx)(l,{label:`Prism workbench`,overlay:!0,children:(0,p.jsx)(h,{pdf:c,onClose:t})}),e[12]=c,e[13]=n),n}let L;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(L=()=>{window.location.hash=n.href},e[14]=L):L=e[14];let R;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,p.jsxs)(`header`,{className:`prism-app-header`,children:[(0,p.jsx)(`button`,{type:`button`,className:`prism-app-back`,onClick:L,"aria-label":`Back to ${n.label}`,title:`Back to ${n.label}`,children:(0,p.jsx)(u.chevL,{})}),(0,p.jsx)(`span`,{className:`prism-app-brand`,children:`Prism`})]}),e[15]=R):R=e[15];let z;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,p.jsxs)(`div`,{className:`prism-app-hero`,children:[(0,p.jsx)(`h1`,{className:`prism-app-title`,children:`Understand any document`}),(0,p.jsx)(`p`,{className:`prism-app-lede`,children:`Drop a PDF, Word doc, spreadsheet, or text file. Prism maps every claim, finding, and risk — every card cites its exact source.`}),(0,p.jsx)(d,{kind:`upload`})]}),e[16]=z):z=e[16];let B=`prism-dropzone${x?` prism-dropzone--over`:``}`,V;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(V=()=>T.current?.click(),e[17]=V):V=e[17];let H,U;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{(e.key===`Enter`||e.key===` `)&&T.current?.click()},U=a(m.preload),e[18]=H,e[19]=U):(H=e[18],U=e[19]);let W,G;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,p.jsx)(`input`,{ref:T,type:`file`,accept:re,multiple:!0,className:`prism-dropzone-input`,onChange:e=>void D(e.target.files),"aria-hidden":`true`}),G=(0,p.jsx)(u.upload,{}),e[20]=W,e[21]=G):(W=e[20],G=e[21]);let K=x?`Drop to add`:o.length>0?`Drop more files or click to add`:`Drop files or click to browse`,q;e[22]===K?q=e[23]:(q=(0,p.jsx)(`span`,{className:`prism-dropzone-label`,children:K}),e[22]=K,e[23]=q);let J;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,p.jsx)(`span`,{className:`prism-dropzone-hint`,children:`PDF · Word · Excel · PowerPoint · Image · Text`}),e[24]=J):J=e[24];let Y;e[25]!==B||e[26]!==q?(Y=(0,p.jsxs)(`div`,{className:B,onDrop:M,onDragOver:P,onDragLeave:I,onClick:V,role:`button`,tabIndex:0,"aria-label":`Upload a document`,onKeyDown:H,...U,children:[W,G,q,J]}),e[25]=B,e[26]=q,e[27]=Y):Y=e[27];let X;e[28]===C?X=e[29]:(X=C&&(0,p.jsx)(`p`,{className:`prism-app-error`,role:`alert`,children:C}),e[28]=C,e[29]=X);let Z;e[30]!==A||e[31]!==y||e[32]!==o?(Z=o.length>0&&(0,p.jsxs)(`div`,{className:`prism-staged`,children:[(0,p.jsx)(`p`,{className:`prism-staged-label`,children:o.length===1?`1 document ready`:`${o.length} documents ready`}),(0,p.jsx)(`ul`,{className:`prism-staged-list`,children:o.map(e=>(0,p.jsxs)(`li`,{className:`prism-staged-item`,children:[(0,p.jsx)(u.doc,{}),(0,p.jsx)(`span`,{className:`prism-staged-name`,children:ne({name:e.name,mime:e.type,data:``,size:e.size})}),(0,p.jsx)(`button`,{type:`button`,className:`prism-staged-remove`,onClick:t=>{t.stopPropagation(),de(e.name)},"aria-label":`Remove ${e.name}`,children:(0,p.jsx)(u.x,{})})]},e.name))}),(0,p.jsxs)(`button`,{type:`button`,className:`prism-confirm-btn`,onClick:()=>void A(),disabled:y,...a(m.preload),children:[y?`Preparing documents…`:`Open in Prism`,(0,p.jsx)(u.chevR,{})]})]}),e[30]=A,e[31]=y,e[32]=o,e[33]=Z):Z=e[33];let Q;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,p.jsxs)(`ul`,{className:`prism-app-features`,children:[(0,p.jsxs)(`li`,{children:[(0,p.jsx)(`strong`,{children:`Maps claims spatially`}),` — regions, findings, and risks laid out so you can see the whole shape at once.`]}),(0,p.jsxs)(`li`,{children:[(0,p.jsx)(`strong`,{children:`Every card cites its source`}),` — verbatim quote + page number, always. If Mavéa can't cite it, the card doesn't exist.`]}),(0,p.jsxs)(`li`,{children:[(0,p.jsx)(`strong`,{children:`Ask the whole document`}),` — highlight any claim and ask a follow-up; the answer lights up the exact lines it came from.`]})]}),e[34]=Q):Q=e[34];let $;return e[35]!==Y||e[36]!==X||e[37]!==Z?($=(0,p.jsxs)(`div`,{className:`prism-app`,children:[R,(0,p.jsxs)(`main`,{className:`prism-app-main`,children:[z,Y,X,Z,Q]})]}),e[35]=Y,e[36]=X,e[37]=Z,e[38]=$):$=e[38],$}function v(e){return e.error}function oe(e){return e.attachment?[e.attachment]:[]}function se(){}function ce(e){return e.name}function le(){}function ue(){return c(s())}export{_ as PrismApp};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{r}from"./sourceHost-BV3t2XDb.js";import{t as i}from"./providers-0DthJW_I.js";import{t as a}from"./verbatim-DBTj9sPD.js";import{t as o}from"./citation-BsSvaaer.js";import{a as s,t as c}from"./search-ZN7v_P5B.js";var l=e(),u=t(),d=n(),f={full:{label:`in the document`,token:`var(--insight)`},partial:{label:`partly in the document`,token:`var(--warning)`},none:{label:`not in this document`,token:`var(--text-muted)`}};function p(e,t){return!!e&&e.doc===t.doc&&e.page===t.page&&e.quote===t.quote}function m(e){let t=(0,u.c)(50),{turns:n,busy:i,onAsk:a,onFocusSpan:o,activeSpan:s,multiDoc:c,docLabel:m,onClose:g}=e,[_,v]=(0,l.useState)(``),y=(0,l.useRef)(null),b=(0,l.useRef)(null),x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)},t[0]=x):x=t[0];let S;t[1]===n?S=t[2]:(S=[n],t[1]=n,t[2]=S),(0,l.useEffect)(x,S);let C,w;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{b.current?.focus()},w=[],t[3]=C,t[4]=w):(C=t[3],w=t[4]),(0,l.useEffect)(C,w);let T;t[5]!==i||t[6]!==_||t[7]!==a?(T=()=>{let e=_.trim();!e||i||(a(e),v(``))},t[5]=i,t[6]=_,t[7]=a,t[8]=T):T=t[8];let E=T,D=h,O;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,d.jsxs)(`span`,{className:`prism-ask-title`,children:[(0,d.jsx)(`span`,{className:`prism-ask-spark`,"aria-hidden":`true`}),`Ask this document`]}),t[9]=O):O=t[9];let k;t[10]===g?k=t[11]:(k=(0,d.jsxs)(`header`,{className:`prism-ask-head`,children:[O,(0,d.jsx)(`button`,{type:`button`,className:`prism-ask-min`,onClick:g,"aria-label":`Hide the ask panel`,children:`▾`})]}),t[10]=g,t[11]=k);let A;t[12]===n.length?A=t[13]:(A=n.length===0&&(0,d.jsx)(`p`,{className:`prism-ask-empty`,children:`Ask anything. The answer lights up the exact lines on the page — and says so honestly when the document doesn’t cover it.`}),t[12]=n.length,t[13]=A);let j;if(t[14]!==s||t[15]!==m||t[16]!==c||t[17]!==o||t[18]!==n){let e;t[20]!==s||t[21]!==m||t[22]!==c||t[23]!==o?(e=e=>(0,d.jsxs)(`div`,{className:`prism-ask-turn`,children:[(0,d.jsx)(`p`,{className:`prism-ask-q`,children:e.question}),e.status===`pending`&&(0,d.jsxs)(`p`,{className:`prism-ask-pending`,children:[(0,d.jsx)(`span`,{className:`prism-ask-dot`,"aria-hidden":`true`}),`Reading the document…`]}),e.status===`error`&&(0,d.jsx)(`p`,{className:`prism-ask-err`,children:e.error}),e.status===`done`&&e.answer&&(0,d.jsxs)(`div`,{className:`prism-ask-a`,children:[(0,d.jsxs)(`span`,{className:`prism-ask-cover`,"data-coverage":e.answer.coverage,style:{"--cover-color":f[e.answer.coverage].token},children:[(0,d.jsx)(`span`,{className:`prism-ask-cover-dot`,"aria-hidden":`true`}),e.answer.unpinned?`in the document — couldn’t highlight the exact line`:f[e.answer.coverage].label]}),e.answer.text&&(0,d.jsx)(`p`,{className:`prism-ask-text`,children:e.answer.text}),e.answer.spans.length>0&&(0,d.jsx)(`div`,{className:`prism-ask-spans`,role:`group`,"aria-label":`Where this is in the document`,children:e.answer.spans.map((e,t)=>(0,d.jsx)(`button`,{type:`button`,className:`prism-ask-chip`+(p(s,e)?` is-active`:``),onClick:()=>o(e),title:e.quote,children:c?`${m(e.doc)} · p.${e.page}`:`p.${e.page}`},`${e.doc}:${e.page}:${t}`))}),e.answer.outside&&(()=>{let t=r(e.answer.outside.citation.url),n=(0,d.jsxs)(d.Fragment,{children:[`“`,e.answer.outside.citation.quote,`”`,(0,d.jsxs)(`span`,{className:`prism-ask-outside-host`,children:[`— `,e.answer.outside.citation.host,e.answer.outside.citation.date?` · ${e.answer.outside.citation.date}`:``]})]});return(0,d.jsxs)(`div`,{className:`prism-ask-outside`,children:[(0,d.jsx)(`span`,{className:`prism-ask-outside-tag`,children:`from outside this document`}),(0,d.jsx)(`p`,{className:`prism-ask-outside-fact`,children:e.answer.outside.fact}),t?(0,d.jsx)(`a`,{className:`prism-ask-outside-cite`,href:t,target:`_blank`,rel:`noopener noreferrer`,children:n}):(0,d.jsx)(`span`,{className:`prism-ask-outside-cite`,children:n})]})})()]})]},e.id),t[20]=s,t[21]=m,t[22]=c,t[23]=o,t[24]=e):e=t[24],j=n.map(e),t[14]=s,t[15]=m,t[16]=c,t[17]=o,t[18]=n,t[19]=j}else j=t[19];let M;t[25]!==A||t[26]!==j?(M=(0,d.jsxs)(`div`,{className:`prism-ask-thread`,ref:y,children:[A,j]}),t[25]=A,t[26]=j,t[27]=M):M=t[27];let N;t[28]===E?N=t[29]:(N=e=>{e.preventDefault(),E()},t[28]=E,t[29]=N);let P;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>v(e.target.value),t[30]=P):P=t[30];let F;t[31]===E?F=t[32]:(F=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),E())},t[31]=E,t[32]=F);let I=i?`Reading the document…`:`Ask this document a question…`,L;t[33]!==_||t[34]!==F||t[35]!==I?(L=(0,d.jsx)(`textarea`,{ref:b,className:`prism-ask-input`,value:_,onChange:P,onKeyDown:F,rows:1,placeholder:I,"aria-label":`Ask this document a question`}),t[33]=_,t[34]=F,t[35]=I,t[36]=L):L=t[36];let R;t[37]!==i||t[38]!==_?(R=i||_.trim().length===0,t[37]=i,t[38]=_,t[39]=R):R=t[39];let z;t[40]===R?z=t[41]:(z=(0,d.jsx)(`button`,{type:`submit`,className:`prism-ask-send`,disabled:R,"aria-label":`Ask`,children:`↵`}),t[40]=R,t[41]=z);let B;t[42]!==N||t[43]!==L||t[44]!==z?(B=(0,d.jsxs)(`form`,{className:`prism-ask-form`,onSubmit:N,children:[L,z]}),t[42]=N,t[43]=L,t[44]=z,t[45]=B):B=t[45];let V;return t[46]!==M||t[47]!==B||t[48]!==k?(V=(0,d.jsxs)(`section`,{className:`prism-ask`,"aria-label":`Ask this document`,onPointerDown:D,onWheel:D,onClick:D,children:[k,M,B]}),t[46]=M,t[47]=B,t[48]=k,t[49]=V):V=t[49],V}function h(e){return e.stopPropagation()}var g=14e3,_=1500,v=8;function y(e){let t=[];return e.forEach((e,n)=>e.forEach((e,r)=>{let i=e.trim();i&&t.push({doc:n,page:r+1,text:i.slice(0,_)})})),t}function b(e,t,n=g){let r=y(e);if(r.reduce((e,t)=>e+t.text.length,0)<=n)return r;let i=Array.from(new Set(t.toLowerCase().match(/[a-z0-9]{4,}/g)??[])),a=e=>{let t=e.text.toLowerCase();return i.reduce((e,n)=>e+ +!!t.includes(n),0)},o=r.map(e=>({p:e,s:a(e)})).sort((e,t)=>t.s-e.s||e.p.doc-t.p.doc||e.p.page-t.p.page),s=[],c=0;for(let{p:e}of o)if(c+e.text.length>n&&s.length>=6||(s.push(e),c+=e.text.length,c>=n))break;return s.sort((e,t)=>e.doc-t.doc||e.page-t.page)}function x(e,t){return`DOCUMENT TEXT (cite "doc"/"page" by these markers):\n${e.map(e=>`[${t?`doc ${e.doc} · `:``}page ${e.page}]\n${e.text}`).join(`
1
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{r}from"./sourceHost-BV3t2XDb.js";import{t as i}from"./providers-CPhoN8j0.js";import{t as a}from"./verbatim-DBTj9sPD.js";import{t as o}from"./citation-BsSvaaer.js";import{a as s,t as c}from"./search-ZN7v_P5B.js";var l=e(),u=t(),d=n(),f={full:{label:`in the document`,token:`var(--insight)`},partial:{label:`partly in the document`,token:`var(--warning)`},none:{label:`not in this document`,token:`var(--text-muted)`}};function p(e,t){return!!e&&e.doc===t.doc&&e.page===t.page&&e.quote===t.quote}function m(e){let t=(0,u.c)(50),{turns:n,busy:i,onAsk:a,onFocusSpan:o,activeSpan:s,multiDoc:c,docLabel:m,onClose:g}=e,[_,v]=(0,l.useState)(``),y=(0,l.useRef)(null),b=(0,l.useRef)(null),x;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)},t[0]=x):x=t[0];let S;t[1]===n?S=t[2]:(S=[n],t[1]=n,t[2]=S),(0,l.useEffect)(x,S);let C,w;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{b.current?.focus()},w=[],t[3]=C,t[4]=w):(C=t[3],w=t[4]),(0,l.useEffect)(C,w);let T;t[5]!==i||t[6]!==_||t[7]!==a?(T=()=>{let e=_.trim();!e||i||(a(e),v(``))},t[5]=i,t[6]=_,t[7]=a,t[8]=T):T=t[8];let E=T,D=h,O;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,d.jsxs)(`span`,{className:`prism-ask-title`,children:[(0,d.jsx)(`span`,{className:`prism-ask-spark`,"aria-hidden":`true`}),`Ask this document`]}),t[9]=O):O=t[9];let k;t[10]===g?k=t[11]:(k=(0,d.jsxs)(`header`,{className:`prism-ask-head`,children:[O,(0,d.jsx)(`button`,{type:`button`,className:`prism-ask-min`,onClick:g,"aria-label":`Hide the ask panel`,children:`▾`})]}),t[10]=g,t[11]=k);let A;t[12]===n.length?A=t[13]:(A=n.length===0&&(0,d.jsx)(`p`,{className:`prism-ask-empty`,children:`Ask anything. The answer lights up the exact lines on the page — and says so honestly when the document doesn’t cover it.`}),t[12]=n.length,t[13]=A);let j;if(t[14]!==s||t[15]!==m||t[16]!==c||t[17]!==o||t[18]!==n){let e;t[20]!==s||t[21]!==m||t[22]!==c||t[23]!==o?(e=e=>(0,d.jsxs)(`div`,{className:`prism-ask-turn`,children:[(0,d.jsx)(`p`,{className:`prism-ask-q`,children:e.question}),e.status===`pending`&&(0,d.jsxs)(`p`,{className:`prism-ask-pending`,children:[(0,d.jsx)(`span`,{className:`prism-ask-dot`,"aria-hidden":`true`}),`Reading the document…`]}),e.status===`error`&&(0,d.jsx)(`p`,{className:`prism-ask-err`,children:e.error}),e.status===`done`&&e.answer&&(0,d.jsxs)(`div`,{className:`prism-ask-a`,children:[(0,d.jsxs)(`span`,{className:`prism-ask-cover`,"data-coverage":e.answer.coverage,style:{"--cover-color":f[e.answer.coverage].token},children:[(0,d.jsx)(`span`,{className:`prism-ask-cover-dot`,"aria-hidden":`true`}),e.answer.unpinned?`in the document — couldn’t highlight the exact line`:f[e.answer.coverage].label]}),e.answer.text&&(0,d.jsx)(`p`,{className:`prism-ask-text`,children:e.answer.text}),e.answer.spans.length>0&&(0,d.jsx)(`div`,{className:`prism-ask-spans`,role:`group`,"aria-label":`Where this is in the document`,children:e.answer.spans.map((e,t)=>(0,d.jsx)(`button`,{type:`button`,className:`prism-ask-chip`+(p(s,e)?` is-active`:``),onClick:()=>o(e),title:e.quote,children:c?`${m(e.doc)} · p.${e.page}`:`p.${e.page}`},`${e.doc}:${e.page}:${t}`))}),e.answer.outside&&(()=>{let t=r(e.answer.outside.citation.url),n=(0,d.jsxs)(d.Fragment,{children:[`“`,e.answer.outside.citation.quote,`”`,(0,d.jsxs)(`span`,{className:`prism-ask-outside-host`,children:[`— `,e.answer.outside.citation.host,e.answer.outside.citation.date?` · ${e.answer.outside.citation.date}`:``]})]});return(0,d.jsxs)(`div`,{className:`prism-ask-outside`,children:[(0,d.jsx)(`span`,{className:`prism-ask-outside-tag`,children:`from outside this document`}),(0,d.jsx)(`p`,{className:`prism-ask-outside-fact`,children:e.answer.outside.fact}),t?(0,d.jsx)(`a`,{className:`prism-ask-outside-cite`,href:t,target:`_blank`,rel:`noopener noreferrer`,children:n}):(0,d.jsx)(`span`,{className:`prism-ask-outside-cite`,children:n})]})})()]})]},e.id),t[20]=s,t[21]=m,t[22]=c,t[23]=o,t[24]=e):e=t[24],j=n.map(e),t[14]=s,t[15]=m,t[16]=c,t[17]=o,t[18]=n,t[19]=j}else j=t[19];let M;t[25]!==A||t[26]!==j?(M=(0,d.jsxs)(`div`,{className:`prism-ask-thread`,ref:y,children:[A,j]}),t[25]=A,t[26]=j,t[27]=M):M=t[27];let N;t[28]===E?N=t[29]:(N=e=>{e.preventDefault(),E()},t[28]=E,t[29]=N);let P;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>v(e.target.value),t[30]=P):P=t[30];let F;t[31]===E?F=t[32]:(F=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),E())},t[31]=E,t[32]=F);let I=i?`Reading the document…`:`Ask this document a question…`,L;t[33]!==_||t[34]!==F||t[35]!==I?(L=(0,d.jsx)(`textarea`,{ref:b,className:`prism-ask-input`,value:_,onChange:P,onKeyDown:F,rows:1,placeholder:I,"aria-label":`Ask this document a question`}),t[33]=_,t[34]=F,t[35]=I,t[36]=L):L=t[36];let R;t[37]!==i||t[38]!==_?(R=i||_.trim().length===0,t[37]=i,t[38]=_,t[39]=R):R=t[39];let z;t[40]===R?z=t[41]:(z=(0,d.jsx)(`button`,{type:`submit`,className:`prism-ask-send`,disabled:R,"aria-label":`Ask`,children:`↵`}),t[40]=R,t[41]=z);let B;t[42]!==N||t[43]!==L||t[44]!==z?(B=(0,d.jsxs)(`form`,{className:`prism-ask-form`,onSubmit:N,children:[L,z]}),t[42]=N,t[43]=L,t[44]=z,t[45]=B):B=t[45];let V;return t[46]!==M||t[47]!==B||t[48]!==k?(V=(0,d.jsxs)(`section`,{className:`prism-ask`,"aria-label":`Ask this document`,onPointerDown:D,onWheel:D,onClick:D,children:[k,M,B]}),t[46]=M,t[47]=B,t[48]=k,t[49]=V):V=t[49],V}function h(e){return e.stopPropagation()}var g=14e3,_=1500,v=8;function y(e){let t=[];return e.forEach((e,n)=>e.forEach((e,r)=>{let i=e.trim();i&&t.push({doc:n,page:r+1,text:i.slice(0,_)})})),t}function b(e,t,n=g){let r=y(e);if(r.reduce((e,t)=>e+t.text.length,0)<=n)return r;let i=Array.from(new Set(t.toLowerCase().match(/[a-z0-9]{4,}/g)??[])),a=e=>{let t=e.text.toLowerCase();return i.reduce((e,n)=>e+ +!!t.includes(n),0)},o=r.map(e=>({p:e,s:a(e)})).sort((e,t)=>t.s-e.s||e.p.doc-t.p.doc||e.p.page-t.p.page),s=[],c=0;for(let{p:e}of o)if(c+e.text.length>n&&s.length>=6||(s.push(e),c+=e.text.length,c>=n))break;return s.sort((e,t)=>e.doc-t.doc||e.page-t.page)}function x(e,t){return`DOCUMENT TEXT (cite "doc"/"page" by these markers):\n${e.map(e=>`[${t?`doc ${e.doc} · `:``}page ${e.page}]\n${e.text}`).join(`
2
2
 
3
3
  `)}`}var S=`You answer a question strictly from the document text provided, quoting verbatim, and return strict JSON only. You never use outside knowledge and never invent a quote, page, or fact — when the document does not address the question you say so plainly.`;function C(e,t,n){return`${x(t,n)}
4
4
 
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/kokoro-yB7iU_JU.js","assets/rolldown-runtime-DkW27tQK.js","assets/index-Db-FgYxX.js","assets/react-BZJXY1be.js","assets/compiler-runtime-qQQXpJgv.js","assets/useInView-DsTvv7L_.js","assets/jsx-runtime-DeHZSEgm.js","assets/coreIcons-DDTChE1H.js","assets/preload-helper-CiWYd9n-.js","assets/preloadableLazy-MIX1ApBW.js","assets/cachedImport-DW0gP14h.js","assets/lazyRetry-D50B1UMY.js","assets/theme-D5D55hZi.js","assets/index-CFE0vqqO.css","assets/spokenText-Dy-GZvZV.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./react-BZJXY1be.js";import{t}from"./compiler-runtime-qQQXpJgv.js";import{t as n}from"./jsx-runtime-DeHZSEgm.js";import{n as r,t as i}from"./preload-helper-CiWYd9n-.js";import{n as a}from"./nextFrame-12y0UrAd.js";import{s as o,t as s,u as c}from"./walkSync-D6leFb_u.js";var l=e(),u=t(),d=n(),f=4e3,p={open:`THE CASE`,tension:`TENSION`,verdict:`THE VERDICT`,context:`CONTEXT`,close:`IN CLOSING`};function m(){let e=(0,u.c)(2),[t,n]=(0,l.useState)(h),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>n(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,l.useEffect)(r,i),t}function h(){return typeof window<`u`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var g=`mavea-brief-audio`;function _(){try{let e=localStorage.getItem(g);return e===`on`||e!==`off`&&null}catch{return null}}function v(e){try{localStorage.setItem(g,e?`on`:`off`)}catch{}}function y({beats:e,onBeat:t,onExit:n,speak:r,cancelSpeak:i,audioDefault:u=!0}){let h=m(),[g,y]=(0,l.useState)(0),[b,x]=(0,l.useState)(!h),[S,C]=(0,l.useState)(()=>u?_()??!0:!1),w=(0,l.useRef)({onBeat:t,speak:r,cancelSpeak:i});w.current={onBeat:t,speak:r,cancelSpeak:i};let T=e[g],E=g>=e.length-1,D=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(T){if(w.current.onBeat(T),!S){D.current=null;return}w.current.cancelSpeak(),D.current=w.current.speak(T.spoken).catch(()=>null)}},[T,S]),(0,l.useEffect)(()=>{if(!b||h||!T||E)return;let t=!1,n=()=>{t||y(t=>Math.min(e.length-1,t+1))};if(!S){let e=setTimeout(n,T.dwellMs);return()=>{t=!0,clearTimeout(e)}}return(async()=>{let e=await a(D.current??Promise.resolve(null),f);t||(e?await c(e,T.dwellMs,s):await o(T.dwellMs),n())})(),()=>{t=!0}},[T,b,h,E,e.length,S]),(0,l.useEffect)(()=>{E&&x(!1)},[E]),(0,l.useEffect)(()=>()=>w.current.cancelSpeak(),[]);let O=(0,l.useCallback)(()=>y(e=>Math.max(0,e-1)),[]),k=(0,l.useCallback)(()=>y(t=>Math.min(e.length-1,t+1)),[e.length]),A=(0,l.useCallback)(()=>{E?(y(0),x(!0)):x(e=>!e)},[E]),j=(0,l.useCallback)(()=>{C(e=>(e&&w.current.cancelSpeak(),v(!e),!e))},[]),M=(0,l.useCallback)(e=>e.stopPropagation(),[]);return T?(0,d.jsxs)(`div`,{className:`prism-brief`,onPointerDown:M,onWheel:M,onClick:M,children:[(0,d.jsxs)(`div`,{className:`prism-brief-caption`,role:`status`,"aria-live":`polite`,children:[(0,d.jsx)(`span`,{className:`prism-brief-eyebrow`,"data-kind":T.kind,children:p[T.kind]}),(0,d.jsx)(`p`,{className:`prism-brief-line`,children:T.caption})]}),(0,d.jsxs)(`div`,{className:`prism-brief-bar`,children:[(0,d.jsx)(`button`,{type:`button`,className:`prism-brief-btn`,onClick:O,disabled:g===0,"aria-label":`Previous beat`,children:`‹`}),(0,d.jsx)(`button`,{type:`button`,className:`prism-brief-btn prism-brief-play`,onClick:A,"aria-label":E?`Replay`:b?`Pause`:`Play`,children:E?`↺`:b?`❙❙`:`▶`}),(0,d.jsx)(`button`,{type:`button`,className:`prism-brief-btn`,onClick:k,disabled:E,"aria-label":`Next beat`,children:`›`}),(0,d.jsxs)(`span`,{className:`prism-brief-progress`,"aria-hidden":`true`,children:[g+1,` / `,e.length]}),(0,d.jsx)(`span`,{className:`prism-brief-spacer`}),(0,d.jsx)(`button`,{type:`button`,className:`prism-brief-btn prism-brief-audio`+(S?` is-on`:``),onClick:j,"aria-pressed":S,"aria-label":S?`Mute narration`:`Play with audio`,title:S?`Mute narration`:`Play with audio`,children:(0,d.jsx)(`span`,{"aria-hidden":`true`,children:S?`🔊`:`🔇`})}),(0,d.jsx)(`button`,{type:`button`,className:`prism-brief-exit`,onClick:n,"aria-label":`Exit the briefing`,children:`✕ Exit`})]})]}):(0,d.jsx)(d.Fragment,{})}r();function b({beats:e,onBeat:t,onExit:n,audioDefault:r}){return(0,d.jsx)(y,{beats:e,onBeat:t,onExit:n,audioDefault:r,speak:e=>i(()=>import(`./kokoro-yB7iU_JU.js`).then(e=>e.a).then(t=>t.speakKokoroLine(e,`mavea`),()=>null),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])),cancelSpeak:()=>{i(()=>import(`./kokoro-yB7iU_JU.js`).then(e=>e.a).then(e=>e.cancelKokoro()),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}})}export{b as PrismBriefingPlayer};
@@ -0,0 +1 @@
1
+ .prism-scrim{z-index:52;background:rgba(var(--scrim-rgb), .72);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));justify-content:center;align-items:center;padding:2.5vh 2.5vw;display:flex;position:fixed;inset:0}.prism-panel{border-radius:var(--r-xl);background:var(--surface-deep);border:1px solid var(--line);width:min(1700px,100%);height:95vh;box-shadow:var(--shadow-modal);color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.prism-scrim[data-expanded=true]{padding:0}.prism-scrim[data-expanded=true] .prism-panel{border:none;border-radius:0;width:100%;height:100%}.prism-head{background:var(--surface-deep);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 20px;display:flex}.prism-legend{background:var(--surface-deep);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:9px 20px;display:flex}.prism-legend-item{align-items:center;gap:7px;min-width:0;display:inline-flex}.prism-legend-swatch{border-radius:3px;flex:none;width:10px;height:10px}.prism-legend-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:12px;overflow:hidden}.prism-legend-count{font-family:var(--font-data);color:var(--text-muted);border-radius:var(--r-full);background:var(--surface-glass);padding:1px 6px;font-size:9.5px}.prism-legend-cross{font-family:var(--font-data);letter-spacing:.04em;color:color-mix(in oklab, var(--danger) 80%, white 20%);margin-left:auto;font-size:10px}.prism-file{min-width:0;color:var(--text-muted);align-items:center;gap:9px;display:flex}.prism-file-name{font-family:var(--font-data);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:42px;font-size:11px;overflow:hidden}.prism-file-pages{font-family:var(--font-data);color:var(--text-muted);flex:none;font-size:11px}.prism-head-right{flex:none;align-items:center;gap:14px;display:flex}.prism-phase{font-family:var(--font-data);letter-spacing:.14em;color:var(--text-muted);align-items:center;gap:7px;font-size:10px;display:inline-flex}.prism-phase-dot{background:var(--presence);opacity:.35;border-radius:50%;width:6px;height:6px}.prism-phase[data-active=true] .prism-phase-dot{opacity:1;animation:1.5s ease-in-out infinite prism-pulse}@keyframes prism-pulse{0%,to{opacity:1}50%{opacity:.4}}.prism-replay,.prism-close{border:1px solid var(--line-strong);color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0}.prism-replay{border-radius:var(--r-full);padding:6px 13px;font-size:11px;font-weight:600}.prism-replay:hover{color:var(--text-primary);border-color:var(--line-strong)}.prism-close{width:30px;height:30px;color:var(--text-muted);border-radius:50%;font-size:13px;line-height:1}.prism-close:hover{color:var(--text-primary);border-color:var(--line-strong)}.prism-split{flex:1;min-height:0;display:flex}.prism-stage{background:radial-gradient(ellipse 80% 72% at 50% 46%, var(--surface-elevated) 0%, var(--surface-deep) 100%);flex:1;min-width:0;position:relative;overflow:hidden}.prism-split[data-pdfonly=true] .prism-stage{display:none}.prism-divider{cursor:col-resize;background:var(--surface-deep);border-left:1px solid var(--line);touch-action:none;flex:none;justify-content:center;align-items:center;width:10px;display:flex}.prism-divider:hover,.prism-divider:focus-visible{background:color-mix(in oklab, var(--presence) 18%, var(--surface-deep));outline:none}.prism-divider-grip{background:var(--line-strong);border-radius:2px;width:2px;height:36px}.prism-divider:hover .prism-divider-grip,.prism-divider:focus-visible .prism-divider-grip{background:var(--presence)}.prism-page-wrap{width:var(--pdf-pct,44%);flex:none;min-width:0;min-height:0;display:flex;position:relative}@media (width<=720px){.prism-split[data-split=true] .prism-stage,.prism-divider{display:none}.prism-page-wrap{width:100%}}.prism-page-nav{color:var(--text-secondary);flex:none;align-items:center;gap:6px;font-size:11px;display:inline-flex}.prism-page-nav-btn{border:1px solid var(--line-strong);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s;display:inline-flex}.prism-page-nav-btn:disabled{opacity:.3;cursor:default}.prism-page-nav-btn:not(:disabled):hover{background:var(--surface-elevated)}.prism-page-nav-at{white-space:nowrap;font-family:var(--font-data);letter-spacing:.04em}.prism-page-nav-of{color:var(--text-muted)}.prism-page{background:var(--surface-deep);flex-direction:column;flex:1;min-width:0;min-height:0;animation:.32s cubic-bezier(.4,0,.2,1) both prism-page-in;display:flex}@keyframes prism-page-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.prism-page{animation:none}}.prism-page-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.prism-page-tag{font-family:var(--font-data);letter-spacing:.12em;white-space:nowrap;font-size:9.5px;font-weight:600}.prism-page-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.prism-page-zoom{border-radius:var(--r-sm);border:1px solid var(--line-strong);flex:none;margin-left:auto;display:inline-flex;overflow:hidden}.prism-page-zoom button{width:26px;height:24px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:15px;line-height:1}.prism-page-zoom button:hover{background:var(--surface-glass);color:var(--text-primary)}.prism-page-zoom button+button{border-left:1px solid var(--line-strong)}.prism-page-close{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:12px;line-height:1}.prism-page-close:hover{color:var(--text-primary);border-color:var(--line-strong)}.prism-page-scroll{scrollbar-gutter:stable;flex:1;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:relative;overflow:auto}.prism-page-scroll.is-pannable{cursor:grab}.prism-page-scroll.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.prism-page-frame{flex:none;margin:auto;position:relative}.prism-page-holder{width:100%;height:100%;position:relative}.prism-page-canvas{border-radius:var(--r-sm);width:100%;height:100%;display:block;box-shadow:0 8px 28px #00000080}.prism-page-status{text-align:center;color:var(--text-muted);padding:40px 24px;font-size:13px;line-height:1.6}.prism-page-fallback{border:1px solid var(--line-strong);border-radius:var(--r-lg,18px);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-elevated) 94%, var(--presence) 6%), var(--surface));width:min(560px,100% - 32px);color:var(--text-primary);gap:14px;margin:auto;padding:clamp(24px,5vw,44px);display:grid;box-shadow:0 18px 54px #0003}.prism-page-fallback-kicker{font-family:var(--font-data,var(--font));letter-spacing:.1em;text-transform:uppercase;color:var(--presence);font-size:11px;font-weight:650}.prism-page-fallback>strong{font-family:var(--font-display,var(--font));font-size:clamp(20px,3vw,28px);line-height:1.15}.prism-page-fallback blockquote,.prism-page-fallback p{font-family:var(--font-body,var(--font));color:var(--text-secondary);margin:0;font-size:clamp(15px,2vw,18px);line-height:1.65}.prism-page-fallback blockquote{border-left:3px solid color-mix(in srgb, var(--presence) 70%, transparent);padding-left:18px}.prism-page-fallback-note{color:var(--text-muted);font-size:12px;line-height:1.55}.prism-slide-figure{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100%;margin:0;padding:16px;display:flex}.prism-slide-stage{flex:none;line-height:0;position:relative}.prism-slide-img{border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;width:100%;height:100%;display:block}.prism-slide-quote{color:var(--text-primary);background:var(--surface-elevated);border-left:3px solid;border-radius:8px;flex-direction:column;align-self:stretch;gap:5px;padding:11px 14px;font-size:14px;line-height:1.5;display:flex}.prism-slide-quote-label{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;font-size:8.5px;font-weight:700}.prism-slide-unit{flex:none;margin:auto;position:relative}.prism-slide-frame{flex:none;margin:0;position:relative}.prism-slide-canvas{transform-origin:0 0;box-sizing:border-box;border-radius:var(--r-md);background:var(--surface-elevated);width:960px;height:540px;box-shadow:0 0 0 1px var(--line), var(--shadow-raised);color:var(--text-secondary);flex-direction:column;gap:28px;padding:64px 72px;display:flex;position:absolute;top:0;left:0;overflow:hidden}.prism-slide-title{color:var(--text-primary);margin:0;font-weight:700;line-height:1.2}.prism-slide-body{flex-direction:column;gap:14px;line-height:1.45;display:flex;overflow:hidden}.prism-slide-body-line{margin:0}.prism-slide-flat{white-space:pre-wrap;word-break:break-word;line-height:1.6;overflow:hidden}.prism-page-marks{pointer-events:none;position:absolute;inset:0}.prism-page-mark{border-radius:2px;animation:.5s .15s both prism-mark-in;position:absolute}.prism-page-figure{border:2.5px solid;border-radius:6px;animation:.5s .15s both prism-mark-in;position:absolute}@keyframes prism-mark-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.prism-page-mark,.prism-page-figure{animation:none}}.prism-pen{pointer-events:none;z-index:2;position:absolute;top:0;left:0;overflow:visible}.prism-pen-stroke,.prism-pen-halo,.prism-pen-head{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:prism-pen-draw 1s cubic-bezier(.45, 0, .3, 1) var(--ink-delay,0s) forwards}.prism-pen-stroke{stroke-width:4.6px;opacity:.92}.prism-pen-halo{stroke-width:12px;opacity:.13}.prism-pen-head{stroke-width:4.2px;opacity:.92;animation-duration:.28s;animation-delay:calc(var(--ink-delay,0s) + .96s)}@keyframes prism-pen-draw{to{stroke-dashoffset:0}}.prism-pen-glyph{fill:currentColor;opacity:0;animation:prism-glyph-in .4s ease-out calc(var(--ink-delay,0s) + .6s) forwards;font-family:Caveat,Bradley Hand,Segoe Print,Marker Felt,cursive;font-weight:700}@keyframes prism-glyph-in{0%{opacity:0}to{opacity:.92}}@media (prefers-reduced-motion:reduce){.prism-pen-stroke,.prism-pen-halo,.prism-pen-head{stroke-dashoffset:0;animation:none}.prism-pen-glyph{opacity:.92;animation:none}}.prism-pen-caption{z-index:4;background:color-mix(in oklab, var(--surface-deep) 88%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:var(--glass-blur,blur(6px));backdrop-filter:var(--glass-blur,blur(6px));border-radius:12px;align-items:center;gap:10px;padding:10px 12px 10px 14px;animation:.4s both prism-mark-in;display:flex;position:absolute;bottom:14px;left:16px;right:16px;box-shadow:0 8px 28px #0006}.prism-pen-caption-text{min-width:0;color:var(--text-secondary);flex:1;font-size:12.5px;line-height:1.4}.prism-pen-mute{border:1px solid var(--line-strong);background:var(--surface-elevated);width:30px;height:30px;color:inherit;cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.prism-pen-mute:hover{border-color:var(--line-strong)}.prism-pen-mute[aria-pressed=true]{border-color:color-mix(in oklab, var(--presence) 60%, transparent)}@media (prefers-reduced-motion:reduce){.prism-pen-caption{animation:none}}.prism-page-foot{border-top:1px solid var(--line);color:var(--text-muted);flex:none;padding:10px 16px;font-size:11px}.prism-office-mark{color:inherit;border-radius:2px;padding:0 1px}.prism-doc-unit{width:100%;margin:auto;position:relative}.prism-doc-sheet{box-sizing:border-box;border-radius:var(--r-md);background:var(--surface-elevated);box-shadow:0 0 0 1px var(--line), var(--shadow-raised);padding:32px 40px}.prism-doc-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;line-height:1.7;position:relative}.prism-sheet-unit{width:100%;margin:auto;position:relative}.prism-sheet-scroll{scrollbar-gutter:stable;border-radius:var(--r-md);box-shadow:0 0 0 1px var(--line);overflow:auto visible}.prism-sheet-inner{width:max-content;min-width:100%;position:relative}.prism-sheet-table{border-collapse:collapse;background:var(--surface-elevated);width:100%;font-size:inherit}.prism-sheet-table th,.prism-sheet-table td{text-align:left;vertical-align:baseline;white-space:nowrap;color:var(--text-secondary);border-bottom:1px solid var(--line);padding:7px 12px}.prism-sheet-table thead th{z-index:1;background:var(--surface-deep);color:var(--text-primary);font-weight:600;font-family:var(--font-data);letter-spacing:.02em;border-bottom:1px solid var(--line-strong);font-size:.85em;position:sticky;top:0}.prism-sheet-table tbody tr:hover td{background:var(--surface-glass)}.prism-sheet-num{font-family:var(--font-data);font-variant-numeric:tabular-nums;text-align:right}.prism-sheet-cell-hit{color:var(--text-primary);font-weight:600}.prism-sheet-truncated{color:var(--text-muted);margin:8px 2px 0;font-size:11px}.prism-page-conns{border-top:1px solid var(--line);background:var(--surface-deep);flex:none;align-items:center;gap:10px;padding:8px 14px;display:flex;overflow-x:auto}.prism-page-conns-label{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex:none;font-size:9px}.prism-page-conns-list{gap:6px;display:flex}.prism-page-conn{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-full);border:1px solid var(--line-strong);max-width:200px;color:var(--text-secondary);cursor:pointer;background:0 0;flex:none;padding:4px 10px;font-size:11px;transition:border-color .15s,color .15s;overflow:hidden}.prism-page-conn:hover{border-color:color-mix(in oklab, var(--presence) 50%, var(--line-strong));color:var(--text-primary)}.prism-doc{z-index:6;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.prism-doc[data-igniting=true] .prism-doc-page{animation:.7s forwards prism-doc-out}@keyframes prism-doc-out{to{opacity:0;transform:scale(.5)}}.prism-doc-page{background:var(--surface-elevated);border:1px solid var(--line);width:196px;height:256px;box-shadow:0 18px 44px #00000073, 6px 6px 0 -1px var(--surface-elevated), 12px 12px 0 -2px var(--surface-deep);border-radius:6px;flex-direction:column;gap:8px;padding:20px 18px;display:flex;overflow:hidden}.prism-doc-eyebrow{font-family:var(--font-data);letter-spacing:.12em;color:var(--text-muted);font-size:7px}.prism-doc-title{color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.25}.prism-doc-lines{flex-direction:column;gap:5px;margin-top:6px;display:flex}.prism-doc-line{background:var(--line);border-radius:2px;height:3px}.prism-shock{border:1.5px solid var(--presence);pointer-events:none;border-radius:50%;width:200px;height:200px;animation:.9s ease-out forwards prism-shock;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes prism-shock{0%{opacity:.55;transform:translate(-50%,-50%)scale(.35)}to{opacity:0;transform:translate(-50%,-50%)scale(3.4)}}.prism-shard{border:1px solid var(--line);opacity:0;pointer-events:none;background:#fff;border-radius:2px;animation:1.2s cubic-bezier(.2,.7,.3,1) forwards prism-shard;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px #0006}@keyframes prism-shard{0%{opacity:.9;transform:translate(-50%,-50%)translate(0)rotate(0)}to{transform:translate(-50%, -50%) translate(var(--sx), var(--sy)) rotate(var(--sr));opacity:0}}@media (prefers-reduced-motion:reduce){.prism-shock,.prism-shard,.prism-doc[data-igniting=true] .prism-doc-page{animation:none}}.prism-blooming{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.prism-bloom-orb{background:radial-gradient(circle at 34% 28%, #a9afff 0%, var(--presence) 55%, #3a43c9 100%);border-radius:48% 52% 50% 50%/52% 50% 50% 48%;width:46px;height:46px;animation:1.4s ease-in-out infinite prism-breathe}@keyframes prism-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.prism-bloom-orb{animation:none}}.prism-bloom-label{font-family:var(--font-data);letter-spacing:.04em;color:var(--text-muted);font-size:11px}.prism-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:0 18%;display:flex;position:absolute;inset:0}.prism-error-msg{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.prism-error-retry{border:1px solid var(--line-strong);color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;border-radius:10px;padding:8px 18px;font-size:13px;font-weight:600}.prism-error-retry:hover{border-color:var(--line-strong)}.prism-world{transform-origin:0 0;animation:.6s both prism-world-in;position:absolute;top:0;left:0}.prism-stage.is-panning .prism-world{will-change:transform}@keyframes prism-world-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.prism-world,.prism-phase[data-active=true] .prism-phase-dot{animation:none}}.prism-stage{cursor:grab;touch-action:none}.prism-stage.is-panning{cursor:grabbing}.prism-stage.is-panning .prism-claim{pointer-events:none}.prism-zoom{z-index:12;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:color-mix(in oklab, var(--surface-elevated) 90%, transparent);-webkit-backdrop-filter:var(--glass-blur,blur(8px));backdrop-filter:var(--glass-blur,blur(8px));flex-direction:column;gap:1px;display:flex;position:absolute;bottom:16px;right:16px;overflow:hidden}.prism-zoom button{width:32px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.prism-zoom button:hover{background:var(--surface-glass);color:var(--text-primary)}.prism-zoom button+button{border-top:1px solid var(--line-strong)}.prism-region{pointer-events:none;z-index:1;position:absolute;transform:translate(-50%,-50%)}.prism-region-glow{background:radial-gradient(ellipse, color-mix(in oklab, var(--region-color) 16%, transparent) 0%, transparent 70%);border-radius:50%;width:340px;height:260px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prism-region-name{z-index:30;border-radius:var(--r-full);background:color-mix(in oklab, var(--surface-deep) 85%, transparent);border:1px solid color-mix(in oklab, var(--region-color) 30%, var(--line-strong));font-family:var(--font-data);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab, var(--region-color) 70%, var(--text-primary) 30%);white-space:nowrap;padding:3px 11px;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prism-links{z-index:0;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.prism-links line{stroke:color-mix(in oklab, var(--presence) 22%, transparent);stroke-width:1.25px;stroke-linecap:round}.prism-threads{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.prism-thread{--thread-color:var(--danger)}.prism-thread[data-relation=in-tension]{--thread-color:var(--warning)}.prism-thread[data-relation=agrees]{--thread-color:var(--insight)}.prism-thread path{stroke:var(--thread-color);stroke-width:1.5px;stroke-linecap:round;opacity:.55;transition:opacity .3s}.prism-thread[data-relation=contradicts] path{stroke-dasharray:5 3}.prism-thread[data-relation=in-tension] path{stroke-dasharray:1 4;stroke-width:1.7px}.prism-thread[data-relation=agrees] path{stroke-dasharray:none;stroke-width:1.7px}.prism-thread[data-cross=true] path{stroke-width:2px;opacity:.7}.prism-thread.prism-thread-hot path{opacity:1;stroke-width:2.2px}.prism-thread-label{text-align:center;width:100%;font-family:var(--font-data);letter-spacing:.04em;color:color-mix(in oklab, var(--thread-color) 70%, var(--text-primary) 30%);white-space:nowrap;font-size:8px;font-weight:600;display:inline-block}.prism-claim{border-radius:var(--r-sm);border:1px solid color-mix(in oklab, var(--kind-color) 45%, var(--line-strong));background:var(--surface-elevated);text-align:left;cursor:pointer;width:max-content;max-width:184px;color:inherit;z-index:5;flex-direction:column;gap:3px;padding:8px 11px 9px;transition:opacity .3s,border-color .3s,box-shadow .3s,transform .3s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 28px #00000059}.prism-claim:hover{border-color:var(--kind-color)}.prism-claim.is-open{z-index:20;max-width:240px;box-shadow:0 16px 38px color-mix(in oklab, var(--kind-color) 30%, #0006)}.prism-claim.is-flagged{border-color:color-mix(in oklab, var(--danger) 60%, var(--line-strong))}.prism-claim.is-dim{opacity:.16}.prism-claim.is-cited:not(.is-dim){border-color:color-mix(in oklab, var(--presence) 72%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--presence) 55%, transparent), 0 0 24px color-mix(in oklab, var(--presence) 32%, transparent);z-index:10}.prism-recon-label{color:color-mix(in oklab, var(--danger) 88%, #fff);background:color-mix(in oklab, var(--danger) 18%, var(--surface-deep));border-color:color-mix(in oklab, var(--danger) 48%, transparent);font-weight:700}.prism-standing[data-recon=true] .prism-standing-dot{background:var(--danger)}.prism-claim.is-objected:not(.is-dim){border-color:color-mix(in oklab, var(--danger) 72%, transparent);box-shadow:0 0 0 1px color-mix(in oklab, var(--danger) 55%, transparent), 0 0 24px color-mix(in oklab, var(--danger) 30%, transparent);z-index:9}.prism-claim[data-role=load-bearing]:not(.is-dim){border-color:color-mix(in oklab, var(--kind-color) 78%, transparent);max-width:200px;box-shadow:0 12px 30px #0006, 0 0 0 1px color-mix(in oklab, var(--kind-color) 40%, transparent), 0 0 22px color-mix(in oklab, var(--kind-color) 26%, transparent);z-index:8}.prism-claim[data-role=load-bearing] .prism-claim-title{font-size:14px}.prism-claim[data-role=context]:not(.is-dim):not(.is-open){opacity:.84}.prism-claim[data-role=context]:not(.is-dim):hover{opacity:1}.prism-claim-key{font-family:var(--font-data);letter-spacing:.1em;color:color-mix(in oklab, var(--kind-color) 80%, var(--text-primary) 20%);white-space:nowrap;font-size:8px;font-weight:700}.prism-claim-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.prism-claim-kind{font-family:var(--font-data);letter-spacing:.1em;color:var(--kind-color);align-items:center;gap:6px;font-size:8px;font-weight:600;display:inline-flex}.prism-claim-dot{background:var(--kind-color);border-radius:2px;width:7px;height:7px}.prism-claim-page{font-family:var(--font-data);color:var(--text-muted);font-size:8px;font-weight:600}.prism-claim-title{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.25}.prism-claim-body{flex-direction:column;gap:7px;margin-top:4px;display:flex}.prism-claim-quote{color:var(--text-secondary);border-left:2px solid var(--kind-color);padding-left:8px;font-size:11px;font-style:italic;line-height:1.4}.prism-claim-flag{font-family:var(--font-data);color:color-mix(in oklab, var(--danger) 70%, var(--text-primary) 30%);align-items:center;font-size:9px;font-weight:600;display:inline-flex}.prism-claim-hint{letter-spacing:.04em;color:var(--kind-color);opacity:.7;font-size:9px;font-weight:600}.prism-claim-state{font-family:var(--font-data);letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);font-size:8px;font-weight:600}.prism-claim-state[data-state=anchored],.prism-claim-state[data-state=agrees]{color:color-mix(in oklab, var(--insight) 62%, var(--text-primary) 38%)}.prism-claim-state[data-state=in-tension]{color:color-mix(in oklab, var(--warning) 70%, var(--text-primary) 30%)}.prism-claim-state[data-state=contradicts]{color:color-mix(in oklab, var(--danger) 70%, var(--text-primary) 30%)}.prism-seal{border:1px solid color-mix(in oklab, var(--seal-color) 42%, transparent);background:color-mix(in oklab, var(--seal-color) 14%, transparent);font-family:var(--font-data);letter-spacing:.08em;color:color-mix(in oklab, var(--seal-color) 78%, var(--text-primary) 22%);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:2px;padding:2px 7px;font-size:8px;font-weight:700;display:inline-flex}.prism-seal-dot{background:var(--seal-color);border-radius:999px;width:6px;height:6px}.prism-seal[data-verdict=unsupported]{border-style:dashed}.prism-claim-verdict{border-radius:var(--r-sm);border:1px solid color-mix(in oklab, var(--seal-color) 30%, transparent);background:color-mix(in oklab, var(--seal-color) 8%, transparent);flex-direction:column;gap:5px;margin-top:2px;padding:7px 9px;display:flex}.prism-verdict-head{flex-direction:column;gap:2px;display:flex}.prism-verdict-label{font-family:var(--font-data);letter-spacing:.1em;color:color-mix(in oklab, var(--seal-color) 82%, var(--text-primary) 18%);font-size:8px;font-weight:700}.prism-verdict-note{color:var(--text-secondary);overflow-wrap:anywhere;font-size:10px;line-height:1.35}.prism-verdict-cite{border:1px dashed color-mix(in oklab, var(--seal-color) 40%, transparent);border-radius:var(--r-xs,6px);background:color-mix(in oklab, var(--seal-color) 6%, transparent);color:var(--text-secondary);overflow-wrap:anywhere;padding:5px 8px;font-size:10px;font-style:italic;line-height:1.4;text-decoration:none;display:block}.prism-verdict-cite:before{content:"🌐 ";font-style:normal}.prism-verdict-cite:hover{border-color:var(--seal-color)}.prism-verdict-host{font-style:normal;font-family:var(--font-data);letter-spacing:.04em;color:color-mix(in oklab, var(--seal-color) 70%, var(--text-muted) 30%);margin-top:2px;font-size:8px;font-weight:600;display:block}.prism-counter{border:1px solid color-mix(in oklab, var(--insight) 24%, transparent);background:color-mix(in oklab, var(--insight) 8%, transparent);font-family:var(--font-data);letter-spacing:.03em;color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:9px;display:inline-flex}.prism-counter strong{color:color-mix(in oklab, var(--insight) 72%, #fff 28%);font-weight:700}@media (width<=560px){.prism-counter,.prism-phase-label,.prism-replay-label{display:none}.prism-head{gap:8px;padding:10px 14px}.prism-head-right{gap:8px}.prism-replay{padding:6px 10px}}.prism-standing{border-top:1px solid var(--line);background:color-mix(in oklab, var(--warning) 7%, transparent);align-items:center;gap:9px;padding:9px 18px;display:flex}.prism-standing[data-verifying=true]{background:color-mix(in oklab, var(--insight) 6%, transparent)}.prism-standing-dot{background:var(--warning);border-radius:999px;flex:none;width:8px;height:8px}.prism-standing[data-verifying=true] .prism-standing-dot{background:var(--insight);animation:1.4s ease-in-out infinite prism-standing-pulse}.prism-standing-text{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.3}@keyframes prism-standing-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.prism-standing[data-verifying=true] .prism-standing-dot{animation:none}}.prism-foot{background:var(--surface-deep);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;padding:13px 22px;display:flex}.prism-foot-quiet{justify-content:center}.prism-foot-stat{min-width:160px;color:var(--text-muted);white-space:nowrap;flex:200px;font-size:11.5px}.prism-foot-actions{flex-wrap:wrap;flex:2 auto;justify-content:flex-end;align-items:center;gap:9px;display:flex}.prism-foot-group{background:color-mix(in oklab, var(--surface-elevated) 55%, transparent);border-radius:12px;align-items:center;gap:6px;padding:4px 8px 4px 3px;display:flex}.prism-foot-group-label{font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding:0 1px 0 5px;font-size:9px;font-weight:600}.prism-foot-group--quiet{border-left:1px solid var(--line);background:0 0;gap:4px;margin-left:4px;padding-left:12px}.prism-foot-btn{border:1px solid var(--line-strong);color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;padding:8px 15px;font-size:12.5px;font-weight:600}.prism-foot-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--line-strong)}.prism-foot-btn--primary{background:var(--presence-deep);color:#fff;border-color:#0000}.prism-foot-btn--primary:hover:not(:disabled){color:#fff;opacity:.88}.prism-foot-btn.is-active{border-color:color-mix(in oklab, var(--danger) 55%, transparent);color:color-mix(in oklab, var(--danger) 70%, var(--text-primary) 30%);background:color-mix(in oklab, var(--danger) 10%, transparent)}.prism-foot-btn:disabled{opacity:.4;cursor:default}.prism-legend-panel{background:var(--surface-deep);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px 40px;padding:18px 22px 20px;display:grid}@media (width<=720px){.prism-legend-panel{grid-template-columns:1fr;gap:18px}}.prism-legend-col{flex-direction:column;gap:10px;display:flex}.prism-legend-title{font-family:var(--font-data);letter-spacing:.12em;color:var(--text-muted);font-size:9px;font-weight:600}.prism-legend-kinds,.prism-legend-threads{grid-template-columns:1fr 1fr;gap:7px 18px;margin:0;padding:0;list-style:none;display:grid}.prism-legend-threads{grid-template-columns:1fr}.prism-legend-kind,.prism-legend-thread{align-items:center;gap:7px;font-size:11.5px;display:flex}.prism-legend-kind-dot{border-radius:3px;flex:none;width:9px;height:9px}.prism-legend-kind-name,.prism-legend-thread-name{color:var(--text-primary);font-weight:600}.prism-legend-kind-desc,.prism-legend-thread-desc{color:var(--text-muted)}.prism-legend-thread-line{flex:none;overflow:visible}.prism-legend-thread-line line{stroke-width:1.7px;stroke-linecap:round}.prism-legend-thread-line[data-relation=agrees] line{stroke:var(--insight)}.prism-legend-thread-line[data-relation=contradicts] line{stroke:var(--danger);stroke-dasharray:5 3}.prism-legend-thread-line[data-relation=in-tension] line{stroke:var(--warning);stroke-dasharray:1 4}.prism-legend-note{color:var(--text-muted);margin:4px 0 0;font-size:11px;line-height:1.5}.prism-legend-note strong{color:var(--text-secondary);font-weight:600}.prism-margin{pointer-events:none;position:absolute;top:0;bottom:0}.prism-margin-note{border-left:2.5px solid var(--note-c,var(--presence));background:color-mix(in oklab, var(--note-c,var(--presence)) 6%, var(--surface-elevated));box-shadow:var(--shadow-raised);color:var(--text-primary);-webkit-line-clamp:4;opacity:0;animation:prism-note-in .42s var(--ease-out,ease) both;animation-delay:var(--ink-delay,0s);border-radius:8px;-webkit-box-orient:vertical;padding:8px 10px 8px 12px;font-size:11.5px;font-style:italic;line-height:1.45;display:-webkit-box;position:absolute;left:0;right:0;overflow:hidden}@keyframes prism-note-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.prism-note-arrows{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.prism-note-arrow,.prism-note-arrow-head{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;opacity:.75;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;animation:prism-note-draw .6s var(--ease-out,ease) forwards;animation-delay:calc(var(--ink-delay,0s) + .12s)}.prism-note-arrow-head{animation-delay:calc(var(--ink-delay,0s) + .62s);animation-duration:.22s}@keyframes prism-note-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.prism-margin-note{opacity:1;animation:none}.prism-note-arrow,.prism-note-arrow-head{stroke-dashoffset:0;animation:none}}.prism-page-unit{flex:none;margin:auto;position:relative}.prism-page-unit>.prism-page-frame{margin:0}.syn-lenses{background:var(--surface-deep);border:1px solid var(--line);border-radius:var(--r-full,999px);gap:2px;max-width:100%;margin-inline:auto;padding:3px;display:flex;overflow:hidden}.syn-lens{border-radius:var(--r-full,999px);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.syn-lens:hover{color:var(--text-primary)}.syn-lens.is-active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:0 1px 3px #0000001f}.syn-lens-n{border-radius:var(--r-full,999px);background:var(--presence);color:#fff;min-width:18px;height:18px;font-family:var(--font-data,monospace);place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.syn-obj{border-radius:var(--r-full,999px);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;z-index:3;align-items:center;gap:7px;max-width:220px;padding:7px 12px;font-size:12px;font-weight:650;transition:opacity .2s,transform .12s;display:inline-flex;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.syn-obj:hover{transform:translate(-50%,-50%)scale(1.04)}.syn-obj.is-dim{opacity:.14}.syn-obj-contradicts{background:color-mix(in srgb, var(--danger) 16%, var(--surface-elevated));border:1px solid var(--danger);color:var(--danger)}.syn-obj-in-tension{background:color-mix(in srgb, var(--warning) 16%, var(--surface-elevated));border:1px solid var(--warning);color:color-mix(in srgb, var(--warning) 80%, var(--text-primary))}.syn-obj-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.syn-gap{background:repeating-linear-gradient(-45deg, var(--surface-deep), var(--surface-deep) 6px, transparent 6px, transparent 12px);border:1px dashed var(--line-strong);color:var(--text-secondary)}.syn-consensus{border:1.5px dashed color-mix(in srgb, var(--insight) 55%, transparent);background:color-mix(in srgb, var(--insight) 7%, transparent);cursor:pointer;z-index:1;border-radius:50%;transition:opacity .2s;position:absolute}.syn-consensus.is-dim{opacity:.12}.syn-consensus-badge{border-radius:var(--r-full,999px);background:var(--insight);color:#fff;font-family:var(--font-data,monospace);white-space:nowrap;padding:2px 9px;font-size:10.5px;font-weight:700;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.syn-detail-panel{background:var(--surface-elevated);flex-direction:column;display:flex;position:relative;overflow:hidden}.syn-detail-close{z-index:2;position:absolute;top:12px;right:12px}.syn-detail{flex-direction:column;flex:auto;gap:10px;padding:18px;display:flex;overflow-y:auto}.syn-detail-kind{font-family:var(--font-data,monospace);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-full,999px);background:var(--surface-deep);color:var(--text-muted);align-self:flex-start;padding:3px 9px;font-size:10.5px;font-weight:700}.syn-detail-kind[data-rel=contradicts]{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.syn-detail-kind[data-rel=in-tension]{color:color-mix(in srgb, var(--warning) 85%, var(--text-primary));background:color-mix(in srgb, var(--warning) 12%, transparent)}.syn-detail-kind[data-rel=agrees]{color:var(--insight);background:color-mix(in srgb, var(--insight) 12%, transparent)}.syn-detail-title{margin:0;font-size:16px;font-weight:700;line-height:1.3}.syn-banner{border-radius:var(--r-sm,10px);background:color-mix(in srgb, var(--warning) 12%, transparent);border:1px solid color-mix(in srgb, var(--warning) 40%, var(--line));color:color-mix(in srgb, var(--warning) 85%, var(--text-primary));margin:0;padding:8px 10px;font-size:12.5px}.syn-tape,.syn-members{flex-direction:column;gap:8px;display:flex}.syn-tape-side,.syn-member{text-align:left;border-radius:var(--r-sm,10px);border:1px solid var(--line);background:var(--surface-deep);color:var(--text-primary);cursor:pointer;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.syn-tape-side:hover,.syn-member:hover{border-color:var(--line-strong)}.syn-tape-cite{font-family:var(--font-data,monospace);color:var(--text-muted);font-size:11px}.syn-tape-quote{font-size:13.5px;line-height:1.4}.syn-delta{font-family:var(--font-data,monospace);color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.syn-interrogate{border-radius:var(--r-sm,10px);border:1px solid var(--presence);background:color-mix(in srgb, var(--presence) 12%, transparent);color:var(--presence);cursor:pointer;align-self:flex-start;margin-top:4px;padding:8px 14px;font-size:13px;font-weight:650}.syn-interrogate:hover{background:color-mix(in srgb, var(--presence) 20%, transparent)}.syn-receipt,.syn-consensus-count{margin:0;font-size:14px}.syn-searched-label{color:var(--text-muted);margin:4px 0 0;font-size:12px}.syn-searched{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.syn-searched li{font-family:var(--font-data,monospace);border-radius:var(--r-full,999px);background:var(--surface-deep);border:1px solid var(--line);color:var(--text-secondary);padding:3px 9px;font-size:12px}.syn-proposition{margin:0;font-size:14.5px;font-weight:600;line-height:1.4}.syn-note,.syn-proposition-note{color:var(--text-muted);font-size:12px}