@mavea/mavea 1.0.16 → 1.0.18
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.
- package/DISCLAIMER.md +4 -1
- package/PRIVACY.md +14 -8
- package/README.md +61 -23
- package/TERMS.md +11 -1
- package/THIRD-PARTY.txt +25248 -621
- package/bin/mavea.mjs +156 -147
- package/dist/.vite/manifest.json +2166 -1715
- package/dist/assets/AnnotationLayer-ClU-e6qL.css +1 -0
- package/dist/assets/AnnotationLayer-DHHGgh8x.js +2 -0
- package/dist/assets/AppCommandPalette-DKBglbNo.js +1 -0
- package/dist/assets/AtlasView-B82UfrEX.js +1 -0
- package/dist/assets/BlockEmpty-B82uCse8.js +1 -0
- package/dist/assets/BriefingPlayer-C0D_2ILa.js +1 -0
- package/dist/assets/CanvasSkeleton-Bx0s36b_.js +2 -0
- package/dist/assets/CardEditor-DABIhGdQ.js +1 -0
- package/dist/assets/CheckLogRail-BOaXnqWK.css +1 -0
- package/dist/assets/CheckLogRail-Btg7Linv.js +1 -0
- package/dist/assets/{CodeOutput-Bg64AyKu.js → CodeOutput-DF892aIR.js} +3 -3
- package/dist/assets/CommandPalette-DagPdSGZ.js +1 -0
- package/dist/assets/ConversationVideoStudio-CIAMxElj.css +1 -0
- package/dist/assets/ConversationVideoStudio-EPw6H4lE.js +1 -0
- package/dist/assets/CourseLessonReader-DeAuL1tO.js +2 -0
- package/dist/assets/CourseRail-Dx9IIbTZ.js +1 -0
- package/dist/assets/CoursesApp-CzUGaYWZ.js +2 -0
- package/dist/assets/CrossExamPanel-CdIYUu-B.js +1 -0
- package/dist/assets/DashPresent-DXwesMIr.js +1 -0
- package/dist/assets/DashboardDetail-CJzB85NC.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CEnUpS-I.js +1 -0
- package/dist/assets/DashboardOverview-C3hv9sm1.js +1 -0
- package/dist/assets/DashboardSettings-CmZWG3US.js +1 -0
- package/dist/assets/{DashboardsApp-Dx-EsaPW.css → DashboardsApp-B6yUtkKB.css} +1 -1
- package/dist/assets/DashboardsApp-wCgs98G0.js +2 -0
- package/dist/assets/{DeepZoomApp-Chz6laKc.js → DeepZoomApp-CwqKpjo7.js} +2 -2
- package/dist/assets/DelegatePanel-Bi1qPgGG.js +33 -0
- package/dist/assets/DemoGallery-Cg0ykVpG.js +1 -0
- package/dist/assets/DropSelect-C3g0PjuN.js +1 -0
- package/dist/assets/DropSelect-DilESAgA.css +1 -0
- package/dist/assets/ExportModal-rxndDhoO.js +2 -0
- package/dist/assets/ExtractionPreview-ChRAimKr.js +18 -0
- package/dist/assets/{FallbackCard-B489rTd9.js → FallbackCard-ap_4wOfj.js} +1 -1
- package/dist/assets/FeatureUseNotice-BhljPjUv.js +1 -0
- package/dist/assets/FlagshipCTA-uoeGMQas.js +1 -0
- package/dist/assets/FlagshipCommandPalette-DyNsP8k3.js +1 -0
- package/dist/assets/FlagshipShowcase-DHpGPlca.js +1 -0
- package/dist/assets/FlashcardsApp-Cm50X3Hl.js +1 -0
- package/dist/assets/ForecastPanel-zPUh2ClQ.js +1 -0
- package/dist/assets/GalleryApp-BFop9Eu7.js +1 -0
- package/dist/assets/{HonestByDesign-hCxc0A7b.js → HonestByDesign-HeTTCiis.js} +1 -1
- package/dist/assets/{HowItWorks-BlbQcUxx.js → HowItWorks-gAuUl7VQ.js} +1 -1
- package/dist/assets/LegalApp-jOlpLQSV.js +1 -0
- package/dist/assets/{LegalMarkdownDocument-Bk3U7ChN.js → LegalMarkdownDocument-RSNiyAu0.js} +2 -2
- package/dist/assets/LegalPageShell-CmxGCdqJ.css +1 -0
- package/dist/assets/LegalPageShell-Cr90l1I2.js +1 -0
- package/dist/assets/LeverPanel-D1SNRGdm.js +1 -0
- package/dist/assets/Library-DmdzY2se.js +1 -0
- package/dist/assets/LibraryOverlay-DEQ5GuIs.js +1 -0
- package/dist/assets/LiveApp-Bl7WBgqJ.css +1 -0
- package/dist/assets/LiveApp-CUoQgVo1.js +62 -0
- package/dist/assets/LiveSettings-jn26sH4v.js +6 -0
- package/dist/assets/MindMapViewerDrawer-CDDzzpFi.js +1 -0
- package/dist/assets/MindShape-BeZFay7O.js +1 -0
- package/dist/assets/MindShape-CaPeUo-a.css +1 -0
- package/dist/assets/{Orb-B0NEVfqL.js → Orb-D8lhTdmY.js} +1 -1
- package/dist/assets/PinToDashboard-CSqwDBLD.js +1 -0
- package/dist/assets/PlanReview-ChZeUHQO.js +1 -0
- package/dist/assets/Presence-CKSoyuhE.js +1 -0
- package/dist/assets/PresentationDeck-Dj9MQVZC.js +1 -0
- package/dist/assets/PrismApp-Dfs6eAuR.js +2 -0
- package/dist/assets/PrismAskController-CSsCkRC8.js +37 -0
- package/dist/assets/PrismBriefingPlayer-BoB_PCTT.js +2 -0
- package/dist/assets/PrismOverlay-CGtr7lBl.js +109 -0
- package/dist/assets/PrismWorkbench-f0rLNBxb.js +1 -0
- package/dist/assets/{PrivacyApp-CatB3OpJ.js → PrivacyApp-CFs0PM5C.js} +16 -10
- package/dist/assets/Recap-T9DtFaEk.js +1 -0
- package/dist/assets/ReelJelly-D5e-jt-8.js +1 -0
- package/dist/assets/ReplayCard-BkJbY0-I.js +2 -0
- package/dist/assets/ReplayCard-Cs6mzTRa.css +1 -0
- package/dist/assets/ReplayOverlay-Dm_k7FBA.js +1 -0
- package/dist/assets/ReplayOverlay-DzkcTnCA.css +1 -0
- package/dist/assets/RewindOverlay-BSDbLgcN.js +1 -0
- package/dist/assets/RippleApp-DW1rpKHe.js +2 -0
- package/dist/assets/RippleAskController-CywVzqUA.js +34 -0
- package/dist/assets/RippleOverlay-DVxfWEQ8.js +6 -0
- package/dist/assets/SeeDontRead-Ct4PY63d.js +1 -0
- package/dist/assets/ShareModal-BILPvqjZ.js +2 -0
- package/dist/assets/{ShareModal-PobtP7AJ.css → ShareModal-D1QuQEko.css} +1 -1
- package/dist/assets/ShipCascade-Bf-qDWMb.js +1 -0
- package/dist/assets/ShipCourse-DGj9BbRM.js +1 -0
- package/dist/assets/{ShipGate-BYYu9WVq.js → ShipGate-D4BP41-h.js} +1 -1
- package/dist/assets/ShipHotspots-lGioTtf1.js +1 -0
- package/dist/assets/{ShipIncident-BWxerYtX.js → ShipIncident-DMLb14Lx.js} +1 -1
- package/dist/assets/ShipMigration-ZnzL-1rC.js +1 -0
- package/dist/assets/ShipOnboarding-DUxtx2Vr.js +1 -0
- package/dist/assets/ShipRead-CJJmY-wy.js +1 -0
- package/dist/assets/ShipRollout-Dt2TgI0L.js +1 -0
- package/dist/assets/ShipSuggestions-BrAXTjAR.js +1 -0
- package/dist/assets/ShipWorkspace-_MtKAiKH.js +2 -0
- package/dist/assets/SignatureLoop-CfM-rTXb.js +1 -0
- package/dist/assets/SrsReview-B1B2VekR.css +1 -0
- package/dist/assets/SrsReview-DhWNYYv7.js +1 -0
- package/dist/assets/SynthesisApp-C43ZO6Ew.js +2 -0
- package/dist/assets/SynthesisOverlay-Dunk_JWD.js +66 -0
- package/dist/assets/{TermsApp-CleIlDtR.js → TermsApp-BUQa48cB.js} +13 -3
- package/dist/assets/TopbarMenu-DQXxqSWY.js +1 -0
- package/dist/assets/TopicCanvas-DR26Swr_.js +2 -0
- package/dist/assets/TourPrism-zt1LIaLd.js +1 -0
- package/dist/assets/TrackerTile-sYD2MM_4.js +2 -0
- package/dist/assets/TwoSurfaces-CLOIlVvY.js +1 -0
- package/dist/assets/UnderstoodPanel-DmJph4el.js +1 -0
- package/dist/assets/WhyMachineOverlay-Nll4Wco-.js +1 -0
- package/dist/assets/WowFeatures-CNVwRlf0.js +1 -0
- package/dist/assets/ZoomDeck-DNgyW7Nm.js +1 -0
- package/dist/assets/__vite-browser-external-gfE6fZcA.js +1 -0
- package/dist/assets/alternateFinishes-Cgks49KV.js +494 -0
- package/dist/assets/annotationAuto-C9weSF2k.js +1 -0
- package/dist/assets/annotationReel-va1i-lKs.js +1 -0
- package/dist/assets/annotations-CftUUB13.js +1 -0
- package/dist/assets/attachments-BW-vki-E.js +1 -0
- package/dist/assets/backup-D--1WRte.js +1 -0
- package/dist/assets/blockLabel-FogyzEQY.js +1 -0
- package/dist/assets/blockTypes-CgNGx27_.js +1 -0
- package/dist/assets/buildShip-BgFg98tH.js +1 -0
- package/dist/assets/cache-CvbSI-pr.js +1 -0
- package/dist/assets/cachedImport-DW0gP14h.js +1 -0
- package/dist/assets/canvas-DIs20T9l.js +1 -0
- package/dist/assets/capture-BBxyt5SN.js +2 -0
- package/dist/assets/catalog-Db9GWM6N.js +1 -0
- package/dist/assets/{cfo.generated-Bjl5OGay.js → cfo.generated-j5CXp1Zz.js} +1 -1
- package/dist/assets/chapters-Dqm4iLDa.js +1 -0
- package/dist/assets/charts2-CaKGzkgJ.js +1 -0
- package/dist/assets/checkLogModel-BMtruriG.js +1 -0
- package/dist/assets/{citation-BcvmjKS8.js → citation-BsSvaaer.js} +1 -1
- package/dist/assets/{codeContext-0UMRSGRr.js → codeContext-goNoLAIr.js} +1 -1
- package/dist/assets/compiler-runtime-qQQXpJgv.js +1 -0
- package/dist/assets/{compose-BJ9EfcQS.js → compose-D-OsDiU9.js} +1 -1
- package/dist/assets/confirmAdd-BDNV8RqF.js +1 -0
- package/dist/assets/{contentVault-DzTYWcbD.js → contentVault-xfUwSJ3i.js} +1 -1
- package/dist/assets/coreIcons-BzqW7Qiz.js +1 -0
- package/dist/assets/cpp-CJIxL8VH.js +1 -0
- package/dist/assets/cpp-Cts1PyIS.js +1 -0
- package/dist/assets/dash-composer-DeNWVwpU.css +1 -0
- package/dist/assets/dashboardEvents-BDKxoLch.js +2 -0
- package/dist/assets/dashboards-Dy4MTJQ5.css +1 -0
- package/dist/assets/dataPending-lZUzUEo6.js +1 -0
- package/dist/assets/{diagrams-CaSfjT4I.js → diagrams-1DJMD4j-.js} +1 -1
- package/dist/assets/dist-DRo0JOkC.js +14 -0
- package/dist/assets/{dist-CBEt6Q8V.js → dist-kNHRtoqd.js} +21 -21
- package/dist/assets/empty-BO1NC9qY.js +1 -0
- package/dist/assets/{explode-WBykfhqW.js → explode-fgkkWz8o.js} +1 -1
- package/dist/assets/facts-BUGuVUIc.js +1 -0
- package/dist/assets/fit-CMu7prjb.js +1 -0
- package/dist/assets/fitText-DQ2omSN0.js +1 -0
- package/dist/assets/format-q0LwBjID.js +1 -0
- package/dist/assets/{format-hc2QOoIu.js → format-rPI6ZwwH.js} +1 -1
- package/dist/assets/friendlyAsk-BBdRZIar.js +1 -0
- package/dist/assets/{generate-8odaTyr4.js → generate-CemSUZ8A.js} +3 -3
- package/dist/assets/generateBeats-aqKTlSN2.js +1 -0
- package/dist/assets/{generateCourse-Cj_-vDWu.js → generateCourse-BIBbw-ZJ.js} +1 -1
- package/dist/assets/generateLive-BsXn4Y_d.js +51 -0
- package/dist/assets/githubBrowser-BDiuD9dz.js +1 -0
- package/dist/assets/githubToken-Bwa7V9YT.js +1 -0
- package/dist/assets/history-D2EH2X6D.js +1 -0
- package/dist/assets/homeTarget-CsO8nY7z.js +1 -0
- package/dist/assets/http-Lar_UMKb.js +2 -0
- package/dist/assets/{icons-CHVz6kv_.js → icons-gLFQTv74.js} +1 -1
- package/dist/assets/incident-D3bmMmES.js +10 -0
- package/dist/assets/index-B69GkoTc.css +1 -0
- package/dist/assets/index-D1SPhBGd.js +22 -0
- package/dist/assets/index.es-yrxxdux0.js +5 -0
- package/dist/assets/jspdf.es.min-Bbaa2Qun.js +79 -0
- package/dist/assets/jsx-runtime-DeHZSEgm.js +1 -0
- package/dist/assets/katex-CiJ_n4H9.js +257 -0
- package/dist/assets/keyVault-Aw5Y2PjT.js +1 -0
- package/dist/assets/kokoro-C6P0LV4L.js +1 -0
- package/dist/assets/layout-CEoNLr-w.js +1 -0
- package/dist/assets/{layout-CkO0Psde.js → layout-CHn3XWJd.js} +1 -1
- package/dist/assets/learn-CXstDWJf.js +1 -0
- package/dist/assets/ledger-Cv0LBflx.js +1 -0
- package/dist/assets/lib-B7OE1ZQQ.js +1 -0
- package/dist/assets/liveSchema-B8OByCPH.js +99 -0
- package/dist/assets/maplibre-gl-CrDadnl3.js +801 -0
- package/dist/assets/maplibre-gl-worker-DZ7nj4vd.js +11 -0
- package/dist/assets/{mastery-D7xYf5D7.js → mastery-CUfDeuqO.js} +2 -2
- package/dist/assets/{media-CsrUl279.js → media-BvwzACIX.js} +1 -1
- package/dist/assets/{model-BE0UHu1w.js → model-BsQ5ixwB.js} +1 -1
- package/dist/assets/motion-BY_Egaxm.js +1 -0
- package/dist/assets/motion-DxHSlPN6.js +1 -0
- package/dist/assets/{neighborhoods-DFqKm9Xi.js → neighborhoods-D7QjURnE.js} +1 -1
- package/dist/assets/notes-U6gRKVHk.js +1 -0
- package/dist/assets/officeDoc-Dn8jw1fG.js +3 -0
- package/dist/assets/openchemlib-Cz_MN0FG.js +23 -0
- package/dist/assets/{owners-FXDGInVq.js → owners-HRBX7JN_.js} +1 -1
- package/dist/assets/parseDiff-D8uBQ9mQ.js +2 -0
- package/dist/assets/pdf-CUAVYiYW.js +54 -0
- package/dist/assets/pdf.worker.min-CHFwMXne.mjs +29 -0
- package/dist/assets/pen-D9UT-ioQ.js +24 -0
- package/dist/assets/{perfProbe-CCSPF3EA.js → perfProbe-BxyiHsI2.js} +1 -1
- package/dist/assets/{php-CYrBA5iX.js → php-CQT4wx5i.js} +1 -1
- package/dist/assets/pin-D-4Zjiik.css +1 -0
- package/dist/assets/pin-qQrH_dBi.js +1 -0
- package/dist/assets/planTracker-CjnznF7v.js +1 -0
- package/dist/assets/portal-t0bsUEg2.js +1 -0
- package/dist/assets/{pptxgen.es-CwCkoJdp.js → pptxgen.es-zw8PIOkD.js} +11 -11
- package/dist/assets/predictions-CkVKHq-5.js +1 -0
- package/dist/assets/preload-helper-CiWYd9n-.js +1 -0
- package/dist/assets/preloadableLazy-MIX1ApBW.js +1 -0
- package/dist/assets/{prewarm--KODwuMi.js → prewarm-CAZcnT4x.js} +1 -1
- package/dist/assets/prism.generated-BQkO5r6r.js +41 -0
- package/dist/assets/{prismExtract.worker-Cws9K1NG.js → prismExtract.worker-OxGWMXXN.js} +1 -1
- package/dist/assets/prismGround.worker-C9hyveb3.js +1 -0
- package/dist/assets/prismLayout.worker-CJa4orCT.js +1 -0
- package/dist/assets/providers-DdJWf_PE.js +1 -0
- package/dist/assets/purify.es-JEAr64Sr.js +3 -0
- package/dist/assets/{queue-J4h7E3uc.js → queue-Adae4IzW.js} +1 -1
- package/dist/assets/quietHours-_i5Uqz7z.js +1 -0
- package/dist/assets/quizResult-DB8yeqDr.js +1 -0
- package/dist/assets/react-BZJXY1be.js +1 -0
- package/dist/assets/ready-4lPJes2S.js +1 -0
- package/dist/assets/ready-LSwk88I-.js +1 -0
- package/dist/assets/{reference-sJzyMiL4.js → reference-BjexflMu.js} +1 -1
- package/dist/assets/registry-4mMEt1Xy.css +1 -0
- package/dist/assets/registry-7poQfBaM.js +4 -0
- package/dist/assets/registry-9QjeHgKs.js +1 -0
- package/dist/assets/registry-B0GIHERt.js +1 -0
- package/dist/assets/{registry-DpaaVbmL.css → registry-B1KQ1VPZ.css} +1 -1
- package/dist/assets/registry-B5S3brjM.css +1 -0
- package/dist/assets/registry-BFbfXK-W.js +1 -0
- package/dist/assets/registry-BSX3aFUw.js +1 -0
- package/dist/assets/registry-Bv1f5UU4.js +2 -0
- package/dist/assets/registry-BzH7mEl7.js +1 -0
- package/dist/assets/registry-C28gYnVq.js +1 -0
- package/dist/assets/registry-COkvZrNA.css +1 -0
- package/dist/assets/registry-CPImC7mO.js +1 -0
- package/dist/assets/registry-CPiwQhAm.js +1 -0
- package/dist/assets/registry-CcOO8UZr.js +1 -0
- package/dist/assets/registry-Ci65uThi.js +1 -0
- package/dist/assets/registry-CkScyZGa.js +1 -0
- package/dist/assets/registry-CtvKPLd7.js +1 -0
- package/dist/assets/{registry-upbw6pyj.css → registry-CuVk7MAI.css} +1 -1
- package/dist/assets/{registry-D5oMqeSa.js → registry-CueC1vq1.js} +1 -1
- package/dist/assets/registry-CvylL2BN.css +1 -0
- package/dist/assets/registry-CxUmdwDk.js +1 -0
- package/dist/assets/registry-D8O0apUT.js +2 -0
- package/dist/assets/registry-DLyrLfe-2.js +1 -0
- package/dist/assets/registry-DO4hGO5e.js +1 -0
- package/dist/assets/{registry-Xzq_Rpmm.css → registry-DScSjt8p.css} +1 -1
- package/dist/assets/registry-Daypk4uR.js +1 -0
- package/dist/assets/registry-Dd1lcXrO.js +2 -0
- package/dist/assets/{registry-DWcNVyI2.css → registry-DpMI23iE.css} +1 -1
- package/dist/assets/registry-NbNNn_ra.js +1 -0
- package/dist/assets/registry-Vp8VuMV0.js +9 -0
- package/dist/assets/registry-WHd1PwU3.js +1 -0
- package/dist/assets/registry-Xl8mAnKq.js +1 -0
- package/dist/assets/registry-tkd3UhWn.css +1 -0
- package/dist/assets/{registry-ei6fIgBT.css → registry-twSIyxJQ.css} +1 -1
- package/dist/assets/registry-types-D3q_LrlV.js +1 -0
- package/dist/assets/registry-w4R6c89s.js +48 -0
- package/dist/assets/{relate-DxAi8xpo.js → relate-DHPSGB7a.js} +1 -1
- package/dist/assets/replay-zh4xVk5G.js +1 -0
- package/dist/assets/rolldown-runtime-DkW27tQK.js +1 -0
- package/dist/assets/route-D4kd-D3B.js +1 -0
- package/dist/assets/{ruby-BhrksQMt.js → ruby-D_UtGFHI.js} +1 -1
- package/dist/assets/{run-Dc2ZJz6n.js → run-BdDyp6Xv.js} +2 -2
- package/dist/assets/run-ByCJN-29.js +23 -0
- package/dist/assets/run-DiPX83_J.js +21 -0
- package/dist/assets/safeImageUrl-BINWXOTz.js +1 -0
- package/dist/assets/screen-DFWKge3-.js +1 -0
- package/dist/assets/search-ZN7v_P5B.js +1 -0
- package/dist/assets/shapes-DI0LQC8n.js +1 -0
- package/dist/assets/shard005-Dp5TM33O.js +1 -0
- package/dist/assets/shard006-DpJfkjmW.js +1 -0
- package/dist/assets/shard007-CIQN8OfZ.js +1 -0
- package/dist/assets/shard008-BFiyL7r6.js +1 -0
- package/dist/assets/shard009-0s30Tkk9.js +1 -0
- package/dist/assets/shard010-DPhgF5ck.js +1 -0
- package/dist/assets/shard011-C2jVsC25.js +1 -0
- package/dist/assets/shard012-DYtN5yzJ.js +1 -0
- package/dist/assets/shard013-1D6_Qy9C.js +1 -0
- package/dist/assets/shard014-D8s7GHnm.js +1 -0
- package/dist/assets/shard015-16W6KgnL.js +1 -0
- package/dist/assets/shard016-B4PpWmro.js +1 -0
- package/dist/assets/shard017-BO1sA5b3.js +1 -0
- package/dist/assets/shard018-D4gn8z25.js +1 -0
- package/dist/assets/shard019-vSbfaqRA.js +1 -0
- package/dist/assets/shard020-DwbHP8bp.js +1 -0
- package/dist/assets/{shard021-2FE-tze4.js → shard021-BhEyVVAL.js} +1 -1
- package/dist/assets/shard022-BdT7zFy3.js +1 -0
- package/dist/assets/shard023-Dga_NQcm.js +1 -0
- package/dist/assets/shard024-CXHofcxc.js +1 -0
- package/dist/assets/shard025-a4CQKYw1.js +1 -0
- package/dist/assets/shard026-0rhLKfDL.js +1 -0
- package/dist/assets/shard027-C9GMfOtn.js +1 -0
- package/dist/assets/shard028-D9__rPnw.js +1 -0
- package/dist/assets/shard029-BSdYKGgG.js +1 -0
- package/dist/assets/shard030-DceOU7pS.js +1 -0
- package/dist/assets/shard031-C6_p076r.js +1 -0
- package/dist/assets/shard032-Cah16sJi.js +1 -0
- package/dist/assets/shard033-D-iobGzc.js +1 -0
- package/dist/assets/shard034-DIyfCKl8.js +1 -0
- package/dist/assets/shard035-BHWs8v0a.js +1 -0
- package/dist/assets/shard036-AhOPHqzq.js +1 -0
- package/dist/assets/shard037-CuAGDOOu.js +1 -0
- package/dist/assets/shard038-CYdtnPjK.js +1 -0
- package/dist/assets/shard039-DgvXKOyi.js +1 -0
- package/dist/assets/shard040-DO012waT.js +1 -0
- package/dist/assets/shard041-BeUicA1R.js +1 -0
- package/dist/assets/shard042-D2zbq14A.js +1 -0
- package/dist/assets/shard043-BKoTEB-H.js +1 -0
- package/dist/assets/shard044-bmYKfH3A.js +1 -0
- package/dist/assets/shard045-i_R1olD9.js +1 -0
- package/dist/assets/shard046-CFk2L0GQ.js +1 -0
- package/dist/assets/shard047-pjHCnVaT.js +1 -0
- package/dist/assets/shard048-Cc7tGz6R.js +1 -0
- package/dist/assets/shard049-C9eoD-6Z.js +1 -0
- package/dist/assets/shard050-V3c_ZDrB.js +1 -0
- package/dist/assets/shard051-D1ISwZzf.js +1 -0
- package/dist/assets/shard052-Dy09xx3S.js +1 -0
- package/dist/assets/shard053-Bi4Z4cwW.js +1 -0
- package/dist/assets/shard054-BoC-LNYu.js +1 -0
- package/dist/assets/shard055-D2NJeMN1.js +1 -0
- package/dist/assets/shard056-sSFMbxXN.js +1 -0
- package/dist/assets/shard057-DhNK5nyZ.js +1 -0
- package/dist/assets/shard058-Du4SjxeD.js +1 -0
- package/dist/assets/shard059-fGiLnJzG.js +1 -0
- package/dist/assets/shard060-l84MDY2t.js +1 -0
- package/dist/assets/shard061-B3aIa7Aa.js +1 -0
- package/dist/assets/{shard061-C9A8iNiq.js → shard062-BJ8OX6CJ.js} +1 -1
- package/dist/assets/shard063-CMo-7Qit.js +1 -0
- package/dist/assets/shard064-B0EEOnfG.js +1 -0
- package/dist/assets/shard065-D-StlUHp.js +1 -0
- package/dist/assets/share-kW3pZ027.js +1 -0
- package/dist/assets/shikiHighlight-BwX78OP8.js +153 -0
- package/dist/assets/speed-K5_Ebj-8.js +1 -0
- package/dist/assets/spokenText-D3iS8fuI.js +1 -0
- package/dist/assets/spreadLabels-CQ8hufvK.js +1 -0
- package/dist/assets/src-DG1n-LFe.js +1 -0
- package/dist/assets/store-BWLbFXiY.js +1 -0
- package/dist/assets/{store-BMRQiV1z.js → store-BfHRbVKz.js} +1 -1
- package/dist/assets/store-D-f8ZuaK.js +1 -0
- package/dist/assets/store-D2IJF4SA.js +0 -0
- package/dist/assets/store-DpObYU1u.js +1 -0
- package/dist/assets/store-DpmbKVs7.js +1 -0
- package/dist/assets/store-gohr8YVT.js +1 -0
- package/dist/assets/{streamParse-DRgMHWye.js → streamParse-B-Gjwa9T.js} +1 -1
- package/dist/assets/svgLabel-BQMDdcT2.js +1 -0
- package/dist/assets/swift-CyEgAFGc.js +1 -0
- package/dist/assets/theme-f0mztBcq.js +1 -0
- package/dist/assets/threads-Cu2t3070.js +1 -0
- package/dist/assets/tiles-CBiVVjtT.css +1 -0
- package/dist/assets/tiles-pdNi6MGe.js +1 -0
- package/dist/assets/types-CaO6xOn5.js +1 -0
- package/dist/assets/useDashboardLoop-DuckIfJX.js +5 -0
- package/dist/assets/useDashboards-BMcuCWoz.js +1 -0
- package/dist/assets/{useFocusTrap-DbfG6zbM.js → useFocusTrap-DBtkeyRy.js} +1 -1
- package/dist/assets/useInView-CXTOAEV3.js +1 -0
- package/dist/assets/useLedger-1WVXef68.js +1 -0
- package/dist/assets/useLiveConfig-9eJ7EM3B.js +1 -0
- package/dist/assets/useSpatialCanvas-CtVsYmp8.js +1 -0
- package/dist/assets/useSpotlightWalk-DxlxBezO.js +1 -0
- package/dist/assets/useSrsCards-C27o39fF.js +1 -0
- package/dist/assets/useStudy-B5874Bcg.js +1 -0
- package/dist/assets/{useTimeout-BRYvu2jQ.js → useTimeout-Cm4yzted.js} +1 -1
- package/dist/assets/{useValidatedImage-D2fhA198.js → useValidatedImage-BQi2c66o.js} +1 -1
- package/dist/assets/useZoomGesture-CN0p0lHL.js +1 -0
- package/dist/assets/verbatim-DBTj9sPD.js +1 -0
- package/dist/assets/worker-D7eK-Ya8.js +2 -0
- package/dist/demo-assets/CREDITS.md +75 -24
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.webm +0 -0
- package/dist/fonts/LICENSE.txt +32 -28
- package/dist/fonts/OFL-1.1.txt +81 -0
- package/dist/fonts/PROVENANCE.md +38 -0
- package/dist/index.html +15 -8
- package/dist/legal/DISCLAIMER.md +4 -1
- package/dist/legal/PRIVACY.md +14 -8
- package/dist/legal/TERMS.md +11 -1
- package/dist/legal/THIRD-PARTY.txt +25248 -621
- package/dist/pdfjs/LICENSE_JBIG2 +196 -0
- package/dist/pdfjs/LICENSE_OPENJPEG +39 -0
- package/dist/pdfjs/LICENSE_PDFJS_JBIG2 +13 -0
- package/dist/pdfjs/LICENSE_PDFJS_OPENJPEG +22 -0
- package/dist/pdfjs/LICENSE_PDFJS_QCMS +22 -0
- package/dist/pdfjs/LICENSE_QCMS +21 -0
- package/dist/pdfjs/jbig2.wasm +0 -0
- package/dist/pdfjs/openjpeg.wasm +0 -0
- package/dist/pdfjs/qcms_bg.wasm +0 -0
- package/docker-compose.yml +40 -7
- package/docs/media/answer-ink.jpg +0 -0
- package/docs/media/canvas-view.jpg +0 -0
- package/docs/media/deck-export.jpg +0 -0
- package/docs/media/deep-zoom.jpg +0 -0
- package/docs/media/doc-export.jpg +0 -0
- package/docs/media/doc-prism.jpg +0 -0
- package/docs/media/repo-course.jpg +0 -0
- package/docs/media/think-map.jpg +0 -0
- package/docs/media/trip-plan.jpg +0 -0
- package/docs/media/voice-scrub.jpg +0 -0
- package/package.json +71 -60
- package/voice/start-whisper.sh +28 -0
- package/voice/whisper.Dockerfile +44 -0
- package/dist/assets/AppCommandPalette-Dzl_DbDd.js +0 -1
- package/dist/assets/AtlasView-B8b67dk0.js +0 -1
- package/dist/assets/BlockEmpty-B5Q0hgDJ.js +0 -1
- package/dist/assets/BriefingPlayer-Dy7JCGm-.js +0 -1
- package/dist/assets/CanvasSkeleton-CJwPWnFG.js +0 -2
- package/dist/assets/CardEditor-DzJXb0G7.js +0 -1
- package/dist/assets/CheckLogRail-DNtXlkcR.js +0 -1
- package/dist/assets/CheckLogRail-F4AlgAcc.css +0 -1
- package/dist/assets/CommandPalette-mO1FEvlx.js +0 -1
- package/dist/assets/CourseLessonReader-CKfvBMtL.js +0 -2
- package/dist/assets/CourseRail-CRcB319H.js +0 -1
- package/dist/assets/CoursesApp-BbCGxAav.js +0 -2
- package/dist/assets/CrossExamPanel-Deywo95y.js +0 -1
- package/dist/assets/DashPresent-BEm1tGse.js +0 -1
- package/dist/assets/DashboardDetail-tK6FpgtH.js +0 -2
- package/dist/assets/DashboardLoopRuntime-Cis4WMqk.js +0 -1
- package/dist/assets/DashboardOverview-DrdqBgds.js +0 -1
- package/dist/assets/DashboardSettings-CBhzLW0P.js +0 -1
- package/dist/assets/DashboardsApp-Dc43FBIi.js +0 -2
- package/dist/assets/DelegatePanel-DmtTY_lE.js +0 -33
- package/dist/assets/DemoGallery-zw3d7ap9.js +0 -1
- package/dist/assets/DropSelect-Bo2Oyi-2.js +0 -1
- package/dist/assets/ExportModal-DICXavg9.js +0 -2
- package/dist/assets/ExtractionPreview-C636AVw-.js +0 -18
- package/dist/assets/FeatureUseNotice-CoK5HkbR.js +0 -1
- package/dist/assets/FlagshipCTA-B-7nH43r.js +0 -1
- package/dist/assets/FlagshipCommandPalette-DgTL_Kjj.js +0 -1
- package/dist/assets/FlagshipShowcase-CbAC2s4X.js +0 -1
- package/dist/assets/FlashcardsApp-CatYcaJJ.js +0 -1
- package/dist/assets/ForecastPanel-BOG361kr.js +0 -1
- package/dist/assets/GalleryApp-uW6b1Y0d.js +0 -1
- package/dist/assets/LegalApp-sCZjJYWx.js +0 -1
- package/dist/assets/LegalPageShell-BsgRV7aL.js +0 -1
- package/dist/assets/LegalPageShell-C_HottbD.css +0 -1
- package/dist/assets/LeverPanel-CP32QcIf.js +0 -1
- package/dist/assets/Library-CJTnp1pC.js +0 -1
- package/dist/assets/LibraryOverlay-geQRGAzG.js +0 -1
- package/dist/assets/LiveApp-C0BN0o3_.js +0 -61
- package/dist/assets/LiveApp-Dj_6EQuL.css +0 -1
- package/dist/assets/LiveSettings-CzSXXMoo.js +0 -6
- package/dist/assets/MindMapViewerDrawer-7HLErRQF.js +0 -1
- package/dist/assets/MindShape-Bhu4yoIj.js +0 -1
- package/dist/assets/MindShape-DjHtMW_5.css +0 -1
- package/dist/assets/PinToDashboard-Cj8S9XKC.js +0 -1
- package/dist/assets/PlanReview-3NxZD9wt.js +0 -1
- package/dist/assets/Presence-DDxb6yE5.js +0 -1
- package/dist/assets/PresentationDeck-B6AHRYEA.js +0 -1
- package/dist/assets/PrismApp-BlPpWxao.js +0 -2
- package/dist/assets/PrismAskController-DUvOTeW9.js +0 -37
- package/dist/assets/PrismBriefingPlayer-Bmo9tOGX.js +0 -2
- package/dist/assets/PrismOverlay-9Q_14eEO.js +0 -131
- package/dist/assets/Quiz-CUwtekfu.js +0 -1
- package/dist/assets/Recap-DkKrrqi5.js +0 -1
- package/dist/assets/ReelJelly-DCD4bG10.js +0 -1
- package/dist/assets/ReplayCard-Bz69tOST.js +0 -2
- package/dist/assets/ReplayOverlay-DbJX08Kr.js +0 -1
- package/dist/assets/RewindOverlay-Bop4a63b.js +0 -1
- package/dist/assets/RippleApp-u3hCfb5b.js +0 -2
- package/dist/assets/RippleAskController-CK4iSwT0.js +0 -34
- package/dist/assets/RippleOverlay-BM_B9JEc.js +0 -6
- package/dist/assets/SeeDontRead-CGGKmvBV.js +0 -1
- package/dist/assets/ShareModal-D4En6Y3L.js +0 -32
- package/dist/assets/ShipCascade-k_GWrcau.js +0 -1
- package/dist/assets/ShipCourse-BQOY4MyI.js +0 -1
- package/dist/assets/ShipHotspots-vLRK0w_b.js +0 -1
- package/dist/assets/ShipMigration-OgAGEbjm.js +0 -1
- package/dist/assets/ShipOnboarding-B_2IEq3N.js +0 -1
- package/dist/assets/ShipRead--gGqg2SE.js +0 -1
- package/dist/assets/ShipRollout-B_U2P8Yw.js +0 -1
- package/dist/assets/ShipSuggestions-D9coTmgw.js +0 -1
- package/dist/assets/ShipWorkspace-BmdcHZXa.js +0 -2
- package/dist/assets/SignatureLoop-KA6Cf93g.js +0 -1
- package/dist/assets/SrsReview-BoaYb6XN.js +0 -1
- package/dist/assets/SrsReview-DmGdGxT0.css +0 -1
- package/dist/assets/SynthesisApp-BCBhCJhx.js +0 -2
- package/dist/assets/SynthesisOverlay-BuGIeaKq.js +0 -66
- package/dist/assets/TopicCanvas-BRu3xVL8.js +0 -2
- package/dist/assets/TourPrism-zbVLe2ag.js +0 -1
- package/dist/assets/TrackerTile-D9Wa3CSq.js +0 -2
- package/dist/assets/TwoSurfaces-TyWXgAdq.js +0 -1
- package/dist/assets/UnderstoodPanel-BS9OhgLJ.js +0 -1
- package/dist/assets/WhyMachineOverlay-B-KJhCjr.js +0 -1
- package/dist/assets/WowFeatures-Bv1-PmXF.js +0 -1
- package/dist/assets/ZoomDeck-C2Q6xbgX.js +0 -1
- package/dist/assets/__vite-browser-external-BufR4LQa.js +0 -1
- package/dist/assets/alternateFinishes-BG6svkXG.js +0 -494
- package/dist/assets/annotationAuto-BpBsjbDQ.js +0 -1
- package/dist/assets/annotationReel-yzysA-Gr.js +0 -1
- package/dist/assets/annotations-D2K9A5GB.js +0 -1
- package/dist/assets/backup-BdeBr3wq.js +0 -1
- package/dist/assets/blockLabel-DAqaHKy3.js +0 -1
- package/dist/assets/cache-BumECILO.js +0 -1
- package/dist/assets/canvas-Ep2Kfupo.js +0 -1
- package/dist/assets/catalog-DF7YTNju.js +0 -1
- package/dist/assets/chapters-Cbe53c3W.js +0 -1
- package/dist/assets/charts2-tyUiQPff.js +0 -1
- package/dist/assets/chunk-BVpWp9h4.js +0 -1
- package/dist/assets/cpp-BGdv8dzs.js +0 -1
- package/dist/assets/cpp-CNAAXZl-.js +0 -1
- package/dist/assets/dashboardEvents-C_XvGVLJ.js +0 -2
- package/dist/assets/dashboards-rcWxdoXI.css +0 -1
- package/dist/assets/dist-xRGLOZwv.js +0 -14
- package/dist/assets/facts-BBTt3ImG.js +0 -1
- package/dist/assets/fit-B1LJWvMO.js +0 -1
- package/dist/assets/fitText-CDFmCQzl.js +0 -1
- package/dist/assets/format-DlZTyeMy.js +0 -1
- package/dist/assets/generateBeats-b64CL54v.js +0 -1
- package/dist/assets/generateLive-ChhSWKbq.js +0 -52
- package/dist/assets/githubBrowser-DywfDeYx.js +0 -1
- package/dist/assets/githubToken-DtcLYqwm.js +0 -11
- package/dist/assets/homeTarget-BcZYH3DY.js +0 -1
- package/dist/assets/http-CJCtjYpA.js +0 -2
- package/dist/assets/index-C7H7A1rW.js +0 -22
- package/dist/assets/index-CepQEz75.css +0 -1
- package/dist/assets/index.es-CRLiWwiA.js +0 -5
- package/dist/assets/jspdf.es.min-DutJi91O.js +0 -79
- package/dist/assets/jsx-runtime-DaSxXjOY.js +0 -1
- package/dist/assets/katex-BMCG0xok.js +0 -257
- package/dist/assets/keyVault-DEsNh9FR.js +0 -1
- package/dist/assets/kokoro-kGWf7M0e.js +0 -1
- package/dist/assets/layout-BFQOzXtG.js +0 -1
- package/dist/assets/leaflet-src-C_xhOQY7.js +0 -1
- package/dist/assets/learn-DVfqN-nf.js +0 -1
- package/dist/assets/lib-C7zXL8h0.js +0 -1
- package/dist/assets/liveSchema-DCL21WdS.js +0 -99
- package/dist/assets/motion-dfA87zbb.js +0 -1
- package/dist/assets/notes-DblI4Ko_.js +0 -1
- package/dist/assets/officeDoc-B6nEhNp4.js +0 -3
- package/dist/assets/openchemlib-nMLMmg26.js +0 -23
- package/dist/assets/pdf-DFYCstCC.js +0 -11
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +0 -21
- package/dist/assets/pin-Bya3BL_a.css +0 -1
- package/dist/assets/pin-D5_Ebl_s.js +0 -1
- package/dist/assets/planTracker-7AMCQPNx.js +0 -1
- package/dist/assets/portal-BndazODr.js +0 -1
- package/dist/assets/predictions-CYS7Vo39.js +0 -1
- package/dist/assets/prism.generated-BhbHDHR6.js +0 -41
- package/dist/assets/prismGround.worker-CIvKqxm2.js +0 -1
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +0 -1
- package/dist/assets/providers-wzm7E8Pa.js +0 -1
- package/dist/assets/purify.es-adlwq8Pz.js +0 -3
- package/dist/assets/quietHours-DVPplPtM.js +0 -1
- package/dist/assets/react-BQSORdFI.js +0 -1
- package/dist/assets/registry-0E1uKPCI.js +0 -49
- package/dist/assets/registry-5a-E7vEN.css +0 -1
- package/dist/assets/registry-B3V5-8v0.js +0 -1
- package/dist/assets/registry-B51MhOLx.js +0 -2
- package/dist/assets/registry-BH6FfyZk.js +0 -1
- package/dist/assets/registry-BVHiKEwE.css +0 -1
- package/dist/assets/registry-Ba9xMFO4.js +0 -4
- package/dist/assets/registry-BcZXBr3y.css +0 -1
- package/dist/assets/registry-BlB0FYf0.js +0 -1
- package/dist/assets/registry-C30HGS2G.js +0 -1
- package/dist/assets/registry-CIa1EU-G.js +0 -1
- package/dist/assets/registry-COxprhRN.js +0 -1
- package/dist/assets/registry-CWkBxxsI.js +0 -5
- package/dist/assets/registry-D-qEhm1d.js +0 -1
- package/dist/assets/registry-D7rspCZr.js +0 -1
- package/dist/assets/registry-DNzF-nvu.js +0 -1
- package/dist/assets/registry-DQIm_hbI.js +0 -2
- package/dist/assets/registry-DVzLacl_.css +0 -1
- package/dist/assets/registry-Dkc7hN5T.js +0 -1
- package/dist/assets/registry-DmQlNN3y.js +0 -1
- package/dist/assets/registry-Dphh5ADP.js +0 -1
- package/dist/assets/registry-DrNMbrA_.js +0 -1
- package/dist/assets/registry-Dvv84L9K.js +0 -1
- package/dist/assets/registry-M3VgAiQv.js +0 -1
- package/dist/assets/registry-Pr5IKqro.js +0 -1
- package/dist/assets/registry-WJE8Z0T1.js +0 -2
- package/dist/assets/registry-aIH-Im5Y.css +0 -1
- package/dist/assets/registry-hsSlT6pi.js +0 -1
- package/dist/assets/registry-nG70-amx.js +0 -1
- package/dist/assets/registry-types-DMuK0vJ6.js +0 -1
- package/dist/assets/registry-wJhGGVuP.js +0 -1
- package/dist/assets/run-BYP2YlZT.js +0 -23
- package/dist/assets/run-DSVvshaB.js +0 -21
- package/dist/assets/safeImageUrl-CUkucDUu.js +0 -1
- package/dist/assets/screen-DLR7p_yP.js +0 -1
- package/dist/assets/search-Be63DJkp.js +0 -1
- package/dist/assets/shapes-Cw7tCHIp.js +0 -1
- package/dist/assets/shard005-DLVkh9IH.js +0 -1
- package/dist/assets/shard006-B6efKHov.js +0 -1
- package/dist/assets/shard007-AFdZLe38.js +0 -1
- package/dist/assets/shard008-LbSBzwRx.js +0 -1
- package/dist/assets/shard009-D_6-SUDb.js +0 -1
- package/dist/assets/shard010-DbOj-uZW.js +0 -1
- package/dist/assets/shard011-BYSz7EEW.js +0 -1
- package/dist/assets/shard012-B5Ypj7OV.js +0 -1
- package/dist/assets/shard013-BtsliNIe.js +0 -1
- package/dist/assets/shard014-15sjmk68.js +0 -1
- package/dist/assets/shard015-nnXrqru_.js +0 -1
- package/dist/assets/shard016-BayXFE13.js +0 -1
- package/dist/assets/shard017-Cy4cGexs.js +0 -1
- package/dist/assets/shard018-aO-BYJ8H.js +0 -1
- package/dist/assets/shard019-gxaTeA3I.js +0 -1
- package/dist/assets/shard020-BibJdMI0.js +0 -1
- package/dist/assets/shard022-IXiyG-JK.js +0 -1
- package/dist/assets/shard023-314F6NJS.js +0 -1
- package/dist/assets/shard024-cN5rpQ_X.js +0 -1
- package/dist/assets/shard025-KKTaXOGE.js +0 -1
- package/dist/assets/shard026-C2Dkd1t6.js +0 -1
- package/dist/assets/shard027-Xy-8x9As.js +0 -1
- package/dist/assets/shard028-Bul-klUj.js +0 -1
- package/dist/assets/shard029-BbRSUcUZ.js +0 -1
- package/dist/assets/shard030-GYllsFVC.js +0 -1
- package/dist/assets/shard031-DMigeiyn.js +0 -1
- package/dist/assets/shard032-CcvmzK0l.js +0 -1
- package/dist/assets/shard033-11AU702M.js +0 -1
- package/dist/assets/shard034-Bx3urxjM.js +0 -1
- package/dist/assets/shard035-DBdEeyCt.js +0 -1
- package/dist/assets/shard036-vYgoRBqS.js +0 -1
- package/dist/assets/shard037-DP4MMw91.js +0 -1
- package/dist/assets/shard038-ffxsv7d6.js +0 -1
- package/dist/assets/shard039-C1JHHNp9.js +0 -1
- package/dist/assets/shard040-JbVvCSO_.js +0 -1
- package/dist/assets/shard041-5L_eFwGx.js +0 -1
- package/dist/assets/shard042-C9nsGL79.js +0 -1
- package/dist/assets/shard043-Dx_9HSKI.js +0 -1
- package/dist/assets/shard044-B3QQNC4A.js +0 -1
- package/dist/assets/shard045-B7z0WHO6.js +0 -1
- package/dist/assets/shard046-D1yDablJ.js +0 -1
- package/dist/assets/shard047-DJi3AgeT.js +0 -1
- package/dist/assets/shard048-D_2ipfUr.js +0 -1
- package/dist/assets/shard049-1aGgWZdd.js +0 -1
- package/dist/assets/shard050-Bjwa0Og4.js +0 -1
- package/dist/assets/shard051-Cx_GAk3v.js +0 -1
- package/dist/assets/shard052-LaeOD3V5.js +0 -1
- package/dist/assets/shard053-D-da7Foj.js +0 -1
- package/dist/assets/shard054-CM8eSRQk.js +0 -1
- package/dist/assets/shard055-QRpDl4Vs.js +0 -1
- package/dist/assets/shard056-DkY7CQm3.js +0 -1
- package/dist/assets/shard057-BVCgf7o0.js +0 -1
- package/dist/assets/shard058-93aGtdrX.js +0 -1
- package/dist/assets/shard059-rJE9X1_I.js +0 -1
- package/dist/assets/shard060-Lu_hfl1r.js +0 -1
- package/dist/assets/shard062-BBIpEYZO.js +0 -1
- package/dist/assets/shard063-C_uen3Ub.js +0 -1
- package/dist/assets/shard064-DAHUsHST.js +0 -1
- package/dist/assets/share-QHGHNDhQ.js +0 -1
- package/dist/assets/shikiHighlight-B_TEagaE.js +0 -153
- package/dist/assets/speed-DwPw9KSv.js +0 -1
- package/dist/assets/spokenText-D4zPX9JY.js +0 -1
- package/dist/assets/src-B-t8Mww-.js +0 -2
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-Dn23_Ymr.js +0 -1
- package/dist/assets/store-DoJn3lBF.js +0 -1
- package/dist/assets/store-DrBDvqXF.js +0 -1
- package/dist/assets/swift-DonLKvLd.js +0 -1
- package/dist/assets/threads-CkMgrSDP.js +0 -1
- package/dist/assets/useDashboardLoop-DzbRz-V9.js +0 -5
- package/dist/assets/useLiveConfig-Lm0cYTcu.js +0 -1
- package/dist/assets/useSpatialCanvas-D_C8VoCy.js +0 -1
- package/dist/assets/useSpotlightWalk-CCQT0-_g.js +0 -1
- package/dist/assets/useSrsCards-BKCPBPYw.js +0 -1
- package/dist/assets/useStudy-Diy4ITBm.js +0 -1
- package/dist/assets/useZoomGesture-B82XnSfi.js +0 -1
- package/dist/assets/verbatim-CBMzUDlf.js +0 -1
- package/dist/assets/worker-BbLKfGzm.js +0 -2
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- /package/dist/assets/{shard065-C2edvdvh.js → shard066-C2edvdvh.js} +0 -0
- /package/dist/assets/{shard066-DFcuVhZm.js → shard067-DFcuVhZm.js} +0 -0
- /package/dist/assets/{shard067-BN8DM8JZ.js → shard068-BN8DM8JZ.js} +0 -0
- /package/dist/assets/{shard068-i464K77p.js → shard069-i464K77p.js} +0 -0
- /package/dist/assets/{shard069-Dm9m2a5U.js → shard070-Dm9m2a5U.js} +0 -0
- /package/dist/assets/{shard070-BPVvR8GH.js → shard071-BPVvR8GH.js} +0 -0
- /package/dist/assets/{shard071-Bal_0d9L.js → shard072-Bal_0d9L.js} +0 -0
- /package/dist/assets/{shard072-CBQu62kt.js → shard073-CBQu62kt.js} +0 -0
- /package/dist/assets/{shard073-D5BRae0w.js → shard074-D5BRae0w.js} +0 -0
- /package/dist/assets/{shard074-DtFvcBnZ.js → shard075-DtFvcBnZ.js} +0 -0
- /package/dist/assets/{queue-DHeyJ32F.css → templates-DHeyJ32F.css} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DeHZSEgm.js";import{t}from"./route-D4kd-D3B.js";var n=e(),r=[{n:`1`,title:`You ask`,body:`Type anything worth following — “Yankees scores”, “AAPL price”, “weather in Denver” — or talk it through in Live if it’s something you’re reasoning about.`},{n:`2`,title:`Mavéa plans it`,body:`It designs the live cards: which numbers to watch, which shapes fit the data (a scoreboard, a forecast, a chart), and the exact standing query each one re-runs. If what you asked is a fixed fact — something that won’t change — Mavéa just answers it once instead of tracking it.`},{n:`3`,title:`You review`,body:`The plan is yours before it exists — toggle pieces off, rename it, or fold it into a dashboard you already have.`},{n:`4`,title:`It stays live`,body:`While Mavéa is open it refreshes on the cadence you picked, shows only real fetched data, and flags anything that crosses a line you set. Dashboards due around the same time share a batch of searches rather than each firing its own, and your predictions, their grading, and the morning briefing all ride along on those same checks — no extra searches spent.`},{n:`5`,title:`You shape it`,body:`Drag tiles to reorder, resize, add or remove. Talk to it anytime — “add …” adds in one step. Tune how often it refreshes.`}],i=[{tag:`PUSH`,accent:`var(--insight)`,name:`Push notifications`,body:`A native browser notification — gated on a permission grant you give explicitly. There’s no push subscription or background listener, so it can only fire while Mavéa is open, same as everything else here.`}],a=[{tag:`FREE`,accent:`var(--insight)`,name:`What you and your conversations give it`,body:`The context from your conversations, the values you supply, and any later chat on the topic — all free.`},{tag:`FREE`,accent:`var(--insight)`,name:`The threshold checks`,body:`Checking whether a number crossed a line you set is a plain comparison — it runs constantly at no cost.`},{tag:`YOUR KEY`,accent:`var(--presence)`,name:`The interpretation`,body:`Mavéa reading the latest numbers and telling you what changed is one model call on your own key — it fires when a line you set is crossed, on a schedule you pick, or the moment you tap “Read the numbers now.” On its own, most days: none.`},{tag:`BUDGET`,accent:`var(--warning)`,name:`Your daily search budget`,body:`You set a daily cap on automatic searches across all your dashboards together. Hit it and automatic checks pause for the day — nothing silently keeps spending. "Refresh now" and every other action you trigger yourself still works; only the on-its-own checking waits until tomorrow.`}];function o(){return(0,n.jsxs)(`div`,{className:`dash-overview`,children:[(0,n.jsxs)(`section`,{className:`dash-ov-hero`,children:[(0,n.jsx)(`div`,{className:`dash-ov-kicker`,children:`Dashboards`}),(0,n.jsx)(`h1`,{className:`dash-ov-title`,children:`Ask for anything. Mavéa keeps it live.`}),(0,n.jsx)(`p`,{className:`dash-ov-lede`,children:`Track anything in one sentence — scores, a price, the weather, a story — and Mavéa plans the live cards and keeps them current while it’s open. Set a line on any number and it flags the moment that line is crossed.`}),(0,n.jsxs)(`div`,{className:`dash-ov-cta`,children:[(0,n.jsx)(`a`,{className:`dash-cta`,href:t.gallery,children:`Track something →`}),(0,n.jsx)(`a`,{className:`dash-ov-link`,href:`#/live`,children:`Or start in Live →`})]})]}),(0,n.jsxs)(`section`,{className:`dash-ov-section`,children:[(0,n.jsx)(`div`,{className:`dash-ov-label`,children:`The lifecycle`}),(0,n.jsx)(`div`,{className:`dash-ov-steps`,children:r.map(e=>(0,n.jsxs)(`div`,{className:`dash-ov-step`,children:[(0,n.jsx)(`span`,{className:`dash-ov-step-n`,children:e.n}),(0,n.jsxs)(`div`,{className:`dash-ov-step-text`,children:[(0,n.jsx)(`div`,{className:`dash-ov-step-title`,children:e.title}),(0,n.jsx)(`div`,{className:`dash-ov-step-body`,children:e.body})]})]},e.n))})]}),(0,n.jsxs)(`section`,{className:`dash-ov-section`,children:[(0,n.jsx)(`div`,{className:`dash-ov-label`,children:`How it stays current — and what it costs`}),(0,n.jsx)(`div`,{className:`dash-ov-layers`,children:a.map(e=>(0,n.jsxs)(`div`,{className:`dash-ov-layer`,children:[(0,n.jsx)(`span`,{className:`dash-ov-layer-tag`,style:{"--tag":e.accent},children:e.tag}),(0,n.jsxs)(`div`,{className:`dash-ov-step-text`,children:[(0,n.jsx)(`div`,{className:`dash-ov-step-title`,children:e.name}),(0,n.jsx)(`div`,{className:`dash-ov-step-body`,children:e.body})]})]},e.name))}),(0,n.jsx)(`p`,{className:`dash-ov-note`,children:`Mavéa never shows a made-up number, and it only refreshes while it’s open — no silent background billing. Each dashboard’s settings show its API usage and a reminder to check your model’s pricing, and your budget page shows real counts of what’s actually run — never an invented figure.`})]}),(0,n.jsxs)(`section`,{className:`dash-ov-section`,children:[(0,n.jsx)(`div`,{className:`dash-ov-label`,children:`Alerts`}),(0,n.jsx)(`div`,{className:`dash-ov-layers`,children:i.map(e=>(0,n.jsxs)(`div`,{className:`dash-ov-layer`,children:[(0,n.jsx)(`span`,{className:`dash-ov-layer-tag`,style:{"--tag":e.accent},children:e.tag}),(0,n.jsxs)(`div`,{className:`dash-ov-step-text`,children:[(0,n.jsx)(`div`,{className:`dash-ov-step-title`,children:e.name}),(0,n.jsx)(`div`,{className:`dash-ov-step-body`,children:e.body})]})]},e.name))}),(0,n.jsx)(`p`,{className:`dash-ov-note`,children:`In-dashboard notices are on by default; push is off until you turn it on per dashboard, in its own settings.`})]})]})}export{o as DashboardOverview};
|
|
@@ -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{E as r,T as i,v as a}from"./store-DpmbKVs7.js";import{t as o}from"./route-D4kd-D3B.js";import{t as s}from"./useDashboards-BMcuCWoz.js";import{o as c,s as l}from"./format-rPI6ZwwH.js";import{n as u,r as d,t as f}from"./notify-Bz4wuE4T.js";var p=e(),ee=t(),te={"15min":`Every ~15 min while open`,hourly:`Hourly while open`,"6h":`Every 6 hours while open`,daily:`Daily while open`,manual:`Manual only`},m={"15min":4,hourly:3,"6h":2,daily:1,manual:0},h=`You provide the API key and pay that provider directly. Data refreshes and AI analysis can consume quota or incur a third-party charge on every scheduled run. Check your provider’s pricing and make sure this cadence is what you want.`,g=`Nothing runs on its own with this cadence — it only updates when you supply a value yourself, or when you explicitly pull in a conversation (which does spend a call at that moment).`;function ne(e,t,n){let r=n>0,i=r?m[e.data]:0,a=e.ai===`daily`?2:+(e.ai===`weekly`),o=i+(a+ +!!t),s=o>0,c;c=o===0?`none`:o<=1?`minimal`:o<=3?`light`:o<=5?`moderate`:`frequent`;let l=r?te[e.data]:`Free — no live-fetched metrics`,u;return u=t&&a===0?`Only when a line is crossed`:t?`${_(e.ai)} + when a line is crossed`:a===0?`Only when you ask`:_(e.ai),{level:c,usesKey:s,dataLabel:l,aiLabel:u,warning:s?h:g}}function _(e){return e===`daily`?`Daily`:e===`weekly`?`Weekly`:`Manual`}var re={none:`No automatic API usage`,minimal:`Minimal automatic API usage`,light:`Light automatic API usage`,moderate:`Moderate automatic API usage`,frequent:`Frequent automatic API usage`},v=n(),ie=[{v:`on-cross`,label:`When a line crosses`,ai:`on-change`,smart:!0},{v:`daily`,label:`Daily`,ai:`daily`,smart:!1},{v:`weekly`,label:`Weekly`,ai:`weekly`,smart:!1},{v:`ask`,label:`Only when I ask`,ai:`manual`,smart:!1}];function ae(e,t){return e===`daily`?`daily`:e===`weekly`?`weekly`:e===`on-change`&&t?`on-cross`:`ask`}function y(e){let t=(0,ee.c)(119),{id:n}=e,te=s(),m;t[0]!==te||t[1]!==n?(m=te.find(e=>e.id===n)??null,t[0]=te,t[1]=n,t[2]=m):m=t[2];let h=m,g;t[3]===h?g=t[4]:(g=h?ne(h.cadence,h.smartTrigger,l(h)+c(h)):null,t[3]=h,t[4]=g);let _=g,[y,le]=(0,p.useState)(!1),ue,de;t[5]===y?(ue=t[6],de=t[7]):(ue=()=>{if(!y)return;let e=window.setTimeout(()=>le(!1),5e3);return()=>window.clearTimeout(e)},de=[y],t[5]=y,t[6]=ue,t[7]=de),(0,p.useEffect)(ue,de);let[fe,pe]=(0,p.useState)(null),[b,me]=(0,p.useState)(!1),he,ge;t[8]===b?(he=t[9],ge=t[10]):(he=()=>{if(!b)return;let e=window.setTimeout(()=>me(!1),4e3);return()=>window.clearTimeout(e)},ge=[b],t[8]=b,t[9]=he,t[10]=ge),(0,p.useEffect)(he,ge);let _e;if(t[11]===n?_e=t[12]:(_e=[n],t[11]=n,t[12]=_e),(0,p.useEffect)(oe,_e),!h||!_){let e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,v.jsx)(`p`,{className:`dash-empty-title`,children:`That dashboard isn’t here.`}),t[13]=e):e=t[13];let n;return t[14]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,v.jsx)(`div`,{className:`dash-settings`,children:(0,v.jsxs)(`div`,{className:`dash-empty`,children:[e,(0,v.jsx)(`p`,{className:`dash-empty-how`,children:(0,v.jsx)(`a`,{href:o.gallery,children:`Back to your dashboards →`})})]})}),t[14]=n):n=t[14],n}let ve;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(ve=u(),t[15]=ve):ve=t[15];let ye=ve,be=ye?fe??`A desktop notification while Mavéa is open`:`Not supported in this browser`,xe;t[16]!==h.alerts||t[17]!==h.id?(xe=async()=>{if(h.alerts.push){r(h.id,{alerts:{...h.alerts,push:!1}}),pe(null);return}await d()?(r(h.id,{alerts:{...h.alerts,push:!0}}),pe(null)):pe(`Blocked — allow notifications for this site in your browser, then try again`)},t[16]=h.alerts,t[17]=h.id,t[18]=xe):xe=t[18];let Se=xe,Ce;t[19]===h?Ce=t[20]:(Ce=()=>{f(h,[{id:`test`,label:`Test alert`,metricId:``,comparator:`gt`,threshold:0,state:`TRIGGERED`,sourceQuote:{text:``,saidAt:0}}]),me(!0)},t[19]=h,t[20]=Ce);let we=Ce,x;t[21]===h.id?x=t[22]:(x=o.detail(h.id),t[21]=h.id,t[22]=x);let S;t[23]===x?S=t[24]:(S=(0,v.jsx)(`a`,{className:`dash-back`,href:x,"aria-label":`Back to dashboard`,children:`←`}),t[23]=x,t[24]=S);let Te;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,v.jsx)(`span`,{className:`dash-detail-title`,children:`Settings`}),t[25]=Te):Te=t[25];let C;t[26]===h.title?C=t[27]:(C=(0,v.jsx)(`span`,{className:`dash-detail-q`,children:h.title}),t[26]=h.title,t[27]=C);let w;t[28]!==S||t[29]!==C?(w=(0,v.jsxs)(`header`,{className:`dash-detail-head`,children:[S,Te,C]}),t[28]=S,t[29]=C,t[30]=w):w=t[30];let Ee,T;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,v.jsx)(`div`,{className:`card-eyebrow`,children:`AI analysis`}),T=(0,v.jsx)(`p`,{className:`dash-set-blurb`,children:`Mavéa reads the latest numbers and tells you, briefly and honestly, what they show and what’s changed since the last check — grounded in a fresh web search. Its read shows up on the dashboard. Each read is one model call on your API key. Choose when it runs:`}),t[31]=Ee,t[32]=T):(Ee=t[31],T=t[32]);let E;t[33]!==h.cadence.ai||t[34]!==h.smartTrigger?(E=ae(h.cadence.ai,h.smartTrigger),t[33]=h.cadence.ai,t[34]=h.smartTrigger,t[35]=E):E=t[35];let D;t[36]===h.id?D=t[37]:(D=e=>{let t=ie.find(t=>t.v===e);t&&(i(h.id,{ai:t.ai}),r(h.id,{smartTrigger:t.smart}))},t[36]=h.id,t[37]=D);let O;t[38]!==E||t[39]!==D?(O=(0,v.jsx)(se,{options:ie,value:E,onPick:D}),t[38]=E,t[39]=D,t[40]=O):O=t[40];let k;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,v.jsx)(`p`,{className:`dash-set-blurb`,children:`Refreshing the numbers themselves — the web searches — is a separate setting on the dashboard. Checking whether a line crossed is a free comparison. This read is the one model call, and you can trigger it anytime from the dashboard with “Read the numbers now.”`}),t[41]=k):k=t[41];let A;t[42]===O?A=t[43]:(A=(0,v.jsxs)(`section`,{className:`card dash-set-card`,children:[Ee,T,O,k]}),t[42]=O,t[43]=A);let j;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,v.jsx)(`div`,{className:`card-eyebrow`,children:`Where alerts go`}),t[44]=j):j=t[44];let M;t[45]!==h.alerts||t[46]!==h.id?(M=()=>r(h.id,{alerts:{...h.alerts,inApp:!h.alerts.inApp}}),t[45]=h.alerts,t[46]=h.id,t[47]=M):M=t[47];let N;t[48]!==h.alerts.inApp||t[49]!==M?(N=(0,v.jsx)(ce,{label:`In-app`,note:`A pop-up notice when a line you set is crossed — this dashboard’s own alert list always updates either way`,on:h.alerts.inApp,onToggle:M}),t[48]=h.alerts.inApp,t[49]=M,t[50]=N):N=t[50];let P;t[51]===Se?P=t[52]:(P=()=>void Se(),t[51]=Se,t[52]=P);let F;t[53]!==h.alerts.push||t[54]!==be||t[55]!==P?(F=(0,v.jsx)(ce,{label:`Push`,note:be,on:h.alerts.push,disabled:!ye,onToggle:P}),t[53]=h.alerts.push,t[54]=be,t[55]=P,t[56]=F):F=t[56];let I;t[57]!==h.alerts.push||t[58]!==b||t[59]!==we?(I=ye&&h.alerts.push&&(0,v.jsxs)(`p`,{className:`dash-alert-test-row`,children:[(0,v.jsx)(`button`,{type:`button`,className:`dash-alert-test`,onClick:we,children:`Send a test`}),b&&(0,v.jsx)(`span`,{className:`dash-alert-test-note`,role:`status`,children:`Sent a test — if nothing appeared, re-check this site’s notification permission.`})]}),t[57]=h.alerts.push,t[58]=b,t[59]=we,t[60]=I):I=t[60];let L;t[61]!==N||t[62]!==F||t[63]!==I?(L=(0,v.jsxs)(`section`,{className:`card dash-set-card`,children:[j,(0,v.jsxs)(`div`,{className:`dash-set-alerts`,children:[N,F,I]})]}),t[61]=N,t[62]=F,t[63]=I,t[64]=L):L=t[64];let De;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,v.jsx)(`div`,{className:`card-eyebrow`,children:`Delete this dashboard`}),t[65]=De):De=t[65];let R;t[66]===h.title?R=t[67]:(R=(0,v.jsxs)(`p`,{className:`dash-set-blurb`,children:[`Removes “`,h.title,`” and everything tracked on it. The conversations it was built from are untouched.`]}),t[66]=h.title,t[67]=R);let Oe=`dash-del-btn`+(y?` armed`:``),z;t[68]!==y||t[69]!==h.id?(z=()=>{if(!y){le(!0);return}a(h.id),window.location.hash=o.gallery},t[68]=y,t[69]=h.id,t[70]=z):z=t[70];let ke;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ke=()=>le(!1),t[71]=ke):ke=t[71];let Ae=y?`Tap again to delete`:`Delete dashboard`,B;t[72]!==Oe||t[73]!==z||t[74]!==Ae?(B=(0,v.jsx)(`button`,{type:`button`,className:Oe,onClick:z,onBlur:ke,children:Ae}),t[72]=Oe,t[73]=z,t[74]=Ae,t[75]=B):B=t[75];let je=y?`Tap again to delete ${h.title}`:``,V;t[76]===je?V=t[77]:(V=(0,v.jsx)(`span`,{className:`dash-sr-only`,"aria-live":`polite`,children:je}),t[76]=je,t[77]=V);let H;t[78]!==R||t[79]!==B||t[80]!==V?(H=(0,v.jsxs)(`section`,{className:`card dash-set-card dash-set-danger`,children:[De,R,B,V]}),t[78]=R,t[79]=B,t[80]=V,t[81]=H):H=t[81];let U;t[82]!==A||t[83]!==L||t[84]!==H?(U=(0,v.jsxs)(`div`,{className:`dash-settings-cols`,children:[A,L,H]}),t[82]=A,t[83]=L,t[84]=H,t[85]=U):U=t[85];let Me;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,v.jsx)(`div`,{className:`card-eyebrow`,children:`On your API key`}),t[86]=Me):Me=t[86];let Ne=`dash-usage-band dash-usage--${_.level}`,Pe=re[_.level],W;t[87]!==Ne||t[88]!==Pe?(W=(0,v.jsx)(`div`,{className:Ne,children:Pe}),t[87]=Ne,t[88]=Pe,t[89]=W):W=t[89];let Fe;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,v.jsx)(`span`,{children:`Data refresh`}),t[90]=Fe):Fe=t[90];let G;t[91]===_.dataLabel?G=t[92]:(G=(0,v.jsxs)(`div`,{className:`dash-usage-row`,children:[Fe,(0,v.jsx)(`span`,{className:`dash-usage-val`,children:_.dataLabel})]}),t[91]=_.dataLabel,t[92]=G);let Ie;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,v.jsx)(`span`,{children:`AI analysis`}),t[93]=Ie):Ie=t[93];let K;t[94]===_.aiLabel?K=t[95]:(K=(0,v.jsxs)(`div`,{className:`dash-usage-row`,children:[Ie,(0,v.jsx)(`span`,{className:`dash-usage-val`,children:_.aiLabel})]}),t[94]=_.aiLabel,t[95]=K);let q;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,v.jsxs)(`div`,{className:`dash-usage-row`,children:[(0,v.jsx)(`span`,{children:`Adding a conversation`}),(0,v.jsx)(`span`,{className:`dash-usage-val`,children:`One model call, each time`})]}),t[96]=q):q=t[96];let J;t[97]!==G||t[98]!==K?(J=(0,v.jsxs)(`div`,{className:`dash-usage-rows`,children:[G,K,q]}),t[97]=G,t[98]=K,t[99]=J):J=t[99];let Y;t[100]===_.warning?Y=t[101]:(Y=(0,v.jsx)(`p`,{className:`dash-usage-warning`,children:_.warning}),t[100]=_.warning,t[101]=Y);let Le,Re;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,v.jsx)(`p`,{className:`dash-usage-warning`,children:`The bands above are the AUTOMATIC cadence only. "Refresh now", "Ask", and pulling in another conversation are things YOU trigger — each one is a real call on your key, regardless of what cadence you've set.`}),Re=(0,v.jsx)(`p`,{className:`dash-usage-warning`,children:`Automatic checks pause for the day once your daily search budget is reached (adjustable in your dashboards settings) — manual actions like Refresh now always work.`}),t[102]=Le,t[103]=Re):(Le=t[102],Re=t[103]);let X;t[104]===h.id?X=t[105]:(X=o.detail(h.id),t[104]=h.id,t[105]=X);let Z;t[106]===X?Z=t[107]:(Z=(0,v.jsx)(`a`,{className:`dash-usage-done`,href:X,children:`Done`}),t[106]=X,t[107]=Z);let Q;t[108]!==W||t[109]!==J||t[110]!==Y||t[111]!==Z?(Q=(0,v.jsxs)(`aside`,{className:`card dash-usage`,"aria-label":`Estimated usage`,children:[Me,W,J,Y,Le,Re,Z]}),t[108]=W,t[109]=J,t[110]=Y,t[111]=Z,t[112]=Q):Q=t[112];let $;t[113]!==U||t[114]!==Q?($=(0,v.jsxs)(`div`,{className:`dash-settings-grid`,children:[U,Q]}),t[113]=U,t[114]=Q,t[115]=$):$=t[115];let ze;return t[116]!==w||t[117]!==$?(ze=(0,v.jsxs)(`div`,{className:`dash-settings`,children:[w,$]}),t[116]=w,t[117]=$,t[118]=ze):ze=t[118],ze}function oe(){window.scrollTo(0,0)}function se(e){let t=(0,ee.c)(9),{options:n,value:r,onPick:i}=e,a;if(t[0]!==i||t[1]!==n||t[2]!==r){let e;t[4]!==i||t[5]!==r?(e=e=>(0,v.jsx)(`button`,{type:`button`,className:`dash-seg-opt`+(e.v===r?` is-active`:``),"aria-pressed":e.v===r,onClick:()=>i(e.v),children:e.label},e.v),t[4]=i,t[5]=r,t[6]=e):e=t[6],a=n.map(e),t[0]=i,t[1]=n,t[2]=r,t[3]=a}else a=t[3];let o;return t[7]===a?o=t[8]:(o=(0,v.jsx)(`div`,{className:`dash-seg`,role:`group`,children:a}),t[7]=a,t[8]=o),o}function ce(e){let t=(0,ee.c)(16),{label:n,note:r,on:i,onToggle:a,disabled:o}=e,s=`dash-check`+(i?` on`:``)+(o?` disabled`:``),c=i?`✓`:``,l;t[0]===c?l=t[1]:(l=(0,v.jsx)(`span`,{className:`dash-check-box`,children:c}),t[0]=c,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,v.jsx)(`span`,{className:`dash-check-label`,children:n}),t[2]=n,t[3]=u);let d;t[4]===r?d=t[5]:(d=(0,v.jsx)(`span`,{className:`dash-check-note`,children:r}),t[4]=r,t[5]=d);let f;t[6]!==u||t[7]!==d?(f=(0,v.jsxs)(`span`,{className:`dash-check-text`,children:[u,d]}),t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;return t[9]!==o||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==l||t[14]!==f?(p=(0,v.jsxs)(`button`,{type:`button`,className:s,onClick:a,disabled:o,"aria-pressed":i,children:[l,f]}),t[9]=o,t[10]=i,t[11]=a,t[12]=s,t[13]=l,t[14]=f,t[15]=p):p=t[15],p}export{y as DashboardSettings};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.dash-topbar{z-index:5;height:var(--bar-h);padding:0 var(--s-lg);border-bottom:1px solid var(--line-soft);background:var(--bar-glass-bg);-webkit-backdrop-filter:var(--bar-glass-blur);backdrop-filter:var(--bar-glass-blur);align-items:center;gap:18px;display:flex;position:sticky;top:0}.dash-topbar-brand{letter-spacing:-.01em;color:var(--text-primary);flex:none;align-items:center;gap:9px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.dash-topbar-nav{flex:none;align-items:center;gap:4px;display:inline-flex}.dash-topbar .topbar-divider{background:var(--line);flex:none;width:1px;height:16px}.dash-topbar-scroll{align-items:center;gap:14px;min-width:0;display:inline-flex;overflow-x:auto}.dash-topbar-link{color:var(--text-muted);white-space:nowrap;flex:none;font-size:12.5px;font-weight:600;text-decoration:none;transition:color .14s}.dash-topbar-link:hover{color:var(--text-primary)}.dash-topbar-tools{flex:none;align-items:center;gap:6px;display:inline-flex}.dash-topbar-action{color:var(--text-secondary);white-space:nowrap;border-radius:var(--r-full);border:1px solid var(--line-soft);flex:none;align-items:center;gap:4px;padding:7px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.dash-topbar-action:hover{color:var(--text-primary);border-color:color-mix(in oklab, var(--presence) 40%, var(--line-soft));background:color-mix(in oklab, var(--presence) 8%, transparent)}.dash-watch-pill{font-family:var(--font-data,var(--font));letter-spacing:.04em;white-space:nowrap;border-radius:var(--r-full);background:color-mix(in oklab, var(--insight) 14%, transparent);color:var(--insight);flex:none;align-items:center;gap:7px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.dash-watch-pill .dash-live-dot{background:var(--insight)}.dash-watch-pill--live{background:color-mix(in oklab, var(--danger) 16%, transparent);color:var(--danger)}.dash-watch-pill--live .dash-live-dot{background:var(--danger)}.dash-budget{white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.dash-budget-track{border-radius:var(--r-full);background:color-mix(in oklab, var(--text-muted) 20%, transparent);width:56px;height:5px;overflow:hidden}.dash-budget-fill{border-radius:inherit;background:var(--insight);height:100%;transition:width var(--m-normal) var(--ease-out);display:block}.dash-budget-label{font-family:var(--font-data,var(--font));letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:600}.dash-budget--amber .dash-budget-fill{background:var(--warning)}.dash-budget--amber .dash-budget-label{color:var(--warning)}.dash-budget--paused{border:1px solid color-mix(in oklab, var(--danger) 45%, transparent);border-radius:var(--r-full);padding:4px 10px}.dash-budget--paused .dash-budget-label{color:var(--danger)}.dash-home{width:min(100%, var(--canvas-col-max));flex-direction:column;gap:20px;margin:0 auto;padding:26px 26px 110px;display:flex}.dash-home-grid{grid-template-columns:minmax(0,1fr) 324px;align-items:start;gap:22px;display:grid}.dash-home-main{flex-direction:column;gap:20px;min-width:0;display:flex}.dash-home-rail{min-width:0;top:calc(var(--bar-h) + 20px);position:sticky}@media (width<=1180px){.dash-home-grid{grid-template-columns:1fr}.dash-home-rail{position:static}}.dash-connect-banner{border:1px solid color-mix(in oklab, var(--warning) 40%, var(--line-soft));border-radius:var(--r-lg);background:color-mix(in oklab, var(--warning) 10%, var(--surface-elevated));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.dash-connect-banner-text{color:var(--text-secondary);font-size:13px}.dash-connect-banner-link{color:var(--presence);white-space:nowrap;flex:none;font-size:13px;font-weight:600;text-decoration:none}.dash-connect-banner-link:hover{text-decoration:underline}.dash-track{flex-direction:column;gap:14px;display:flex}.dash-track-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.dash-track-eyebrow{font-family:var(--font-data,var(--font));letter-spacing:.08em;color:var(--text-primary);font-size:12px;font-weight:700}.dash-track-head-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dash-track-honesty{font-family:var(--font-data,var(--font));letter-spacing:.03em;color:var(--text-faint,var(--text-muted));font-size:10px}.dash-check-all-btn{font-family:var(--font-data,var(--font));color:var(--text-secondary);background:var(--surface-glass);border:1px solid var(--line-soft);border-radius:var(--r-full);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out);flex:none;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-flex}.dash-check-all-btn svg{width:12px;height:12px}.dash-check-all-btn:hover:not(:disabled){color:var(--presence);border-color:color-mix(in oklab, var(--presence) 40%, var(--line-soft))}.dash-check-all-btn:focus-visible{outline:2px solid var(--presence);outline-offset:2px}.dash-check-all-btn:disabled{cursor:default;opacity:.7}.dash-track-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));align-content:start;gap:14px;display:grid}.dash-home-main>.dash-empty--hero{text-align:left;width:100%;max-width:none;margin:0}.tile-frame--ghost{opacity:.6;pointer-events:none;border-style:dashed}.dash-home-examples{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.dash-home-example-chip{font-family:var(--font-data,var(--font));color:var(--text-muted);background:var(--surface-glass);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:6px 12px;font-size:11.5px}.briefing-hero{flex-direction:column;gap:14px;display:flex}.briefing-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.briefing-hero-eyebrow{white-space:normal;flex-wrap:wrap;min-width:0;margin:0}.briefing-hero-listen{border:1px solid color-mix(in oklab, var(--presence) 40%, var(--line));background:color-mix(in oklab, var(--presence) 10%, transparent);color:var(--presence);border-radius:var(--r-full);font-size:12px;font-weight:700;font-family:var(--font);cursor:pointer;flex:none;padding:7px 14px;transition:background .14s}.briefing-hero-listen:hover{background:color-mix(in oklab, var(--presence) 18%, transparent)}.briefing-hero-listen[aria-pressed=true]{background:var(--presence);color:var(--on-presence,#fff)}.briefing-hero-text{font-family:var(--font-voice,var(--font));color:var(--text-primary);margin:0;font-size:17px;line-height:1.6}.briefing-hero-chips{flex-wrap:wrap;gap:8px;display:flex}.featured-live{border-color:color-mix(in oklab, var(--danger) 32%, var(--line));flex-direction:column;gap:12px;text-decoration:none;display:flex}.featured-live:hover{border-color:var(--danger)}.featured-live--fallback{display:flex}.featured-live-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.featured-live-eyebrow{color:var(--danger);align-items:center;gap:6px;display:inline-flex}.featured-live-eyebrow .dash-live-dot{background:var(--danger)}.featured-live-title{min-width:0;font-family:var(--font-voice,var(--font));color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.featured-live-check{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.featured-live-check-label{font-family:var(--font-data,var(--font));letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:600}.featured-live-check-value{font-family:var(--font-data,var(--font));color:var(--text-primary);font-size:15px;font-weight:700}.featured-live-check-context{color:var(--text-secondary);font-size:12.5px}.featured-live-foot{font-family:var(--font-data,var(--font));letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint,var(--text-muted));border-top:1px solid var(--line-soft);padding-top:10px;font-size:10px}.metric-chip{--tint:var(--presence);font-family:var(--font-data,var(--font));border-radius:var(--r-full);background:color-mix(in oklab, var(--tint) 14%, transparent);color:var(--tint);white-space:nowrap;align-items:baseline;gap:6px;padding:5px 11px;font-size:11.5px;text-decoration:none;transition:background .14s;display:inline-flex}.metric-chip:hover{background:color-mix(in oklab, var(--tint) 22%, transparent)}.metric-chip--insight{--tint:var(--insight)}.metric-chip--warning{--tint:var(--warning)}.metric-chip-value{font-weight:700}.metric-chip-label{color:var(--text-secondary);font-weight:500}.dash-toast{--tint:var(--presence);z-index:40;border-radius:var(--r-md);border:1px solid color-mix(in oklab, var(--tint) 35%, var(--line));background:color-mix(in oklab, var(--tint) 10%, var(--surface-elevated));max-width:min(360px,100vw - 40px);box-shadow:var(--shadow-modal);align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;top:20px;right:20px}.dash-toast--insight{--tint:var(--insight)}.dash-toast--warning{--tint:var(--warning)}.dash-toast--danger{--tint:var(--danger)}.dash-toast-text{min-width:0;color:var(--text-primary);flex:1;font-size:13px;line-height:1.45}.dash-toast-link{text-decoration:none}.dash-toast-link:hover{text-decoration:underline}.dash-toast-close{border-radius:var(--r-sm);background:var(--surface-glass);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.dash-toast-close:hover{color:var(--text-primary)}.dash-composer-bar{z-index:4;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-elevated);width:min(100%,640px);box-shadow:var(--shadow-raised);align-items:center;gap:10px;margin:24px auto 0;padding:8px 8px 8px 20px;display:flex;position:sticky;bottom:20px}.dash-composer-input{min-width:0;font-size:14px;font-family:var(--font);color:var(--text-primary);background:0 0;border:none;flex:1}.dash-composer-input::placeholder{color:var(--text-muted)}.dash-composer-input:focus{outline:none}.dash-composer-kbd{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-glass);font-family:var(--font-data,var(--font));color:var(--text-muted);flex:none;padding:3px 7px;font-size:10.5px}.dash-composer-submit{border-radius:var(--r-full);font-size:13px;font-weight:700;font-family:var(--font);cursor:pointer;color:var(--on-presence,#fff);background:var(--presence);border:none;flex:none;padding:9px 18px}.dash-composer-submit:disabled{opacity:.5;cursor:default}@media (width<=640px){.dash-composer-bar{width:calc(100% - 32px);bottom:12px}.dash-composer-kbd{display:none}}.dash-answer{flex-direction:column;gap:14px;padding:24px 22px;display:flex}.dash-answer-text{font-family:var(--font-voice);color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.55}.dash-answer-text--fallback{font-family:var(--font);color:var(--text-secondary);font-size:14px}.dash-answer-qualifier{color:var(--text-muted);margin:0;font-size:12px}.dash-answer-sources{flex-wrap:wrap;gap:6px;display:flex}.dash-answer-source{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-default);max-width:220px;color:var(--text-secondary);padding:3px 9px;font-size:11.5px;text-decoration:none;transition:border-color .14s,color .14s;overflow:hidden}.dash-answer-source:hover{border-color:var(--insight);color:var(--text-primary)}.dash-answer-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:14px;display:flex}.dash-answer-badge{font-family:var(--font-data,var(--font));letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint,var(--text-muted));font-size:9.5px;font-weight:600}.dash-answer-track{font-size:12.5px;font-weight:600;font-family:var(--font);color:var(--presence);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.dash-answer-track:hover{text-decoration:underline}
|
|
1
|
+
.dash-topbar{z-index:5;height:var(--bar-h);padding:0 var(--s-lg);border-bottom:1px solid var(--line-soft);background:var(--bar-glass-bg);-webkit-backdrop-filter:var(--bar-glass-blur);backdrop-filter:var(--bar-glass-blur);align-items:center;gap:18px;display:flex;position:sticky;top:0}.dash-topbar-brand{letter-spacing:-.01em;color:var(--text-primary);flex:none;align-items:center;gap:9px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.dash-topbar-nav{flex:none;align-items:center;gap:4px;display:inline-flex}.dash-topbar .topbar-divider{background:var(--line);flex:none;width:1px;height:16px}.dash-topbar-scroll{align-items:center;gap:14px;min-width:0;display:inline-flex;overflow-x:auto}.dash-topbar-link{color:var(--text-muted);white-space:nowrap;flex:none;font-size:12.5px;font-weight:600;text-decoration:none;transition:color .14s}.dash-topbar-link:hover{color:var(--text-primary)}.dash-topbar-tools{flex:none;align-items:center;gap:6px;display:inline-flex}.dash-topbar-action{color:var(--text-secondary);white-space:nowrap;border-radius:var(--r-full);border:1px solid var(--line-soft);flex:none;align-items:center;gap:4px;padding:7px 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:color .14s,border-color .14s,background .14s;display:inline-flex}.dash-topbar-action:hover{color:var(--text-primary);border-color:color-mix(in oklab, var(--presence) 40%, var(--line-soft));background:color-mix(in oklab, var(--presence) 8%, transparent)}.dash-watch-pill{font-family:var(--font-data,var(--font));letter-spacing:.04em;white-space:nowrap;border-radius:var(--r-full);background:color-mix(in oklab, var(--insight) 14%, transparent);color:var(--insight);flex:none;align-items:center;gap:7px;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}.dash-watch-pill .dash-live-dot{background:var(--insight)}.dash-watch-pill--live{background:color-mix(in oklab, var(--danger) 16%, transparent);color:var(--danger)}.dash-watch-pill--live .dash-live-dot{background:var(--danger)}.dash-budget{white-space:nowrap;flex:none;align-items:center;gap:8px;display:inline-flex}.dash-budget-track{border-radius:var(--r-full);background:color-mix(in oklab, var(--text-muted) 20%, transparent);width:56px;height:5px;overflow:hidden}.dash-budget-fill{border-radius:inherit;background:var(--insight);height:100%;transition:width var(--m-normal) var(--ease-out);display:block}.dash-budget-label{font-family:var(--font-data,var(--font));letter-spacing:.04em;color:var(--text-muted);font-size:10px;font-weight:600}.dash-budget--amber .dash-budget-fill{background:var(--warning)}.dash-budget--amber .dash-budget-label{color:var(--warning)}.dash-budget--paused{border:1px solid color-mix(in oklab, var(--danger) 45%, transparent);border-radius:var(--r-full);padding:4px 10px}.dash-budget--paused .dash-budget-label{color:var(--danger)}.dash-home{width:min(100%, var(--canvas-col-max));flex-direction:column;gap:20px;margin:0 auto;padding:26px 26px 110px;display:flex}.dash-home-grid{grid-template-columns:minmax(0,1fr) 324px;align-items:start;gap:22px;display:grid}.dash-home-main{flex-direction:column;gap:20px;min-width:0;display:flex}.dash-home-rail{min-width:0;top:calc(var(--bar-h) + 20px);position:sticky}@media (width<=1180px){.dash-home-grid{grid-template-columns:1fr}.dash-home-rail{position:static}}.dash-connect-banner{border:1px solid color-mix(in oklab, var(--warning) 40%, var(--line-soft));border-radius:var(--r-lg);background:color-mix(in oklab, var(--warning) 10%, var(--surface-elevated));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.dash-connect-banner-text{color:var(--text-secondary);font-size:13px}.dash-connect-banner-link{color:var(--presence);white-space:nowrap;flex:none;font-size:13px;font-weight:600;text-decoration:none}.dash-connect-banner-link:hover{text-decoration:underline}.dash-track{flex-direction:column;gap:14px;display:flex}.dash-track-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.dash-track-eyebrow{font-family:var(--font-data,var(--font));letter-spacing:.08em;color:var(--text-primary);font-size:12px;font-weight:700}.dash-track-head-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dash-track-honesty{font-family:var(--font-data,var(--font));letter-spacing:.03em;color:var(--text-faint,var(--text-muted));font-size:10px}.dash-check-all-btn{font-family:var(--font-data,var(--font));color:var(--text-secondary);background:var(--surface-glass);border:1px solid var(--line-soft);border-radius:var(--r-full);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out);flex:none;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-flex}.dash-check-all-btn svg{width:12px;height:12px}.dash-check-all-btn:hover:not(:disabled){color:var(--presence);border-color:color-mix(in oklab, var(--presence) 40%, var(--line-soft))}.dash-check-all-btn:focus-visible{outline:2px solid var(--presence);outline-offset:2px}.dash-check-all-btn:disabled{cursor:default;opacity:.7}.dash-track-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));align-content:start;gap:14px;display:grid}.dash-home-main>.dash-empty--hero{text-align:left;width:100%;max-width:none;margin:0}.tile-frame--ghost{opacity:.6;pointer-events:none;border-style:dashed}.dash-home-examples{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.dash-home-example-chip{font-family:var(--font-data,var(--font));color:var(--text-muted);background:var(--surface-glass);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:6px 12px;font-size:11.5px}.briefing-hero{flex-direction:column;gap:14px;display:flex}.briefing-hero-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.briefing-hero-eyebrow{white-space:normal;flex-wrap:wrap;min-width:0;margin:0}.briefing-hero-listen{border:1px solid color-mix(in oklab, var(--presence) 40%, var(--line));background:color-mix(in oklab, var(--presence) 10%, transparent);color:var(--presence);border-radius:var(--r-full);font-size:12px;font-weight:700;font-family:var(--font);cursor:pointer;flex:none;padding:7px 14px;transition:background .14s}.briefing-hero-listen:hover{background:color-mix(in oklab, var(--presence) 18%, transparent)}.briefing-hero-listen[aria-pressed=true]{background:var(--presence);color:var(--on-presence,#fff)}.briefing-hero-text{font-family:var(--font-voice,var(--font));color:var(--text-primary);margin:0;font-size:17px;line-height:1.6}.briefing-hero-chips{flex-wrap:wrap;gap:8px;display:flex}.featured-live{border-color:color-mix(in oklab, var(--danger) 32%, var(--line));flex-direction:column;gap:12px;text-decoration:none;display:flex}.featured-live:hover{border-color:var(--danger)}.featured-live--fallback{display:flex}.featured-live-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.featured-live-eyebrow{color:var(--danger);align-items:center;gap:6px;display:inline-flex}.featured-live-eyebrow .dash-live-dot{background:var(--danger)}.featured-live-title{min-width:0;font-family:var(--font-voice,var(--font));color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.featured-live-check{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.featured-live-check-label{font-family:var(--font-data,var(--font));letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:600}.featured-live-check-value{font-family:var(--font-data,var(--font));color:var(--text-primary);font-size:15px;font-weight:700}.featured-live-check-context{color:var(--text-secondary);font-size:12.5px}.featured-live-foot{font-family:var(--font-data,var(--font));letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint,var(--text-muted));border-top:1px solid var(--line-soft);padding-top:10px;font-size:10px}.metric-chip{--tint:var(--presence);font-family:var(--font-data,var(--font));border-radius:var(--r-full);background:color-mix(in oklab, var(--tint) 14%, transparent);color:var(--tint);white-space:nowrap;align-items:baseline;gap:6px;padding:5px 11px;font-size:11.5px;text-decoration:none;transition:background .14s;display:inline-flex}.metric-chip:hover{background:color-mix(in oklab, var(--tint) 22%, transparent)}.metric-chip--insight{--tint:var(--insight)}.metric-chip--warning{--tint:var(--warning)}.metric-chip-value{font-weight:700}.metric-chip-label{color:var(--text-secondary);font-weight:500}.dash-toast{--tint:var(--presence);z-index:40;border-radius:var(--r-md);border:1px solid color-mix(in oklab, var(--tint) 35%, var(--line));background:color-mix(in oklab, var(--tint) 10%, var(--surface-elevated));max-width:min(360px,100vw - 40px);box-shadow:var(--shadow-modal);align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;top:20px;right:20px}.dash-toast--insight{--tint:var(--insight)}.dash-toast--warning{--tint:var(--warning)}.dash-toast--danger{--tint:var(--danger)}.dash-toast-text{min-width:0;color:var(--text-primary);flex:1;font-size:13px;line-height:1.45}.dash-toast-link{text-decoration:none}.dash-toast-link:hover{text-decoration:underline}.dash-toast-close{border-radius:var(--r-sm);background:var(--surface-glass);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.dash-toast-close:hover{color:var(--text-primary)}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AppCommandPalette-DKBglbNo.js","assets/react-BZJXY1be.js","assets/rolldown-runtime-DkW27tQK.js","assets/jsx-runtime-DeHZSEgm.js","assets/index-D1SPhBGd.js","assets/compiler-runtime-qQQXpJgv.js","assets/useInView-CXTOAEV3.js","assets/coreIcons-BzqW7Qiz.js","assets/preload-helper-CiWYd9n-.js","assets/preloadableLazy-MIX1ApBW.js","assets/cachedImport-DW0gP14h.js","assets/lazyRetry-D50B1UMY.js","assets/theme-f0mztBcq.js","assets/index-B69GkoTc.css","assets/registry-CueC1vq1.js","assets/CommandPalette-DagPdSGZ.js","assets/icons-gLFQTv74.js","assets/CommandPalette-Bb-eErih.css","assets/demoPaletteItems-NPCSaSU6.js","assets/planTracker-CjnznF7v.js","assets/http-Lar_UMKb.js","assets/providers-DdJWf_PE.js","assets/blockTypes-CgNGx27_.js","assets/info-CiqHR5cs.js","assets/attachments-BW-vki-E.js","assets/json-B0N3XRZU.js","assets/now-C9-UAzTC.js","assets/PlanReview-ChZeUHQO.js","assets/store-DpmbKVs7.js","assets/friendlyAsk-BBdRZIar.js","assets/contentVault-xfUwSJ3i.js","assets/keyVault-Aw5Y2PjT.js","assets/useDashboardLoop-DuckIfJX.js","assets/useLiveConfig-9eJ7EM3B.js","assets/ledger-Cv0LBflx.js","assets/dataPending-lZUzUEo6.js","assets/format-rPI6ZwwH.js","assets/number-DXgzss0v.js","assets/predictions-CkVKHq-5.js","assets/notify-Bz4wuE4T.js","assets/dashboardEvents-BDKxoLch.js","assets/spokenText-D3iS8fuI.js","assets/kokoro-C6P0LV4L.js","assets/confirmAdd-BDNV8RqF.js","assets/relate-DHPSGB7a.js","assets/dashboards-Dy4MTJQ5.css","assets/dash-composer-DeNWVwpU.css","assets/RewindOverlay-BSDbLgcN.js","assets/useFocusTrap-DBtkeyRy.js","assets/motion-DxHSlPN6.js","assets/useDashboards-BMcuCWoz.js","assets/useLedger-1WVXef68.js","assets/checkLogModel-BMtruriG.js","assets/RewindOverlay-C92qgvmi.css","assets/DashPresent-DXwesMIr.js","assets/TrackerTile-sYD2MM_4.js","assets/route-D4kd-D3B.js","assets/tiles-pdNi6MGe.js","assets/tiles-CBiVVjtT.css","assets/DashPresent-DQYcgp-W.css","assets/templates-DHeyJ32F.css","assets/DashboardDetail-CJzB85NC.js","assets/TopicCanvas-DR26Swr_.js","assets/CanvasSkeleton-Bx0s36b_.js","assets/CanvasSkeleton-iy6DBvde.css","assets/FallbackCard-ap_4wOfj.js","assets/blockLabel-FogyzEQY.js","assets/FallbackCard-D_6ps1xA.css","assets/motion-BY_Egaxm.js","assets/useSpatialCanvas-CtVsYmp8.js","assets/richText-BkxJhl9N.js","assets/toast-BBNs2h3L.js","assets/format-q0LwBjID.js","assets/safeImageUrl-BINWXOTz.js","assets/useValidatedImage-BQi2c66o.js","assets/layout-CEoNLr-w.js","assets/catalog-BHjl-1uH.js","assets/lib-B7OE1ZQQ.js","assets/BlockEmpty-B82uCse8.js","assets/lib-DMAxsZKm.css","assets/TopicCanvas-uRuHi99s.css","assets/sourceHost-BV3t2XDb.js","assets/canvas-DIs20T9l.js","assets/ReplayCard-BkJbY0-I.js","assets/annotationReel-va1i-lKs.js","assets/registry-Dd1lcXrO.js","assets/svgLabel-BQMDdcT2.js","assets/fit-CMu7prjb.js","assets/ReplayCard-Cs6mzTRa.css","assets/pin-qQrH_dBi.js","assets/pin-D-4Zjiik.css","assets/CheckLogRail-Btg7Linv.js","assets/CheckLogRail-BOaXnqWK.css","assets/DashboardSettings-CmZWG3US.js","assets/DashboardOverview-C3hv9sm1.js","assets/DashboardLoopRuntime-CEnUpS-I.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{t as a}from"./cachedImport-DW0gP14h.js";import{n as o,t as s}from"./preloadableLazy-MIX1ApBW.js";import{n as c,t as l}from"./theme-f0mztBcq.js";import{A as u,M as d,N as f,O as p,Q as m,X as h,Z as g,j as _,rt as v}from"./index-D1SPhBGd.js";import{n as y}from"./icons-gLFQTv74.js";import{t as b}from"./useFocusTrap-DBtkeyRy.js";import{r as x}from"./sourceHost-BV3t2XDb.js";import{T as S,w as C}from"./kokoro-C6P0LV4L.js";import{t as w}from"./FeatureUseNotice-BhljPjUv.js";import{t as T}from"./homeTarget-CsO8nY7z.js";/* empty css */import{d as E}from"./store-DpmbKVs7.js";import{l as D,n as O,r as k,u as ee}from"./useLiveConfig-9eJ7EM3B.js";import{t as A}from"./TopbarMenu-DQXxqSWY.js";import{a as j,s as M}from"./useStudy-B5874Bcg.js";import{n as te,r as ne,t as N}from"./route-D4kd-D3B.js";import{t as P}from"./useDashboards-BMcuCWoz.js";import{t as F}from"./useLedger-1WVXef68.js";import{o as I,r as L}from"./dataPending-lZUzUEo6.js";import{i as R}from"./format-rPI6ZwwH.js";import{n as re,r as ie,t as z}from"./TrackerTile-sYD2MM_4.js";import{n as ae,o as oe,s as se}from"./dashboardEvents-BDKxoLch.js";/* empty css */import{t as B}from"./CheckLogRail-Btg7Linv.js";/* empty css */var V=e(),H=t(),U=n();function W({href:e,label:t=`Mavéa`,className:n}){return(0,U.jsxs)(`a`,{className:n,href:e,"aria-label":`${t} home`,children:[(0,U.jsx)(`span`,{className:`jelly-mark`}),t]})}var G=v();function K(e){let t=(t,n,r)=>({label:t,blurb:n,onClick:()=>{window.location.hash=r},preload:()=>u(r)??Promise.resolve(),show:r!==e.omitHash}),n=(t,n)=>({label:t,blurb:n,onClick:e.enterLive,show:!0});return{create:[n(`New`,`Start a fresh session`)],practice:[n(`Rehearse`,`Practice a hard conversation — take the seat, or send your Mavéa`),t(`Study`,`Go through your flashcards, and organize your decks`,`#/flashcards`),t(`Courses`,`Turn a topic into a structured syllabus — a lesson at a time, at your pace`,`#/courses`)],share:[n(`Present`,`Fill the room — the chrome falls away, the mic stays live`),n(`Export`,`Choose a template and export a polished PDF`),n(`Share`,`Share this conversation as a story`)],explore:[{label:`Search all features`,blurb:`Browse Mavéa’s feature index · ${d}`,onClick:e.openPalette,show:!0},n(`Atlas`,`Kept conversations and topics, as a place`),n(`Watch me think`,`A live map of your thinking`),t(`Prism`,`Split your document into a map of its claims`,`#/prism`),t(`Ripple`,`Model a code change’s impact, risks, and a proposed ship order`,`#/ripple`),t(`Dashboards`,`Dashboards that refresh on schedule while Mavéa is open`,`#/dashboards`),t(`Deep Zoom`,`Telescope any topic from big picture to finest detail`,`#/deepzoom`)]}}r();var q=s(()=>i(()=>import(`./AppCommandPalette-DKBglbNo.js`).then(e=>({default:e.AppCommandPalette})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),ce=q.Component;function le(e){let t=(0,H.c)(26),{omitHash:n}=e,{open:r,openPalette:i,closePalette:a}=f(),o=ue,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{g(),o()},t[0]=s):s=t[0];let c=s,l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>()=>{g(),h(e),m(),o()},t[1]=l):l=t[1];let u=l,d;t[2]!==n||t[3]!==i?(d=K({openPalette:i,enterLive:o,omitHash:n}),t[2]=n,t[3]=i,t[4]=d):d=t[4];let v=d,y=j(),b;t[5]===v.create?b=t[6]:(b=(0,U.jsx)(A,{label:`Create`,items:v.create}),t[5]=v.create,t[6]=b);let x;t[7]!==v.practice||t[8]!==y?(x=(0,U.jsx)(A,{label:`Practice`,items:v.practice,badge:y}),t[7]=v.practice,t[8]=y,t[9]=x):x=t[9];let S;t[10]===v.share?S=t[11]:(S=(0,U.jsx)(A,{label:`Share`,items:v.share}),t[10]=v.share,t[11]=S);let C;t[12]===v.explore?C=t[13]:(C=(0,U.jsx)(A,{label:`Explore`,items:v.explore}),t[12]=v.explore,t[13]=C);let w;t[14]===i?w=t[15]:(w=(0,U.jsx)(_,{onOpen:i,preload:q.preload}),t[14]=i,t[15]=w);let T;t[16]!==a||t[17]!==r?(T=r&&(0,G.createPortal)((0,U.jsx)(p,{label:`Feature search`,overlay:!0,children:(0,U.jsx)(ce,{onClose:a,startTour:c,watchInLive:u,enterLive:o})}),document.body),t[16]=a,t[17]=r,t[18]=T):T=t[18];let E;return t[19]!==b||t[20]!==x||t[21]!==S||t[22]!==C||t[23]!==w||t[24]!==T?(E=(0,U.jsxs)(U.Fragment,{children:[b,x,S,C,w,T]}),t[19]=b,t[20]=x,t[21]=S,t[22]=C,t[23]=w,t[24]=T,t[25]=E):E=t[25],E}function ue(){window.location.hash=`#/live`}function de(e,t){let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt}function fe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function pe(e){let t=(0,H.c)(18),{state:n}=e;if(n.paused){let e;t[0]===n.resumesAt?e=t[1]:(e=fe(n.resumesAt),t[0]=n.resumesAt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,U.jsx)(`div`,{className:`dash-budget dash-budget--paused`,title:`Automatic checks are paused until your budget resets`,children:(0,U.jsxs)(`span`,{className:`dash-budget-label`,children:[`PAUSED · RESUMES `,e]})}),t[2]=e,t[3]=r),r}let r;t[4]!==n.cap||t[5]!==n.used?(r=n.cap>0?Math.min(100,Math.round(n.used/n.cap*100)):0,t[4]=n.cap,t[5]=n.used,t[6]=r):r=t[6];let i=r,a=`dash-budget`+(n.amber?` dash-budget--amber`:``),o=`${n.used} of ${n.cap} searches used today`,s=`${i}%`,c;t[7]===s?c=t[8]:(c=(0,U.jsx)(`span`,{className:`dash-budget-track`,children:(0,U.jsx)(`span`,{className:`dash-budget-fill`,style:{width:s}})}),t[7]=s,t[8]=c);let l=n.amber?` · LOW`:``,u;t[9]!==n.cap||t[10]!==n.used||t[11]!==l?(u=(0,U.jsxs)(`span`,{className:`dash-budget-label`,children:[n.used,`/`,n.cap,` SEARCHES TODAY`,l]}),t[9]=n.cap,t[10]=n.used,t[11]=l,t[12]=u):u=t[12];let d;return t[13]!==a||t[14]!==o||t[15]!==c||t[16]!==u?(d=(0,U.jsxs)(`div`,{className:a,title:o,children:[c,u]}),t[13]=a,t[14]=o,t[15]=c,t[16]=u,t[17]=d):d=t[17],d}function me(e){let t=(0,H.c)(28),{view:n}=e,r=P(),i=F(),a=I(),[o,s]=(0,V.useState)(he),c,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=window.setInterval(()=>s(Date.now()),3e4);return()=>window.clearInterval(e)},l=[],t[0]=c,t[1]=l):(c=t[0],l=t[1]),(0,V.useEffect)(c,l);let u;t[2]===r?u=t[3]:(u=r.filter(R),t[2]=r,t[3]=u);let d=u.length,f=r.some(e=>de(e,o)),p;t[4]!==i||t[5]!==o||t[6]!==a.dailySearchBudget?(p=L(i,a.dailySearchBudget,o),t[4]=i,t[5]=o,t[6]=a.dailySearchBudget,t[7]=p):p=t[7];let m=p,h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,U.jsx)(W,{className:`dash-topbar-brand`,href:T().href}),t[8]=h):h=t[8];let g=`dash-watch-pill`+(f?` dash-watch-pill--live`:``),_;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,U.jsx)(`i`,{className:`dash-live-dot`,"aria-hidden":`true`}),t[9]=_):_=t[9];let v;t[10]!==d||t[11]!==g?(v=(0,U.jsxs)(`span`,{className:g,children:[_,d,` ON WATCH`]}),t[10]=d,t[11]=g,t[12]=v):v=t[12];let y;t[13]===m?y=t[14]:(y=(0,U.jsx)(pe,{state:m}),t[13]=m,t[14]=y);let b;t[15]===n?b=t[16]:(b=n!==`overview`&&(0,U.jsx)(`a`,{className:`dash-topbar-link`,href:N.overview,children:`How it works`}),t[15]=n,t[16]=b);let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,U.jsx)(`a`,{className:`dash-topbar-link`,href:`#/live`,children:`Live`}),t[17]=x):x=t[17];let S;t[18]!==b||t[19]!==v||t[20]!==y?(S=(0,U.jsxs)(`div`,{className:`dash-topbar-scroll`,children:[v,y,b,x]}),t[18]=b,t[19]=v,t[20]=y,t[21]=S):S=t[21];let C;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,U.jsx)(`span`,{className:`topbar-spacer`}),t[22]=C):C=t[22];let w,E;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,U.jsx)(`nav`,{className:`dash-topbar-nav`,"aria-label":`App`,children:(0,U.jsx)(le,{omitHash:N.gallery})}),E=(0,U.jsx)(`span`,{className:`topbar-divider`,"aria-hidden":`true`}),t[23]=w,t[24]=E):(w=t[23],E=t[24]);let D;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,U.jsxs)(`div`,{className:`dash-topbar-tools`,children:[(0,U.jsx)(`a`,{className:`dash-topbar-action`,href:N.rewind,children:`✦ Rewind`}),(0,U.jsx)(`a`,{className:`dash-topbar-action`,href:N.present,children:`▸ Present`}),(0,U.jsx)(M,{triggerClassName:`ctrl`})]}),t[25]=D):D=t[25];let O;return t[26]===S?O=t[27]:(O=(0,U.jsxs)(`header`,{className:`dash-topbar`,children:[h,S,C,w,E,D]}),t[26]=S,t[27]=O),O}function he(){return Date.now()}function ge({label:e,value:t,dashboardId:n,kind:r=`presence`}){return(0,U.jsxs)(`a`,{className:`metric-chip metric-chip--${r}`,href:N.detail(n),children:[(0,U.jsx)(`span`,{className:`metric-chip-value`,children:t}),(0,U.jsx)(`span`,{className:`metric-chip-label`,children:e})]})}function _e(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function ve({briefing:e}){let[t,n]=(0,V.useState)(!1),r=(0,V.useRef)(t);return r.current=t,(0,V.useEffect)(()=>{if(!t)return;let e=window.setInterval(()=>{S()||n(!1)},300);return()=>window.clearInterval(e)},[t]),(0,V.useEffect)(()=>()=>{r.current&&C()},[]),(0,U.jsxs)(`section`,{className:`card briefing-hero`,children:[(0,U.jsxs)(`div`,{className:`briefing-hero-head`,children:[(0,U.jsxs)(`span`,{className:`card-eyebrow briefing-hero-eyebrow`,children:[`MORNING BRIEFING · `,_e(e.at),` · COMPILED WHILE CHECKING YOUR DASHBOARDS`]}),(0,U.jsx)(`button`,{type:`button`,className:`briefing-hero-listen`,onClick:()=>{if(t){C(),n(!1);return}oe(e.text,e.spoken),n(!0)},"aria-pressed":t,children:t?`◼ STOP`:`▸ LISTEN`})]}),(0,U.jsx)(`p`,{className:`briefing-hero-text`,children:e.text}),e.chips.length>0&&(0,U.jsx)(`div`,{className:`briefing-hero-chips`,children:e.chips.map(e=>(0,U.jsx)(ge,{label:e.label,value:e.value,dashboardId:e.dashboardId},e.dashboardId))})]})}function ye(e){let t=(0,H.c)(31),{dashboard:n,now:r}=e,i;t[0]!==n||t[1]!==r?(i=ie(n,r),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i,o=n.cadence.window;if(!o||a.vizKind!==`livescore`){let e;return t[3]!==n||t[4]!==r?(e=(0,U.jsx)(`div`,{className:`featured-live featured-live--fallback`,children:(0,U.jsx)(z,{dashboard:n,now:r})}),t[3]=n,t[4]=r,t[5]=e):e=t[5],e}let s=a.everChecked?`AS OF ${a.asOf}`:a.asOf,c;t[6]===n.id?c=t[7]:(c=N.detail(n.id),t[6]=n.id,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,U.jsxs)(`span`,{className:`card-eyebrow featured-live-eyebrow`,children:[(0,U.jsx)(`i`,{className:`dash-live-dot`,"aria-hidden":`true`}),`LIVE NOW`]}),t[8]=l):l=t[8];let u;t[9]===n.title?u=t[10]:(u=(0,U.jsxs)(`div`,{className:`featured-live-head`,children:[l,(0,U.jsx)(`h3`,{className:`featured-live-title`,children:n.title})]}),t[9]=n.title,t[10]=u);let d;t[11]!==o||t[12]!==r?(d=(0,U.jsx)(re,{liveWindow:o,now:r}),t[11]=o,t[12]=r,t[13]=d):d=t[13];let f;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,U.jsx)(`span`,{className:`featured-live-check-label`,children:`FROM THE LAST CHECK`}),t[14]=f):f=t[14];let p;t[15]===a.value?p=t[16]:(p=(0,U.jsx)(`span`,{className:`featured-live-check-value`,children:a.value}),t[15]=a.value,t[16]=p);let m;t[17]===a.context?m=t[18]:(m=(0,U.jsx)(`span`,{className:`featured-live-check-context`,children:a.context}),t[17]=a.context,t[18]=m);let h;t[19]!==p||t[20]!==m?(h=(0,U.jsxs)(`p`,{className:`featured-live-check`,children:[f,p,m]}),t[19]=p,t[20]=m,t[21]=h):h=t[21];let g;t[22]!==s||t[23]!==o.label?(g=(0,U.jsxs)(`div`,{className:`featured-live-foot`,children:[s,` · `,o.label,` ONLY`]}),t[22]=s,t[23]=o.label,t[24]=g):g=t[24];let _;return t[25]!==g||t[26]!==c||t[27]!==u||t[28]!==d||t[29]!==h?(_=(0,U.jsxs)(`a`,{className:`card featured-live`,href:c,children:[u,d,h,g]}),t[25]=g,t[26]=c,t[27]=u,t[28]=d,t[29]=h,t[30]=_):_=t[30],_}function be(e){let t=(0,H.c)(17),{answer:n,onTrackAnyway:r}=e;if(!n){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,U.jsx)(`p`,{className:`dash-answer-text dash-answer-text--fallback`,children:`Mavéa couldn’t reach your model for that — try tracking it instead.`}),t[0]=e):e=t[0];let n;return t[1]===r?n=t[2]:(n=(0,U.jsxs)(`div`,{className:`dash-answer`,children:[e,(0,U.jsx)(`button`,{type:`button`,className:`dash-answer-track`,onClick:r,children:`Track it anyway →`})]}),t[1]=r,t[2]=n),n}let i;t[3]===n.text?i=t[4]:(i=(0,U.jsx)(`p`,{className:`dash-answer-text`,children:n.text}),t[3]=n.text,t[4]=i);let a;t[5]===n.grounded?a=t[6]:(a=!n.grounded&&(0,U.jsx)(`p`,{className:`dash-answer-qualifier`,children:`Based on background knowledge, not a fresh search.`}),t[5]=n.grounded,t[6]=a);let o;t[7]===n.sources?o=t[8]:(o=n.sources.length>0&&(0,U.jsx)(`div`,{className:`dash-answer-sources`,children:n.sources.map(xe)}),t[7]=n.sources,t[8]=o);let s;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,U.jsx)(`span`,{className:`dash-answer-badge`,children:`Answered once — nothing worth re-checking`}),t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=(0,U.jsxs)(`div`,{className:`dash-answer-foot`,children:[s,(0,U.jsx)(`button`,{type:`button`,className:`dash-answer-track`,onClick:r,children:`Track it anyway →`})]}),t[10]=r,t[11]=c);let l;return t[12]!==i||t[13]!==a||t[14]!==o||t[15]!==c?(l=(0,U.jsxs)(`div`,{className:`dash-answer`,children:[i,a,o,c]}),t[12]=i,t[13]=a,t[14]=o,t[15]=c,t[16]=l):l=t[16],l}function xe(e){let t=x(e.url);return t?(0,U.jsx)(`a`,{className:`dash-answer-source`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:e.title,children:e.title},e.url):null}r();var J=a(()=>i(()=>import(`./planTracker-CjnznF7v.js`).then(e=>e.n),__vite__mapDeps([19,2,20,21,22,23,24,25,26]))),Y=s(()=>i(()=>import(`./PlanReview-ChZeUHQO.js`).then(e=>({default:e.PlanReview})),__vite__mapDeps([27,1,2,5,3,28,29,30,31,32,8,20,21,22,23,24,33,34,35,36,37,25,26,38,39,40,41,42,4,6,7,9,10,11,12,13,43,44,45,46]))),Se=Y.Component;function Ce(){return Promise.all([J(),Y.preload()]).then(()=>void 0)}function we({inert:e=!1}){let t=(0,V.useRef)(null),n=(0,V.useRef)(null),[r,i]=(0,V.useState)(``),[a,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(null),u=(0,V.useRef)(0),d=()=>{u.current++,l(null)};b(n,{onEscape:d,active:!!c}),(0,V.useEffect)(()=>{if(e)return;let n=e=>{(e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey&&e.key.toLowerCase()===`k`&&(e.preventDefault(),t.current?.focus())};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e]),(0,V.useEffect)(()=>()=>{u.current++},[]);let f=async()=>{let e=r.trim();if(!e||a)return;s(!0);let t=++u.current,{planTracker:n,answerOnce:i}=await J(),o=await n(e,D(O()));if(t!==u.current)return;if(s(!1),o.kind!==`static`){l({step:`review`,plan:o});return}l({step:`answering`,plan:o});let c=await i(e,D(O()));t===u.current&&l({step:`answer`,plan:o,answer:c})},m=e=>{u.current++,l(null),i(``),window.location.hash=N.detail(e)};return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`form`,{className:`dash-composer-bar`,onSubmit:e=>{e.preventDefault(),f()},children:[(0,U.jsx)(`input`,{ref:t,className:`dash-composer-input`,value:r,onChange:e=>i(e.target.value),placeholder:`Track anything — Mavéa will suggest what's worth checking, and how often`,"aria-label":`Track anything`,disabled:a,...o(Ce)}),(0,U.jsx)(`kbd`,{className:`dash-composer-kbd`,"aria-hidden":`true`,children:`⌘K`}),(0,U.jsx)(`button`,{type:`submit`,className:`dash-composer-submit`,disabled:!r.trim()||a,children:a?`Planning…`:`Track`})]}),c&&(0,U.jsx)(`div`,{className:`xt-scrim`,onClick:e=>{e.target===e.currentTarget&&d()},role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),d())},children:(0,U.jsxs)(`div`,{className:`xt-modal`,ref:n,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`Track anything`,children:[(0,U.jsxs)(`div`,{className:`xt-head`,children:[c.step===`review`?(0,U.jsx)(`button`,{type:`button`,className:`tpl-back`,onClick:d,children:`‹ Change what to track`}):(0,U.jsx)(`span`,{className:`xt-head-title`,children:c.plan.title}),(0,U.jsx)(`button`,{type:`button`,className:`xt-close`,onClick:d,"aria-label":`Close`,children:`×`})]}),c.step===`answering`&&(0,U.jsx)(`div`,{className:`xt-loading`,children:`Mavéa is checking that…`}),c.step===`answer`&&(0,U.jsx)(be,{answer:c.answer,onTrackAnyway:()=>l({step:`review`,plan:c.plan})}),c.step===`review`&&(0,U.jsx)(p,{label:`tracker plan`,children:(0,U.jsx)(Se,{plan:c.plan,ask:r,existing:E(),onDone:m})})]})})]})}var Te=8e3;function Ee({message:e,onDismiss:t,kind:n=`presence`,href:r}){let i=(0,V.useRef)(t);return i.current=t,(0,V.useEffect)(()=>{let e=window.setTimeout(()=>i.current(),Te);return()=>window.clearTimeout(e)},[]),(0,U.jsxs)(`div`,{className:`dash-toast dash-toast--${n}`,role:`status`,children:[r?(0,U.jsx)(`a`,{className:`dash-toast-text dash-toast-link`,href:r,children:e}):(0,U.jsx)(`span`,{className:`dash-toast-text`,children:e}),(0,U.jsx)(`button`,{type:`button`,className:`dash-toast-close`,onClick:t,"aria-label":`Dismiss`,children:`×`})]})}r();var De=[`AAPL price`,`Yankees scores`,`Weather in Denver`,`Bitcoin price`];function Oe(e,t){let n=e.cadence.window;return!!n&&t>=n.startAt&&t<=n.endAt}function ke(e){return new Date(e).toISOString().slice(0,10)}function X(e){let t=(0,H.c)(11),{eyebrow:n,sub:r}=e,i;t[0]===n?i=t[1]:(i=(0,U.jsx)(`span`,{className:`tile-name`,children:n}),t[0]=n,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,U.jsx)(`span`,{className:`tile-cadence`,children:`EXAMPLE`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,U.jsxs)(`div`,{className:`tile-top`,children:[i,a]}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,U.jsx)(`div`,{className:`tile-value-row`,children:(0,U.jsx)(`span`,{className:`tile-value`,children:`—`})}),t[5]=s):s=t[5];let c;t[6]===r?c=t[7]:(c=(0,U.jsx)(`p`,{className:`tile-context`,children:r}),t[6]=r,t[7]=c);let l;return t[8]!==o||t[9]!==c?(l=(0,U.jsxs)(`div`,{className:`tile-frame tile-frame--ghost`,"aria-hidden":`true`,children:[o,s,c]}),t[8]=o,t[9]=c,t[10]=l):l=t[10],l}function Ae(){let e=(0,H.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(`p`,{className:`dash-empty-title`,children:`Nothing on watch yet.`}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,U.jsxs)(`p`,{className:`dash-empty-how`,children:[`Type anything worth following in the bar below — scores, a price, the weather, a story — and Mavéa plans the live cards and keeps them current. Or talk it through in`,` `,(0,U.jsx)(`a`,{href:`#/live`,children:`Live`}),` and build one from that conversation instead.`]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,U.jsxs)(`p`,{className:`dash-empty-how`,children:[`New here? `,(0,U.jsx)(`a`,{href:N.overview,children:`See how it works →`})]}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,U.jsxs)(`div`,{className:`card dash-empty dash-empty--hero`,children:[t,n,r,(0,U.jsx)(`div`,{className:`dash-home-examples`,children:De.map(je)})]}),e[3]=i):i=e[3],i}function je(e){return(0,U.jsx)(`span`,{className:`dash-home-example-chip`,children:e},e)}function Z(){let e=P(),t=F(),n=I(),r=se(),[a]=ee(),[o,s]=(0,V.useState)(()=>Date.now());(0,V.useEffect)(()=>{let e=window.setInterval(()=>s(Date.now()),3e4);return()=>window.clearInterval(e)},[]);let c=(0,V.useMemo)(()=>e.find(e=>Oe(e,o))??null,[e,o]),l=r!==null&&r.date===ke(o),u=(0,V.useMemo)(()=>L(t,n.dailySearchBudget,o),[t,n.dailySearchBudget,o]),d=e.length===0,f=(0,V.useMemo)(()=>e.some(R),[e]),p=k(a),[m,h]=(0,V.useState)(null);(0,V.useEffect)(()=>ae(h),[]);let[g,_]=(0,V.useState)(!1),v=async()=>{_(!0);try{let{checkAllDashboardsNow:e}=await i(async()=>{let{checkAllDashboardsNow:e}=await import(`./useDashboardLoop-DuckIfJX.js`).then(e=>e.i);return{checkAllDashboardsNow:e}},__vite__mapDeps([32,2,1,5,8,20,28,29,30,31,21,22,23,24,33,34,35,36,37,25,26,38,39,40,41,42,4,6,3,7,9,10,11,12,13]));await e()}finally{_(!1)}},[b,x]=(0,V.useState)(0);return(0,V.useEffect)(()=>{let e=0,t=0;return e=requestAnimationFrame(()=>{x(1),t=requestAnimationFrame(()=>x(2))}),()=>{cancelAnimationFrame(e),cancelAnimationFrame(t)}},[]),(0,U.jsxs)(`div`,{className:`dash-home`,children:[m&&(0,U.jsx)(Ee,{kind:`danger`,message:`${m.dashboardTitle}: ${m.tripwireLabel} crossed the line you set.`,href:N.detail(m.dashboardId),onDismiss:()=>h(null)},`${m.dashboardId}-${m.tripwireLabel}`),(0,U.jsxs)(`div`,{className:`dash-home-grid`,children:[(0,U.jsxs)(`div`,{className:`dash-home-main`,children:[!d&&!p&&f&&(0,U.jsxs)(`div`,{className:`dash-connect-banner`,children:[(0,U.jsx)(`span`,{className:`dash-connect-banner-text`,children:`These trackers can't fetch anything yet — connect a model to start filling them.`}),(0,U.jsx)(`a`,{className:`dash-connect-banner-link`,href:`#/live`,children:`Connect a model in Live →`})]}),d?(0,U.jsx)(Ae,{}):(0,U.jsxs)(U.Fragment,{children:[l&&r&&(0,U.jsx)(ve,{briefing:r}),c&&(0,U.jsx)(ye,{dashboard:c,now:o})]}),b>=1&&(0,U.jsxs)(`section`,{className:`dash-track`,children:[(0,U.jsxs)(`div`,{className:`dash-track-head`,children:[(0,U.jsxs)(`span`,{className:`dash-track-eyebrow`,children:[`TRACKING · `,e.length]}),(0,U.jsxs)(`div`,{className:`dash-track-head-right`,children:[(0,U.jsx)(`span`,{className:`dash-track-honesty`,children:`NOT REAL-TIME — EVERY VALUE IS AS OF ITS LAST WEB SEARCH`}),p&&f&&(0,U.jsxs)(`button`,{type:`button`,className:`dash-check-all-btn`,onClick:()=>void v(),disabled:g,title:`Check every tracker with live content now`,children:[(0,U.jsx)(y.refresh,{className:g?`dash-refresh-spin`:void 0}),g?`Checking…`:`Check all`]})]})]}),(0,U.jsx)(`div`,{className:`dash-track-grid`,children:d?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(X,{eyebrow:`AAPL`,sub:`Stock price`}),(0,U.jsx)(X,{eyebrow:`Yankees`,sub:`Latest score`}),(0,U.jsx)(X,{eyebrow:`Denver`,sub:`This week's forecast`})]}):e.map(e=>(0,U.jsx)(z,{dashboard:e,now:o,paused:u.paused},e.id))})]})]}),(0,U.jsx)(`aside`,{className:`dash-home-rail`,children:b>=2&&(0,U.jsx)(B,{now:o})})]}),(0,U.jsx)(we,{})]})}r();var Me=s(()=>i(()=>import(`./RewindOverlay-BSDbLgcN.js`).then(e=>({default:e.RewindOverlay})),__vite__mapDeps([47,1,2,5,3,48,49,50,28,29,30,31,34,51,38,52,53]))),Ne=s(()=>i(()=>import(`./DashPresent-DXwesMIr.js`).then(e=>({default:e.DashPresent})),__vite__mapDeps([54,1,2,5,3,4,6,7,8,9,10,11,12,13,50,28,29,30,31,51,34,35,55,16,56,36,57,58,59,60]))),Pe=s(()=>i(()=>import(`./DashboardDetail-CJzB85NC.js`).then(e=>({default:e.DashboardDetail})),__vite__mapDeps([61,1,2,5,3,8,16,62,4,6,7,9,10,11,12,13,63,64,65,66,67,48,68,69,70,71,72,73,74,75,76,20,77,78,49,79,80,81,82,83,84,85,86,87,41,88,28,29,30,31,33,23,21,22,24,56,50,35,34,36,57,58,32,37,25,26,38,39,40,42,43,19,89,90,91,51,52,92,45]))),Fe=s(()=>i(()=>import(`./DashboardSettings-CmZWG3US.js`).then(e=>({default:e.DashboardSettings})),__vite__mapDeps([93,1,2,5,3,28,29,30,31,56,50,36,39]))),Q=s(()=>i(()=>import(`./DashboardOverview-C3hv9sm1.js`).then(e=>({default:e.DashboardOverview})),__vite__mapDeps([94,3,2,56,1,5]))),Ie=s(()=>i(()=>import(`./DashboardLoopRuntime-CEnUpS-I.js`).then(e=>({default:e.DashboardLoopRuntime})),__vite__mapDeps([95,32,2,1,5,8,20,28,29,30,31,21,22,23,24,33,34,35,36,37,25,26,38,39,40,41,42,4,6,3,7,9,10,11,12,13]))),Le=Me.Component,Re=Ne.Component,ze=Pe.Component,Be=Fe.Component,Ve=Q.Component,He=Ie.Component;function $(){window.location.hash=N.gallery}function Ue(){let e=(0,H.c)(24),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,V.useEffect)(We,t);let[n,r]=(0,V.useState)(!1),i,a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{let e=window.setTimeout(()=>r(!0),600);return()=>window.clearTimeout(e)},a=[],e[1]=i,e[2]=a):(i=e[1],a=e[2]),(0,V.useEffect)(i,a);let o=ne(),s;e[3]===o?s=e[4]:(s=te(o),e[3]=o,e[4]=s);let c=s;if(c.view===`present`){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(p,{label:`Dashboard presentation`,children:(0,U.jsx)(Re,{onClose:$})}),e[5]=t):t=e[5],t}let l;bb0:switch(c.view){case`detail`:{let t;e[6]===c.id?t=e[7]:(t=c.id?(0,U.jsx)(p,{label:`Dashboard detail`,children:(0,U.jsx)(ze,{id:c.id})}):(0,U.jsx)(Z,{}),e[6]=c.id,e[7]=t),l=t;break bb0}case`settings`:{let t;e[8]===c.id?t=e[9]:(t=c.id?(0,U.jsx)(p,{label:`Dashboard settings`,children:(0,U.jsx)(Be,{id:c.id})}):(0,U.jsx)(Z,{}),e[8]=c.id,e[9]=t),l=t;break bb0}case`overview`:{let t;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(p,{label:`Dashboard overview`,children:(0,U.jsx)(Ve,{})}),e[10]=t):t=e[10],l=t;break bb0}case`rewind`:case`gallery`:default:{let t;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,U.jsx)(Z,{}),e[11]=t):t=e[11],l=t}}let u=l,d;e[12]===c.view?d=e[13]:(d=(0,U.jsx)(me,{view:c.view}),e[12]=c.view,e[13]=d);let f;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,U.jsx)(w,{kind:`monitoring`,className:`dash-risk-note`}),e[14]=f):f=e[14];let m;e[15]===n?m=e[16]:(m=n&&(0,U.jsx)(V.Suspense,{fallback:(0,U.jsx)(`span`,{hidden:!0,"aria-hidden":`true`}),children:(0,U.jsx)(He,{})}),e[15]=n,e[16]=m);let h;e[17]===c.view?h=e[18]:(h=c.view===`rewind`&&(0,U.jsx)(p,{label:`Weekly rewind`,overlay:!0,children:(0,U.jsx)(Le,{onClose:$})}),e[17]=c.view,e[18]=h);let g;return e[19]!==u||e[20]!==d||e[21]!==m||e[22]!==h?(g=(0,U.jsxs)(`div`,{className:`mavea-app dash-app`,children:[d,f,u,m,h]}),e[19]=u,e[20]=d,e[21]=m,e[22]=h,e[23]=g):g=e[23],g}function We(){return l(c())}export{Ue as DashboardsApp};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./react-
|
|
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,r as i,t as a}from"./theme-f0mztBcq.js";import{t as o}from"./FeatureUseNotice-BhljPjUv.js";import{t as s}from"./homeTarget-CsO8nY7z.js";import{t as c}from"./providers-DdJWf_PE.js";import{l,n as u}from"./useLiveConfig-9eJ7EM3B.js";import{n as d}from"./courseSeed-CZdNBTTs.js";var f=e(),p=t(),m=[`×1`,`×10`,`×100`,`×1k`,`×10k`,`×100k`,`×1M`,`×10M`,`×100M`,`×1B`,`×10B`,`×100B`,`×1T`,`×10T`,`×100T`,`×1Q`,`×10Q`,`×100Q`,`×1Qn`,`×10Qn`];function h(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=Array.isArray(n.subtopics)?n.subtopics.map(String).filter(Boolean).slice(0,8):[];if(r.length===0)return null;let i=Math.max(0,Math.min(r.length-1,Number(n.selectedIndex??0)));return{scale:t,multiplier:m[t]??`×${10**t}`,scaleLabel:String(n.scaleLabel??`SCALE ${t}`).toUpperCase(),title:String(n.title??``).trim(),body:String(n.body??``).trim(),subtopics:r,selectedIndex:i}}function g(e){return e.replace(/^```[a-z]*\n?/,``).replace(/\n?```$/,``).trim()}function _(e,t,n){let r;try{r=typeof e==`string`?JSON.parse(g(e)):e}catch{let t=typeof e==`string`?e.match(/\{[\s\S]*\}/):null;r=t?JSON.parse(t[0]):{}}let i=Array.isArray(r.levels)?r.levels:Array.isArray(r)?r:[],a=[];for(let e=0;e<Math.min(i.length,n);e++){let n=h(i[e],t+e);n&&a.push(n)}return a}var v=`You are a "Powers of Ten" semantic telescope builder.
|
|
2
2
|
|
|
3
3
|
Given a topic or question, produce EXACTLY 10 zoom levels — level 1 is the broadest possible view of the entire field, level 10 is the finest mechanism or detail.
|
|
4
4
|
|
|
@@ -34,4 +34,4 @@ Return ONLY valid JSON, no markdown fences, no prose:
|
|
|
34
34
|
{ "scaleLabel": "...", "title": "...", "body": "...", "subtopics": [...], "selectedIndex": 0 },
|
|
35
35
|
...9 more objects...
|
|
36
36
|
]
|
|
37
|
-
}`;async function b(e,t,n){let r=await s(t.provider).generate({system:v,history:[],user:e,maxTokens:3200,temperature:.4,format:null,signal:n},t),i;try{i=JSON.parse(g(typeof r.raw==`string`?r.raw:``))}catch{let e=typeof r.raw==`string`?r.raw.match(/\{[\s\S]*\}/):null;i=e?JSON.parse(e[0]):{}}let a=_(i,0,10);if(a.length===0)throw Error(`No zoom levels in model response`);return{rangeStart:String(i.rangeStart??a[0].title),levels:a}}async function x(e,t,n,r,i,a){let o=s(i.provider),c=`Topic: "${e}"\nCurrent level (${t.scaleLabel}): "${t.title}"\nForking into: "${n}"`,l=_((await o.generate({system:y,history:[],user:c,maxTokens:3200,temperature:.4,format:null,signal:a},i)).raw,r+1,10);if(l.length===0)throw Error(`No branch levels in model response`);return l}var S=[`×1`,`×10`,`×100`,`×1k`,`×10k`,`×100k`,`×1M`,`×10M`],C=[{scaleLabel:`THE PLANT`,title:`A plant, quietly eating light`,body:`Every green thing you can see is running the same trick: turning sunlight, air, and water into sugar. The work happens where the light lands — the leaves.`,subtopics:[`The leaves`,`The roots`,`The stem`,`The flowers`],selectedIndex:0},{scaleLabel:`THE LEAF`,title:`One leaf, a solar panel`,body:`A single leaf spreads thin and flat to catch as much sun as it can. Veins pipe water in, tiny pores let air in, and the green comes from the layer inside.`,subtopics:[`The waxy surface`,`The veins`,`The inner tissue`,`The pores`],selectedIndex:2},{scaleLabel:`THE TISSUE`,title:`Cells stacked like bricks of green`,body:`Just under the surface, cells sit shoulder to shoulder, each stuffed with green specks. Gaps between them let carbon dioxide drift in to be caught.`,subtopics:[`Column-shaped cells`,`Air spaces`,`Guard cells`],selectedIndex:0},{scaleLabel:`THE CELL`,title:`Inside a single plant cell`,body:`A stiff wall holds the cell’s shape while everything important floats inside. Dozens of green ovals drift through it — the cell’s own power plants.`,subtopics:[`The cell wall`,`The chloroplasts`,`The nucleus`,`The water sac`],selectedIndex:1},{scaleLabel:`THE CHLOROPLAST`,title:`The green engine`,body:`This oval is where sunlight actually becomes food. Inside it, membranes fold into neat stacks of discs, packed with the pigment that makes the whole thing green.`,subtopics:[`Stacks of discs`,`The fluid around them`,`The outer membranes`],selectedIndex:0},{scaleLabel:`THE MEMBRANE`,title:`Stacked discs that trap the sun`,body:`Each disc is a sheet studded with light-catching machines, stacked like coins to pack in as many as possible. Light hits here and the energy starts to move.`,subtopics:[`The light-catchers`,`The chlorophyll`,`The electron relay`],selectedIndex:1},{scaleLabel:`THE MOLECULE`,title:`A single chlorophyll molecule`,body:`Here is the green itself: a flat ring of carbon cradling one magnesium atom at its centre. That ring is shaped to grab a particle of light and hold its energy.`,subtopics:[`The magnesium core`,`The carbon ring`,`The long tail`],selectedIndex:0},{scaleLabel:`THE PHOTON`,title:`Where light becomes life`,body:`A single packet of sunlight strikes the ring and is gone — swapped for a jolt of energy in one of the molecule’s electrons. That one kick begins everything that feeds the plant, and eventually, us.`,subtopics:[`The strike`,`The excited electron`,`The handoff`],selectedIndex:1}].map((e,t)=>({...e,scale:t,multiplier:S[t]??`×${10**t}`})),w=C.map((e,t)=>({id:t,parentId:t===0?null:t-1,viaSubtopic:t===0?null:C[t-1].subtopics[C[t-1].selectedIndex]??null,level:e,depth:t})),T={query:`How does a leaf make food?`,rangeStart:`All of life`,nodes:w,trunkIds:w.map(e=>e.id)},E=10;function D(e){return`var(--dz-${(e%E+E)%E})`}function O(e,t){let n=[t],r=t;for(;;){let t=r.level.subtopics[r.level.selectedIndex],i=e.find(e=>e.parentId===r.id&&e.viaSubtopic===t);if(!i)break;n.push(i),r=i}return n}function k(e,t,n,r){let i=t[r],a=e.nodes.find(e=>e.id===i);if(!a)return null;let o=n[r]??a.level.selectedIndex,s=a.level.subtopics[o]??a.level.subtopics[0],c=t[r+1];if(c!==void 0&&e.nodes.find(e=>e.id===c)?.viaSubtopic===s)return{kind:`navigate`,navPath:t,chipSels:n,target:r+1};let l=e.nodes.find(e=>e.parentId===i&&e.viaSubtopic===s);if(l){let i=O(e.nodes,l),a=t.slice(0,r+1),o=n.slice(0,r+1);return{kind:`navigate`,navPath:[...a,...i.map(e=>e.id)],chipSels:[...o,...i.map(e=>e.level.selectedIndex)],target:r+1}}return{kind:`branch`,navPath:t.slice(0,r+1),chipSels:n.slice(0,r+1),parentId:i,subtopic:s,parentLevel:a.level,parentDepth:a.depth}}function A(e,t){return e.map((e,n)=>({id:e.id,index:n,multiplier:e.level.multiplier,label:e.level.scaleLabel,title:e.level.title,color:D(e.depth),state:n===t?`current`:n<t?`past`:`future`}))}var j=t(),M=560;function N(e){return typeof window>`u`?``:new URLSearchParams(window.location.hash.split(`?`)[1]??``).get(e)?.trim()??``}function P(e){let t=(0,p.c)(4),{className:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,j.jsx)(`circle`,{cx:`6.5`,cy:`6.5`,r:`4`}),i=(0,j.jsx)(`line`,{x1:`10`,y1:`10`,x2:`14`,y2:`14`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;return t[2]===n?a=t[3]:(a=(0,j.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,className:n,"aria-hidden":!0,children:[r,i]}),t[2]=n,t[3]=a),a}function F(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsxs)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,j.jsx)(`circle`,{cx:`10`,cy:`10`,r:`3.6`}),(0,j.jsx)(`path`,{strokeLinecap:`round`,d:`M10 2.4v1.8M10 15.8v1.8M17.6 10h-1.8M4.2 10H2.4M15.4 4.6l-1.3 1.3M5.9 14.1l-1.3 1.3M15.4 15.4l-1.3-1.3M5.9 5.9L4.6 4.6`})]}),e[0]=t):t=e[0],t}function I(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinejoin:`round`,d:`M16.5 11.4A6.6 6.6 0 1 1 8.6 3.5a5.2 5.2 0 0 0 7.9 7.9Z`})}),e[0]=t):t=e[0],t}function L(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M1.5 5 8 2l6.5 3-6.5 3-6.5-3Z`}),(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M4 6.6v3.2c0 .9 1.8 2.2 4 2.2s4-1.3 4-2.2V6.6`})]}),e[0]=t):t=e[0],t}function R(){let e=(0,p.c)(7),[t,n]=(0,f.useState)(B),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(z)},e[0]=r):r=e[0];let i=r,a=t===`light`?`Switch to dark theme`:`Switch to light theme`,o=t===`light`?`Dark theme`:`Light theme`,s;e[1]===t?s=e[2]:(s=t===`light`?(0,j.jsx)(I,{}):(0,j.jsx)(F,{}),e[1]=t,e[2]=s);let c;return e[3]!==a||e[4]!==o||e[5]!==s?(c=(0,j.jsx)(`button`,{type:`button`,className:`dz-theme-toggle`,onClick:i,"aria-label":a,title:o,children:s}),e[3]=a,e[4]=o,e[5]=s,e[6]=c):c=e[6],c}function z(e){let t=e===`light`?`dark`:`light`;return n(t),i(t),t}function B(){return r()}function V(e){let t=(0,p.c)(19),{query:n,onMakeCourse:r,onNew:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=c(),t[0]=a):a=t[0];let o=a,s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{window.location.hash=o.href},t[1]=s):s=t[1];let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(`button`,{type:`button`,className:`dz-back-btn`,"aria-label":`Back to ${o.label}`,title:`Back to ${o.label}`,onClick:s,children:(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.5 3.5 5 8l4.5 4.5`})})}),t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsxs)(`span`,{className:`dz-wordmark`,children:[`Deep Zoom`,(0,j.jsx)(`span`,{className:`dz-wordmark-sub`,children:`powers of ten`})]}),t[3]=u):u=t[3];let d;t[4]===n?d=t[5]:(d=n&&(0,j.jsx)(`span`,{className:`dz-query`,children:n}),t[4]=n,t[5]=d);let f;t[6]===d?f=t[7]:(f=(0,j.jsxs)(`div`,{className:`dz-topbar-left`,children:[l,u,d]}),t[6]=d,t[7]=f);let m;t[8]===i?m=t[9]:(m=i&&(0,j.jsxs)(`button`,{type:`button`,className:`dz-new-btn`,onClick:i,"aria-label":`Start a new deep zoom`,title:`Start a new deep zoom on a different topic`,children:[(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M8 3.5v9M3.5 8h9`})}),(0,j.jsx)(`span`,{className:`dz-new-btn-label`,children:`New`})]}),t[8]=i,t[9]=m);let h;t[10]===r?h=t[11]:(h=r&&(0,j.jsxs)(`button`,{type:`button`,className:`dz-course-btn`,onClick:r,"aria-label":`Turn this into a course`,title:`Turn this into a course`,children:[(0,j.jsx)(L,{}),(0,j.jsx)(`span`,{className:`dz-course-btn-label`,children:`Turn this into a course`})]}),t[10]=r,t[11]=h);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(R,{}),t[12]=g):g=t[12];let _;t[13]!==m||t[14]!==h?(_=(0,j.jsxs)(`div`,{className:`dz-topbar-right`,children:[m,h,g]}),t[13]=m,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==_||t[17]!==f?(v=(0,j.jsxs)(`header`,{className:`dz-topbar`,children:[f,_]}),t[16]=_,t[17]=f,t[18]=v):v=t[18],v}function H(e){let t=(0,p.c)(7),{navNodes:n,current:r,onJump:i}=e,a=A(n,r),o=(0,f.useRef)(null),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=o.current?.querySelector(`.dz-stop.is-current`);typeof e?.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,inline:`nearest`})},t[0]=s):s=t[0],(0,f.useEffect)(s,[r,a.length]);let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsx)(`span`,{children:`The descent`}),t[1]=c):c=t[1];let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(`span`,{className:`dz-ladder-count-sep`,children:`/`}),t[2]=l):l=t[2];let u;t[3]===i?u=t[4]:(u=e=>(0,j.jsxs)(`button`,{type:`button`,className:`dz-stop is-${e.state}`,style:{"--stop-color":e.color},"aria-current":e.state===`current`?`true`:void 0,"aria-label":`${e.multiplier} · ${e.label} · ${e.title}`,onClick:()=>i(e.index),children:[(0,j.jsx)(`span`,{className:`dz-stop-node`,"aria-hidden":!0}),(0,j.jsx)(`span`,{className:`dz-stop-mult`,children:e.multiplier}),(0,j.jsx)(`span`,{className:`dz-stop-label`,children:e.label})]},e.id),t[3]=i,t[4]=u);let d=a.map(u),m;return t[5]===d?m=t[6]:(m=(0,j.jsx)(`div`,{className:`dz-ladder-track`,ref:o,children:d}),t[5]=d,t[6]=m),(0,j.jsxs)(`nav`,{className:`dz-ladder`,"aria-label":`Scale — jump to any level`,children:[(0,j.jsxs)(`div`,{className:`dz-ladder-cap`,children:[c,(0,j.jsxs)(`span`,{className:`dz-ladder-count`,children:[r+1,l,a.length]})]}),m]})}function U(e){let t=(0,p.c)(66),{node:n,layer:r,dir:i,selectedIndex:a,generating:o,onChipSelect:s,onZoomIn:c}=e,{level:l,depth:u}=n,d;t[0]===u?d=t[1]:(d=D(u),t[0]=u,t[1]=d);let f=d,m=r===`current`,h=l.subtopics[a]??l.subtopics[0],g,_,v,y,b,x,S,C,w,T,E,O;if(t[2]!==f||t[3]!==i||t[4]!==m||t[5]!==r||t[6]!==l.body||t[7]!==l.multiplier||t[8]!==l.scaleLabel||t[9]!==l.subtopics||t[10]!==l.title||t[11]!==s||t[12]!==a){let e=l.subtopics.slice(0,5);g=l.subtopics.length-e.length,w=`dz-level is-${r}`,T=i;let n;t[25]===f?n=t[26]:(n={"--dz-current":f},t[25]=f,t[26]=n),E=n,O=!m;let o;t[27]===l.multiplier?o=t[28]:(o=(0,j.jsx)(`span`,{className:`dz-scale-mult`,children:l.multiplier}),t[27]=l.multiplier,t[28]=o);let c;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsx)(`span`,{className:`dz-scale-tick`}),t[29]=c):c=t[29];let u;t[30]===l.scaleLabel?u=t[31]:(u=(0,j.jsx)(`span`,{className:`dz-scale-label`,children:l.scaleLabel}),t[30]=l.scaleLabel,t[31]=u),t[32]!==o||t[33]!==u?(_=(0,j.jsxs)(`div`,{className:`dz-scale-eyebrow`,children:[o,c,u]}),t[32]=o,t[33]=u,t[34]=_):_=t[34],t[35]===l.title?v=t[36]:(v=(0,j.jsx)(`h2`,{className:`dz-title`,children:l.title}),t[35]=l.title,t[36]=v),t[37]===l.body?y=t[38]:(y=(0,j.jsx)(`p`,{className:`dz-body`,children:l.body}),t[37]=l.body,t[38]=y),b=`dz-chips`,x=`group`,S=`Zoom into a sub-area`;let d;t[39]!==m||t[40]!==s||t[41]!==a?(d=(e,t)=>(0,j.jsxs)(`button`,{type:`button`,tabIndex:m?0:-1,className:`dz-chip`+(t===a?` is-selected`:``),"aria-pressed":t===a,onClick:()=>m&&s(t),children:[(0,j.jsx)(`span`,{className:`dz-chip-dot`,"aria-hidden":!0}),e]},`${e}-${t}`),t[39]=m,t[40]=s,t[41]=a,t[42]=d):d=t[42],C=e.map(d),t[2]=f,t[3]=i,t[4]=m,t[5]=r,t[6]=l.body,t[7]=l.multiplier,t[8]=l.scaleLabel,t[9]=l.subtopics,t[10]=l.title,t[11]=s,t[12]=a,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=x,t[19]=S,t[20]=C,t[21]=w,t[22]=T,t[23]=E,t[24]=O}else g=t[13],_=t[14],v=t[15],y=t[16],b=t[17],x=t[18],S=t[19],C=t[20],w=t[21],T=t[22],E=t[23],O=t[24];let k;t[43]===g?k=t[44]:(k=g>0&&(0,j.jsxs)(`span`,{className:`dz-chip dz-chip-more`,"aria-hidden":!0,children:[`+`,g]}),t[43]=g,t[44]=k);let A;t[45]!==k||t[46]!==b||t[47]!==x||t[48]!==S||t[49]!==C?(A=(0,j.jsxs)(`div`,{className:b,role:x,"aria-label":S,children:[C,k]}),t[45]=k,t[46]=b,t[47]=x,t[48]=S,t[49]=C,t[50]=A):A=t[50];let M;t[51]!==o||t[52]!==m||t[53]!==c||t[54]!==h?(M=o?(0,j.jsxs)(`p`,{className:`dz-zoom is-loading`,children:[(0,j.jsx)(`span`,{className:`dz-zoom-spinner`,"aria-hidden":!0}),`opening ten more levels…`]}):(0,j.jsxs)(`button`,{type:`button`,tabIndex:m?0:-1,className:`dz-zoom`,onClick:()=>m&&c(),children:[(0,j.jsx)(`span`,{className:`dz-zoom-glyph`,"aria-hidden":!0,children:(0,j.jsx)(P,{})}),`Zoom into `,(0,j.jsx)(`strong`,{children:h})]}),t[51]=o,t[52]=m,t[53]=c,t[54]=h,t[55]=M):M=t[55];let N;return t[56]!==_||t[57]!==v||t[58]!==y||t[59]!==A||t[60]!==M||t[61]!==w||t[62]!==T||t[63]!==E||t[64]!==O?(N=(0,j.jsxs)(`article`,{className:w,"data-dir":T,style:E,"aria-hidden":O,children:[_,v,y,A,M]}),t[56]=_,t[57]=v,t[58]=y,t[59]=A,t[60]=M,t[61]=w,t[62]=T,t[63]=E,t[64]=O,t[65]=N):N=t[65],N}function W({tree:e,generatingForId:t,query:n,allowBranchGeneration:r=!0,onBranchRequest:i,onNew:a}){let[o,s]=(0,f.useState)(()=>[...e.trunkIds]),[c,l]=(0,f.useState)(0),[u,p]=(0,f.useState)(()=>e.trunkIds.map(t=>e.nodes.find(e=>e.id===t)?.level.selectedIndex??0)),[m,h]=(0,f.useState)(null),g=(0,f.useRef)(0),_=(0,f.useCallback)((e,t)=>{let n=g.current;e!==n&&(h({from:n,dir:t}),g.current=e,l(e))},[]),v=(0,f.useCallback)(e=>{let t=g.current,n=Math.max(0,Math.min(o.length-1,e));n!==t&&_(n,n>t?`in`:`out`)},[o.length,_]),y=(0,f.useRef)(e.nodes.length);(0,f.useEffect)(()=>{if(e.nodes.length===y.current||(y.current=e.nodes.length,o.length===0))return;let t=o[o.length-1],n=e.nodes.find(e=>e.id===t);if(!n)return;let r=u[o.length-1]??n.level.selectedIndex,i=n.level.subtopics[r],a=e.nodes.find(e=>e.parentId===t&&e.viaSubtopic===i);if(!a||o.includes(a.id))return;let c=O(e.nodes,a),l=o.length;s(e=>[...e,...c.map(e=>e.id)]),p(e=>[...e,...c.map(e=>e.level.selectedIndex)]),_(l,`in`)},[e.nodes.length]);let b=(0,f.useMemo)(()=>new Map(e.nodes.map(e=>[e.id,e])),[e.nodes]),x=o.map(e=>b.get(e)).filter(Boolean),S=(0,f.useCallback)(n=>{let a=k(e,o,u,n);if(a){if(a.kind===`navigate`){s(a.navPath),p(a.chipSels),_(a.target,`in`);return}r&&(s(a.navPath),p(a.chipSels),t!==a.parentId&&i(a.parentId,a.subtopic,a.parentLevel,a.parentDepth))}},[e,o,u,_,t,r,i]);(0,f.useEffect)(()=>{let e=e=>{let t=e.target.tagName;if(!(t===`INPUT`||t===`TEXTAREA`))switch(e.key){case`ArrowRight`:case`ArrowDown`:case` `:e.preventDefault(),c<o.length-1?v(c+1):S(c);break;case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),v(c-1);break;case`Escape`:e.preventDefault(),v(0);break}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c,o.length,v,S]),(0,f.useEffect)(()=>{if(m===null)return;let e=window.setTimeout(()=>h(null),M);return()=>window.clearTimeout(e)},[m]);let C=(0,f.useCallback)((e,t)=>{p(n=>{let r=[...n];return r[e]=t,r})},[]),w=x[c],T=D(w?.depth??0),E=c===o.length-1&&t===o[c],A=m?.dir??`in`,N=m?x[m.from]:void 0;return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(V,{query:n,onMakeCourse:(0,f.useCallback)(()=>{d(n),window.location.hash=`#/courses`},[n]),onNew:a}),(0,j.jsxs)(`div`,{className:`dz-stage`,children:[(0,j.jsx)(H,{navNodes:x,current:c,onJump:v}),(0,j.jsxs)(`div`,{className:`dz-reading`,style:{"--dz-current":T},children:[(0,j.jsx)(`div`,{className:`dz-field`,"aria-hidden":!0}),(0,j.jsxs)(`div`,{className:`dz-levels`,children:[N&&(0,j.jsx)(U,{node:N,layer:`exiting`,dir:A,selectedIndex:u[m?.from??0]??N.level.selectedIndex,generating:!1,onChipSelect:()=>{},onZoomIn:()=>{}},`x${m?.from}`),w&&(0,j.jsx)(U,{node:w,layer:`current`,dir:A,selectedIndex:u[c]??w.level.selectedIndex,generating:E,onChipSelect:e=>C(c,e),onZoomIn:()=>S(c)},`c${c}`)]})]})]})]})}var G=[`How does my body make energy?`,`What is quantum entanglement?`,`How does memory work?`,`What is photosynthesis?`,`How do vaccines work?`,`What is machine learning?`];function K(e){let t=(0,p.c)(35),{onSubmit:n,seed:r}=e,[i,a]=(0,f.useState)(r??``),s=(0,f.useRef)(null),c,l;t[0]===r?(c=t[1],l=t[2]):(c=()=>{s.current?.focus(),r&&s.current?.select()},l=[r],t[0]=r,t[1]=c,t[2]=l),(0,f.useEffect)(c,l);let u;t[3]!==n||t[4]!==i?(u=e=>{e.preventDefault(),i.trim()&&n(i.trim())},t[3]=n,t[4]=i,t[5]=u):u=t[5];let d=u,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,j.jsx)(V,{}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsxs)(`p`,{className:`dz-start-eyebrow`,children:[(0,j.jsx)(`span`,{className:`dz-start-eyebrow-dot`,"aria-hidden":!0}),`×1 → ×1,000,000,000`]}),t[7]=h):h=t[7];let g,_,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsxs)(`h1`,{className:`dz-start-title`,children:[`Zoom into anything,`,(0,j.jsx)(`br`,{}),`one power of ten at a time.`]}),_=(0,j.jsx)(`p`,{className:`dz-start-sub`,children:`Ten nested scales, from the broadest field down to the finest mechanism. Fork at any level to fall down a different path.`}),v=(0,j.jsx)(o,{kind:`learning`}),t[8]=g,t[9]=_,t[10]=v):(g=t[8],_=t[9],v=t[10]);let y;t[11]===r?y=t[12]:(y=r&&(0,j.jsx)(`p`,{className:`dz-start-carry`,role:`status`,children:`Carried over from your conversation — zoom into it, or ask about anything else.`}),t[11]=r,t[12]=y);let b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,j.jsx)(P,{className:`dz-start-composer-icon`}),t[13]=b):b=t[13];let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>a(e.target.value),t[14]=x):x=t[14];let S;t[15]===i?S=t[16]:(S=(0,j.jsx)(`input`,{ref:s,className:`dz-start-input`,type:`text`,placeholder:`how does my body make energy?`,value:i,"aria-label":`Topic to zoom into`,onChange:x}),t[15]=i,t[16]=S);let C;t[17]===i?C=t[18]:(C=i.trim(),t[17]=i,t[18]=C);let w=!C,T;t[19]===w?T=t[20]:(T=(0,j.jsx)(`button`,{type:`submit`,className:`dz-start-btn`,disabled:w,children:`Zoom in`}),t[19]=w,t[20]=T);let E;t[21]!==S||t[22]!==T?(E=(0,j.jsxs)(`div`,{className:`dz-start-composer`,children:[b,S,T]}),t[21]=S,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==d||t[25]!==E?(D=(0,j.jsx)(`form`,{className:`dz-start-form`,onSubmit:d,children:E}),t[24]=d,t[25]=E,t[26]=D):D=t[26];let O;t[27]===n?O=t[28]:(O=G.map(e=>(0,j.jsx)(`button`,{type:`button`,className:`dz-start-chip`,onClick:()=>n(e),children:e},e)),t[27]=n,t[28]=O);let k;t[29]===O?k=t[30]:(k=(0,j.jsx)(`div`,{className:`dz-start-chips`,children:O}),t[29]=O,t[30]=k);let A;return t[31]!==D||t[32]!==k||t[33]!==y?(A=(0,j.jsxs)(`div`,{className:`dz-start`,children:[m,(0,j.jsxs)(`div`,{className:`dz-start-body`,children:[h,g,_,v,y,D,k]})]}),t[31]=D,t[32]=k,t[33]=y,t[34]=A):A=t[34],A}function q(e){let t=(0,p.c)(8),{query:n}=e,r;t[0]===n?r=t[1]:(r=(0,j.jsx)(V,{query:n}),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsxs)(`div`,{className:`dz-loading-lens`,"aria-hidden":!0,children:[(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{})]}),t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=(0,j.jsxs)(`div`,{className:`dz-loading`,children:[i,(0,j.jsxs)(`span`,{className:`dz-loading-text`,children:[`Building ten scales of “`,n,`”…`]})]}),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,j.jsxs)(`div`,{className:`dz-loading-screen`,children:[r,a]}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function J(e){let t=(0,p.c)(9),{message:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsx)(V,{}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,j.jsx)(`div`,{className:`dz-error-title`,children:`Couldn't build the zoom`}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,j.jsx)(`div`,{className:`dz-error-body`,children:n}),t[2]=n,t[3]=o);let s;t[4]===r?s=t[5]:(s=(0,j.jsx)(`button`,{type:`button`,className:`dz-start-btn`,onClick:r,children:`Try another topic`}),t[4]=r,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,j.jsxs)(`div`,{className:`dz-loading-screen`,children:[i,(0,j.jsxs)(`div`,{className:`dz-error`,children:[a,o,s]})]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Y(){(0,f.useEffect)(()=>n(r()),[]);let[e,t]=(0,f.useState)(``),[i,a]=(0,f.useState)(null),[o,s]=(0,f.useState)(!1),[c,d]=(0,f.useState)(null),[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(N(`seed`)),_=(0,f.useRef)(0),v=(0,f.useRef)(null),y=(0,f.useRef)(``),S=(0,f.useRef)(null),C=(0,f.useCallback)(async e=>{S.current?.abort();let n=new AbortController;S.current=n,y.current=e,_.current=0,t(e),a(null),d(null),m(null),s(!0);try{let t=l(u());v.current=t;let{rangeStart:r,levels:i}=await b(e,t,n.signal);if(n.signal.aborted)return;let o=[],c=[],d=null;for(let e=0;e<i.length;e++){let t=_.current++,n=d===null?null:o.find(e=>e.id===d),r=n?n.level.subtopics[n.level.selectedIndex]??null:null;o.push({id:t,parentId:d,viaSubtopic:r,level:i[e],depth:e}),c.push(t),d=t}a({query:e,rangeStart:r,nodes:o,trunkIds:c}),s(!1)}catch(e){n.signal.aborted||(d(e instanceof Error?e.message:`Something went wrong.`),s(!1))}},[]),w=(0,f.useCallback)(async(e,t,n,r)=>{let i=v.current??l(u());S.current?.abort();let o=new AbortController;S.current=o,m(e);try{let s=await x(y.current,n,t,r,i,o.signal);if(o.signal.aborted)return;a(n=>{if(!n)return n;let i=[...n.nodes],a=e;for(let e=0;e<s.length;e++){let n=_.current++,o=e===0?t:s[e-1].subtopics[s[e-1].selectedIndex];i.push({id:n,parentId:a,viaSubtopic:o,level:s[e],depth:r+1+e}),a=n}return{...n,nodes:i}}),m(null)}catch{o.signal.aborted||m(null)}},[]),E=(0,f.useCallback)(()=>{S.current?.abort(),t(T.query),a(T),d(null),s(!1)},[]);(0,f.useEffect)(()=>{let e=new URLSearchParams(window.location.hash.split(`?`)[1]??``);if(e.get(`demo`)===`1`){E();return}let t=e.get(`q`)?.trim()??``;return t&&C(t),()=>S.current?.abort()},[]),(0,f.useEffect)(()=>{let n=()=>{let n=window.location.hash;if(!n.startsWith(`#/deepzoom`))return;let r=new URLSearchParams(n.split(`?`)[1]??``);if(r.get(`demo`)===`1`){e!==T.query&&E();return}let i=r.get(`q`)?.trim()??``;if(i&&i!==e)C(i);else if(!i){let e=r.get(`seed`)?.trim()??``;S.current?.abort(),t(``),a(null),d(null),g(e)}};return window.addEventListener(`hashchange`,n),()=>window.removeEventListener(`hashchange`,n)},[e,C,E]);let D=(0,f.useCallback)(()=>{S.current?.abort(),window.location.hash!==`#/deepzoom`&&(window.location.hash=`#/deepzoom`),d(null),g(``),t(``),a(null)},[]),O=(0,f.useCallback)(()=>{d(null),t(``),a(null)},[]),k=new URLSearchParams(window.location.hash.split(`?`)[1]??``).get(`demo`)===`1`;return(0,j.jsxs)(`div`,{className:`deepzoom-app mavea-app`,children:[!e&&!o&&!i&&!c&&(0,j.jsx)(K,{onSubmit:e=>void C(e),seed:h}),o&&(0,j.jsx)(q,{query:e}),c&&!o&&(0,j.jsx)(J,{message:c,onRetry:O}),i&&!o&&(0,j.jsx)(W,{tree:i,query:e,generatingForId:p,allowBranchGeneration:!k,onBranchRequest:w,onNew:D})]})}export{Y as DeepZoomApp};
|
|
37
|
+
}`;async function b(e,t,n){let r=await c(t.provider).generate({system:v,history:[],user:e,maxTokens:3200,temperature:.4,format:null,signal:n},t),i;try{i=JSON.parse(g(typeof r.raw==`string`?r.raw:``))}catch{let e=typeof r.raw==`string`?r.raw.match(/\{[\s\S]*\}/):null;i=e?JSON.parse(e[0]):{}}let a=_(i,0,10);if(a.length===0)throw Error(`No zoom levels in model response`);return{rangeStart:String(i.rangeStart??a[0].title),levels:a}}async function x(e,t,n,r,i,a){let o=c(i.provider),s=`Topic: "${e}"\nCurrent level (${t.scaleLabel}): "${t.title}"\nForking into: "${n}"`,l=_((await o.generate({system:y,history:[],user:s,maxTokens:3200,temperature:.4,format:null,signal:a},i)).raw,r+1,10);if(l.length===0)throw Error(`No branch levels in model response`);return l}var S=[`×1`,`×10`,`×100`,`×1k`,`×10k`,`×100k`,`×1M`,`×10M`],C=[{scaleLabel:`THE PLANT`,title:`A plant, quietly eating light`,body:`Every green thing you can see is running the same trick: turning sunlight, air, and water into sugar. The work happens where the light lands — the leaves.`,subtopics:[`The leaves`,`The roots`,`The stem`,`The flowers`],selectedIndex:0},{scaleLabel:`THE LEAF`,title:`One leaf, a solar panel`,body:`A single leaf spreads thin and flat to catch as much sun as it can. Veins pipe water in, tiny pores let air in, and the green comes from the layer inside.`,subtopics:[`The waxy surface`,`The veins`,`The inner tissue`,`The pores`],selectedIndex:2},{scaleLabel:`THE TISSUE`,title:`Cells stacked like bricks of green`,body:`Just under the surface, cells sit shoulder to shoulder, each stuffed with green specks. Gaps between them let carbon dioxide drift in to be caught.`,subtopics:[`Column-shaped cells`,`Air spaces`,`Guard cells`],selectedIndex:0},{scaleLabel:`THE CELL`,title:`Inside a single plant cell`,body:`A stiff wall holds the cell’s shape while everything important floats inside. Dozens of green ovals drift through it — the cell’s own power plants.`,subtopics:[`The cell wall`,`The chloroplasts`,`The nucleus`,`The water sac`],selectedIndex:1},{scaleLabel:`THE CHLOROPLAST`,title:`The green engine`,body:`This oval is where sunlight actually becomes food. Inside it, membranes fold into neat stacks of discs, packed with the pigment that makes the whole thing green.`,subtopics:[`Stacks of discs`,`The fluid around them`,`The outer membranes`],selectedIndex:0},{scaleLabel:`THE MEMBRANE`,title:`Stacked discs that trap the sun`,body:`Each disc is a sheet studded with light-catching machines, stacked like coins to pack in as many as possible. Light hits here and the energy starts to move.`,subtopics:[`The light-catchers`,`The chlorophyll`,`The electron relay`],selectedIndex:1},{scaleLabel:`THE MOLECULE`,title:`A single chlorophyll molecule`,body:`Here is the green itself: a flat ring of carbon cradling one magnesium atom at its centre. That ring is shaped to grab a particle of light and hold its energy.`,subtopics:[`The magnesium core`,`The carbon ring`,`The long tail`],selectedIndex:0},{scaleLabel:`THE PHOTON`,title:`Where light becomes life`,body:`A single packet of sunlight strikes the ring and is gone — swapped for a jolt of energy in one of the molecule’s electrons. That one kick begins everything that feeds the plant, and eventually, us.`,subtopics:[`The strike`,`The excited electron`,`The handoff`],selectedIndex:1}].map((e,t)=>({...e,scale:t,multiplier:S[t]??`×${10**t}`})),w=C.map((e,t)=>({id:t,parentId:t===0?null:t-1,viaSubtopic:t===0?null:C[t-1].subtopics[C[t-1].selectedIndex]??null,level:e,depth:t})),T={query:`How does a leaf make food?`,rangeStart:`All of life`,nodes:w,trunkIds:w.map(e=>e.id)},E=10;function D(e){return`var(--dz-${(e%E+E)%E})`}function O(e,t){let n=[t],r=t;for(;;){let t=r.level.subtopics[r.level.selectedIndex],i=e.find(e=>e.parentId===r.id&&e.viaSubtopic===t);if(!i)break;n.push(i),r=i}return n}function k(e,t,n,r){let i=t[r],a=e.nodes.find(e=>e.id===i);if(!a)return null;let o=n[r]??a.level.selectedIndex,s=a.level.subtopics[o]??a.level.subtopics[0],c=t[r+1];if(c!==void 0&&e.nodes.find(e=>e.id===c)?.viaSubtopic===s)return{kind:`navigate`,navPath:t,chipSels:n,target:r+1};let l=e.nodes.find(e=>e.parentId===i&&e.viaSubtopic===s);if(l){let i=O(e.nodes,l),a=t.slice(0,r+1),o=n.slice(0,r+1);return{kind:`navigate`,navPath:[...a,...i.map(e=>e.id)],chipSels:[...o,...i.map(e=>e.level.selectedIndex)],target:r+1}}return{kind:`branch`,navPath:t.slice(0,r+1),chipSels:n.slice(0,r+1),parentId:i,subtopic:s,parentLevel:a.level,parentDepth:a.depth}}function A(e,t){return e.map((e,n)=>({id:e.id,index:n,multiplier:e.level.multiplier,label:e.level.scaleLabel,title:e.level.title,color:D(e.depth),state:n===t?`current`:n<t?`past`:`future`}))}var j=n(),M=560;function N(e){return typeof window>`u`?``:new URLSearchParams(window.location.hash.split(`?`)[1]??``).get(e)?.trim()??``}function P(e){let t=(0,p.c)(4),{className:n}=e,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,j.jsx)(`circle`,{cx:`6.5`,cy:`6.5`,r:`4`}),i=(0,j.jsx)(`line`,{x1:`10`,y1:`10`,x2:`14`,y2:`14`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;return t[2]===n?a=t[3]:(a=(0,j.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,className:n,"aria-hidden":!0,children:[r,i]}),t[2]=n,t[3]=a),a}function F(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsxs)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,j.jsx)(`circle`,{cx:`10`,cy:`10`,r:`3.6`}),(0,j.jsx)(`path`,{strokeLinecap:`round`,d:`M10 2.4v1.8M10 15.8v1.8M17.6 10h-1.8M4.2 10H2.4M15.4 4.6l-1.3 1.3M5.9 14.1l-1.3 1.3M15.4 15.4l-1.3-1.3M5.9 5.9L4.6 4.6`})]}),e[0]=t):t=e[0],t}function I(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinejoin:`round`,d:`M16.5 11.4A6.6 6.6 0 1 1 8.6 3.5a5.2 5.2 0 0 0 7.9 7.9Z`})}),e[0]=t):t=e[0],t}function L(){let e=(0,p.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsxs)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.6,"aria-hidden":!0,children:[(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M1.5 5 8 2l6.5 3-6.5 3-6.5-3Z`}),(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M4 6.6v3.2c0 .9 1.8 2.2 4 2.2s4-1.3 4-2.2V6.6`})]}),e[0]=t):t=e[0],t}function R(){let e=(0,p.c)(7),[t,n]=(0,f.useState)(B),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{n(z)},e[0]=r):r=e[0];let i=r,a=t===`light`?`Switch to dark theme`:`Switch to light theme`,o=t===`light`?`Dark theme`:`Light theme`,s;e[1]===t?s=e[2]:(s=t===`light`?(0,j.jsx)(I,{}):(0,j.jsx)(F,{}),e[1]=t,e[2]=s);let c;return e[3]!==a||e[4]!==o||e[5]!==s?(c=(0,j.jsx)(`button`,{type:`button`,className:`dz-theme-toggle`,onClick:i,"aria-label":a,title:o,children:s}),e[3]=a,e[4]=o,e[5]=s,e[6]=c):c=e[6],c}function z(e){let t=e===`light`?`dark`:`light`;return a(t),i(t),t}function B(){return r()}function V(e){let t=(0,p.c)(19),{query:n,onMakeCourse:r,onNew:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=s(),t[0]=a):a=t[0];let o=a,c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{window.location.hash=o.href},t[1]=c):c=t[1];let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(`button`,{type:`button`,className:`dz-back-btn`,"aria-label":`Back to ${o.label}`,title:`Back to ${o.label}`,onClick:c,children:(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.5 3.5 5 8l4.5 4.5`})})}),t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsxs)(`span`,{className:`dz-wordmark`,children:[`Deep Zoom`,(0,j.jsx)(`span`,{className:`dz-wordmark-sub`,children:`powers of ten`})]}),t[3]=u):u=t[3];let d;t[4]===n?d=t[5]:(d=n&&(0,j.jsx)(`span`,{className:`dz-query`,children:n}),t[4]=n,t[5]=d);let f;t[6]===d?f=t[7]:(f=(0,j.jsxs)(`div`,{className:`dz-topbar-left`,children:[l,u,d]}),t[6]=d,t[7]=f);let m;t[8]===i?m=t[9]:(m=i&&(0,j.jsxs)(`button`,{type:`button`,className:`dz-new-btn`,onClick:i,"aria-label":`Start a new deep zoom`,title:`Start a new deep zoom on a different topic`,children:[(0,j.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,"aria-hidden":!0,children:(0,j.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M8 3.5v9M3.5 8h9`})}),(0,j.jsx)(`span`,{className:`dz-new-btn-label`,children:`New`})]}),t[8]=i,t[9]=m);let h;t[10]===r?h=t[11]:(h=r&&(0,j.jsxs)(`button`,{type:`button`,className:`dz-course-btn`,onClick:r,"aria-label":`Turn this into a course`,title:`Turn this into a course`,children:[(0,j.jsx)(L,{}),(0,j.jsx)(`span`,{className:`dz-course-btn-label`,children:`Turn this into a course`})]}),t[10]=r,t[11]=h);let g;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(R,{}),t[12]=g):g=t[12];let _;t[13]!==m||t[14]!==h?(_=(0,j.jsxs)(`div`,{className:`dz-topbar-right`,children:[m,h,g]}),t[13]=m,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==_||t[17]!==f?(v=(0,j.jsxs)(`header`,{className:`dz-topbar`,children:[f,_]}),t[16]=_,t[17]=f,t[18]=v):v=t[18],v}function H(e){let t=(0,p.c)(7),{navNodes:n,current:r,onJump:i}=e,a=A(n,r),o=(0,f.useRef)(null),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=o.current?.querySelector(`.dz-stop.is-current`);typeof e?.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,inline:`nearest`})},t[0]=s):s=t[0],(0,f.useEffect)(s,[r,a.length]);let c;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsx)(`span`,{children:`The descent`}),t[1]=c):c=t[1];let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(`span`,{className:`dz-ladder-count-sep`,children:`/`}),t[2]=l):l=t[2];let u;t[3]===i?u=t[4]:(u=e=>(0,j.jsxs)(`button`,{type:`button`,className:`dz-stop is-${e.state}`,style:{"--stop-color":e.color},"aria-current":e.state===`current`?`true`:void 0,"aria-label":`${e.multiplier} · ${e.label} · ${e.title}`,onClick:()=>i(e.index),children:[(0,j.jsx)(`span`,{className:`dz-stop-node`,"aria-hidden":!0}),(0,j.jsx)(`span`,{className:`dz-stop-mult`,children:e.multiplier}),(0,j.jsx)(`span`,{className:`dz-stop-label`,children:e.label})]},e.id),t[3]=i,t[4]=u);let d=a.map(u),m;return t[5]===d?m=t[6]:(m=(0,j.jsx)(`div`,{className:`dz-ladder-track`,ref:o,children:d}),t[5]=d,t[6]=m),(0,j.jsxs)(`nav`,{className:`dz-ladder`,"aria-label":`Scale — jump to any level`,children:[(0,j.jsxs)(`div`,{className:`dz-ladder-cap`,children:[c,(0,j.jsxs)(`span`,{className:`dz-ladder-count`,children:[r+1,l,a.length]})]}),m]})}function U(e){let t=(0,p.c)(66),{node:n,layer:r,dir:i,selectedIndex:a,generating:o,onChipSelect:s,onZoomIn:c}=e,{level:l,depth:u}=n,d;t[0]===u?d=t[1]:(d=D(u),t[0]=u,t[1]=d);let f=d,m=r===`current`,h=l.subtopics[a]??l.subtopics[0],g,_,v,y,b,x,S,C,w,T,E,O;if(t[2]!==f||t[3]!==i||t[4]!==m||t[5]!==r||t[6]!==l.body||t[7]!==l.multiplier||t[8]!==l.scaleLabel||t[9]!==l.subtopics||t[10]!==l.title||t[11]!==s||t[12]!==a){let e=l.subtopics.slice(0,5);g=l.subtopics.length-e.length,w=`dz-level is-${r}`,T=i;let n;t[25]===f?n=t[26]:(n={"--dz-current":f},t[25]=f,t[26]=n),E=n,O=!m;let o;t[27]===l.multiplier?o=t[28]:(o=(0,j.jsx)(`span`,{className:`dz-scale-mult`,children:l.multiplier}),t[27]=l.multiplier,t[28]=o);let c;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsx)(`span`,{className:`dz-scale-tick`}),t[29]=c):c=t[29];let u;t[30]===l.scaleLabel?u=t[31]:(u=(0,j.jsx)(`span`,{className:`dz-scale-label`,children:l.scaleLabel}),t[30]=l.scaleLabel,t[31]=u),t[32]!==o||t[33]!==u?(_=(0,j.jsxs)(`div`,{className:`dz-scale-eyebrow`,children:[o,c,u]}),t[32]=o,t[33]=u,t[34]=_):_=t[34],t[35]===l.title?v=t[36]:(v=(0,j.jsx)(`h2`,{className:`dz-title`,children:l.title}),t[35]=l.title,t[36]=v),t[37]===l.body?y=t[38]:(y=(0,j.jsx)(`p`,{className:`dz-body`,children:l.body}),t[37]=l.body,t[38]=y),b=`dz-chips`,x=`group`,S=`Zoom into a sub-area`;let d;t[39]!==m||t[40]!==s||t[41]!==a?(d=(e,t)=>(0,j.jsxs)(`button`,{type:`button`,tabIndex:m?0:-1,className:`dz-chip`+(t===a?` is-selected`:``),"aria-pressed":t===a,onClick:()=>m&&s(t),children:[(0,j.jsx)(`span`,{className:`dz-chip-dot`,"aria-hidden":!0}),e]},`${e}-${t}`),t[39]=m,t[40]=s,t[41]=a,t[42]=d):d=t[42],C=e.map(d),t[2]=f,t[3]=i,t[4]=m,t[5]=r,t[6]=l.body,t[7]=l.multiplier,t[8]=l.scaleLabel,t[9]=l.subtopics,t[10]=l.title,t[11]=s,t[12]=a,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=x,t[19]=S,t[20]=C,t[21]=w,t[22]=T,t[23]=E,t[24]=O}else g=t[13],_=t[14],v=t[15],y=t[16],b=t[17],x=t[18],S=t[19],C=t[20],w=t[21],T=t[22],E=t[23],O=t[24];let k;t[43]===g?k=t[44]:(k=g>0&&(0,j.jsxs)(`span`,{className:`dz-chip dz-chip-more`,"aria-hidden":!0,children:[`+`,g]}),t[43]=g,t[44]=k);let A;t[45]!==k||t[46]!==b||t[47]!==x||t[48]!==S||t[49]!==C?(A=(0,j.jsxs)(`div`,{className:b,role:x,"aria-label":S,children:[C,k]}),t[45]=k,t[46]=b,t[47]=x,t[48]=S,t[49]=C,t[50]=A):A=t[50];let M;t[51]!==o||t[52]!==m||t[53]!==c||t[54]!==h?(M=o?(0,j.jsxs)(`p`,{className:`dz-zoom is-loading`,children:[(0,j.jsx)(`span`,{className:`dz-zoom-spinner`,"aria-hidden":!0}),`opening ten more levels…`]}):(0,j.jsxs)(`button`,{type:`button`,tabIndex:m?0:-1,className:`dz-zoom`,onClick:()=>m&&c(),children:[(0,j.jsx)(`span`,{className:`dz-zoom-glyph`,"aria-hidden":!0,children:(0,j.jsx)(P,{})}),`Zoom into `,(0,j.jsx)(`strong`,{children:h})]}),t[51]=o,t[52]=m,t[53]=c,t[54]=h,t[55]=M):M=t[55];let N;return t[56]!==_||t[57]!==v||t[58]!==y||t[59]!==A||t[60]!==M||t[61]!==w||t[62]!==T||t[63]!==E||t[64]!==O?(N=(0,j.jsxs)(`article`,{className:w,"data-dir":T,style:E,"aria-hidden":O,children:[_,v,y,A,M]}),t[56]=_,t[57]=v,t[58]=y,t[59]=A,t[60]=M,t[61]=w,t[62]=T,t[63]=E,t[64]=O,t[65]=N):N=t[65],N}function W({tree:e,generatingForId:t,query:n,allowBranchGeneration:r=!0,onBranchRequest:i,onNew:a}){let[o,s]=(0,f.useState)(()=>[...e.trunkIds]),[c,l]=(0,f.useState)(0),[u,p]=(0,f.useState)(()=>e.trunkIds.map(t=>e.nodes.find(e=>e.id===t)?.level.selectedIndex??0)),[m,h]=(0,f.useState)(null),g=(0,f.useRef)(0),_=(0,f.useCallback)((e,t)=>{let n=g.current;e!==n&&(h({from:n,dir:t}),g.current=e,l(e))},[]),v=(0,f.useCallback)(e=>{let t=g.current,n=Math.max(0,Math.min(o.length-1,e));n!==t&&_(n,n>t?`in`:`out`)},[o.length,_]),y=(0,f.useRef)(e.nodes.length);(0,f.useEffect)(()=>{if(e.nodes.length===y.current||(y.current=e.nodes.length,o.length===0))return;let t=o[o.length-1],n=e.nodes.find(e=>e.id===t);if(!n)return;let r=u[o.length-1]??n.level.selectedIndex,i=n.level.subtopics[r],a=e.nodes.find(e=>e.parentId===t&&e.viaSubtopic===i);if(!a||o.includes(a.id))return;let c=O(e.nodes,a),l=o.length;s(e=>[...e,...c.map(e=>e.id)]),p(e=>[...e,...c.map(e=>e.level.selectedIndex)]),_(l,`in`)},[e.nodes.length]);let b=(0,f.useMemo)(()=>new Map(e.nodes.map(e=>[e.id,e])),[e.nodes]),x=o.map(e=>b.get(e)).filter(Boolean),S=(0,f.useCallback)(n=>{let a=k(e,o,u,n);if(a){if(a.kind===`navigate`){s(a.navPath),p(a.chipSels),_(a.target,`in`);return}r&&(s(a.navPath),p(a.chipSels),t!==a.parentId&&i(a.parentId,a.subtopic,a.parentLevel,a.parentDepth))}},[e,o,u,_,t,r,i]);(0,f.useEffect)(()=>{let e=e=>{let t=e.target.tagName;if(t!==`INPUT`&&t!==`TEXTAREA`)switch(e.key){case`ArrowRight`:case`ArrowDown`:case` `:e.preventDefault(),c<o.length-1?v(c+1):S(c);break;case`ArrowLeft`:case`ArrowUp`:e.preventDefault(),v(c-1);break;case`Escape`:e.preventDefault(),v(0)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c,o.length,v,S]),(0,f.useEffect)(()=>{if(m===null)return;let e=window.setTimeout(()=>h(null),M);return()=>window.clearTimeout(e)},[m]);let C=(0,f.useCallback)((e,t)=>{p(n=>{let r=[...n];return r[e]=t,r})},[]),w=x[c],T=D(w?.depth??0),E=c===o.length-1&&t===o[c],A=m?.dir??`in`,N=m?x[m.from]:void 0,P=(0,f.useCallback)(()=>{d(n),window.location.hash=`#/courses`},[n]);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(V,{query:n,onMakeCourse:P,onNew:a}),(0,j.jsxs)(`div`,{className:`dz-stage`,children:[(0,j.jsx)(H,{navNodes:x,current:c,onJump:v}),(0,j.jsxs)(`div`,{className:`dz-reading`,style:{"--dz-current":T},children:[(0,j.jsx)(`div`,{className:`dz-field`,"aria-hidden":!0}),(0,j.jsxs)(`div`,{className:`dz-levels`,children:[N&&(0,j.jsx)(U,{node:N,layer:`exiting`,dir:A,selectedIndex:u[m?.from??0]??N.level.selectedIndex,generating:!1,onChipSelect:()=>{},onZoomIn:()=>{}},`x${m?.from}`),w&&(0,j.jsx)(U,{node:w,layer:`current`,dir:A,selectedIndex:u[c]??w.level.selectedIndex,generating:E,onChipSelect:e=>C(c,e),onZoomIn:()=>S(c)},`c${c}`)]})]})]})]})}var G=[`How does my body make energy?`,`What is quantum entanglement?`,`How does memory work?`,`What is photosynthesis?`,`How do vaccines work?`,`What is machine learning?`];function K(e){let t=(0,p.c)(35),{onSubmit:n,seed:r}=e,[i,a]=(0,f.useState)(r??``),s=(0,f.useRef)(null),c,l;t[0]===r?(c=t[1],l=t[2]):(c=()=>{s.current?.focus(),r&&s.current?.select()},l=[r],t[0]=r,t[1]=c,t[2]=l),(0,f.useEffect)(c,l);let u;t[3]!==n||t[4]!==i?(u=e=>{e.preventDefault(),i.trim()&&n(i.trim())},t[3]=n,t[4]=i,t[5]=u):u=t[5];let d=u,m;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,j.jsx)(V,{}),t[6]=m):m=t[6];let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsxs)(`p`,{className:`dz-start-eyebrow`,children:[(0,j.jsx)(`span`,{className:`dz-start-eyebrow-dot`,"aria-hidden":!0}),`×1 → ×1,000,000,000`]}),t[7]=h):h=t[7];let g,_,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsxs)(`h1`,{className:`dz-start-title`,children:[`Zoom into anything,`,(0,j.jsx)(`br`,{}),`one power of ten at a time.`]}),_=(0,j.jsx)(`p`,{className:`dz-start-sub`,children:`Ten nested scales, from the broadest field down to the finest mechanism. Fork at any level to fall down a different path.`}),v=(0,j.jsx)(o,{kind:`learning`}),t[8]=g,t[9]=_,t[10]=v):(g=t[8],_=t[9],v=t[10]);let y;t[11]===r?y=t[12]:(y=r&&(0,j.jsx)(`p`,{className:`dz-start-carry`,role:`status`,children:`Carried over from your conversation — zoom into it, or ask about anything else.`}),t[11]=r,t[12]=y);let b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,j.jsx)(P,{className:`dz-start-composer-icon`}),t[13]=b):b=t[13];let x;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>a(e.target.value),t[14]=x):x=t[14];let S;t[15]===i?S=t[16]:(S=(0,j.jsx)(`input`,{ref:s,className:`dz-start-input`,type:`text`,placeholder:`how does my body make energy?`,value:i,"aria-label":`Topic to zoom into`,onChange:x}),t[15]=i,t[16]=S);let C;t[17]===i?C=t[18]:(C=i.trim(),t[17]=i,t[18]=C);let w=!C,T;t[19]===w?T=t[20]:(T=(0,j.jsx)(`button`,{type:`submit`,className:`dz-start-btn`,disabled:w,children:`Zoom in`}),t[19]=w,t[20]=T);let E;t[21]!==S||t[22]!==T?(E=(0,j.jsxs)(`div`,{className:`dz-start-composer`,children:[b,S,T]}),t[21]=S,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==d||t[25]!==E?(D=(0,j.jsx)(`form`,{className:`dz-start-form`,onSubmit:d,children:E}),t[24]=d,t[25]=E,t[26]=D):D=t[26];let O;t[27]===n?O=t[28]:(O=G.map(e=>(0,j.jsx)(`button`,{type:`button`,className:`dz-start-chip`,onClick:()=>n(e),children:e},e)),t[27]=n,t[28]=O);let k;t[29]===O?k=t[30]:(k=(0,j.jsx)(`div`,{className:`dz-start-chips`,children:O}),t[29]=O,t[30]=k);let A;return t[31]!==D||t[32]!==k||t[33]!==y?(A=(0,j.jsxs)(`div`,{className:`dz-start`,children:[m,(0,j.jsxs)(`div`,{className:`dz-start-body`,children:[h,g,_,v,y,D,k]})]}),t[31]=D,t[32]=k,t[33]=y,t[34]=A):A=t[34],A}function q(e){let t=(0,p.c)(8),{query:n}=e,r;t[0]===n?r=t[1]:(r=(0,j.jsx)(V,{query:n}),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsxs)(`div`,{className:`dz-loading-lens`,"aria-hidden":!0,children:[(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{}),(0,j.jsx)(`span`,{})]}),t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=(0,j.jsxs)(`div`,{className:`dz-loading`,children:[i,(0,j.jsxs)(`span`,{className:`dz-loading-text`,children:[`Building ten scales of “`,n,`”…`]})]}),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,j.jsxs)(`div`,{className:`dz-loading-screen`,children:[r,a]}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function J(e){let t=(0,p.c)(9),{message:n,onRetry:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsx)(V,{}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,j.jsx)(`div`,{className:`dz-error-title`,children:`Couldn't build the zoom`}),t[1]=a):a=t[1];let o;t[2]===n?o=t[3]:(o=(0,j.jsx)(`div`,{className:`dz-error-body`,children:n}),t[2]=n,t[3]=o);let s;t[4]===r?s=t[5]:(s=(0,j.jsx)(`button`,{type:`button`,className:`dz-start-btn`,onClick:r,children:`Try another topic`}),t[4]=r,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,j.jsxs)(`div`,{className:`dz-loading-screen`,children:[i,(0,j.jsxs)(`div`,{className:`dz-error`,children:[a,o,s]})]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Y(){(0,f.useEffect)(()=>a(r()),[]);let[e,t]=(0,f.useState)(``),[n,i]=(0,f.useState)(null),[o,s]=(0,f.useState)(!1),[c,d]=(0,f.useState)(null),[p,m]=(0,f.useState)(null),[h,g]=(0,f.useState)(N(`seed`)),_=(0,f.useRef)(0),v=(0,f.useRef)(null),y=(0,f.useRef)(``),S=(0,f.useRef)(null),C=(0,f.useCallback)(async e=>{S.current?.abort();let n=new AbortController;S.current=n,y.current=e,_.current=0,t(e),i(null),d(null),m(null),s(!0);try{let t=l(u());v.current=t;let{rangeStart:r,levels:a}=await b(e,t,n.signal);if(n.signal.aborted)return;let o=[],c=[],d=null;for(let e=0;e<a.length;e++){let t=_.current++,n=d===null?null:o.find(e=>e.id===d),r=n?n.level.subtopics[n.level.selectedIndex]??null:null;o.push({id:t,parentId:d,viaSubtopic:r,level:a[e],depth:e}),c.push(t),d=t}i({query:e,rangeStart:r,nodes:o,trunkIds:c}),s(!1)}catch(e){n.signal.aborted||(d(e instanceof Error?e.message:`Something went wrong.`),s(!1))}},[]),w=(0,f.useCallback)(async(e,t,n,r)=>{let a=v.current??l(u());S.current?.abort();let o=new AbortController;S.current=o,m(e);try{let s=await x(y.current,n,t,r,a,o.signal);if(o.signal.aborted)return;i(n=>{if(!n)return n;let i=[...n.nodes],a=e;for(let e=0;e<s.length;e++){let n=_.current++,o=e===0?t:s[e-1].subtopics[s[e-1].selectedIndex];i.push({id:n,parentId:a,viaSubtopic:o,level:s[e],depth:r+1+e}),a=n}return{...n,nodes:i}}),m(null)}catch{o.signal.aborted||m(null)}},[]),E=(0,f.useCallback)(()=>{S.current?.abort(),t(T.query),i(T),d(null),s(!1)},[]);(0,f.useEffect)(()=>{let e=new URLSearchParams(window.location.hash.split(`?`)[1]??``);if(e.get(`demo`)===`1`){E();return}let t=e.get(`q`)?.trim()??``;return t&&C(t),()=>S.current?.abort()},[]),(0,f.useEffect)(()=>{let n=()=>{let n=window.location.hash;if(!n.startsWith(`#/deepzoom`))return;let r=new URLSearchParams(n.split(`?`)[1]??``);if(r.get(`demo`)===`1`){e!==T.query&&E();return}let a=r.get(`q`)?.trim()??``;if(a&&a!==e)C(a);else if(!a){let e=r.get(`seed`)?.trim()??``;S.current?.abort(),t(``),i(null),d(null),g(e)}};return window.addEventListener(`hashchange`,n),()=>window.removeEventListener(`hashchange`,n)},[e,C,E]);let D=(0,f.useCallback)(()=>{S.current?.abort(),window.location.hash!==`#/deepzoom`&&(window.location.hash=`#/deepzoom`),d(null),g(``),t(``),i(null)},[]),O=(0,f.useCallback)(()=>{d(null),t(``),i(null)},[]),k=new URLSearchParams(window.location.hash.split(`?`)[1]??``).get(`demo`)===`1`;return(0,j.jsxs)(`div`,{className:`deepzoom-app mavea-app`,children:[!e&&!o&&!n&&!c&&(0,j.jsx)(K,{onSubmit:e=>void C(e),seed:h}),o&&(0,j.jsx)(q,{query:e}),c&&!o&&(0,j.jsx)(J,{message:c,onRetry:O}),n&&!o&&(0,j.jsx)(W,{tree:n,query:e,generatingForId:p,allowBranchGeneration:!k,onBranchRequest:w,onNew:D})]})}export{Y as DeepZoomApp};
|
|
@@ -0,0 +1,33 @@
|
|
|
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"./spokenText-D3iS8fuI.js";import{t as i}from"./useFocusTrap-DBtkeyRy.js";import{t as a}from"./Presence-CKSoyuhE.js";import{w as o}from"./kokoro-C6P0LV4L.js";import{t as s}from"./FeatureUseNotice-BhljPjUv.js";import{t as c}from"./providers-DdJWf_PE.js";import{t as l}from"./pageVisibility-BxUVsw7Z.js";var u=e(),d=t(),f=1600,p=1300;function m(e){let t=`right`,n=e.speaking;return n?.side===`yours`?n.pointing?{state:`acting`,emotion:`focused`,gaze:t}:{state:`speaking`,emotion:`focused`,gaze:t}:n?.side===`theirs`?{state:`idle`,emotion:n.offer?`curious`:`neutral`,gaze:t}:e.whoseTurn===`yours`?{state:`thinking`,emotion:e.guarded?`concerned`:`focused`,gaze:t}:{state:`idle`,emotion:`neutral`,gaze:t}}function h(e){let t=`left`,n=e.speaking;return n?.side===`theirs`?{state:`speaking`,emotion:n.offer?`focused`:`neutral`,gaze:t}:n?.side===`yours`?{state:`idle`,emotion:n.offer?`curious`:`neutral`,gaze:t}:e.whoseTurn===`theirs`?{state:`thinking`,emotion:`neutral`,gaze:t}:{state:`idle`,emotion:e.guarded?`curious`:`neutral`,gaze:t}}function g(e){switch(e.kind){case`running`:return{yours:m(e),theirs:h(e)};case`deal`:return{yours:{state:`idle`,emotion:`celebrate`,gaze:`center`},theirs:{state:`idle`,emotion:`warm`,gaze:`center`}};case`approved`:return{yours:{state:`idle`,emotion:`warm`,gaze:`center`},theirs:{state:`idle`,emotion:`neutral`,gaze:`center`}};case`nodeal`:return{yours:{state:`idle`,emotion:e.boundaryHeld?`focused`:`concerned`,gaze:`center`},theirs:{state:`idle`,emotion:`neutral`,gaze:`center`}};case`stopped`:return{yours:{state:`idle`,emotion:`sleepy`,gaze:`down`},theirs:{state:`idle`,emotion:`sleepy`,gaze:`down`}}}}function _(e){return[`You are role-playing the OTHER SIDE of a conversation the user is rehearsing: ${e.counterpart}.`,`The conversation: ${e.scenario}.`,`Ground everything in this context the user supplied — and NOTHING else:`,`"""${e.context||`(none given)`}"""`,`If the context does not tell you how this person would react, play a realistic, generic version of the role — never invent specific facts, history, or quotes about the real person.`,`Stay in character. Push back the way this role realistically would; do not cave easily, do not be cartoonishly hostile.`,`The reply is displayed AND spoken. Keep normal spelling on screen, but wrap every name, place, brand, or non-English term a voice might mispronounce as [[shown|said]] — for example [[Omakase|oh-mah-kah-seh]]. The said side must be lowercase voice-safe syllables matching a native/source-language pronunciation, never IPA or an Anglicized guess.`,`Reply ONLY with JSON: {"reply":"what you say next, 1-3 sentences, spoken language"}. No other keys, no prose outside the JSON.`].join(`
|
|
2
|
+
`)}function v(){return[`You are a direct, warm conversation coach. The user just finished a practice take of a hard conversation.`,`Judge ONLY what is in the transcript — quote or reference their actual words; never invent things they said.`,`If an earlier take summary is given, say concretely what improved or regressed since it.`,`Reply ONLY with JSON: {"note":"how this take went, 1-2 sentences","tip":"ONE concrete thing to do differently next take, 1-2 sentences"}.`].join(`
|
|
3
|
+
`)}var y=900,ee=1e3;function b(e){try{return typeof e==`string`?JSON.parse(e.match(/\{[\s\S]*\}/)?.[0]??`{}`):e}catch{return{}}}function te(e){return e.map(e=>({role:e.who===`you`?`user`:`assistant`,content:e.text}))}async function x(e,t,n,r){try{let i=te(t),a=i.pop();if(!a||a.role!==`user`)return``;let o=await c(n.provider).generate({system:_(e),history:i,user:a.content,maxTokens:y,thinkingLevel:`minimal`,signal:r},n);if(r.aborted)return``;let s=b(o.raw).reply;return typeof s==`string`?s.trim().slice(0,600):``}catch{return``}}async function ne(e,t,n,r,i,a){try{if(!t.some(e=>e.who===`you`))return null;let o=t.map(t=>`${t.who===`you`?`USER`:e.counterpart.toUpperCase()}: ${t.text}`).join(`
|
|
4
|
+
`),s=[`Conversation being rehearsed: ${e.scenario}`,r?`Earlier take, your summary then: ${r}`:null,`Take ${n} transcript:`,o].filter(Boolean).join(`
|
|
5
|
+
`),l=await c(i.provider).generate({system:v(),history:[],user:s,maxTokens:ee,thinkingLevel:`minimal`,signal:a},i);if(a.aborted)return null;let u=b(l.raw),d=typeof u.note==`string`?u.note.trim().slice(0,400):``,f=typeof u.tip==`string`?u.tip.trim().slice(0,400):``;return d&&f?{note:d,tip:f}:null}catch{return null}}function S(e){return`Debrief: I had the real "${e.scenario}" conversation. Here's what happened: `}var C=n();function w(e){let t=(0,d.c)(109),{setup:n,themLabel:i,cfg:c,speak:l,onDebrief:p,onAdjustBrief:m}=e,[h,_]=(0,u.useState)(1),v;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=[],t[0]=v):v=t[0];let[y,ee]=(0,u.useState)(v),[b,te]=(0,u.useState)(``),[w,ie]=(0,u.useState)(null),[E,ae]=(0,u.useState)(!1),[D,oe]=(0,u.useState)(!1),[O,se]=(0,u.useState)(null),k=(0,u.useRef)(null),ce=(0,u.useRef)(null),le=(0,u.useRef)(null),A,j;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>()=>{le.current?.abort(),o()},j=[],t[1]=A,t[2]=j):(A=t[1],j=t[2]),(0,u.useEffect)(A,j);let ue;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>{let e=ce.current;e&&(e.scrollTop=e.scrollHeight)},t[3]=ue):ue=t[3];let M;t[4]!==w||t[5]!==y?(M=[y,w],t[4]=w,t[5]=y,t[6]=M):M=t[6],(0,u.useEffect)(ue,M);let[de,fe]=(0,u.useState)(!1),pe=(0,u.useRef)(0),me,he;t[7]===y?(me=t[8],he=t[9]):(me=()=>{if(y.length===pe.current)return;if(pe.current=y.length,y[y.length-1]?.who!==`them`){fe(!1);return}fe(!0);let e=window.setTimeout(()=>fe(!1),f);return()=>window.clearTimeout(e)},he=[y],t[7]=y,t[8]=me,t[9]=he),(0,u.useEffect)(me,he);let N=w===`reply`?`theirs`:`yours`,ge;t[10]!==de||t[11]!==N?(ge=g({kind:`running`,whoseTurn:N,guarded:!1,speaking:de?{side:`theirs`,offer:!1,pointing:!1}:null}),t[10]=de,t[11]=N,t[12]=ge):ge=t[12];let _e=ge,ve;t[13]!==c||t[14]!==n||t[15]!==l?(ve=async e=>{le.current?.abort();let t=new AbortController;le.current=t,ie(`reply`),ae(!1);let i=await x(n,e,c,t.signal);if(!t.signal.aborted){if(ie(null),!i){ae(!0);return}ee([...e,{who:`them`,text:r(i)}]),l?.(i)}},t[13]=c,t[14]=n,t[15]=l,t[16]=ve):ve=t[16];let P=ve,ye;t[17]!==w||t[18]!==b||t[19]!==y||t[20]!==P?(ye=()=>{let e=b.trim();if(!e||w)return;te(``),se(null),oe(!1);let t=[...y,{who:`you`,text:e}];ee(t),P(t)},t[17]=w,t[18]=b,t[19]=y,t[20]=P,t[21]=ye):ye=t[21];let be=ye,xe;t[22]!==w||t[23]!==c||t[24]!==y||t[25]!==n||t[26]!==h?(xe=async()=>{if(w)return;le.current?.abort();let e=new AbortController;le.current=e,ie(`coach`),oe(!1);let t=await ne(n,y,h,k.current,c,e.signal);if(!e.signal.aborted){if(ie(null),!t){oe(!0);return}se(t),k.current=t.note,_(T),ee([])}},t[22]=w,t[23]=c,t[24]=y,t[25]=n,t[26]=h,t[27]=xe):xe=t[27];let Se=xe,Ce;t[28]===i?Ce=t[29]:(Ce=e=>(0,C.jsxs)(`span`,{className:`dlg-side ${e===`you`?`yours`:`theirs`}`,children:[(0,C.jsx)(`span`,{className:`dlg-avatar`,"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`dlg-side-text`,children:(0,C.jsx)(`span`,{className:`dlg-side-name`,children:e===`you`?`You`:i})})]}),t[28]=i,t[29]=Ce);let F=Ce,we;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,C.jsx)(s,{kind:`simulation`,from:`live`}),t[30]=we):we=t[30];let Te;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,C.jsxs)(`div`,{className:`dlg-seat yours`,children:[(0,C.jsx)(`span`,{className:`dlg-seat-you`,"aria-hidden":`true`}),(0,C.jsx)(`span`,{className:`dlg-seat-name`,children:`You`})]}),t[31]=Te):Te=t[31];let I;t[32]===h?I=t[33]:(I=(0,C.jsx)(`div`,{className:`dlg-meta`,children:(0,C.jsxs)(`span`,{className:`dlg-take-badge`,children:[`Take `,h]})}),t[32]=h,t[33]=I);let Ee;t[34]===_e.theirs?Ee=t[35]:(Ee=(0,C.jsx)(`span`,{className:`dlg-jelly ghost`,"aria-hidden":`true`,children:(0,C.jsx)(a,{..._e.theirs})}),t[34]=_e.theirs,t[35]=Ee);let De;t[36]===i?De=t[37]:(De=(0,C.jsx)(`span`,{className:`dlg-seat-name`,children:i}),t[36]=i,t[37]=De);let Oe;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,C.jsx)(`span`,{className:`dlg-seat-tag`,children:`in character`}),t[38]=Oe):Oe=t[38];let ke;t[39]!==Ee||t[40]!==De?(ke=(0,C.jsxs)(`div`,{className:`dlg-seat theirs`,children:[Ee,De,Oe]}),t[39]=Ee,t[40]=De,t[41]=ke):ke=t[41];let Ae;t[42]!==I||t[43]!==ke?(Ae=(0,C.jsxs)(`div`,{className:`dlg-tablescape`,children:[Te,I,ke]}),t[42]=I,t[43]=ke,t[44]=Ae):Ae=t[44];let je;if(t[45]!==F||t[46]!==y){let e;t[48]===F?e=t[49]:(e=(e,t)=>(0,C.jsxs)(`li`,{className:`dlg-turn ${e.who===`you`?`yours`:`theirs`}`,children:[F(e.who),(0,C.jsx)(`p`,{className:`dlg-turn-say`,children:e.text})]},t),t[48]=F,t[49]=e),je=y.map(e),t[45]=F,t[46]=y,t[47]=je}else je=t[47];let Me;t[50]!==w||t[51]!==F?(Me=w===`reply`&&(0,C.jsxs)(`li`,{className:`dlg-turn theirs thinking`,"aria-hidden":`true`,children:[F(`them`),(0,C.jsxs)(`span`,{className:`dlg-typing`,children:[(0,C.jsx)(`i`,{}),(0,C.jsx)(`i`,{}),(0,C.jsx)(`i`,{})]})]}),t[50]=w,t[51]=F,t[52]=Me):Me=t[52];let Ne;t[53]!==E||t[54]!==y||t[55]!==P?(Ne=E&&(0,C.jsxs)(`li`,{className:`dlg-failed`,children:[`They didn't respond.`,` `,(0,C.jsx)(`button`,{type:`button`,onClick:()=>void P(y),children:`Try again`})]}),t[53]=E,t[54]=y,t[55]=P,t[56]=Ne):Ne=t[56];let L;t[57]!==je||t[58]!==Me||t[59]!==Ne?(L=(0,C.jsxs)(`ol`,{className:`dlg-log`,ref:ce,role:`log`,"aria-live":`polite`,"aria-label":`The take`,children:[je,Me,Ne]}),t[57]=je,t[58]=Me,t[59]=Ne,t[60]=L):L=t[60];let Pe;t[61]===O?Pe=t[62]:(Pe=O&&(0,C.jsxs)(`aside`,{className:`dlg-coach`,"aria-label":`Coach, between takes`,children:[(0,C.jsx)(`span`,{className:`dlg-coach-kicker`,children:`COACH — BETWEEN TAKES`}),(0,C.jsx)(`p`,{className:`dlg-coach-note`,children:O.note}),(0,C.jsx)(`p`,{className:`dlg-coach-tip`,children:O.tip})]}),t[61]=O,t[62]=Pe);let R;t[63]===w?R=t[64]:(R=w===`coach`&&(0,C.jsx)(`p`,{className:`dlg-coach-wait`,children:`Coach is watching the take back…`}),t[63]=w,t[64]=R);let Fe;t[65]!==D||t[66]!==Se?(Fe=D&&(0,C.jsxs)(`p`,{className:`dlg-failed`,role:`status`,children:[`The coach didn’t respond — your take is still here.`,` `,(0,C.jsx)(`button`,{type:`button`,onClick:()=>void Se(),children:`Try again`})]}),t[65]=D,t[66]=Se,t[67]=Fe):Fe=t[67];let z;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>te(e.target.value),t[68]=z):z=t[68];let B;t[69]===be?B=t[70]:(B=e=>{e.key===`Enter`&&be()},t[69]=be,t[70]=B);let Ie=y.length===0?`Open the conversation — your first line`:`Your next line`,V;t[71]!==b||t[72]!==B||t[73]!==Ie?(V=(0,C.jsx)(`input`,{value:b,onChange:z,onKeyDown:B,placeholder:Ie,"aria-label":`Your line`}),t[71]=b,t[72]=B,t[73]=Ie,t[74]=V):V=t[74];let Le;t[75]!==w||t[76]!==b?(Le=!b.trim()||w!==null,t[75]=w,t[76]=b,t[77]=Le):Le=t[77];let H;t[78]!==be||t[79]!==Le?(H=(0,C.jsx)(`button`,{type:`button`,className:`dlg-say`,disabled:Le,onClick:be,children:`Say it`}),t[78]=be,t[79]=Le,t[80]=H):H=t[80];let U;t[81]!==V||t[82]!==H?(U=(0,C.jsxs)(`div`,{className:`dlg-compose`,children:[V,H]}),t[81]=V,t[82]=H,t[83]=U):U=t[83];let W;t[84]!==w||t[85]!==y?(W=w!==null||!y.some(re),t[84]=w,t[85]=y,t[86]=W):W=t[86];let G;t[87]===Se?G=t[88]:(G=()=>void Se(),t[87]=Se,t[88]=G);let K;t[89]!==W||t[90]!==G?(K=(0,C.jsx)(`button`,{type:`button`,className:`dlg-end-take`,disabled:W,onClick:G,children:`End take · get coached`}),t[89]=W,t[90]=G,t[91]=K):K=t[91];let q;t[92]===m?q=t[93]:(q=(0,C.jsx)(`button`,{type:`button`,className:`dlg-followup-btn ghost`,onClick:m,children:`Adjust the brief`}),t[92]=m,t[93]=q);let J;t[94]!==p||t[95]!==n?(J=p&&(0,C.jsx)(`button`,{type:`button`,className:`dlg-real-debrief`,onClick:()=>p(S(n)),title:`Had the real conversation? Tell Mavéa how it went.`,children:`Debrief the real one`}),t[94]=p,t[95]=n,t[96]=J):J=t[96];let Y;t[97]!==K||t[98]!==q||t[99]!==J?(Y=(0,C.jsxs)(`div`,{className:`dlg-take-actions`,children:[K,q,J]}),t[97]=K,t[98]=q,t[99]=J,t[100]=Y):Y=t[100];let Re;return t[101]!==Ae||t[102]!==L||t[103]!==Pe||t[104]!==R||t[105]!==Fe||t[106]!==U||t[107]!==Y?(Re=(0,C.jsxs)(`div`,{className:`dlg-table`,"data-seat":`you`,children:[we,Ae,L,Pe,R,Fe,U,Y]}),t[101]=Ae,t[102]=L,t[103]=Pe,t[104]=R,t[105]=Fe,t[106]=U,t[107]=Y,t[108]=Re):Re=t[108],Re}function re(e){return e.who===`you`}function T(e){return e+1}var ie=`Reply with ONLY a JSON object (no prose, no fences):
|
|
6
|
+
{"say": "<ONE short spoken line for the negotiation log>", "offer": "<the full current proposal in plain words, or null>", "decision": "offer" | "accept" | "pass"}
|
|
7
|
+
"accept" means you take the OTHER side's standing offer as-is (only when one exists). "pass" ends the talks with no deal. Keep every "say" under 25 words.`;function E(e){return`You are the user's Mavéa, negotiating on their behalf with ${e.counterpart}'s side.
|
|
8
|
+
THE GOAL: ${e.goal}
|
|
9
|
+
YOU MAY OFFER (nothing else exists): ${e.mine}
|
|
10
|
+
${e.boundaries.length?`HARD BOUNDARIES — these are NEVER offered, in any form: ${e.boundaries.join(`; `)}`:``}
|
|
11
|
+
You are at the table to REACH an agreement the goal can live with, not to demonstrate firmness: open your first move with a concrete offer near the goal (never pass on your first move), concede in small steps toward the middle, and accept a standing offer when it clearly serves the goal. Walking away is a last resort for a genuinely unacceptable table, not a default. ${ie}`}function ae(e){return`You are a stand-in negotiator for ${e.counterpart}. Everything you know about ${e.counterpart}'s side: ${e.theirs}
|
|
12
|
+
Argue that side's interest in GOOD FAITH: counter with concrete terms rather than walking away, concede only for real gains, and accept a standing offer when it is genuinely fair to ${e.counterpart}. Never pass on your first move, and never invent assets the brief above doesn't mention. ${ie}`}function D(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);if(t<0||n<=t)return null;try{let r=JSON.parse(e.slice(t,n+1)),i=typeof r.say==`string`?r.say.trim():``,a=typeof r.offer==`string`&&r.offer.trim()?r.offer.trim():null,o=r.decision===`accept`||r.decision===`pass`||r.decision===`offer`?r.decision:`offer`;return i?{say:i,offer:a,decision:o}:null}catch{return null}}var oe=e=>e.toLowerCase().replace(/[\s,]/g,``);function O(e,t){let n=oe(e);for(let e of t){let t=oe(e);if(t&&n.includes(t))return e}return null}function se(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.offer&&(n.side===`yours`||n.side===`theirs`))return{offer:n.offer,by:n.side}}return null}function k(e){let t=new Set,n=[];for(let r of e.split(/(?<!\d)[,;\n]|[,;\n](?!\d)/)){let e=r.trim();if(!e)continue;let i=e.toLowerCase();t.has(i)||(t.add(i),n.push(e))}return n}function ce(e,t){return e.length===0?`(no moves yet — you open)`:e.map(e=>`${e.side===`yours`?`YOUR SIDE`:e.side===`theirs`?`${t.counterpart}'S SIDE`:`—`}: ${e.say}${e.offer?` [standing offer: ${e.offer}]`:``}`).join(`
|
|
13
|
+
`)}async function le(e,t,n,r){let i=[],a=e=>{i.push(e),n(e)},o=e.maxRounds??8,s=null,c=null,l=0;for(;l<o&&!c&&!r?.aborted;l++){let n=l%2==0?`yours`:`theirs`,o=n===`yours`?E(e):ae(e),u=`Negotiation so far:\n${ce(i,e)}\nYour move.`,d=null,f=!i.some(e=>e.side===n),p=!1;for(let i=0;i<3;i++){let i=await t(o,u).catch(()=>``);if(r?.aborted)break;if(d=D(i),!d){p=!0,u+=`
|
|
14
|
+
Your last reply was not the required JSON object. Reply with ONLY {"say":…, "offer":…, "decision":…} — no prose, no fences.`;continue}if(p=!1,f&&d.decision===`pass`){u+=`
|
|
15
|
+
It is too early to end the talks — the table deserves your best concrete move first. Make an offer or a counter.`,d=null;continue}let s=n===`yours`&&d.offer?O(d.offer,e.boundaries):null;if(!s)break;a({side:`engine`,kind:`boundary`,say:`Withheld — "${s}" is outside your boundary.`}),u+=`\nYour previous offer was WITHHELD: it included "${s}", which is never offered. Make a different move.`,d=null}if(r?.aborted)break;if(!d){a({side:n,kind:`pass`,say:p?`No reply arrived — the run ended early.`:`No further moves.`});break}if(d.decision===`accept`&&s&&s.by!==n){c=s.offer,a({side:n,kind:`accept`,say:d.say,offer:c});break}if(d.decision===`pass`||d.decision===`accept`&&(!s||s.by===n)){a({side:n,kind:`pass`,say:d.say});break}d.offer&&(s={offer:d.offer,by:n}),a({side:n,kind:i.some(e=>e.kind===`offer`||e.kind===`counter`)?`counter`:`offer`,say:d.say,offer:d.offer??void 0})}return{events:i,deal:c,rounds:l}}var A=`Reply with ONLY a JSON object (no prose, no fences):
|
|
16
|
+
{"moved": [{"point": "<an argument the user's side made that the other side visibly responded to>", "turn": <the 1-based line number it happened on>}],
|
|
17
|
+
"exposed": [{"point": "<something the other side pushed that the user's side had no good answer for>", "turn": <line number>}],
|
|
18
|
+
"openers": ["<a line to open the REAL conversation with>", "...", "..."]}
|
|
19
|
+
"moved" and "exposed" may each be an empty array when the transcript doesn't support them — never invent one just to fill the slot — and otherwise at most 2 entries each. "openers" is up to 3 short lines (under 20 words), each usable as-is, grounded only in the brief and transcript below. Cite ONLY real line numbers from the transcript; never invent facts, numbers, or concessions.`;function j(e){return e?`They agreed: ${e}.`:`No deal was reached.`}function ue(e,t){return e.map((e,n)=>{let r=e.side===`yours`?`YOUR SIDE`:e.side===`theirs`?`${t.counterpart}'S SIDE`:`REFEREE`;return`${n+1}. ${r}: ${e.say}${e.offer?` [standing offer: ${e.offer}]`:``}`}).join(`
|
|
20
|
+
`)}function M(e,t,n){return{system:`You are a negotiation coach reviewing a practice run. Judge ONLY the numbered transcript below — never anything outside it. ${A}`,user:`THE GOAL: ${e.goal}
|
|
21
|
+
WHAT THE USER COULD OFFER: ${e.mine}
|
|
22
|
+
${e.counterpart.toUpperCase()}'S POSITION, AS THE USER DESCRIBED IT: ${e.theirs}
|
|
23
|
+
THE TRANSCRIPT:
|
|
24
|
+
${ue(t,e)}
|
|
25
|
+
OUTCOME: ${j(n)}`}}function de(e,t){let n=e.indexOf(`{`),r=e.lastIndexOf(`}`);if(n<0||r<=n)return null;try{let i=JSON.parse(e.slice(n,r+1)),a=e=>{if(!Array.isArray(e))return[];let n=[];for(let r of e){if(n.length>=2)break;if(!r||typeof r!=`object`)continue;let e=r,i=typeof e.point==`string`?e.point.trim():``;if(!i)continue;let a=typeof e.turn==`number`&&e.turn>=1&&e.turn<=t?Math.trunc(e.turn):null;n.push({point:i,turn:a})}return n},o=a(i.moved),s=a(i.exposed),c=Array.isArray(i.openers)?i.openers.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim()).slice(0,3):[];return!o.length&&!s.length&&!c.length?null:{moved:o,exposed:s,openers:c}}catch{return null}}async function fe(e,t,n,r,i){if(i?.aborted)return null;let{system:a,user:o}=M(e,t,n),s=await r(a,o).catch(()=>``);return i?.aborted||!s?null:de(s,t.length)}function pe(e,t,n){return`I ran a practice negotiation as a rehearsal: my Mavéa argued my side against a stand-in for ${e.counterpart}, built only from my own notes. Nothing was sent to anyone — this was a scouting run on my own key.
|
|
26
|
+
My goal: ${e.goal}
|
|
27
|
+
What I could offer: ${e.mine}
|
|
28
|
+
${e.counterpart}'s position, as I described it: ${e.theirs}
|
|
29
|
+
The full exchange:
|
|
30
|
+
${ue(t,e)}
|
|
31
|
+
Outcome: ${j(n)}
|
|
32
|
+
Help me prepare for the real conversation: what to open with, where my case is weakest, and how to phrase my strongest point. Work only from this transcript and brief — invent nothing about ${e.counterpart}.`}function me(e){let t=`Negotiation prep: ${e.trim()}`;return t.length>60?`${t.slice(0,57)}…`:t}function he(e,t,n=1200){return async(r,i)=>{let a=await c(e.provider).generate({system:r,history:[],user:i,maxTokens:n,temperature:.7,thinkingLevel:`minimal`,signal:t},e);return typeof a.raw==`string`?a.raw:JSON.stringify(a.raw)}}var N=1200,ge=[{tag:`Ask for a raise`,counterpart:`Priya`,goal:`A raise to $95k, up from $82k, this cycle`,mine:`I led the billing migration and can mentor two juniors`,theirs:`My manager. Budget's tight this quarter; she values retention and won't set precedents`,boundaries:`working weekends, a title bump instead of pay`},{tag:`Buy a used car`,counterpart:`the dealer`,goal:`Get the 2019 Civic to $14,000 out the door`,mine:`Pay cash today, skip the extended warranty, take it as-is`,theirs:`Wants it off the lot this month; won't budge on the doc fee`,boundaries:`going above $15,000, financing through them`},{tag:`Split the rent`,counterpart:`Sam`,goal:`Split rent by room size — I take the smaller room for $200 less`,mine:`I'll set up the utilities and cover the parking spot`,theirs:`My roommate. Thinks a straight 50/50 split is only fair, and always pays on time`,boundaries:`paying more than half`}],_e=e=>`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`;function ve(){let e=(0,d.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`,children:(0,C.jsx)(`path`,{d:`M6 6l12 12M18 6L6 18`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`})}),e[0]=t):t=e[0],t}function P(){let e=(0,d.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`13`,height:`13`,fill:`none`,"aria-hidden":`true`,children:[(0,C.jsx)(`path`,{d:`M12 3l7 2.5v5c0 4.4-2.9 8-7 9.5-4.1-1.5-7-5.1-7-9.5v-5L12 3z`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinejoin:`round`}),(0,C.jsx)(`path`,{d:`M9 12l2 2 4-4.5`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`})]}),e[0]=t):t=e[0],t}function ye(){let e=(0,d.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`,children:(0,C.jsx)(`path`,{d:`M4 12.5l5 5 11-12`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})}),e[0]=t):t=e[0],t}function be(e){let t=(0,d.c)(6),{side:n,name:r}=e,i=n===`yours`,a=`dlg-side ${n}`,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,C.jsx)(`span`,{className:`dlg-avatar`,"aria-hidden":`true`}),t[0]=o):o=t[0];let s=i?`Your Mavéa`:r,c;t[1]===s?c=t[2]:(c=(0,C.jsx)(`span`,{className:`dlg-side-text`,children:(0,C.jsx)(`span`,{className:`dlg-side-name`,children:s})}),t[1]=s,t[2]=c);let l;return t[3]!==a||t[4]!==c?(l=(0,C.jsxs)(`span`,{className:a,children:[o,c]}),t[3]=a,t[4]=c,t[5]=l):l=t[5],l}function xe(e){let t=(0,d.c)(10),{turns:n,running:r}=e,i=r?Math.min(n+1,8):n,a=r?`Round ${i} of 8`:`${n} turns`,o=r?`Round ${i}`:`${n} turn${n===1?``:`s`}`,s;t[0]===o?s=t[1]:(s=(0,C.jsx)(`span`,{className:`dlg-rounds-label`,children:o}),t[0]=o,t[1]=s);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=Array.from({length:8}),t[2]=c):c=t[2];let l;t[3]!==r||t[4]!==n?(l=(0,C.jsx)(`span`,{className:`dlg-rounds-track`,"aria-hidden":`true`,children:c.map((e,t)=>(0,C.jsx)(`i`,{className:t<n?`on`:t===n&&r?`now`:``},t))}),t[3]=r,t[4]=n,t[5]=l):l=t[5];let u;return t[6]!==a||t[7]!==s||t[8]!==l?(u=(0,C.jsxs)(`div`,{className:`dlg-rounds`,"aria-label":a,children:[s,l]}),t[6]=a,t[7]=s,t[8]=l,t[9]=u):u=t[9],u}function Se(e){let t=(0,d.c)(15),{label:n,onConfirm:r}=e,[i,a]=(0,u.useState)(!1),o=(0,u.useRef)(void 0),s;t[0]===r?s=t[1]:(s=()=>{window.clearTimeout(o.current),a(!0),o.current=window.setTimeout(()=>{a(!1),r()},N)},t[0]=r,t[1]=s);let c=s,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{a(!1),window.clearTimeout(o.current)},t[2]=l):l=t[2];let f=l,p,m;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>()=>window.clearTimeout(o.current),m=[],t[3]=p,t[4]=m):(p=t[3],m=t[4]),(0,u.useEffect)(p,m);let h=`dlg-hold`+(i?` holding`:``),g;t[5]===c?g=t[6]:(g=e=>{e.repeat||(e.key===`Enter`||e.key===` `)&&c()},t[5]=c,t[6]=g);let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,C.jsx)(`span`,{className:`dlg-hold-fill`,"aria-hidden":`true`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=(0,C.jsx)(`span`,{className:`dlg-hold-label`,children:n}),t[8]=n,t[9]=v);let y;return t[10]!==c||t[11]!==h||t[12]!==g||t[13]!==v?(y=(0,C.jsxs)(`button`,{type:`button`,className:h,onPointerDown:c,onPointerUp:f,onPointerLeave:f,onKeyDown:g,onKeyUp:f,children:[_,v]}),t[10]=c,t[11]=h,t[12]=g,t[13]=v,t[14]=y):y=t[14],y}function Ce(e){let t=(0,d.c)(5),[n,r]=(0,u.useState)(null),i=(0,u.useRef)(void 0),a=(0,u.useRef)(0),o,s;t[0]===e?(o=t[1],s=t[2]):(o=()=>{if(e.length===a.current)return;a.current=e.length,window.clearTimeout(i.current);let t=e[e.length-1];if(!t||t.side===`engine`){r(null);return}let n=!!t.offer;r({side:t.side,offer:n,pointing:!1}),t.side===`yours`&&n?i.current=window.setTimeout(()=>{r({side:`yours`,offer:!0,pointing:!0}),i.current=window.setTimeout(()=>r(null),p)},f):i.current=window.setTimeout(()=>r(null),f)},s=[e],t[0]=e,t[1]=o,t[2]=s),(0,u.useEffect)(o,s);let c,l;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>()=>window.clearTimeout(i.current),l=[],t[3]=c,t[4]=l):(c=t[3],l=t[4]),(0,u.useEffect)(c,l),n}function F(e,t){return e.side===`yours`?`Your Mavéa`:e.side===`theirs`?`${t}’s stand-in`:`Referee`}function we(e){let t=(0,d.c)(21),{debrief:n,events:r,themLabel:i,onRetry:a}=e;if(n===`idle`)return null;if(n===`loading`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`loading`,children:[(0,C.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),(0,C.jsx)(`p`,{className:`dlg-debrief-wait`,children:`Reading back what happened…`})]}),t[0]=e):e=t[0],e}if(n===`failed`){let e,n;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,C.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),n=(0,C.jsx)(`p`,{className:`dlg-debrief-wait`,children:`Couldn’t draw a debrief from this run.`}),t[1]=e,t[2]=n):(e=t[1],n=t[2]);let r;return t[3]===a?r=t[4]:(r=(0,C.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`failed`,children:[e,n,(0,C.jsx)(`button`,{type:`button`,className:`dlg-debrief-retry`,onClick:a,children:`Try again`})]}),t[3]=a,t[4]=r),r}let o;t[5]!==r||t[6]!==i?(o=e=>{if(e===null)return null;let t=r[e-1];return t?(0,C.jsxs)(`p`,{className:`dlg-debrief-quote`,children:[(0,C.jsx)(`span`,{className:`dlg-debrief-quote-who`,children:F(t,i)}),`“${t.say}”`]}):null},t[5]=r,t[6]=i,t[7]=o):o=t[7];let s=o,c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,C.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),t[8]=c):c=t[8];let l;t[9]!==n.moved||t[10]!==s?(l=n.moved.length>0&&(0,C.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,C.jsx)(`h4`,{children:`What moved them`}),(0,C.jsx)(`ul`,{children:n.moved.map((e,t)=>(0,C.jsxs)(`li`,{children:[(0,C.jsx)(`p`,{className:`dlg-debrief-point`,children:e.point}),s(e.turn)]},t))})]}),t[9]=n.moved,t[10]=s,t[11]=l):l=t[11];let u;t[12]!==n.exposed||t[13]!==s?(u=n.exposed.length>0&&(0,C.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,C.jsx)(`h4`,{children:`Where you’re exposed`}),(0,C.jsx)(`ul`,{children:n.exposed.map((e,t)=>(0,C.jsxs)(`li`,{children:[(0,C.jsx)(`p`,{className:`dlg-debrief-point`,children:e.point}),s(e.turn)]},t))})]}),t[12]=n.exposed,t[13]=s,t[14]=u):u=t[14];let f;t[15]===n.openers?f=t[16]:(f=n.openers.length>0&&(0,C.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,C.jsx)(`h4`,{children:`Say this first`}),(0,C.jsx)(`ol`,{className:`dlg-debrief-openers`,children:n.openers.map(Te)}),(0,C.jsx)(`p`,{className:`dlg-debrief-footnote`,children:`Mavéa’s suggestions, drawn from the run above — the stand-in only knows what you wrote.`})]}),t[15]=n.openers,t[16]=f);let p;return t[17]!==l||t[18]!==u||t[19]!==f?(p=(0,C.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`ready`,children:[c,l,u,f]}),t[17]=l,t[18]=u,t[19]=f,t[20]=p):p=t[20],p}function Te(e,t){return(0,C.jsx)(`li`,{children:e},t)}function I(e){let t=(0,d.c)(199),{cfg:n,onClose:r,onPrepTurn:o,memoryNodes:c,speak:f,onDebrief:p}=e,m=(0,u.useRef)(null);i(m);let h=(0,u.useRef)(null),[_,v]=(0,u.useState)(`brief`),[y,ee]=(0,u.useState)(`mavea`),[b,te]=(0,u.useState)(!1),[x,ne]=(0,u.useState)(``),[S,re]=(0,u.useState)(``),[T,ie]=(0,u.useState)(``),[E,ae]=(0,u.useState)(``),[D,oe]=(0,u.useState)(``),[O,ce]=(0,u.useState)(!1),A;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=[],t[0]=A):A=t[0];let[j,ue]=(0,u.useState)(A),[M,de]=(0,u.useState)(null),[N,F]=(0,u.useState)(!1),[Te,I]=(0,u.useState)(!1),[L,Pe]=(0,u.useState)(!1),[R,Fe]=(0,u.useState)(0),[z,B]=(0,u.useState)(`idle`),Ie;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=[],t[1]=Ie):Ie=t[1];let[V,Le]=(0,u.useState)(Ie),H=(0,u.useRef)(null),U=(0,u.useRef)(null),W=(0,u.useRef)(!1),G=(0,u.useRef)(!0),K,q;t[2]===_?(K=t[3],q=t[4]):(K=()=>{if(_!==`running`)return;let e=window.setInterval(()=>{l()||Fe(Ne)},1e3);return()=>window.clearInterval(e)},q=[_],t[2]=_,t[3]=K,t[4]=q),(0,u.useEffect)(K,q);let J,Y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>()=>{G.current=!1,H.current?.abort(),U.current?.abort()},Y=[],t[5]=J,t[6]=Y):(J=t[5],Y=t[6]),(0,u.useEffect)(J,Y);let Re,ze;t[7]===r?(Re=t[8],ze=t[9]):(Re=()=>{let e=e=>{e.key===`Escape`&&r()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},ze=[r],t[7]=r,t[8]=Re,t[9]=ze),(0,u.useEffect)(Re,ze);let Be;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(Be=()=>{let e=h.current;e&&(e.scrollTop=e.scrollHeight)},t[10]=Be):Be=t[10];let Ve;t[11]===j?Ve=t[12]:(Ve=[j],t[11]=j,t[12]=Ve),(0,u.useEffect)(Be,Ve);let He;t[13]===D?He=t[14]:(He=k(D),t[13]=D,t[14]=He);let Ue=He,We;t[15]===x?We=t[16]:(We=x.trim(),t[15]=x,t[16]=We);let Ge;t[17]===S?Ge=t[18]:(Ge=S.trim(),t[17]=S,t[18]=Ge);let Ke;t[19]===T?Ke=t[20]:(Ke=T.trim(),t[19]=T,t[20]=Ke);let qe;t[21]===E?qe=t[22]:(qe=E.trim(),t[21]=E,t[22]=qe);let Je;t[23]!==Ue||t[24]!==We||t[25]!==Ge||t[26]!==Ke||t[27]!==qe?(Je={counterpart:We,goal:Ge,mine:Ke,theirs:qe,boundaries:Ue},t[23]=Ue,t[24]=We,t[25]=Ge,t[26]=Ke,t[27]=qe,t[28]=Je):Je=t[28];let X=Je,Ye;t[29]!==c||t[30]!==b?(Ye=b?(c??[]).map(Me).join(`. `):``,t[29]=c,t[30]=b,t[31]=Ye):Ye=t[31];let Xe=Ye,Ze;t[32]===S?Ze=t[33]:(Ze=S.trim(),t[32]=S,t[33]=Ze);let Qe;t[34]===x?Qe=t[35]:(Qe=x.trim(),t[34]=x,t[35]=Qe);let $e;t[36]===E?$e=t[37]:($e=E.trim(),t[36]=E,t[37]=$e);let et;t[38]!==Xe||t[39]!==$e?(et=[$e,Xe].filter(Boolean),t[38]=Xe,t[39]=$e,t[40]=et):et=t[40];let tt=et.join(`
|
|
33
|
+
`),nt;t[41]!==Ze||t[42]!==Qe||t[43]!==tt?(nt={scenario:Ze,counterpart:Qe,context:tt},t[41]=Ze,t[42]=Qe,t[43]=tt,t[44]=nt):nt=t[44];let rt=nt,it;t[45]===j?it=t[46]:(it=se(j),t[45]=j,t[46]=it);let at=it,ot;t[47]===j?ot=t[48]:(ot=j.filter(je),t[47]=j,t[48]=ot);let st=ot.length,ct;t[49]===j?ct=t[50]:(ct=j.some(Ae),t[49]=j,t[50]=ct);let lt=ct,ut=j.length>0&&j[j.length-1].side===`engine`,dt=[...j].reverse().find(ke),ft=dt&&dt.side===`yours`?`theirs`:`yours`,pt=Ce(j),mt;bb0:{if(_===`done`){if(M&&N){let e;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`approved`},t[51]=e):e=t[51],mt=e;break bb0}if(M){let e;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`deal`},t[52]=e):e=t[52],mt=e;break bb0}if(L){let e;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`stopped`},t[53]=e):e=t[53],mt=e;break bb0}let e;t[54]===lt?e=t[55]:(e={kind:`nodeal`,boundaryHeld:lt},t[54]=lt,t[55]=e),mt=e;break bb0}let e;t[56]!==ut||t[57]!==pt||t[58]!==ft?(e={kind:`running`,whoseTurn:ft,guarded:ut,speaking:pt},t[56]=ut,t[57]=pt,t[58]=ft,t[59]=e):e=t[59],mt=e}let ht=mt,gt;t[60]===ht?gt=t[61]:(gt=g(ht),t[60]=ht,t[61]=gt);let _t=gt,vt;t[62]!==x||t[63]!==S||t[64]!==T||t[65]!==y||t[66]!==E?(vt=y===`you`?!!(x.trim()&&S.trim()):!!(x.trim()&&S.trim()&&T.trim()&&E.trim()),t[62]=x,t[63]=S,t[64]=T,t[65]=y,t[66]=E,t[67]=vt):vt=t[67];let Z=vt,yt;t[68]===x?yt=t[69]:(yt=x.trim()||`the other side`,t[68]=x,t[69]=yt);let Q=yt,bt;t[70]!==D||t[71]!==x||t[72]!==S||t[73]!==T||t[74]!==E?(bt=e=>x===e.counterpart&&S===e.goal&&T===e.mine&&E===e.theirs&&D===e.boundaries,t[70]=D,t[71]=x,t[72]=S,t[73]=T,t[74]=E,t[75]=bt):bt=t[75];let xt=bt,St,Ct,$,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt;if(t[76]!==D||t[77]!==Ue||t[78]!==X||t[79]!==n||t[80]!==x||t[81]!==M||t[82]!==j||t[83]!==S||t[84]!==c||t[85]!==T||t[86]!==r||t[87]!==o||t[88]!==Z||t[89]!==y||t[90]!==xt||t[91]!==O||t[92]!==_||t[93]!==E||t[94]!==b){let e=e=>{ne(e.counterpart),re(e.goal),ie(e.mine),ae(e.theirs),oe(e.boundaries),ce(!1),requestAnimationFrame(()=>{G.current&&ce(!0)})},i;t[114]!==X||t[115]!==n?(i=(e,t)=>{B(`loading`);let r=new AbortController;U.current=r,fe(X,e,t,he(n,r.signal,1600),r.signal).then(e=>{!G.current||r.signal.aborted||B(e??`failed`)})},t[114]=X,t[115]=n,t[116]=i):i=t[116],$=i;let l;t[117]!==X||t[118]!==n||t[119]!==Z||t[120]!==$?(l=()=>{if(!Z)return;let e=new AbortController;H.current=e,U.current?.abort(),ue([]),de(null),F(!1),I(!1),Pe(!1),W.current=!1,Fe(0),B(`idle`),v(`running`),le(X,he(n,e.signal),e=>{G.current&&ue(t=>[...t,e])},e.signal).then(e=>{if(!G.current)return;de(e.deal),v(`done`);let t=e.events.filter(Oe).length;Le(n=>[...n,{n:n.length+1,outcome:W.current?`stopped`:e.deal?`deal`:`nodeal`,deal:e.deal,turns:t}]),!W.current&&t>=2&&$(e.events,e.deal)}).catch(()=>{G.current&&v(`done`)})},t[117]=X,t[118]=n,t[119]=Z,t[120]=$,t[121]=l):l=t[121],St=l;let u;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{W.current=!0,Pe(!0),H.current?.abort()},t[122]=u):u=t[122],wt=u;let d;t[123]!==X||t[124]!==M||t[125]!==j||t[126]!==o?(d=()=>{o?.(pe(X,j,M),me(X.goal))},t[123]=X,t[124]=M,t[125]=j,t[126]=o,t[127]=d):d=t[127],Ct=d,Pt=`dlg-scrim`,t[128]===r?Ft=t[129]:(Ft=e=>{e.target===e.currentTarget&&r()},t[128]=r,t[129]=Ft),It=`button`,Lt=0,Rt=`Close`,t[130]===r?zt=t[131]:(zt=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),r())},t[130]=r,t[131]=zt),Tt=`dlg-panel`,Et=m,Dt=-1,Ot=`dialog`,kt=`true`,At=`The Rehearsal — practice a hard conversation`,jt=_;let f;t[132]!==Z||t[133]!==_?(f=_===`brief`&&(0,C.jsx)(`span`,{className:`dlg-jelly brief`,"aria-hidden":`true`,children:(0,C.jsx)(a,{state:Z?`thinking`:`reading`,gaze:Z?`center`:`down`})}),t[132]=Z,t[133]=_,t[134]=f):f=t[134];let p;t[135]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,C.jsx)(`h2`,{children:`The Rehearsal`}),t[135]=p):p=t[135];let h=_===`brief`?`Practice the conversation before you have it for real`:y===`you`?`Your take — say it like you will for real`:`Two agents, talking it out on your key`,g;t[136]===h?g=t[137]:(g=(0,C.jsxs)(`div`,{className:`dlg-title`,children:[p,(0,C.jsx)(`p`,{className:`dlg-kicker`,children:h})]}),t[136]=h,t[137]=g);let w;t[138]!==f||t[139]!==g?(w=(0,C.jsxs)(`div`,{className:`dlg-head-id`,children:[f,g]}),t[138]=f,t[139]=g,t[140]=w):w=t[140];let se;t[141]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,C.jsx)(ve,{}),t[141]=se):se=t[141];let k;t[142]===r?k=t[143]:(k=(0,C.jsx)(`button`,{type:`button`,className:`dlg-x`,onClick:r,"aria-label":`Close`,children:se}),t[142]=r,t[143]=k),t[144]!==w||t[145]!==k?(Mt=(0,C.jsxs)(`header`,{className:`dlg-head`,children:[w,k]}),t[144]=w,t[145]=k,t[146]=Mt):Mt=t[146],Nt=_===`brief`&&(0,C.jsxs)(`form`,{className:`dlg-brief`,onSubmit:e=>{e.preventDefault(),y===`you`?Z&&v(`running`):St()},children:[(0,C.jsxs)(`p`,{className:`dlg-lede`,children:[`The other side is a `,(0,C.jsx)(`strong`,{children:`stand-in`}),`, played only from what you write here — nothing is sent to them.`]}),(0,C.jsxs)(`div`,{className:`dlg-seatpick`,role:`radiogroup`,"aria-label":`Who sits on your side`,children:[(0,C.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":y===`mavea`,className:`dlg-seatpick-opt`,onClick:()=>ee(`mavea`),children:[(0,C.jsx)(`span`,{className:`dlg-seatpick-name`,children:`Send your Mavéa`}),(0,C.jsx)(`span`,{className:`dlg-seatpick-sub`,children:`Two agents talk it out while you watch`})]}),(0,C.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":y===`you`,className:`dlg-seatpick-opt`,onClick:()=>ee(`you`),children:[(0,C.jsx)(`span`,{className:`dlg-seatpick-name`,children:`Take the seat yourself`}),(0,C.jsx)(`span`,{className:`dlg-seatpick-sub`,children:`You say your lines; they answer in character, out loud`})]})]}),(0,C.jsx)(s,{kind:`simulation`,from:`live`}),(0,C.jsxs)(`div`,{className:`dlg-seeds`,role:`group`,"aria-label":`Start from an example`,children:[(0,C.jsx)(`span`,{className:`dlg-seeds-label`,children:`Try one`}),ge.map(t=>(0,C.jsx)(`button`,{type:`button`,className:`dlg-seed`,"aria-pressed":xt(t),onClick:()=>e(t),children:t.tag},t.tag))]}),(0,C.jsxs)(`fieldset`,{className:`dlg-group`+(O?` dlg-seed-fill`:``),children:[(0,C.jsx)(`legend`,{children:`The other side`}),(0,C.jsxs)(`label`,{className:`dlg-field`,children:[(0,C.jsx)(`span`,{className:`dlg-field-name`,children:`Who you're negotiating with`}),(0,C.jsx)(`input`,{value:x,onChange:e=>ne(e.target.value),placeholder:`Priya, my manager`})]}),(0,C.jsxs)(`label`,{className:`dlg-field`,children:[(0,C.jsx)(`span`,{className:`dlg-field-name`,children:`Their position, as you see it`}),(0,C.jsx)(`textarea`,{rows:2,value:E,onChange:e=>ae(e.target.value),placeholder:`Budget's tight this quarter; she values retention and won't set precedents`}),(0,C.jsx)(`span`,{className:`dlg-field-hint`,children:y===`you`?`This is all they'll know — where it runs out, they play the role straight instead of pretending to know the real person.`:`This is all the stand-in knows — it argues only from this.`})]}),y===`you`&&c&&c.length>0&&(0,C.jsxs)(`label`,{className:`dlg-memory`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:b,onChange:e=>te(e.target.checked)}),`Also ground them in what Mavéa remembers (`,c.length,` `,c.length===1?`concept`:`concepts`,`)`]})]}),(0,C.jsxs)(`fieldset`,{className:`dlg-group`+(O?` dlg-seed-fill`:``),children:[(0,C.jsx)(`legend`,{children:`Your side`}),(0,C.jsxs)(`label`,{className:`dlg-field`,children:[(0,C.jsx)(`span`,{className:`dlg-field-name`,children:`What you're after`}),(0,C.jsx)(`input`,{value:S,onChange:e=>re(e.target.value),placeholder:`A raise to $95k, up from $82k, this cycle`})]}),y===`mavea`&&(0,C.jsxs)(`label`,{className:`dlg-field`,children:[(0,C.jsx)(`span`,{className:`dlg-field-name`,children:`What you'll put on the table`}),(0,C.jsx)(`textarea`,{rows:2,value:T,onChange:e=>ie(e.target.value),placeholder:`I led the billing migration; I can mentor two juniors`})]})]}),y===`mavea`&&(0,C.jsxs)(`fieldset`,{className:`dlg-group dlg-group-line`+(O?` dlg-seed-fill`:``),children:[(0,C.jsxs)(`legend`,{children:[`Your line `,(0,C.jsx)(`span`,{className:`dlg-enforced`,children:`enforced`})]}),(0,C.jsx)(`p`,{className:`dlg-line-note`,children:`Mavéa never offers these. Every proposal is checked in code, and any that crosses your line is pulled back — not just discouraged.`}),(0,C.jsxs)(`label`,{className:`dlg-field`,children:[(0,C.jsx)(`span`,{className:`dlg-field-name sr-only`,children:`Never offer`}),(0,C.jsx)(`input`,{value:D,onChange:e=>oe(e.target.value),placeholder:`working weekends, a title bump instead of pay`})]}),Ue.length>0&&(0,C.jsx)(`ul`,{className:`dlg-line-chips`,"aria-hidden":`true`,children:Ue.map(De)})]}),(0,C.jsxs)(`div`,{className:`dlg-brief-actions`,children:[(0,C.jsx)(`button`,{type:`submit`,className:`dlg-start`,disabled:!Z,children:y===`you`?`Start take 1`:`Start the negotiation`}),(0,C.jsx)(`span`,{className:`dlg-brief-cost`,children:y===`you`?`one short call per line, one for the coach`:`≈ one answer's worth of calls, debrief included`})]})]}),t[76]=D,t[77]=Ue,t[78]=X,t[79]=n,t[80]=x,t[81]=M,t[82]=j,t[83]=S,t[84]=c,t[85]=T,t[86]=r,t[87]=o,t[88]=Z,t[89]=y,t[90]=xt,t[91]=O,t[92]=_,t[93]=E,t[94]=b,t[95]=St,t[96]=Ct,t[97]=$,t[98]=wt,t[99]=Tt,t[100]=Et,t[101]=Dt,t[102]=Ot,t[103]=kt,t[104]=At,t[105]=jt,t[106]=Mt,t[107]=Nt,t[108]=Pt,t[109]=Ft,t[110]=It,t[111]=Lt,t[112]=Rt,t[113]=zt}else St=t[95],Ct=t[96],$=t[97],wt=t[98],Tt=t[99],Et=t[100],Dt=t[101],Ot=t[102],kt=t[103],At=t[104],jt=t[105],Mt=t[106],Nt=t[107],Pt=t[108],Ft=t[109],It=t[110],Lt=t[111],Rt=t[112],zt=t[113];let Bt;t[147]!==n||t[148]!==p||t[149]!==rt||t[150]!==y||t[151]!==f||t[152]!==_||t[153]!==Q?(Bt=_!==`brief`&&y===`you`&&(0,C.jsx)(w,{setup:rt,themLabel:Q,cfg:n,speak:f,onDebrief:p,onAdjustBrief:()=>v(`brief`)}),t[147]=n,t[148]=p,t[149]=rt,t[150]=y,t[151]=f,t[152]=_,t[153]=Q,t[154]=Bt):Bt=t[154];let Vt;t[155]!==N||t[156]!==St||t[157]!==lt||t[158]!==Te||t[159]!==x||t[160]!==M||t[161]!==z||t[162]!==R||t[163]!==j||t[164]!==Ct||t[165]!==_t||t[166]!==r||t[167]!==o||t[168]!==V||t[169]!==y||t[170]!==_||t[171]!==at||t[172]!==$||t[173]!==wt||t[174]!==L||t[175]!==Q||t[176]!==st||t[177]!==ft?(Vt=_!==`brief`&&y===`mavea`&&(0,C.jsxs)(`div`,{className:`dlg-table`,children:[(0,C.jsxs)(`div`,{className:`dlg-tablescape`,children:[(0,C.jsxs)(`div`,{className:`dlg-seat yours`,children:[(0,C.jsx)(`span`,{className:`dlg-jelly`,"aria-hidden":`true`,children:(0,C.jsx)(a,{..._t.yours})}),(0,C.jsx)(`span`,{className:`dlg-seat-name`,children:`Your Mavéa`})]}),(0,C.jsxs)(`div`,{className:`dlg-meta`,children:[(0,C.jsx)(xe,{turns:st,running:_===`running`}),(0,C.jsx)(`span`,{className:`dlg-clock tab-num`,"aria-label":`${R} seconds elapsed`,children:_e(R)})]}),(0,C.jsxs)(`div`,{className:`dlg-seat theirs`,children:[(0,C.jsx)(`span`,{className:`dlg-jelly ghost`,"aria-hidden":`true`,children:(0,C.jsx)(a,{..._t.theirs})}),(0,C.jsx)(`span`,{className:`dlg-seat-name`,children:x}),(0,C.jsx)(`span`,{className:`dlg-seat-tag`,children:`stand-in`})]})]}),(0,C.jsxs)(`div`,{className:`dlg-offer`,"data-empty":!at||void 0,"data-by":at?.by,children:[(0,C.jsx)(`span`,{className:`dlg-offer-eyebrow`,children:`On the table`}),at?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`p`,{className:`dlg-offer-text`,children:at.offer},at.offer),(0,C.jsx)(`span`,{className:`dlg-offer-by`,children:at.by===`yours`?`Your Mavéa proposed this`:`${Q}'s stand-in countered`})]}):(0,C.jsx)(`p`,{className:`dlg-offer-empty`,children:_===`running`?`Opening the table…`:`No offer was tabled.`})]}),(0,C.jsxs)(`ol`,{className:`dlg-log`,ref:h,role:`log`,"aria-live":`polite`,"aria-label":`The exchange`,children:[j.map((e,t)=>e.side===`engine`?(0,C.jsxs)(`li`,{className:`dlg-referee`,children:[(0,C.jsx)(P,{}),(0,C.jsx)(`span`,{children:e.say})]},t):(0,C.jsxs)(`li`,{className:`dlg-turn ${e.side} ${e.kind}`,children:[(0,C.jsx)(be,{side:e.side,name:x}),(0,C.jsx)(`p`,{className:`dlg-turn-say`,children:e.say}),e.offer&&e.kind!==`accept`&&(0,C.jsx)(`span`,{className:`dlg-turn-tag`,children:`Now on the table`}),e.kind===`accept`&&(0,C.jsx)(`span`,{className:`dlg-turn-tag agreed`,children:`Accepted`})]},t)),_===`running`&&(0,C.jsxs)(`li`,{className:`dlg-turn ${ft} thinking`,"aria-hidden":`true`,children:[(0,C.jsx)(be,{side:ft,name:x}),(0,C.jsxs)(`span`,{className:`dlg-typing`,children:[(0,C.jsx)(`i`,{}),(0,C.jsx)(`i`,{}),(0,C.jsx)(`i`,{})]})]})]}),_===`running`&&(0,C.jsx)(`div`,{className:`dlg-foot`,children:(0,C.jsx)(`button`,{type:`button`,className:`dlg-stop`,onClick:wt,children:`Stop`})}),_===`done`&&M&&!N&&(0,C.jsxs)(`div`,{className:`dlg-result deal`,children:[(0,C.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,C.jsx)(`span`,{className:`dlg-result-mark`,children:(0,C.jsx)(ye,{})}),(0,C.jsx)(`h3`,{children:`Both Mavéas agreed`})]}),(0,C.jsx)(`p`,{className:`dlg-result-terms`,children:M}),(0,C.jsxs)(`p`,{className:`dlg-result-honest`,children:[`Pending both humans — nothing's been sent. Approve your side and you'll get the summary to send to `,Q,` yourself.`]}),(0,C.jsx)(we,{debrief:z,events:j,themLabel:Q,onRetry:()=>$(j,M)}),(0,C.jsxs)(`div`,{className:`dlg-result-actions`,children:[(0,C.jsx)(Se,{label:`Hold to approve your side`,onConfirm:()=>{F(!0),navigator.clipboard?.writeText(`Proposed deal with ${x}: ${M}`).then(()=>I(!0)).catch(()=>I(!1))}}),(0,C.jsx)(`button`,{type:`button`,className:`dlg-pass`,onClick:r,children:`Not yet`})]})]}),_===`done`&&M&&N&&(0,C.jsxs)(`div`,{className:`dlg-result approved`,children:[(0,C.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,C.jsx)(`span`,{className:`dlg-result-mark`,children:(0,C.jsx)(ye,{})}),(0,C.jsx)(`h3`,{children:`Approved on your side`})]}),(0,C.jsx)(`p`,{className:`dlg-result-terms`,children:M}),(0,C.jsx)(`p`,{className:`dlg-result-honest`,children:Te?`The summary's on your clipboard. ${Q} still has to say yes for real — you send it.`:`${Q} still has to say yes for real — copy the summary above and send it yourself.`}),(0,C.jsx)(we,{debrief:z,events:j,themLabel:Q,onRetry:()=>$(j,M)}),(0,C.jsx)(`button`,{type:`button`,className:`dlg-done`,onClick:r,children:`Done`})]}),_===`done`&&!M&&(0,C.jsxs)(`div`,{className:`dlg-result nodeal`,children:[(0,C.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,C.jsx)(`span`,{className:`dlg-result-mark line`,"aria-hidden":`true`}),(0,C.jsx)(`h3`,{children:L?`Stopped`:lt?`No deal — your line held`:`No deal this run`})]}),(0,C.jsx)(`p`,{className:`dlg-result-honest`,children:L?`You called it off — nothing was sent.`:lt?`Mavéa pulled back every offer that crossed your line, and the sides couldn’t meet without it. Nothing was sent — that’s the point of scouting. Here’s where your case got tested.`:`The two sides couldn’t meet in ${st} turn${st===1?``:`s`}. Nothing was sent — that’s the point of scouting. Here’s where your case got tested.`}),L&&st>=2&&z===`idle`?(0,C.jsx)(`button`,{type:`button`,className:`dlg-followup-btn`,onClick:()=>$(j,M),children:`Debrief what happened`}):(0,C.jsx)(we,{debrief:z,events:j,themLabel:Q,onRetry:()=>$(j,M)}),(0,C.jsx)(`button`,{type:`button`,className:`dlg-done`,onClick:r,children:`Close`})]}),_===`done`&&(0,C.jsxs)(`div`,{className:`dlg-followup`,children:[o&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`button`,{type:`button`,className:`dlg-followup-btn`,onClick:Ct,children:`Bring this into the conversation`}),(0,C.jsx)(`span`,{className:`dlg-followup-hint`,children:`Runs one normal answer in Live, grounded in this transcript.`})]}),(0,C.jsxs)(`div`,{className:`dlg-followup-actions`,children:[(0,C.jsx)(`button`,{type:`button`,className:`dlg-followup-btn ghost`,onClick:()=>v(`brief`),children:`Adjust the brief`}),(0,C.jsx)(`button`,{type:`button`,className:`dlg-followup-btn ghost`,onClick:St,children:`Run it again`})]})]}),_===`done`&&V.length>=2&&(0,C.jsx)(`div`,{className:`dlg-runs`,"aria-label":`Runs this session`,children:V.map(Ee)})]}),t[155]=N,t[156]=St,t[157]=lt,t[158]=Te,t[159]=x,t[160]=M,t[161]=z,t[162]=R,t[163]=j,t[164]=Ct,t[165]=_t,t[166]=r,t[167]=o,t[168]=V,t[169]=y,t[170]=_,t[171]=at,t[172]=$,t[173]=wt,t[174]=L,t[175]=Q,t[176]=st,t[177]=ft,t[178]=Vt):Vt=t[178];let Ht;t[179]!==Tt||t[180]!==Et||t[181]!==Dt||t[182]!==Ot||t[183]!==kt||t[184]!==At||t[185]!==jt||t[186]!==Mt||t[187]!==Nt||t[188]!==Bt||t[189]!==Vt?(Ht=(0,C.jsxs)(`section`,{className:Tt,ref:Et,tabIndex:Dt,role:Ot,"aria-modal":kt,"aria-label":At,"data-stage":jt,children:[Mt,Nt,Bt,Vt]}),t[179]=Tt,t[180]=Et,t[181]=Dt,t[182]=Ot,t[183]=kt,t[184]=At,t[185]=jt,t[186]=Mt,t[187]=Nt,t[188]=Bt,t[189]=Vt,t[190]=Ht):Ht=t[190];let Ut;return t[191]!==Pt||t[192]!==Ft||t[193]!==It||t[194]!==Lt||t[195]!==Rt||t[196]!==zt||t[197]!==Ht?(Ut=(0,C.jsx)(`div`,{className:Pt,onClick:Ft,role:It,tabIndex:Lt,"aria-label":Rt,onKeyDown:zt,children:Ht}),t[191]=Pt,t[192]=Ft,t[193]=It,t[194]=Lt,t[195]=Rt,t[196]=zt,t[197]=Ht,t[198]=Ut):Ut=t[198],Ut}function Ee(e){return(0,C.jsx)(`span`,{className:`dlg-runs-item`,children:`Run ${e.n} — ${e.outcome===`deal`?`deal`:e.outcome===`stopped`?`stopped`:`no deal`} · ${e.turns} turn${e.turns===1?``:`s`}${e.deal?` · ${e.deal}`:``}`},e.n)}function De(e){return(0,C.jsxs)(`li`,{className:`dlg-line-chip`,children:[(0,C.jsx)(P,{}),e]},e)}function Oe(e){return e.side!==`engine`}function ke(e){return e.side!==`engine`}function Ae(e){return e.side===`engine`}function je(e){return e.side!==`engine`}function Me(e){return e.body}function Ne(e){return e+1}export{I as DelegatePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DeHZSEgm.js";import{et as t,n,r}from"./index-D1SPhBGd.js";import{n as i}from"./icons-gLFQTv74.js";var a=e();function o(e){return/\p{Extended_Pictographic}/u.test(e)}var s=n.map(e=>({cat:e,persona:r(e.persona)})).filter(e=>!!e.persona);function c({onPlay:e}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t,{eyebrow:`Curated examples`,sub:`Each fictional scenario is a prerecorded, model-generated answer sequence with curated feature choreography on the production UI. No live provider call runs during playback.`,children:`Watch a prerecorded workflow`}),(0,a.jsx)(`div`,{className:`fl-demo-grid`,children:s.map(({cat:t,persona:n})=>(0,a.jsxs)(`button`,{type:`button`,className:`fl-demo-card`,style:{"--accent":n.accent},onClick:()=>e(n),children:[(0,a.jsxs)(`div`,{className:`fl-demo-top`,children:[(0,a.jsx)(`span`,{className:`fl-demo-avatar`+(o(n.avatar)?` emoji`:``),children:n.avatar}),(0,a.jsxs)(`span`,{className:`fl-demo-who`,children:[(0,a.jsx)(`span`,{className:`fl-demo-name`,children:n.useCase}),(0,a.jsxs)(`span`,{className:`fl-demo-role`,children:[n.name,` · `,n.role]})]}),(0,a.jsx)(`span`,{className:`fl-demo-badge`,children:t.label})]}),(0,a.jsx)(`span`,{className:`fl-demo-blurb`,children:n.blurb}),(0,a.jsxs)(`span`,{className:`fl-demo-play`,children:[(0,a.jsx)(i.play,{}),` Play curated replay`]})]},n.id))})]})}export{c as DemoGallery};
|
|
@@ -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{rt as r}from"./index-D1SPhBGd.js";var i=r(),a=t(),o=e();function s(e,t){let n=(0,a.c)(4),[r,i]=(0,o.useState)(),s,c;return n[0]!==t||n[1]!==e?(s=()=>{if(!e){i(void 0);return}let n=()=>{let e=t.current;if(!e)return;let n=e.getBoundingClientRect();i({position:`fixed`,left:n.left,top:n.bottom+6,width:n.width,right:`auto`,bottom:`auto`,maxHeight:Math.max(160,window.innerHeight-n.bottom-16),zIndex:1e3})};n();let r=0,a=()=>{cancelAnimationFrame(r),r=requestAnimationFrame(n)};return window.addEventListener(`scroll`,a,!0),window.addEventListener(`resize`,a),()=>{cancelAnimationFrame(r),window.removeEventListener(`scroll`,a,!0),window.removeEventListener(`resize`,a)}},c=[e,t],n[0]=t,n[1]=e,n[2]=s,n[3]=c):(s=n[2],c=n[3]),(0,o.useLayoutEffect)(s,c),r}var c=n();function l({options:e,value:t,onChange:n,ariaLabel:r,disabled:a=!1,focusOnMount:l=!1,triggerClassName:u=`setup-input`}){let d=(0,o.useId)(),f=(0,o.useRef)(null),[p,m]=(0,o.useState)(!1),[h,g]=(0,o.useState)(-1),_=s(p,f),v=e.find(e=>e.value===t),y=e=>`${d}-opt-${e}`,b=()=>{g(e.findIndex(e=>e.value===t)),m(!0)},x=e=>{n(e),m(!1),f.current?.focus()};return(0,o.useEffect)(()=>{p&&h>=0&&document.getElementById(y(h))?.scrollIntoView?.({block:`nearest`})},[p,h]),(0,c.jsxs)(`div`,{className:`drop-select`,children:[(0,c.jsxs)(`button`,{ref:f,type:`button`,className:`${u} drop-select-trigger`,role:`combobox`,"aria-expanded":p,"aria-controls":d,"aria-activedescendant":p&&h>=0?y(h):void 0,"aria-label":r,disabled:a,autoFocus:l,onClick:()=>p?m(!1):b(),onKeyDown:t=>{if(t.key===`ArrowDown`||t.key===`ArrowUp`){if(t.preventDefault(),!p)return b();let n=t.key===`ArrowDown`?1:-1;g(t=>(t+n+e.length)%e.length)}else t.key===`Enter`&&p&&h>=0?(t.preventDefault(),x(e[h].value)):t.key===`Escape`&&p&&(t.preventDefault(),m(!1))},onBlur:()=>m(!1),children:[(0,c.jsx)(`span`,{children:v?.label??t}),(0,c.jsx)(`svg`,{viewBox:`0 0 12 8`,fill:`none`,"aria-hidden":!0,children:(0,c.jsx)(`path`,{d:`M1 1.5L6 6.5L11 1.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),p&&(0,i.createPortal)((0,c.jsx)(`div`,{className:`drop-select-menu`,style:_,role:`listbox`,id:d,"aria-label":r,onPointerDown:e=>e.preventDefault(),children:e.map((e,n)=>(0,c.jsxs)(`div`,{id:y(n),role:`option`,tabIndex:-1,"aria-selected":e.value===t,className:`drop-select-option`+(n===h?` is-active`:``)+(e.value===t?` is-current`:``),onMouseEnter:()=>g(n),onClick:()=>x(e.value),children:[(0,c.jsx)(`span`,{className:`drop-select-option-head`,children:(0,c.jsx)(`span`,{className:`drop-select-option-label`,children:e.label})}),e.note&&(0,c.jsx)(`span`,{className:`drop-select-note`,children:e.note})]},e.value))}),document.body)]})}export{s as n,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.drop-select{position:relative}.drop-select .drop-select-input{font-family:var(--mono);padding-right:40px;font-size:13px}.drop-select-trigger{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;display:flex}.drop-select-trigger:disabled{cursor:default;opacity:.55}.drop-select-trigger>svg{color:var(--text-muted);height:8px;transition:rotate var(--m-fast);flex-shrink:0;width:12px}.drop-select-trigger[aria-expanded=true]>svg{rotate:180deg}.drop-select-option-label{color:var(--text-primary);font:500 13.5px/1.2 var(--font)}.drop-select-option.is-current .drop-select-option-label{color:var(--presence);font-weight:650}.drop-select-chevron{appearance:none;color:var(--text-muted);cursor:pointer;height:100%;transition:color var(--m-fast);background:0 0;border:none;place-items:center;width:40px;padding:0;display:grid;position:absolute;top:0;right:0}.drop-select-chevron:hover{color:var(--text-primary)}.drop-select-chevron svg{height:8px;transition:rotate var(--m-fast);width:12px}.drop-select-chevron[aria-expanded=true] svg{rotate:180deg}.drop-select-menu{background:var(--surface-elevated);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-floating);inset-inline:0;z-index:30;flex-direction:column;gap:2px;max-height:320px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);overflow-y:auto}.drop-select-option{border-radius:calc(var(--r-md) - 4px);cursor:pointer;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.drop-select-option.is-active{background:color-mix(in oklab, var(--presence) 10%, transparent)}.drop-select-option-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.drop-select-id{color:var(--text-primary);font:500 13px/1.2 var(--mono);overflow-wrap:anywhere}.drop-select-option.is-current .drop-select-id{color:var(--presence);font-weight:650}.drop-select-badge{border:1px solid color-mix(in oklab, var(--presence) 35%, transparent);border-radius:var(--r-full);color:var(--presence);font:600 10px/1 var(--font);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;padding:3px 8px}.drop-select-note{color:var(--text-muted);font:11.5px/1.35 var(--font)}.drop-select-foot{border-top:1px solid var(--line);color:var(--text-muted);font:11.5px/1.4 var(--font);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;margin-top:2px;padding:8px 10px 5px;display:flex}.drop-select-foot a{color:var(--presence);white-space:nowrap;flex-shrink:0;text-decoration:none}.drop-select-foot a:hover{text-decoration:underline}
|