@mavea/mavea 1.0.7
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/CHANGELOG.md +159 -0
- package/DISCLAIMER.md +16 -0
- package/LICENSE +75 -0
- package/PRIVACY.md +127 -0
- package/README.md +248 -0
- package/SECURITY.md +72 -0
- package/SUPPORT.md +13 -0
- package/TERMS.md +122 -0
- package/THIRD-PARTY.txt +639 -0
- package/TRADEMARKS.md +15 -0
- package/bin/mavea.mjs +1079 -0
- package/dist/.vite/manifest.json +4261 -0
- package/dist/_headers +52 -0
- package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
- package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
- package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
- package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
- package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
- package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
- package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
- package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
- package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
- package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
- package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
- package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
- package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
- package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
- package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
- package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
- package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
- package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
- package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
- package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
- package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
- package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
- package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
- package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
- package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
- package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
- package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
- package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
- package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
- package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
- package/dist/assets/DropSelect-DUhdQSta.js +1 -0
- package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
- package/dist/assets/ExportModal-D65cGyj_.js +2 -0
- package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
- package/dist/assets/FallbackCard-B489rTd9.js +1 -0
- package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
- package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
- package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
- package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
- package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
- package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
- package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
- package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
- package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
- package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
- package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
- package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
- package/dist/assets/LegalApp-DZBdExTy.js +1 -0
- package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
- package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
- package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
- package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
- package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
- package/dist/assets/Library-D2XGNXz7.js +1 -0
- package/dist/assets/Library-DmrtHjUf.css +1 -0
- package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
- package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
- package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
- package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
- package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
- package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
- package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
- package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
- package/dist/assets/Orb-B0NEVfqL.js +1 -0
- package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
- package/dist/assets/PlanReview-33V8GTNB.js +1 -0
- package/dist/assets/Presence-CzLJIeSD.js +1 -0
- package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
- package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
- package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
- package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
- package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
- package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
- package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
- package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
- package/dist/assets/Quiz-CUwtekfu.js +1 -0
- package/dist/assets/Recap-DCiiWNiV.css +1 -0
- package/dist/assets/Recap-H5fhj5Tc.js +1 -0
- package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
- package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
- package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
- package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
- package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
- package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
- package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
- package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
- package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
- package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
- package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
- package/dist/assets/SeeDontRead-C389viue.js +1 -0
- package/dist/assets/ShareModal-C8S7ySls.css +1 -0
- package/dist/assets/ShareModal-ClnEkudw.js +32 -0
- package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
- package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
- package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
- package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
- package/dist/assets/ShipGate-BVZfCllb.css +1 -0
- package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
- package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
- package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
- package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
- package/dist/assets/ShipIncident-DcmindmE.js +2 -0
- package/dist/assets/ShipMigration-BznCskNg.css +1 -0
- package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
- package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
- package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
- package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
- package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
- package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
- package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
- package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
- package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
- package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
- package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
- package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
- package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
- package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
- package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
- package/dist/assets/TermsApp-C70tW6m6.js +123 -0
- package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
- package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
- package/dist/assets/TourPrism-BvucSkcs.js +1 -0
- package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
- package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
- package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
- package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
- package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
- package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
- package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
- package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
- package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
- package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
- package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
- package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
- package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
- package/dist/assets/annotations-D2K9A5GB.js +1 -0
- package/dist/assets/backup-c-Btapzp.js +1 -0
- package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
- package/dist/assets/c-DWGmR78Y.js +1 -0
- package/dist/assets/c-SSSlmE39.js +1 -0
- package/dist/assets/cache-BumECILO.js +1 -0
- package/dist/assets/canvas-QTEIiK23.js +1 -0
- package/dist/assets/catalog-BHjl-1uH.js +2 -0
- package/dist/assets/catalog-Dqaq2YFd.js +1 -0
- package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
- package/dist/assets/chapters-BiUsDClQ.js +1 -0
- package/dist/assets/charts1-EOoxU_K3.js +1 -0
- package/dist/assets/charts2-tyUiQPff.js +1 -0
- package/dist/assets/chunk-BVpWp9h4.js +1 -0
- package/dist/assets/citation-BcvmjKS8.js +1 -0
- package/dist/assets/code-CpjYCNS8.js +8 -0
- package/dist/assets/codeContext-0UMRSGRr.js +5 -0
- package/dist/assets/colors-D49Req-e.js +1 -0
- package/dist/assets/compose-BJ9EfcQS.js +3 -0
- package/dist/assets/contentVault-DzTYWcbD.js +1 -0
- package/dist/assets/core-DEFyprhs.js +1 -0
- package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
- package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
- package/dist/assets/courseStore-DfafnL-9.js +1 -0
- package/dist/assets/courses-BkH1ntDL.css +1 -0
- package/dist/assets/cpp-BGdv8dzs.js +1 -0
- package/dist/assets/cpp-CNAAXZl-.js +1 -0
- package/dist/assets/csharp-oqKa8noW.js +1 -0
- package/dist/assets/css-CdtkT07m.js +1 -0
- package/dist/assets/css-LbU1hoFO.js +1 -0
- package/dist/assets/dag-C3Xx8pOD.js +2 -0
- package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
- package/dist/assets/dashboards-rcWxdoXI.css +1 -0
- package/dist/assets/deckLine-NBd3MyGT.js +1 -0
- package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
- package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
- package/dist/assets/diagrams-CaSfjT4I.js +1 -0
- package/dist/assets/diff-woXpYk--.js +1 -0
- package/dist/assets/display-OvC57CMc.js +9 -0
- package/dist/assets/dist-BFx3nZg4.js +2785 -0
- package/dist/assets/dist-xRGLOZwv.js +14 -0
- package/dist/assets/docs-B2aDtm5K.js +1 -0
- package/dist/assets/everyday-CoZa4kDZ.js +1 -0
- package/dist/assets/explode-WBykfhqW.js +13 -0
- package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
- package/dist/assets/facts-BBTt3ImG.js +1 -0
- package/dist/assets/finance-Bxn_Q1p0.js +1 -0
- package/dist/assets/fit-0HxU-rtB.js +1 -0
- package/dist/assets/fitText-CDFmCQzl.js +1 -0
- package/dist/assets/flows-BL81J7yN.js +1 -0
- package/dist/assets/format-DlZTyeMy.js +1 -0
- package/dist/assets/format-hc2QOoIu.js +1 -0
- package/dist/assets/forms-DeoXOxdD.js +1 -0
- package/dist/assets/generate-8odaTyr4.js +17 -0
- package/dist/assets/generateBeats-b64CL54v.js +1 -0
- package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
- package/dist/assets/generateLive-D4B30fnF.js +52 -0
- package/dist/assets/geometry-DXAbnb0J.js +1 -0
- package/dist/assets/gesture-DabMpPcq.js +2 -0
- package/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
- package/dist/assets/githubToken-DtcLYqwm.js +11 -0
- package/dist/assets/go-rLFTqkRN.js +1 -0
- package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
- package/dist/assets/html-BcACZWSP.js +1 -0
- package/dist/assets/html-DDNsd9lV.js +1 -0
- package/dist/assets/http-CJCtjYpA.js +2 -0
- package/dist/assets/icons-CHVz6kv_.js +1 -0
- package/dist/assets/index-CepQEz75.css +1 -0
- package/dist/assets/index-y8GL67bB.js +22 -0
- package/dist/assets/index.es-CRLiWwiA.js +5 -0
- package/dist/assets/info-CiqHR5cs.js +1 -0
- package/dist/assets/java-BtIQNnN0.js +1 -0
- package/dist/assets/java-DxlWrXwe.js +1 -0
- package/dist/assets/javascript-BzbQS41l.js +1 -0
- package/dist/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/assets/json-B0N3XRZU.js +1 -0
- package/dist/assets/json-B88Oqtu5.js +1 -0
- package/dist/assets/json-CaljABEy.js +1 -0
- package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
- package/dist/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
- package/dist/assets/katex-BMCG0xok.js +257 -0
- package/dist/assets/keyVault-DEsNh9FR.js +1 -0
- package/dist/assets/kokoro-D4GKpSL0.js +1 -0
- package/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/assets/layout-BFQOzXtG.js +1 -0
- package/dist/assets/layout-CkO0Psde.js +1 -0
- package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
- package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
- package/dist/assets/learn-DVfqN-nf.js +1 -0
- package/dist/assets/lib-DMAxsZKm.css +1 -0
- package/dist/assets/lib-VFqp6Y3w.js +1 -0
- package/dist/assets/links--u_phi0x.js +1 -0
- package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
- package/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/assets/mastery-BPjxP0fN.js +4 -0
- package/dist/assets/media-CsrUl279.js +43 -0
- package/dist/assets/model-BE0UHu1w.js +27 -0
- package/dist/assets/motion-S0NRruNj.js +1 -0
- package/dist/assets/nav-Czm-NzPV.js +1 -0
- package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
- package/dist/assets/notes-A9t4jdfx.css +1 -0
- package/dist/assets/notes-lROPCorS.js +1 -0
- package/dist/assets/notify-Bz4wuE4T.js +1 -0
- package/dist/assets/now-C9-UAzTC.js +1 -0
- package/dist/assets/number-DXgzss0v.js +1 -0
- package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
- package/dist/assets/openchemlib-nMLMmg26.js +23 -0
- package/dist/assets/overlays-JxbHtA2o.js +1 -0
- package/dist/assets/owners-FXDGInVq.js +2 -0
- package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
- package/dist/assets/pdf-Df7PCH7q.js +11 -0
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
- package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
- package/dist/assets/perfProbe-COAp9PAa.js +1 -0
- package/dist/assets/php-CYrBA5iX.js +1 -0
- package/dist/assets/pickers-B4-3HOR8.js +1 -0
- package/dist/assets/pin-Bya3BL_a.css +1 -0
- package/dist/assets/pin-CXSuPJYL.js +1 -0
- package/dist/assets/planTracker-7AMCQPNx.js +1 -0
- package/dist/assets/portal-DMw7C32j.js +1 -0
- package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
- package/dist/assets/predictions-CYS7Vo39.js +1 -0
- package/dist/assets/prewarm--whjQhWJ.js +1 -0
- package/dist/assets/prism-app-CXYElq8-.css +1 -0
- package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
- package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
- package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
- package/dist/assets/providers-wzm7E8Pa.js +1 -0
- package/dist/assets/purify.es-adlwq8Pz.js +3 -0
- package/dist/assets/python-gzcpVVnB.js +1 -0
- package/dist/assets/queue-DHeyJ32F.css +1 -0
- package/dist/assets/queue-J4h7E3uc.js +1 -0
- package/dist/assets/quietHours-BvcsBKKK.js +1 -0
- package/dist/assets/react-BQSORdFI.js +1 -0
- package/dist/assets/reference-sJzyMiL4.js +1 -0
- package/dist/assets/registry-1GuPBfQK.js +1 -0
- package/dist/assets/registry-2GJZ46M8.css +1 -0
- package/dist/assets/registry-2v0jlh5Q.js +2 -0
- package/dist/assets/registry-B8DStMJk.js +1 -0
- package/dist/assets/registry-B940W2j5.js +1 -0
- package/dist/assets/registry-BAoRB8rd.css +1 -0
- package/dist/assets/registry-BPvIPLke.js +1 -0
- package/dist/assets/registry-BVHiKEwE.css +1 -0
- package/dist/assets/registry-BcZXBr3y.css +1 -0
- package/dist/assets/registry-BffpZK5w.js +1 -0
- package/dist/assets/registry-BgGeRiDA.js +2 -0
- package/dist/assets/registry-Buq5uuCv.js +1 -0
- package/dist/assets/registry-BzNLfje1.css +1 -0
- package/dist/assets/registry-C3ezxLR3.css +1 -0
- package/dist/assets/registry-CAusoyBh.js +1 -0
- package/dist/assets/registry-CEVrY72Z.js +1 -0
- package/dist/assets/registry-CKjKq6ct.js +1 -0
- package/dist/assets/registry-CNgybLQv.css +1 -0
- package/dist/assets/registry-CRM7y8QT.css +1 -0
- package/dist/assets/registry-CRisz4Ca.css +1 -0
- package/dist/assets/registry-Cg7qUZPS.js +1 -0
- package/dist/assets/registry-Cix-yqch.js +1 -0
- package/dist/assets/registry-CtbuZWYz.css +1 -0
- package/dist/assets/registry-DCI_BeFJ.js +5 -0
- package/dist/assets/registry-DDLSYDVA.js +1 -0
- package/dist/assets/registry-DI1wSG1Y.js +1 -0
- package/dist/assets/registry-DJinB5ye.js +2 -0
- package/dist/assets/registry-DUvXX_d0.js +1 -0
- package/dist/assets/registry-DVzLacl_.css +1 -0
- package/dist/assets/registry-DWcNVyI2.css +1 -0
- package/dist/assets/registry-D_URPoL4.js +1 -0
- package/dist/assets/registry-Dkc7hN5T.js +1 -0
- package/dist/assets/registry-DmQlNN3y.js +1 -0
- package/dist/assets/registry-DpaaVbmL.css +1 -0
- package/dist/assets/registry-Dpb8EXHn.js +49 -0
- package/dist/assets/registry-Dru0JcTa.css +1 -0
- package/dist/assets/registry-DujBAgn_.js +1 -0
- package/dist/assets/registry-Dye5m3qt.css +1 -0
- package/dist/assets/registry-GeSy4i7R.css +1 -0
- package/dist/assets/registry-QcULZpdE.js +4 -0
- package/dist/assets/registry-T3i2Q9SI.css +1 -0
- package/dist/assets/registry-UFIuwh3i.css +1 -0
- package/dist/assets/registry-Xzq_Rpmm.css +1 -0
- package/dist/assets/registry-ZOWzhOHk.css +1 -0
- package/dist/assets/registry-aIH-Im5Y.css +1 -0
- package/dist/assets/registry-aazwkBJp.js +1 -0
- package/dist/assets/registry-ei6fIgBT.css +1 -0
- package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
- package/dist/assets/registry-upbw6pyj.css +1 -0
- package/dist/assets/registry-zRPjWNl5.js +1 -0
- package/dist/assets/relate-A9ZeaaAI.js +1 -0
- package/dist/assets/richText-BkxJhl9N.js +1 -0
- package/dist/assets/ruby-BhrksQMt.js +1 -0
- package/dist/assets/run-BYP2YlZT.js +23 -0
- package/dist/assets/run-C_0B_41W.js +21 -0
- package/dist/assets/run-DSVvshaB.js +21 -0
- package/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/assets/safeCssColor-di93BXgG.js +1 -0
- package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
- package/dist/assets/scale-Bcgfo6Hp.js +1 -0
- package/dist/assets/screen-DLR7p_yP.js +1 -0
- package/dist/assets/search-DnjHupRf.js +1 -0
- package/dist/assets/seed-b1xc0dj2.js +1 -0
- package/dist/assets/shapes-RqjqC0ay.js +1 -0
- package/dist/assets/shard000-DM_rqD7W.js +1 -0
- package/dist/assets/shard001-gQEQs7_F.js +1 -0
- package/dist/assets/shard002-DbDas-W-.js +1 -0
- package/dist/assets/shard003-DxMszG4_.js +1 -0
- package/dist/assets/shard004-DZMpLBw1.js +1 -0
- package/dist/assets/shard005-DLVkh9IH.js +1 -0
- package/dist/assets/shard006-B6efKHov.js +1 -0
- package/dist/assets/shard007-AFdZLe38.js +1 -0
- package/dist/assets/shard008-LbSBzwRx.js +1 -0
- package/dist/assets/shard009-D_6-SUDb.js +1 -0
- package/dist/assets/shard010-DbOj-uZW.js +1 -0
- package/dist/assets/shard011-BYSz7EEW.js +1 -0
- package/dist/assets/shard012-B5Ypj7OV.js +1 -0
- package/dist/assets/shard013-BtsliNIe.js +1 -0
- package/dist/assets/shard014-15sjmk68.js +1 -0
- package/dist/assets/shard015-nnXrqru_.js +1 -0
- package/dist/assets/shard016-BayXFE13.js +1 -0
- package/dist/assets/shard017-Cy4cGexs.js +1 -0
- package/dist/assets/shard018-aO-BYJ8H.js +1 -0
- package/dist/assets/shard019-gxaTeA3I.js +1 -0
- package/dist/assets/shard020-BibJdMI0.js +1 -0
- package/dist/assets/shard021-2FE-tze4.js +1 -0
- package/dist/assets/shard022-IXiyG-JK.js +1 -0
- package/dist/assets/shard023-314F6NJS.js +1 -0
- package/dist/assets/shard024-cN5rpQ_X.js +1 -0
- package/dist/assets/shard025-KKTaXOGE.js +1 -0
- package/dist/assets/shard026-C2Dkd1t6.js +1 -0
- package/dist/assets/shard027-Xy-8x9As.js +1 -0
- package/dist/assets/shard028-Bul-klUj.js +1 -0
- package/dist/assets/shard029-BbRSUcUZ.js +1 -0
- package/dist/assets/shard030-GYllsFVC.js +1 -0
- package/dist/assets/shard031-DMigeiyn.js +1 -0
- package/dist/assets/shard032-CcvmzK0l.js +1 -0
- package/dist/assets/shard033-11AU702M.js +1 -0
- package/dist/assets/shard034-Bx3urxjM.js +1 -0
- package/dist/assets/shard035-DBdEeyCt.js +1 -0
- package/dist/assets/shard036-vYgoRBqS.js +1 -0
- package/dist/assets/shard037-DP4MMw91.js +1 -0
- package/dist/assets/shard038-ffxsv7d6.js +1 -0
- package/dist/assets/shard039-C1JHHNp9.js +1 -0
- package/dist/assets/shard040-JbVvCSO_.js +1 -0
- package/dist/assets/shard041-5L_eFwGx.js +1 -0
- package/dist/assets/shard042-C9nsGL79.js +1 -0
- package/dist/assets/shard043-Dx_9HSKI.js +1 -0
- package/dist/assets/shard044-B3QQNC4A.js +1 -0
- package/dist/assets/shard045-B7z0WHO6.js +1 -0
- package/dist/assets/shard046-D1yDablJ.js +1 -0
- package/dist/assets/shard047-DJi3AgeT.js +1 -0
- package/dist/assets/shard048-D_2ipfUr.js +1 -0
- package/dist/assets/shard049-1aGgWZdd.js +1 -0
- package/dist/assets/shard050-Bjwa0Og4.js +1 -0
- package/dist/assets/shard051-Cx_GAk3v.js +1 -0
- package/dist/assets/shard052-LaeOD3V5.js +1 -0
- package/dist/assets/shard053-D-da7Foj.js +1 -0
- package/dist/assets/shard054-CM8eSRQk.js +1 -0
- package/dist/assets/shard055-QRpDl4Vs.js +1 -0
- package/dist/assets/shard056-DkY7CQm3.js +1 -0
- package/dist/assets/shard057-BVCgf7o0.js +1 -0
- package/dist/assets/shard058-93aGtdrX.js +1 -0
- package/dist/assets/shard059-rJE9X1_I.js +1 -0
- package/dist/assets/shard060-Lu_hfl1r.js +1 -0
- package/dist/assets/shard061-C9A8iNiq.js +1 -0
- package/dist/assets/shard062-BBIpEYZO.js +1 -0
- package/dist/assets/shard063-C_uen3Ub.js +1 -0
- package/dist/assets/shard064-DAHUsHST.js +1 -0
- package/dist/assets/shard065-C2edvdvh.js +1 -0
- package/dist/assets/shard066-DFcuVhZm.js +1 -0
- package/dist/assets/shard067-BN8DM8JZ.js +1 -0
- package/dist/assets/shard068-i464K77p.js +1 -0
- package/dist/assets/shard069-Dm9m2a5U.js +1 -0
- package/dist/assets/shard070-BPVvR8GH.js +1 -0
- package/dist/assets/shard071-Bal_0d9L.js +1 -0
- package/dist/assets/shard072-CBQu62kt.js +1 -0
- package/dist/assets/shard073-D5BRae0w.js +1 -0
- package/dist/assets/shard074-DtFvcBnZ.js +1 -0
- package/dist/assets/share-QHGHNDhQ.js +1 -0
- package/dist/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
- package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
- package/dist/assets/speed-DwPw9KSv.js +1 -0
- package/dist/assets/spokenText-D4zPX9JY.js +1 -0
- package/dist/assets/sql-0Qcw9ht3.js +1 -0
- package/dist/assets/sql-CP0rg-5b.js +1 -0
- package/dist/assets/src-DbgF7cRH.js +2 -0
- package/dist/assets/stats-BeP5Bws0.js +1 -0
- package/dist/assets/status-BY02LIJt.js +1 -0
- package/dist/assets/stepDriver-DwjFet6U.js +1 -0
- package/dist/assets/store-4JNNn732.js +1 -0
- package/dist/assets/store-BFC7DZcg.js +1 -0
- package/dist/assets/store-BFrJaSxJ.js +1 -0
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-DgG0C1Qx.js +1 -0
- package/dist/assets/streamParse-DRgMHWye.js +2 -0
- package/dist/assets/student.generated-DS_acPaJ.js +1 -0
- package/dist/assets/swift-DonLKvLd.js +1 -0
- package/dist/assets/tables-Dzd3rTqG.js +1 -0
- package/dist/assets/time-BHTmJR1s.js +1 -0
- package/dist/assets/toast-BBNs2h3L.js +1 -0
- package/dist/assets/toml-CcmNWLt0.js +1 -0
- package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
- package/dist/assets/tsx-5f3ulCja.js +1 -0
- package/dist/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/assets/typeof-B5XbjTb1.js +1 -0
- package/dist/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
- package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
- package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
- package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
- package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
- package/dist/assets/useSrsCards-CagZefwX.js +1 -0
- package/dist/assets/useStudy-Bflreq2a.js +1 -0
- package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
- package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
- package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
- package/dist/assets/verbatim-CBMzUDlf.js +1 -0
- package/dist/assets/worker-BbLKfGzm.js +2 -0
- package/dist/assets/xml-WY0zc4PG.js +1 -0
- package/dist/assets/yaml-CxbubiML.js +1 -0
- package/dist/assets/yaml-DijMHRDA.js +1 -0
- package/dist/demo-assets/CREDITS.md +40 -0
- package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
- package/dist/demo-assets/images/capelinhos.jpg +0 -0
- package/dist/demo-assets/images/cliff-fields.jpg +0 -0
- package/dist/demo-assets/images/crater-panorama.jpg +0 -0
- package/dist/demo-assets/images/furnas-lake.jpg +0 -0
- package/dist/demo-assets/images/green-coast.jpg +0 -0
- package/dist/demo-assets/images/overcast-coast.jpg +0 -0
- package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
- package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
- package/dist/demo-assets/images/sete-cidades.jpg +0 -0
- package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
- package/dist/demo-assets/images/slide-placeholder.svg +9 -0
- package/dist/demo-assets/images/village-street.jpg +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- package/dist/favicon.svg +19 -0
- package/dist/fonts/LICENSE.txt +34 -0
- package/dist/fonts/archivo-var-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
- package/dist/fonts/export/families/archivo.css +12 -0
- package/dist/fonts/export/families/bodoni-moda.css +23 -0
- package/dist/fonts/export/families/eb-garamond.css +22 -0
- package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
- package/dist/fonts/export/families/instrument-serif.css +22 -0
- package/dist/fonts/export/families/jetbrains-mono.css +12 -0
- package/dist/fonts/export/families/libre-franklin.css +12 -0
- package/dist/fonts/export/families/lora.css +22 -0
- package/dist/fonts/export/families/source-serif-4.css +12 -0
- package/dist/fonts/export/families/space-grotesk.css +12 -0
- package/dist/fonts/export/families/spectral.css +52 -0
- package/dist/fonts/fonts.css +141 -0
- package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
- package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
- package/dist/fonts/lora-var-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
- package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
- package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-latin.woff2 +0 -0
- package/dist/fonts/spectral-600-latin.woff2 +0 -0
- package/dist/index.html +117 -0
- package/dist/legal/DISCLAIMER.md +16 -0
- package/dist/legal/LICENSE.txt +75 -0
- package/dist/legal/PRIVACY.md +127 -0
- package/dist/legal/SECURITY.md +72 -0
- package/dist/legal/SUPPORT.md +13 -0
- package/dist/legal/TERMS.md +122 -0
- package/dist/legal/THIRD-PARTY.txt +639 -0
- package/dist/legal/TRADEMARKS.md +15 -0
- package/dist/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/sw.js +30 -0
- package/dist/vad.worklet.bundle.min.js +1 -0
- package/docker-compose.yml +33 -0
- package/gateway/README.md +99 -0
- package/gateway/actions-gateway.mjs +537 -0
- package/gateway/connectors.d.mts +27 -0
- package/gateway/connectors.mjs +463 -0
- package/gateway/guard.mjs +110 -0
- package/gateway/tokenStore.mjs +134 -0
- package/package.json +143 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{T as n,ht as r}from"./index-y8GL67bB.js";import"./queue-J4h7E3uc.js";import{o as i}from"./useStudy-Bflreq2a.js";import{g as a,p as o}from"./dashboardEvents-DR9d_c74.js";import{o as s}from"./CheckLogRail-wUfby67Z.js";import{t as c}from"./TrackerTile-CasZNmt4.js";var l=e(),u=r(),d=t(),f=3e4,p=12e3,m=3e3;function h(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function g(e){let t=(0,u.c)(9),{state:n}=e;if(n.paused){let e;t[0]===n.resumesAt?e=t[1]:(e=h(n.resumesAt),t[0]=n.resumesAt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,d.jsxs)(`span`,{className:`dash-present-budget dash-present-budget--paused`,children:[`Paused · resumes `,e]}),t[2]=e,t[3]=r),r}let r=`dash-present-budget`+(n.amber?` dash-present-budget--amber`:``),i=n.amber?` · low`:``,a;return t[4]!==n.cap||t[5]!==n.used||t[6]!==r||t[7]!==i?(a=(0,d.jsxs)(`span`,{className:r,children:[n.used,`/`,n.cap,` searches today`,i]}),t[4]=n.cap,t[5]=n.used,t[6]=r,t[7]=i,t[8]=a):a=t[8],a}function _(e){let t=(0,u.c)(42),{onClose:n}=e,r=i(),h=s(),_=a(),b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=[],t[0]=b):b=t[0],(0,l.useEffect)(y,b);let[x,S]=(0,l.useState)(v),C,w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{let e=window.setInterval(()=>S(Date.now()),f);return()=>window.clearInterval(e)},w=[],t[1]=C,t[2]=w):(C=t[1],w=t[2]),(0,l.useEffect)(C,w);let[T,E]=(0,l.useState)(null),D,O;t[3]===r.length?(D=t[4],O=t[5]):(D=()=>{if(r.length<2){E(null);return}let e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t,n=e=>{if(t!==void 0&&window.clearInterval(t),e){E(null);return}E(0),t=window.setInterval(()=>{E(e=>((e??-1)+1)%r.length)},p)};n(e.matches);let i=e=>n(e.matches);return e.addEventListener(`change`,i),()=>{e.removeEventListener(`change`,i),t!==void 0&&window.clearInterval(t)}},O=[r.length],t[3]=r.length,t[4]=D,t[5]=O),(0,l.useEffect)(D,O);let[k,A]=(0,l.useState)(!1),j,M;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>{let e,t=()=>{A(!1),e!==void 0&&window.clearTimeout(e),e=window.setTimeout(()=>A(!0),m)};return t(),window.addEventListener(`mousemove`,t),()=>{window.removeEventListener(`mousemove`,t),e!==void 0&&window.clearTimeout(e)}},M=[],t[6]=j,t[7]=M):(j=t[6],M=t[7]),(0,l.useEffect)(j,M);let N,P;t[8]===n?(N=t[9],P=t[10]):(N=()=>{let e=e=>{e.key===`Escape`&&n()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},P=[n],t[8]=n,t[9]=N,t[10]=P),(0,l.useEffect)(N,P);let F;t[11]!==h||t[12]!==x||t[13]!==_.dailySearchBudget?(F=o(h,_.dailySearchBudget,x),t[11]=h,t[12]=x,t[13]=_.dailySearchBudget,t[14]=F):F=t[14];let I=F,L;t[15]===x?L=t[16]:(L=new Date(x).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`}),t[15]=x,t[16]=L);let R=L,z;t[17]===x?z=t[18]:(z=new Date(x).toLocaleDateString([],{weekday:`long`,month:`long`,day:`numeric`}),t[17]=x,t[18]=z);let B=z,V=`dash-present`+(k?` dash-present--cursor-hidden`:``),H;t[19]===R?H=t[20]:(H=(0,d.jsx)(`span`,{className:`dash-present-time`,children:R}),t[19]=R,t[20]=H);let U;t[21]===B?U=t[22]:(U=(0,d.jsx)(`span`,{className:`dash-present-date`,children:B}),t[21]=B,t[22]=U);let W;t[23]!==H||t[24]!==U?(W=(0,d.jsxs)(`div`,{className:`dash-present-clock`,children:[H,U]}),t[23]=H,t[24]=U,t[25]=W):W=t[25];let G;t[26]===I?G=t[27]:(G=(0,d.jsx)(g,{state:I}),t[26]=I,t[27]=G);let K;t[28]!==W||t[29]!==G?(K=(0,d.jsxs)(`header`,{className:`dash-present-head`,children:[W,G]}),t[28]=W,t[29]=G,t[30]=K):K=t[30];let q;t[31]!==I||t[32]!==r||t[33]!==x||t[34]!==T?(q=(0,d.jsx)(`div`,{className:`dash-present-body`,children:r.length===0?(0,d.jsx)(`p`,{className:`dash-present-empty`,children:`Nothing on watch yet.`}):(0,d.jsx)(`div`,{className:`dash-present-grid`,children:r.map((e,t)=>(0,d.jsx)(`div`,{className:`dash-present-tile-wrap`,"data-spotlight":T===null?void 0:t===T?`on`:`off`,children:(0,d.jsx)(c,{dashboard:e,now:x,paused:I.paused})},e.id))})}),t[31]=I,t[32]=r,t[33]=x,t[34]=T,t[35]=q):q=t[35];let J;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,d.jsx)(`p`,{className:`dash-present-hint`,children:`Esc or click anywhere to exit`}),t[36]=J):J=t[36];let Y;return t[37]!==n||t[38]!==V||t[39]!==K||t[40]!==q?(Y=(0,d.jsxs)(`div`,{className:V,role:`presentation`,onClick:n,children:[K,q,J]}),t[37]=n,t[38]=V,t[39]=K,t[40]=q,t[41]=Y):Y=t[41],Y}function v(){return Date.now()}function y(){return n(document)}export{_ as DashPresent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dash-present{z-index:50;background:var(--surface-deep);cursor:pointer;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.dash-present--cursor-hidden{cursor:none}.dash-present-head{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:baseline;gap:20px;padding:28px 40px 8px;display:flex}.dash-present-clock{align-items:baseline;gap:14px;min-width:0;display:flex}.dash-present-time{font-family:var(--font-data,var(--font));font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(24px,3vw,36px);font-weight:700}.dash-present-date{font-family:var(--font-data,var(--font));color:var(--text-muted);white-space:nowrap;font-size:14px}.dash-present-budget{font-family:var(--font-data,var(--font));letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;flex:none;font-size:12px;font-weight:600}.dash-present-budget--amber{color:var(--warning)}.dash-present-budget--paused{color:var(--danger)}.dash-present-body{flex:1;min-height:0;overflow:hidden auto}.dash-present-empty{color:var(--text-muted);text-align:center;margin:15vh auto 0;font-size:15px}.dash-present-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));align-content:start;gap:26px;padding:20px 40px 48px;display:grid}.dash-present-grid .tile-frame{border-radius:var(--r-lg);gap:14px;padding:22px 24px 18px}.dash-present-grid .tile-name{font-size:14px}.dash-present-grid .tile-cadence{padding:4px 10px;font-size:11px}.dash-present-grid .tile-value{font-size:44px}.dash-present-grid .tile-delta{font-size:16px}.dash-present-grid .tile-context{font-size:15px}.dash-present-grid .tile-viz{min-height:76px}.dash-present-grid .tile-viz-svg{height:56px}.dash-present-grid .tile-prob-pct{font-size:18px}.dash-present-grid .tile-countdown-value{font-size:36px}.dash-present-grid .tile-countdown-label{font-size:13px}.dash-present-grid .tile-forecast-glyph{width:22px;height:22px}.dash-present-grid .tile-forecast-temp{font-size:14px}.dash-present-grid .tile-chip{padding:4px 10px;font-size:12px}.dash-present-grid .tile-asof{font-size:11px}.dash-present-tile-wrap{transition:transform var(--m-normal) var(--ease-out), opacity var(--m-normal) var(--ease-out)}.dash-present-tile-wrap[data-spotlight=on]{transform:scale(1.03)}.dash-present-tile-wrap[data-spotlight=off]{opacity:.6}.dash-present-hint{letter-spacing:.03em;text-align:center;color:var(--text-faint,var(--text-muted));pointer-events:none;transition:opacity var(--m-normal) var(--ease-out);flex:none;margin:0;padding:0 0 18px;font-size:11px}.dash-present--cursor-hidden .dash-present-hint{opacity:0}@media (prefers-reduced-motion:reduce){.dash-present-tile-wrap,.dash-present-hint{transition:none}}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/generateLive-D4B30fnF.js","assets/blockLabel-DAqaHKy3.js","assets/liveSchema-CJ49PX5R.js","assets/catalog-Dqaq2YFd.js","assets/index-y8GL67bB.js","assets/chunk-BVpWp9h4.js","assets/jsx-runtime-DaSxXjOY.js","assets/react-BQSORdFI.js","assets/lazyRetry-D50B1UMY.js","assets/index-CepQEz75.css","assets/facts-BBTt3ImG.js","assets/annotations-D2K9A5GB.js","assets/providers-wzm7E8Pa.js","assets/http-CJCtjYpA.js","assets/info-CiqHR5cs.js","assets/icons-CHVz6kv_.js","assets/catalog-BHjl-1uH.js","assets/safeImageUrl-CUkucDUu.js","assets/sourceHost-BV3t2XDb.js","assets/spokenText-D4zPX9JY.js","assets/streamParse-DRgMHWye.js","assets/shapes-RqjqC0ay.js","assets/contentVault-DzTYWcbD.js","assets/keyVault-DEsNh9FR.js","assets/now-C9-UAzTC.js","assets/number-DXgzss0v.js","assets/layout-BFQOzXtG.js","assets/screen-DLR7p_yP.js","assets/search-DnjHupRf.js","assets/speed-DwPw9KSv.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{J as n,ht as r,q as i}from"./index-y8GL67bB.js";import{n as a}from"./icons-CHVz6kv_.js";import{t as o}from"./useFocusTrap-DbfG6zbM.js";import{t as s}from"./TopicCanvas-CT0eSj2M.js";import{f as c}from"./CanvasSkeleton-BZZPCuRZ.js";import{r as l}from"./sourceHost-BV3t2XDb.js";import"./canvas-QTEIiK23.js";import{A as u,B as d,F as f,L as p,M as m,P as h,R as g,_,b as v,k as y,m as b,o as x,s as S,x as ee,y as te}from"./useStudy-Bflreq2a.js";import{l as C,n as w,r as T,u as ne}from"./useLiveConfig-X9Wxh90k.js";import{f as re,g as E,h as D}from"./dashboardEvents-DR9d_c74.js";import{a as ie,i as O,t as ae}from"./CheckLogRail-wUfby67Z.js";import{a as oe,i as se,n as ce,t as k}from"./format-hc2QOoIu.js";import{a as A,n as le,o as ue,s as j,t as de}from"./useDashboardLoop-B6ByHWoE.js";import{r as fe}from"./predictions-CYS7Vo39.js";import{t as pe}from"./planTracker-7AMCQPNx.js";import{t as me}from"./pin-CXSuPJYL.js";/* empty css */var M=r(),N=e();function P(e,t){for(let n of document.elementsFromPoint(e,t)){let e=n.closest(`[data-dash-widget]`);if(e)return e.getAttribute(`data-dash-widget`)}return null}function he(e,t){let[n,r]=(0,N.useState)(null),[i,a]=(0,N.useState)(null),o=(0,N.useRef)({working:null,draggingId:null,onCommit:t,sourceIds:e,cleanup:null});o.current.onCommit=t,o.current.sourceIds=e,(0,N.useEffect)(()=>()=>o.current.cleanup?.(),[]);let s=(0,N.useCallback)(e=>t=>{if(t.button!==0&&t.pointerType===`mouse`)return;t.preventDefault();let n=[...o.current.sourceIds];o.current.working=n,o.current.draggingId=e,r(n),a(e);let i=e=>{let t=P(e.clientX,e.clientY),n=o.current.draggingId,i=o.current.working;if(!t||!n||!i||t===n)return;let a=i.indexOf(n),s=i.indexOf(t);if(a<0||s<0||a===s)return;let c=[...i];c.splice(s,0,c.splice(a,1)[0]),o.current.working=c,r(c)},s=()=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s),o.current.cleanup=null;let e=o.current.working;o.current.working=null,o.current.draggingId=null,r(null),a(null),e&&o.current.onCommit(e)};o.current.cleanup=s,window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s)},[]),c=(0,N.useCallback)(e=>t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=o.current.sourceIds,r=n.indexOf(e),i=t.key===`ArrowUp`?r-1:r+1;if(r<0||i<0||i>=n.length)return;let a=[...n];a.splice(i,0,a.splice(r,1)[0]),o.current.onCommit(a)},[]);return{draggingId:i,order:n??e,handleProps:e=>({onPointerDown:s(e),onKeyDown:c(e),tabIndex:0,role:`button`,"aria-label":`Drag to reorder, or use arrow keys`})}}var ge={WATCHING:`watching`,CLEAR:`clear`,TRIGGERED:`triggered`,AWAITING:`awaiting`},_e={ORIGIN:`origin`,ADDED:`added`,LINKED:`linked`},ve={CLEAR:1,WATCHING:.75,TRIGGERED:0,AWAITING:0};function ye(e){let t=e.tripwires.filter(e=>e.state!==`AWAITING`);if(t.length===0)return null;let n=t.reduce((e,t)=>e+ve[t.state],0);return Math.round(100*n/t.length)}function be(e){return e===null?``:e>=80?`Tracking well`:e>=55?`Holding, with risks`:e>=30?`Slipping`:`Lines are breaking`}var xe=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Se(e,t){let n=t.block.type;if(!xe.has(n)){if(t.metricId&&n===`insight`){let n=e.metrics.find(e=>e.id===t.metricId);if(n){let e=n.lastValue===null?`—`:n.lastRaw??`${n.lastValue}${n.unit??``}`,r=n.lastValue===null?`inferred`:`strong`,i=t.block.props;return{...t.block,props:{...i,stat:e,conf:r}}}}return t.block}let r=e.sources.find(e=>e.kind===`ORIGIN`);if(n===`thesis`){let n=e.tripwires[0],i={reasoning:e.thesis.text,...r?{asOf:r.title}:{},...n?{reconsiderIf:n.label,tripwireState:ge[n.state]}:{}};return{...t.block,props:i}}if(n===`alignmentgauge`){let n=ye(e),r={pct:n,band:be(n)};return{...t.block,props:r}}if(n===`standingalerts`){let n={alerts:e.tripwires.map(e=>({label:e.label,state:ge[e.state]}))};return{...t.block,props:n}}let i={rows:e.sources.map(e=>({kind:_e[e.kind],label:e.title,...e.contributed?{contributed:e.contributed}:{}}))};return{...t.block,props:i}}var F=t();function Ce(e){return{id:`dash-`+(e.id??e.type),workspace:`Dashboards`,title:``,sub:``,opener:``,context:[],blocks:[{...e,col:12,delay:0}],proof:null,extras:{},group:`home`,suggests:[],keywords:[]}}function we(e){let t=(0,M.c)(18),{dashboard:n,widget:r,editing:i,dragging:a,children:o,footer:c}=e,l;t[0]!==n||t[1]!==r?(l=Se(n,r),t[0]=n,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]===u?d=t[4]:(d=Ce(u),t[3]=u,t[4]=d);let f=d,p=`dash-span-${r.span}`,m=i?`dash-tile--editing`:``,h=a?`dash-tile--dragging`:``,g;t[5]!==p||t[6]!==m||t[7]!==h?(g=[`dash-tile`,p,m,h].filter(Boolean),t[5]=p,t[6]=m,t[7]=h,t[8]=g):g=t[8];let _=g.join(` `),v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v={},t[9]=v):v=t[9];let y;t[10]===f?y=t[11]:(y=(0,F.jsx)(s,{data:f,spot:null,built:v,onProve:I}),t[10]=f,t[11]=y);let b;return t[12]!==o||t[13]!==_||t[14]!==c||t[15]!==y||t[16]!==r.id?(b=(0,F.jsxs)(`div`,{className:_,"data-dash-widget":r.id,children:[o,y,c]}),t[12]=o,t[13]=_,t[14]=c,t[15]=y,t[16]=r.id,t[17]=b):b=t[17],b}function I(){}function L(){return`w-`+Math.random().toString(36).slice(2,8)}function Te(e){let t=new Set(e.widgets.map(e=>e.block.type));return[{key:`note`,label:`Note`,make:()=>({block:{type:`list`,col:12,id:L(),props:{title:`Note`,items:[`Add a note about this dashboard.`]}},span:2})},{key:`thesis`,label:`Reasoning note`,make:()=>({block:{type:`thesis`,col:12,id:L(),props:{reasoning:``}},span:2})},{key:`alignmentgauge`,label:`Alignment gauge`,make:()=>({block:{type:`alignmentgauge`,col:12,id:L(),props:{pct:null}},span:1})},{key:`standingalerts`,label:`Standing alerts`,make:()=>({block:{type:`standingalerts`,col:12,id:L(),props:{alerts:[]}},span:1})},{key:`sourceslineage`,label:`Sources`,make:()=>({block:{type:`sourceslineage`,col:12,id:L(),props:{rows:[]}},span:2})}].filter(e=>e.key===`note`||!t.has(e.key))}function Ee(e){let t=(0,M.c)(26),{dashboard:n,onClose:r}=e,[i,a]=(0,N.useState)(`menu`),[s,c]=(0,N.useState)(``),[l,u]=(0,N.useState)(!1),[d,f]=(0,N.useState)(null),p=Te(n),m=!!C(w()).apiKey,h;t[0]!==n||t[1]!==r?(h=e=>{let{block:t,span:i}=e.make(),a={id:L(),block:t,span:i,fromSource:`manual`};b(n.id,a),r()},t[0]=n,t[1]=r,t[2]=h):h=t[2];let g=h,_=(0,N.useRef)(!0),y,x;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>(_.current=!0,()=>{_.current=!1}),x=[],t[3]=y,t[4]=x):(y=t[3],x=t[4]),(0,N.useEffect)(y,x);let S;t[5]!==s||t[6]!==n||t[7]!==r||t[8]!==l?(S=async()=>{let e=s.trim();if(!e||l)return;if(n.metrics.length>=12||n.widgets.length>=12){f(`This board is full — remove a card or metric first, then track another number.`);return}u(!0),f(null);let t=await pe(e,C(w()));if(!_.current)return;let i=t.metrics[0];if(!i){u(!1),f(`No single number found in that — the Track bar on the Dashboards home builds richer trackers.`);return}let a=Date.now(),o={id:`m-${a}`,label:i.label,query:i.query,...i.unit?{unit:i.unit}:{},sourceQuote:{text:i.label,saidAt:a},lastValue:null,origin:`empty`},c={id:L(),block:{type:`insight`,col:12,id:`blk-${a}`,num:`1`,props:{title:o.label,stat:`—`,conf:`inferred`,summary:o.label}},span:1,metricId:o.id,fromSource:`manual`};v(n.id,{metrics:[o],tripwires:[],widgets:[c],source:{kind:`ADDED`,conversationId:`manual`,title:`Added by hand`,contributed:`Tracking ${o.label}`,at:a}}),te(n.id,a),le(n.id),r()},t[5]=s,t[6]=n,t[7]=r,t[8]=l,t[9]=S):S=t[9];let ee=S,T=(0,N.useRef)(null),ne;t[10]===r?ne=t[11]:(ne={onEscape:r},t[10]=r,t[11]=ne),o(T,ne);let re=(0,N.useRef)(null),E,D;t[12]===i?(E=t[13],D=t[14]):(E=()=>{i===`track`?re.current?.focus():T.current?.querySelector(`.dash-palette-item`)?.focus()},D=[i],t[12]=i,t[13]=E,t[14]=D),(0,N.useEffect)(E,D);let ie,O;t[15]===r?(ie=t[16],O=t[17]):(ie=()=>{let e=T.current?.parentElement;if(!e)return;let t=t=>{e.contains(t.target)||r()};return document.addEventListener(`pointerdown`,t),()=>document.removeEventListener(`pointerdown`,t)},O=[r],t[15]=r,t[16]=ie,t[17]=O),(0,N.useEffect)(ie,O);let ae;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{let t=Array.from(T.current?.querySelectorAll(`.dash-palette-item`)??[]);t.length&&t[(t.indexOf(document.activeElement)+e+t.length)%t.length]?.focus()},t[18]=ae):ae=t[18];let oe=ae,se=i===`menu`?`menu`:`dialog`,ce=i===`menu`?`Add a widget`:`Track a number`,k;t[19]===i?k=t[20]:(k=e=>{i===`menu`&&(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||(e.preventDefault(),oe(e.key===`ArrowDown`?1:-1)))},t[19]=i,t[20]=k);let A=i===`menu`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{type:`button`,role:`menuitem`,className:`dash-palette-item dash-palette-lead`,onClick:()=>a(`track`),children:`+ Track a number`}),p.map(e=>(0,F.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`dash-palette-item`,onClick:()=>g(e),children:[`+ `,e.label]},e.key))]}):(0,F.jsxs)(`div`,{className:`dash-ptrack`,children:[(0,F.jsxs)(`div`,{className:`dash-ptrack-head`,children:[(0,F.jsx)(`button`,{type:`button`,className:`dash-ptrack-back`,"aria-label":`Back to widget list`,onClick:()=>a(`menu`),children:`←`}),(0,F.jsx)(`span`,{className:`dash-ptrack-kicker`,children:`Track a number`})]}),m?(0,F.jsxs)(`form`,{className:`dash-ptrack-form`,onSubmit:e=>{e.preventDefault(),ee()},children:[(0,F.jsx)(`input`,{ref:re,className:`dash-ptrack-input`,value:s,placeholder:`BTC price, SF temperature, 10-year yield…`,"aria-label":`What number to track`,disabled:l,onChange:e=>c(e.target.value)}),d&&(0,F.jsx)(`p`,{className:`dash-ptrack-err`,children:d}),(0,F.jsx)(`button`,{type:`submit`,className:`dash-ptrack-go`,disabled:l||!s.trim(),children:l?`Planning…`:`Track · 1 call + 1 search`})]}):(0,F.jsxs)(`p`,{className:`dash-ptrack-gate`,children:[`A tracked number is fetched by real web searches on your own key — nothing is ever made up. `,(0,F.jsx)(`a`,{href:`#/live`,children:`Connect a model in Live`}),` first.`]})]}),ue;return t[21]!==se||t[22]!==ce||t[23]!==k||t[24]!==A?(ue=(0,F.jsx)(`div`,{ref:T,className:`dash-palette`,role:se,"aria-label":ce,tabIndex:-1,onKeyDown:k,children:A}),t[21]=se,t[22]=ce,t[23]=k,t[24]=A,t[25]=ue):ue=t[25],ue}function De(e){let t=(0,M.c)(24),{dashboardId:n,metric:r}=e,[i,a]=(0,N.useState)(r.lastValue===null?``:String(r.lastValue)),o;t[0]!==n||t[1]!==r.id||t[2]!==r.lastValue||t[3]!==r.unit||t[4]!==i?(o=()=>{let e=Number(i.replace(/[^0-9.+-]/g,``));if(i.trim()===``||!Number.isFinite(e))return;let t=Date.now(),a=r.lastValue;p(n,r.id,e,`${e}${r.unit??``}`,`user`,t);let o=ee(n);if(o){let{tripwires:e}=j(o,{[r.id]:a});g(n,e,t)}},t[0]=n,t[1]=r.id,t[2]=r.lastValue,t[3]=r.unit,t[4]=i,t[5]=o):o=t[5];let s=o,c;t[6]===s?c=t[7]:(c=e=>{e.preventDefault(),s()},t[6]=s,t[7]=c);let l=`Set ${r.label}…`,u=`Set ${r.label}`,d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>a(e.target.value),t[8]=d):d=t[8];let f;t[9]!==l||t[10]!==u||t[11]!==i?(f=(0,F.jsx)(`input`,{className:`dash-fill-input`,value:i,inputMode:`decimal`,placeholder:l,"aria-label":u,onChange:d}),t[9]=l,t[10]=u,t[11]=i,t[12]=f):f=t[12];let m;t[13]===r.unit?m=t[14]:(m=r.unit&&(0,F.jsx)(`span`,{className:`dash-fill-unit`,children:r.unit}),t[13]=r.unit,t[14]=m);let h;t[15]===i?h=t[16]:(h=i.trim(),t[15]=i,t[16]=h);let _=h===``,v;t[17]===_?v=t[18]:(v=(0,F.jsx)(`button`,{type:`submit`,className:`dash-fill-save`,disabled:_,children:`Save`}),t[17]=_,t[18]=v);let y;return t[19]!==v||t[20]!==c||t[21]!==f||t[22]!==m?(y=(0,F.jsxs)(`form`,{className:`dash-fill`,onSubmit:c,children:[f,m,v]}),t[19]=v,t[20]=c,t[21]=f,t[22]=m,t[23]=y):y=t[23],y}n();var R=()=>i(()=>import(`./generateLive-D4B30fnF.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));function Oe(){return!!C(w()).apiKey}function z(e){let t=(0,M.c)(15),[n,r]=(0,N.useState)(!1),[i,a]=(0,N.useState)(null),[o,s]=(0,N.useState)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],t[0]=c):c=t[0];let l=(0,N.useRef)(c),u=(0,N.useRef)(!1),d=(0,N.useRef)(null),f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{d.current?.abort(),d.current=null,u.current=!1,l.current=[],r(!1),a(null),s(null)},t[1]=f):f=t[1];let p;t[2]===e.id?p=t[3]:(p=[e.id],t[2]=e.id,t[3]=p),(0,N.useEffect)(f,p);let m,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=()=>()=>d.current?.abort(),h=[],t[4]=m,t[5]=h):(m=t[4],h=t[5]),(0,N.useEffect)(m,h);let g;t[6]===e?g=t[7]:(g=t=>{let n=t.trim();if(!n||u.current||!Oe())return;u.current=!0,r(!0),s(n);let i=C(w()),o=e.widgets.map(t=>Se(e,t)),c=new AbortController;d.current=c,R().then(e=>{let{generateLive:t}=e;return t(n,l.current,i,void 0,{selectedBlocks:o,signal:c.signal})}).then(e=>{c.signal.aborted||(e.error||(l.current=[...l.current,{role:`user`,content:n},{role:`assistant`,content:e.narration}].slice(-8)),a(e))}).catch(()=>{c.signal.aborted||a(null)}).finally(()=>{c.signal.aborted||(u.current=!1,r(!1))})},t[6]=e,t[7]=g);let _=g,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>{d.current?.abort(),u.current=!1,r(!1),a(null),s(null)},t[8]=v):v=t[8];let y=v,b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=Oe(),t[9]=b):b=t[9];let x;return t[10]!==o||t[11]!==n||t[12]!==i||t[13]!==_?(x={ready:b,loading:n,result:i,lastAsk:o,run:_,reset:y},t[10]=o,t[11]=n,t[12]=i,t[13]=_,t[14]=x):x=t[14],x}var B=/^(add|track|watch|monitor|follow)\b/i;function ke(e){let t=e.trim();return t&&B.test(t)?`add`:`ask`}function Ae(e){let t=[];return e.tripwires.length>0&&t.push(`Are the numbers holding where I want?`,`Which alert is closest to triggering?`),e.metrics[0]&&t.push(`What does ${e.metrics[0].label} tell me right now?`),t.push(`What changed since the last update?`),t.slice(0,3)}function V(e,t,n){n.length!==0&&me({block:n,question:t,target:e,fromSource:`talk`,firstCheck:!1,source:{kind:`ADDED`,conversationId:`talk`,title:`Asked: “${t}”`,contributed:`Pinned ${Math.min(n.length,4)} from this question`,at:Date.now()}})}function je(e){let t=(0,M.c)(29),{dashboard:n}=e,r=z(n),[i,a]=(0,N.useState)(``),[o,c]=(0,N.useState)(!1),[l,u]=(0,N.useState)(`ask`),d;t[0]===n?d=t[1]:(d=Ae(n),t[0]=n,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=e=>{c(!1),u(ke(e)),r.run(e),a(``)},t[2]=r,t[3]=p);let m=p,h,g;t[4]!==l||t[5]!==n.id||t[6]!==o||t[7]!==r.lastAsk||t[8]!==r.loading||t[9]!==r.result?(h=()=>{l===`add`&&!r.loading&&r.result&&!r.result.error&&r.result.spec.blocks.length>0&&!o&&(V(n.id,r.lastAsk??``,r.result.spec.blocks),c(!0))},g=[l,r.loading,r.result,r.lastAsk,o,n.id],t[4]=l,t[5]=n.id,t[6]=o,t[7]=r.lastAsk,t[8]=r.loading,t[9]=r.result,t[10]=h,t[11]=g):(h=t[10],g=t[11]),(0,N.useEffect)(h,g);let _;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,F.jsx)(`div`,{className:`card-eyebrow dash-talk-eyebrow`,children:`Talk to this dashboard`}),t[12]=_):_=t[12];let v;t[13]!==f||t[14]!==i||t[15]!==m||t[16]!==r.loading||t[17]!==r.ready?(v=r.ready?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`dash-talk-chips`,children:f.map(e=>(0,F.jsxs)(`button`,{type:`button`,className:`dash-talk-chip`,disabled:r.loading,onClick:()=>m(e),children:[(0,F.jsx)(`span`,{className:`dash-talk-chip-orb`}),(0,F.jsxs)(`span`,{className:`dash-talk-chip-t`,children:[`“`,e,`”`]})]},e))}),(0,F.jsxs)(`form`,{className:`dash-talk-ask`,onSubmit:e=>{e.preventDefault(),m(i)},children:[(0,F.jsx)(`input`,{className:`dash-talk-input`,value:i,placeholder:`Ask a question, or type "add …" / "track …" to add it in one step`,onChange:e=>a(e.target.value),disabled:r.loading}),(0,F.jsx)(`button`,{type:`submit`,className:`dash-talk-send`,disabled:r.loading||!i.trim(),children:r.loading?`Thinking…`:`Ask`})]})]}):(0,F.jsxs)(`p`,{className:`dash-talk-gate`,children:[`Connect a model in `,(0,F.jsx)(`a`,{href:`#/live`,children:`Live`}),` to ask questions grounded in this dashboard.`]}),t[13]=f,t[14]=i,t[15]=m,t[16]=r.loading,t[17]=r.ready,t[18]=v):v=t[18];let y;t[19]!==l||t[20]!==n.id||t[21]!==o||t[22]!==r.lastAsk||t[23]!==r.loading||t[24]!==r.result?(y=r.lastAsk&&(0,F.jsxs)(`div`,{className:`dash-talk-answer`,children:[(0,F.jsxs)(`div`,{className:`dash-talk-q`,children:[`“`,r.lastAsk,`”`]}),r.loading?(0,F.jsx)(`div`,{className:`dash-talk-thinking`,children:`Mavéa is looking at your dashboard…`}):r.result?.error?(0,F.jsxs)(`div`,{className:`dash-talk-error`,children:[`That didn’t go through. Check your model in `,(0,F.jsx)(`a`,{href:`#/live`,children:`Live`}),` and try again.`]}):r.result?(0,F.jsxs)(F.Fragment,{children:[r.result.narration&&(0,F.jsx)(`p`,{className:`dash-talk-narration`,children:r.result.narration}),(0,F.jsx)(s,{data:r.result.spec,spot:null,built:{},onProve:Me}),r.result.spec.blocks.length>0&&(o?(0,F.jsx)(`div`,{className:`dash-talk-pinned`,children:l===`add`?(0,F.jsx)(F.Fragment,{children:`Auto-added — this read like a command, not a question. Remove it from Edit layout if that’s wrong.`}):`Added to this dashboard ✓`}):l===`add`?null:(0,F.jsx)(`button`,{type:`button`,className:`dash-talk-pin`,onClick:()=>{V(n.id,r.lastAsk??``,r.result.spec.blocks),c(!0)},children:`+ Add this to the dashboard`}))]}):null]}),t[19]=l,t[20]=n.id,t[21]=o,t[22]=r.lastAsk,t[23]=r.loading,t[24]=r.result,t[25]=y):y=t[25];let b;return t[26]!==v||t[27]!==y?(b=(0,F.jsxs)(`section`,{className:`dash-talk`,children:[_,v,y]}),t[26]=v,t[27]=y,t[28]=b):b=t[28],b}function Me(){}function H(e){if(!e.history||e.history.length<2)return null;let t=e.history[e.history.length-2].value,n=e.history[e.history.length-1].value;if(n===t)return null;let r=n>t?`up`:`down`,i=Math.round(Math.abs(n-t)*100)/100,a=Number.isInteger(i)?String(i):i.toFixed(2),o=e.unit===`$`?`$`:``,s=e.unit&&e.unit!==`$`?e.unit:``;return{direction:r,text:`${r===`up`?`+`:`-`}${o}${a}${s}`}}function U(e){return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function W(e){if(e<=0)return`due now`;let t=Math.round(e/6e4);if(t<60)return`${t}m`;let n=Math.floor(t/60),r=t%60;if(n<24)return r?`${n}h ${r}m`:`${n}h`;let i=Math.floor(n/24),a=n%24;return a?`${i}d ${a}h`:`${i}d`}function Ne({dashboard:e,now:t,checking:n=!1}){let r=(0,N.useMemo)(()=>e.metrics.find(e=>e.lastValue!==null)??e.metrics[0],[e.metrics]),i=oe(e);if(!i||!r)return null;let a=H(r),o=i.label||e.title,s=r.asOf??e.lastRefreshedAt??null,c=e.cadence.data===`manual`?`when you refresh`:W(e.nextDataAt-t),l=r.history??[];return(0,F.jsxs)(`section`,{className:`card dash-hero`,"aria-label":`${o} — as of last check`,children:[(0,F.jsxs)(`div`,{className:`dash-hero-top`,children:[(0,F.jsxs)(`span`,{className:`dash-hero-eyebrow`,children:[o,`: as of last check`]}),(0,F.jsx)(`span`,{className:`dash-hero-meta`,children:n?`checking for new data…`:`as of ${s?U(s):`not yet checked`} / not real-time — next check ${c}`})]}),(0,F.jsxs)(`div`,{className:`dash-hero-value-row`,children:[(0,F.jsx)(`span`,{className:`dash-hero-value${n?` tile-value--checking`:``}`,children:i.value}),a&&(0,F.jsx)(`span`,{className:`dash-hero-delta dash-hero-delta--${a.direction}`,children:a.text})]}),(0,F.jsx)(`div`,{className:`dash-hero-chart`,children:l.length>=2?(0,F.jsx)(ie,{points:l,tone:a?.direction??`flat`}):(0,F.jsx)(`p`,{className:`dash-hero-chart-empty`,children:`Not enough history yet for a chart.`})})]})}function Pe(e){let t=(0,M.c)(6),{dashboard:n}=e,[r,i]=ne();if(E().keyNudgeShown||!T(r)||r.rememberKey||!se(n))return null;let a=G,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(`p`,{className:`dash-key-nudge-text`,children:`Mavéa checks this with your key, which currently lives only in this tab. Keep it on this device (encrypted) so checks still work after a reload?`}),t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=(0,F.jsx)(`button`,{type:`button`,className:`dash-key-nudge-keep`,onClick:()=>{i({rememberKey:!0}),a()},children:`Keep key on this device`}),t[1]=i,t[2]=s);let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,F.jsx)(`button`,{type:`button`,className:`dash-key-nudge-dismiss`,onClick:a,children:`Not now`}),t[3]=c):c=t[3];let l;return t[4]===s?l=t[5]:(l=(0,F.jsxs)(`div`,{className:`card dash-key-nudge`,children:[o,(0,F.jsxs)(`div`,{className:`dash-key-nudge-actions`,children:[s,c]})]}),t[4]=s,t[5]=l),l}function G(){return D({keyNudgeShown:!0})}var K={hit:{label:`Called it ✓`,className:`is-hit`},miss:{label:`Missed ✗`,className:`is-miss`},unclear:{label:`Unclear`,className:`is-unclear`}};function q(e){let t=(0,M.c)(21),{dashboard:n,now:r}=e,i;t[0]===n.predictionHistory?i=t[1]:(i=n.predictionHistory??[],t[0]=n.predictionHistory,t[1]=i);let a=i,o=a.length>0?a[a.length-1]:null;if(!n.prediction&&!o)return null;let s;t[2]!==n.predictionHistory||t[3]!==r?(s=fe(n.predictionHistory,r),t[2]=n.predictionHistory,t[3]=r,t[4]=s):s=t[4];let c=s,l=o?K[o.result]:null,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,F.jsx)(`span`,{className:`card-eyebrow dash-expects-eyebrow`,children:`Expects by next check`}),t[5]=u):u=t[5];let d;t[6]===n.prediction?d=t[7]:(d=n.prediction&&(0,F.jsx)(`p`,{className:`dash-expects-text`,children:n.prediction.text}),t[6]=n.prediction,t[7]=d);let f;t[8]!==l||t[9]!==o?(f=o&&l&&(0,F.jsxs)(`div`,{className:`dash-expects-grade`,children:[(0,F.jsxs)(`span`,{className:`dash-expects-chip ${l.className}`,children:[`Last call: `,l.label]}),(0,F.jsxs)(`p`,{className:`dash-expects-expected`,children:[`“`,o.expected,`”`]}),o.note&&(0,F.jsx)(`p`,{className:`dash-expects-note`,children:o.note})]}),t[8]=l,t[9]=o,t[10]=f):f=t[10];let p;t[11]!==c.hits||t[12]!==c.total?(p=c.total>0&&(0,F.jsxs)(`span`,{className:`dash-expects-tally`,children:[`Calls this week · `,c.hits,`/`,c.total]}),t[11]=c.hits,t[12]=c.total,t[13]=p):p=t[13];let m;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,F.jsx)(`span`,{className:`dash-expects-label`,children:`Predictions are free — written from checks you already paid for`}),t[14]=m):m=t[14];let h;t[15]===p?h=t[16]:(h=(0,F.jsxs)(`div`,{className:`dash-expects-foot`,children:[p,m]}),t[15]=p,t[16]=h);let g;return t[17]!==d||t[18]!==f||t[19]!==h?(g=(0,F.jsxs)(`div`,{className:`dash-expects`,children:[u,d,f,h]}),t[17]=d,t[18]=f,t[19]=h,t[20]=g):g=t[20],g}function Fe(e){let t=(0,M.c)(23),{dashboard:n,now:r}=e,i=A(n.id);if(!(n.tripwires.length>0||n.lastVerdict||n.prediction||i))return null;let a=n.lastVerdict,o;t[0]!==n.tripwires||t[1]!==a?(o=a?n.tripwires.find(e=>e.id===a.tripwireId)??null:null,t[0]=n.tripwires,t[1]=a,t[2]=o):o=t[2];let s=o,c=!!n.lastVerdictError&&(n.lastVerdictAttemptAt??0)>(a?.at??0),l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,F.jsx)(`span`,{className:`card-eyebrow dash-lastcheck-eyebrow`,children:`From the last check`}),t[3]=l):l=t[3];let u;t[4]!==r||t[5]!==a?(u=a&&(0,F.jsx)(`span`,{className:`dash-lastcheck-when`,children:k(a.at,r).replace(/^updated /,`checked `)}),t[4]=r,t[5]=a,t[6]=u):u=t[6];let d;t[7]===u?d=t[8]:(d=(0,F.jsxs)(`div`,{className:`dash-lastcheck-head`,children:[l,u]}),t[7]=u,t[8]=d);let f;t[9]!==n||t[10]!==c||t[11]!==r||t[12]!==i||t[13]!==s||t[14]!==a?(f=a?(0,F.jsxs)(F.Fragment,{children:[s&&(0,F.jsxs)(`p`,{className:`dash-lastcheck-text dash-lastcheck-about`,children:[`About: `,s.label]}),i?(0,F.jsx)(`p`,{className:`dash-lastcheck-text dash-lastcheck-pending`,children:`Mavéa is reading the latest numbers…`}):c&&(0,F.jsxs)(`p`,{className:`dash-lastcheck-text dash-lastcheck-error`,children:[`A newer check just failed: `,n.lastVerdictError]}),(0,F.jsx)(`p`,{className:`dash-lastcheck-text`,children:a.text}),a.grounded===!1&&(0,F.jsx)(`p`,{className:`dash-lastcheck-text dash-lastcheck-qualifier`,children:`Based on background knowledge, not a fresh search.`}),a.sources&&a.sources.length>0&&(0,F.jsx)(`div`,{className:`dash-lastcheck-sources`,children:a.sources.map(Ie)})]}):i?(0,F.jsx)(`p`,{className:`dash-lastcheck-text dash-lastcheck-pending`,children:`Mavéa is reading the latest numbers…`}):c?(0,F.jsx)(`p`,{className:`dash-lastcheck-text dash-lastcheck-error`,children:n.lastVerdictError}):(0,F.jsx)(`p`,{className:`dash-lastcheck-text dash-lastcheck-muted`,children:ce(n,r)}),t[9]=n,t[10]=c,t[11]=r,t[12]=i,t[13]=s,t[14]=a,t[15]=f):f=t[15];let p;t[16]!==n||t[17]!==r?(p=(0,F.jsx)(q,{dashboard:n,now:r}),t[16]=n,t[17]=r,t[18]=p):p=t[18];let m;return t[19]!==d||t[20]!==f||t[21]!==p?(m=(0,F.jsxs)(`section`,{className:`dash-lastcheck`,"aria-label":`From the last check`,children:[d,f,p]}),t[19]=d,t[20]=f,t[21]=p,t[22]=m):m=t[22],m}function Ie(e){let t=l(e.url);return t?(0,F.jsx)(`a`,{className:`dash-lastcheck-source`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:e.title,children:e.title},e.url):null}var Le=[{v:`15min`,label:`15M`},{v:`hourly`,label:`1H`},{v:`6h`,label:`6H`},{v:`daily`,label:`DAILY`},{v:`manual`,label:`MANUAL`}],Re={"15min":`Every 15 minutes`,hourly:`Hourly`,"6h":`Every 6 hours`,daily:`Daily`,manual:`Manual`};function J(e){if(e===`manual`)return`Refreshes only when you ask — no automatic searches.`;let t=Math.round(1440/d[e]);return`${Re[e]} ≈ up to ~${t} searches/day while Mavéa is open. You provide the key and pay the search provider; a faster cadence can increase those charges. This is never real-time — each check is a snapshot.`}function Y(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,hour:`numeric`,minute:`2-digit`})}function ze(e){let t=(0,M.c)(23),{dashboard:n,now:r}=e,i=n.cadence.data,a=n.cadence.window,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(`div`,{className:`card-eyebrow`,children:`Check cadence`}),t[0]=o):o=t[0];let s;t[1]!==n.id||t[2]!==i?(s=Le.map(e=>(0,F.jsx)(`button`,{type:`button`,className:`dash-seg-opt`+(e.v===i?` is-active`:``),"aria-pressed":e.v===i,onClick:()=>f(n.id,{data:e.v}),children:e.label},e.v)),t[1]=n.id,t[2]=i,t[3]=s):s=t[3];let c;t[4]===s?c=t[5]:(c=(0,F.jsx)(`div`,{className:`dash-seg`,role:`group`,"aria-label":`Data refresh cadence`,children:s}),t[4]=s,t[5]=c);let l;t[6]===i?l=t[7]:(l=J(i),t[6]=i,t[7]=l);let d;t[8]===l?d=t[9]:(d=(0,F.jsx)(`p`,{className:`dash-cadence-cost`,children:l}),t[8]=l,t[9]=d);let p;t[10]!==n.id||t[11]!==a?(p=a&&(0,F.jsxs)(`div`,{className:`dash-cadence-window`,children:[(0,F.jsxs)(`p`,{className:`dash-cadence-window-text`,children:[`Live window: `,(0,F.jsx)(`strong`,{children:a.label}),` · `,Y(a.startAt),`–`,Y(a.endAt)]}),(0,F.jsx)(`button`,{type:`button`,className:`dash-cadence-clear`,onClick:()=>u(n.id,null),children:`Clear`})]}),t[10]=n.id,t[11]=a,t[12]=p):p=t[12];let m;t[13]!==n.id||t[14]!==n.oneShotAt||t[15]!==n.oneShotLabel||t[16]!==r?(m=n.oneShotAt!==void 0&&(0,F.jsxs)(`div`,{className:`dash-cadence-oneshot`,children:[(0,F.jsx)(O,{targetAt:n.oneShotAt,now:r,label:n.oneShotLabel}),(0,F.jsx)(`button`,{type:`button`,className:`dash-cadence-clear`,onClick:()=>_(n.id),children:`Clear`})]}),t[13]=n.id,t[14]=n.oneShotAt,t[15]=n.oneShotLabel,t[16]=r,t[17]=m):m=t[17];let h;return t[18]!==c||t[19]!==d||t[20]!==p||t[21]!==m?(h=(0,F.jsxs)(`section`,{className:`card dash-cadence-card`,"aria-label":`Check cadence`,children:[o,c,d,p,m]}),t[18]=c,t[19]=d,t[20]=p,t[21]=m,t[22]=h):h=t[22],h}var X={WATCHING:`Watching`,CLEAR:`Clear`,AWAITING:`Awaiting data`,TRIGGERED:`Triggered`};function Z(e){let t=(0,M.c)(15),{tripwire:n}=e,r=n.state===`TRIGGERED`,i=`dash-alertcard-row`+(r?` is-triggered`:``),a=`dash-switch`+(n.state===`AWAITING`?``:` on`),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,F.jsx)(`span`,{className:`dash-switch-knob`}),t[0]=o):o=t[0];let s;t[1]===a?s=t[2]:(s=(0,F.jsx)(`span`,{className:a,"aria-hidden":`true`,children:o}),t[1]=a,t[2]=s);let c=n.sourceQuote.text||n.label,l;t[3]===c?l=t[4]:(l=(0,F.jsx)(`span`,{className:`dash-alertcard-line`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==r||t[6]!==n.state?(u=r?(0,F.jsx)(`span`,{className:`dash-alertcard-crossed`,children:`A line you set has been crossed`}):(0,F.jsx)(`span`,{className:`dash-alertcard-state`,children:X[n.state]}),t[5]=r,t[6]=n.state,t[7]=u):u=t[7];let d;t[8]!==l||t[9]!==u?(d=(0,F.jsxs)(`div`,{className:`dash-alertcard-body`,children:[l,u]}),t[8]=l,t[9]=u,t[10]=d):d=t[10];let f;return t[11]!==i||t[12]!==s||t[13]!==d?(f=(0,F.jsxs)(`li`,{className:i,children:[s,d]}),t[11]=i,t[12]=s,t[13]=d,t[14]=f):f=t[14],f}function Be(e){let t=(0,M.c)(5),{dashboard:n}=e;if(n.tripwires.length===0)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,F.jsx)(`div`,{className:`card-eyebrow`,children:`Your alerts`}),t[0]=r):r=t[0];let i;t[1]===n.tripwires?i=t[2]:(i=n.tripwires.map(Q),t[1]=n.tripwires,t[2]=i);let a;return t[3]===i?a=t[4]:(a=(0,F.jsxs)(`section`,{className:`card dash-alertcard`,"aria-label":`Your alerts`,children:[r,(0,F.jsx)(`ul`,{className:`dash-alertcard-list`,children:i})]}),t[3]=i,t[4]=a),a}function Q(e){return(0,F.jsx)(Z,{tripwire:e},e.id)}var Ve={1:`S`,2:`M`,3:`L`};function $(e){let t=(0,M.c)(117),{id:n}=e,r=x(),i;t[0]!==r||t[1]!==n?(i=r.find(e=>e.id===n)??null,t[0]=r,t[1]=n,t[2]=i):i=t[2];let o=i,[s,l]=(0,N.useState)(!1),[u,d]=(0,N.useState)(!1),f;t[3]===o?.widgets?f=t[4]:(f=o?.widgets.map(qe)??[],t[3]=o?.widgets,t[4]=f);let p=f,g;t[5]===o?g=t[6]:(g=e=>o&&m(o.id,e),t[5]=o,t[6]=g);let _=he(p,g),v;t[7]===o?.widgets?v=t[8]:(v=new Map((o?.widgets??[]).map(Ke)),t[7]=o?.widgets,t[8]=v);let b=v,ee,te;t[9]===o?(ee=t[10],te=t[11]):(ee=()=>{o&&c(o.widgets.map(Ge))},te=[o],t[9]=o,t[10]=ee,t[11]=te),(0,N.useEffect)(ee,te);let C=o?.id,w,E;t[12]===C?(w=t[13],E=t[14]):(w=()=>{C&&ue(C)},E=[C],t[12]=C,t[13]=w,t[14]=E),(0,N.useEffect)(w,E);let[D,ie]=(0,N.useState)(We),O,oe;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(oe=()=>{let e=window.setInterval(()=>ie(Date.now()),3e4);return()=>window.clearInterval(e)},O=[],t[15]=O,t[16]=oe):(O=t[15],oe=t[16]),(0,N.useEffect)(oe,O);let[k]=ne(),A=re(o?.id??``),[j,fe]=(0,N.useState)(`idle`),pe;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(pe=async e=>{fe(`busy`);let t=await le(e);fe(t===`no-model`||t===`failed`?t:`idle`)},t[17]=pe):pe=t[17];let me=pe,[P,ge]=(0,N.useState)(`idle`),_e;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(_e=async e=>{ge(`busy`);let t=await de(e);ge(t===`no-model`||t===`failed`?t:`idle`)},t[18]=_e):_e=t[18];let ve=_e;if(!o){let e;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`p`,{className:`dash-empty-title`,children:`That dashboard isn’t here.`}),t[19]=e):e=t[19];let n;return t[20]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsx)(`div`,{className:`dash-detail`,children:(0,F.jsxs)(`div`,{className:`dash-empty`,children:[e,(0,F.jsxs)(`p`,{className:`dash-empty-how`,children:[`It may have been removed. `,(0,F.jsx)(`a`,{href:S.gallery,children:`Back to your dashboards →`})]})]})}),t[20]=n):n=t[20],n}let ye;t[21]===o.id?ye=t[22]:(ye=(e,t)=>{h(o.id,e,t>=3?1:t+1)},t[21]=o.id,t[22]=ye);let be=ye,xe;t[23]!==b||t[24]!==be||t[25]!==o||t[26]!==s||t[27]!==_?(xe=_.order.map(e=>{let t=b.get(e);if(!t)return null;let n=t.metricId?o.metrics.find(e=>e.id===t.metricId):null,r=!s&&n?.blankKey?(0,F.jsx)(De,{dashboardId:o.id,metric:n}):void 0;return(0,F.jsx)(we,{dashboard:o,widget:t,editing:s,dragging:_.draggingId===t.id,footer:r,children:s&&(0,F.jsxs)(`div`,{className:`dash-tile-chrome`,children:[(0,F.jsx)(`span`,{className:`dash-tile-handle`,..._.handleProps(t.id),children:`⠿`}),(0,F.jsxs)(`div`,{className:`dash-tile-ctrls`,children:[(0,F.jsx)(`button`,{type:`button`,className:`dash-tile-size`,onClick:()=>be(t.id,t.span),title:`Resize`,children:Ve[t.span]}),(0,F.jsx)(`button`,{type:`button`,className:`dash-tile-x`,onClick:()=>y(o.id,t.id),"aria-label":`Remove widget`,children:`×`})]})]})},t.id)}),t[23]=b,t[24]=be,t[25]=o,t[26]=s,t[27]=_,t[28]=xe):xe=t[28];let Se=xe,Ce;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,F.jsx)(`a`,{className:`dash-back`,href:S.gallery,"aria-label":`Back to dashboards`,children:`←`}),t[29]=Ce):Ce=t[29];let I;t[30]===o.title?I=t[31]:(I=(0,F.jsx)(`span`,{className:`dash-detail-title`,children:o.title}),t[30]=o.title,t[31]=I);let L;t[32]===o.question?L=t[33]:(L=o.question&&(0,F.jsxs)(`span`,{className:`dash-detail-q`,title:o.question,children:[`“`,o.question,`”`]}),t[32]=o.question,t[33]=L);let Te;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,F.jsx)(`i`,{className:`dash-live-dot`}),t[34]=Te):Te=t[34];let R;t[35]!==o||t[36]!==A||t[37]!==D?(R=A?`checking for new data…`:ce(o,D),t[35]=o,t[36]=A,t[37]=D,t[38]=R):R=t[38];let Oe=!A&&se(o)&&o.cadence.data!==`manual`?` · refreshes while open`:``,z;t[39]!==R||t[40]!==Oe?(z=(0,F.jsxs)(`span`,{className:`dash-detail-clock`,children:[Te,R,Oe]}),t[39]=R,t[40]=Oe,t[41]=z):z=t[41];let B;t[42]===o.id?B=t[43]:(B=()=>void me(o.id),t[42]=o.id,t[43]=B);let ke=j===`busy`,Ae=j===`busy`?`dash-refresh-spin`:void 0,V;t[44]===Ae?V=t[45]:(V=(0,F.jsx)(a.refresh,{className:Ae}),t[44]=Ae,t[45]=V);let Me=j===`busy`?`Refreshing…`:`Refresh now`,H;t[46]!==B||t[47]!==ke||t[48]!==V||t[49]!==Me?(H=(0,F.jsxs)(`button`,{type:`button`,className:`dash-edit-btn dash-refresh-btn`,onClick:B,disabled:ke,title:`Fetch current values now, regardless of cadence`,children:[V,Me]}),t[46]=B,t[47]=ke,t[48]=V,t[49]=Me,t[50]=H):H=t[50];let U;t[51]!==o||t[52]!==k||t[53]!==j?(U=(j===`no-model`||!T(k)&&se(o))&&(0,F.jsx)(`span`,{className:`dash-refresh-hint`,children:`Connect a model in Live settings to refresh.`}),t[51]=o,t[52]=k,t[53]=j,t[54]=U):U=t[54];let W;t[55]===j?W=t[56]:(W=j===`failed`&&(0,F.jsx)(`span`,{className:`dash-refresh-hint`,children:`Couldn’t reach your model — check its key or quota, then try again.`}),t[55]=j,t[56]=W);let G;t[57]!==o.id||t[58]!==o.metrics.length||t[59]!==P?(G=o.metrics.length>0&&(0,F.jsxs)(`button`,{type:`button`,className:`dash-edit-btn dash-read-btn`,onClick:()=>void ve(o.id),disabled:P===`busy`,title:`Ask Mavéa to read the latest numbers now`,children:[(0,F.jsx)(a.sparkle,{className:P===`busy`?`dash-refresh-spin`:void 0}),P===`busy`?`Reading…`:`Read the numbers now`]}),t[57]=o.id,t[58]=o.metrics.length,t[59]=P,t[60]=G):G=t[60];let K;t[61]===P?K=t[62]:(K=P===`no-model`&&(0,F.jsx)(`span`,{className:`dash-refresh-hint`,children:`Connect a model in Live settings to read.`}),t[61]=P,t[62]=K);let q;t[63]===P?q=t[64]:(q=P===`failed`&&(0,F.jsx)(`span`,{className:`dash-refresh-hint`,children:`Couldn’t reach your model — check its key or quota, then try again.`}),t[63]=P,t[64]=q);let Ie=`dash-edit-btn`+(s?` is-active`:``),Le;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Le=()=>{l(Ue),d(!1)},t[65]=Le):Le=t[65];let Re=s?`Done`:`Edit layout`,J;t[66]!==Ie||t[67]!==Re?(J=(0,F.jsx)(`button`,{type:`button`,className:Ie,onClick:Le,children:Re}),t[66]=Ie,t[67]=Re,t[68]=J):J=t[68];let Y;t[69]===o.id?Y=t[70]:(Y=S.settings(o.id),t[69]=o.id,t[70]=Y);let X;t[71]===Y?X=t[72]:(X=(0,F.jsx)(`a`,{className:`dash-gear`,href:Y,"aria-label":`Dashboard settings`,title:`Settings`,children:`⚙`}),t[71]=Y,t[72]=X);let Z;t[73]!==I||t[74]!==L||t[75]!==z||t[76]!==H||t[77]!==U||t[78]!==W||t[79]!==G||t[80]!==K||t[81]!==q||t[82]!==J||t[83]!==X?(Z=(0,F.jsxs)(`header`,{className:`dash-detail-head`,children:[Ce,I,L,z,H,U,W,G,K,q,J,X]}),t[73]=I,t[74]=L,t[75]=z,t[76]=H,t[77]=U,t[78]=W,t[79]=G,t[80]=K,t[81]=q,t[82]=J,t[83]=X,t[84]=Z):Z=t[84];let Q;t[85]!==o||t[86]!==s?(Q=!s&&(0,F.jsx)(Pe,{dashboard:o}),t[85]=o,t[86]=s,t[87]=Q):Q=t[87];let $;t[88]!==o||t[89]!==A||t[90]!==s||t[91]!==D?($=!s&&(0,F.jsx)(Ne,{dashboard:o,now:D,checking:A}),t[88]=o,t[89]=A,t[90]=s,t[91]=D,t[92]=$):$=t[92];let Je;t[93]!==o||t[94]!==s||t[95]!==D?(Je=!s&&(0,F.jsx)(Fe,{dashboard:o,now:D}),t[93]=o,t[94]=s,t[95]=D,t[96]=Je):Je=t[96];let Ye;t[97]!==o||t[98]!==s||t[99]!==u?(Ye=s&&(0,F.jsxs)(`div`,{className:`dash-edit-bar`,children:[(0,F.jsxs)(`span`,{className:`dash-edit-hint`,children:[`Drag a tile by its `,(0,F.jsx)(`strong`,{children:`⠿`}),` handle to reorder, tap `,(0,F.jsx)(`strong`,{children:`S/M/L`}),` to resize, `,(0,F.jsx)(`strong`,{children:`×`}),` to remove.`]}),(0,F.jsx)(`button`,{type:`button`,className:`dash-edit-add`,onClick:()=>d(He),"aria-expanded":u,children:`+ Add widget`}),u&&(0,F.jsx)(Ee,{dashboard:o,onClose:()=>d(!1)})]}),t[97]=o,t[98]=s,t[99]=u,t[100]=Ye):Ye=t[100];let Xe;t[101]!==o||t[102]!==s||t[103]!==D||t[104]!==Se?(Xe=s?(0,F.jsx)(`div`,{className:`dash-grid`,children:Se}):(0,F.jsxs)(`div`,{className:`dash-detail-cols`,children:[(0,F.jsxs)(`div`,{className:`dash-detail-main`,children:[o.widgets.length>0&&(0,F.jsxs)(`div`,{className:`dash-detail-section`,children:[(0,F.jsx)(`div`,{className:`card-eyebrow dash-detail-section-title`,children:`Cards`}),(0,F.jsx)(`div`,{className:`dash-grid`,children:Se})]}),(0,F.jsx)(ae,{dashboardId:o.id})]}),(0,F.jsxs)(`div`,{className:`dash-detail-side`,children:[(0,F.jsx)(ze,{dashboard:o,now:D}),(0,F.jsx)(Be,{dashboard:o})]})]}),t[101]=o,t[102]=s,t[103]=D,t[104]=Se,t[105]=Xe):Xe=t[105];let Ze;t[106]!==o||t[107]!==s?(Ze=!s&&(0,F.jsx)(je,{dashboard:o},o.id),t[106]=o,t[107]=s,t[108]=Ze):Ze=t[108];let Qe;return t[109]!==Z||t[110]!==Q||t[111]!==$||t[112]!==Je||t[113]!==Ye||t[114]!==Xe||t[115]!==Ze?(Qe=(0,F.jsxs)(`div`,{className:`dash-detail`,children:[Z,Q,$,Je,Ye,Xe,Ze]}),t[109]=Z,t[110]=Q,t[111]=$,t[112]=Je,t[113]=Ye,t[114]=Xe,t[115]=Ze,t[116]=Qe):Qe=t[116],Qe}function He(e){return!e}function Ue(e){return!e}function We(){return Date.now()}function Ge(e){return e.block}function Ke(e){return[e.id,e]}function qe(e){return e.id}export{$ as DashboardDetail};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./useDashboardLoop-B6ByHWoE.js";function t(){return e(),null}export{t as DashboardLoopRuntime};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DaSxXjOY.js";import{s as t}from"./useStudy-Bflreq2a.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-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{ht as n}from"./index-y8GL67bB.js";import{F as r,I as i,O as a,o,s}from"./useStudy-Bflreq2a.js";import{o as c,s as l}from"./format-hc2QOoIu.js";import{n as u,r as d,t as f}from"./notify-Bz4wuE4T.js";var p=e(),ee=n(),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=t(),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=o(),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:s.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){i(h.id,{alerts:{...h.alerts,push:!1}}),pe(null);return}await d()?(i(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=s.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&&(r(h.id,{ai:t.ai}),i(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=()=>i(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=s.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=s.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};
|
|
@@ -0,0 +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}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AppCommandPalette-DUMSp3rd.js","assets/index-y8GL67bB.js","assets/chunk-BVpWp9h4.js","assets/jsx-runtime-DaSxXjOY.js","assets/react-BQSORdFI.js","assets/lazyRetry-D50B1UMY.js","assets/index-CepQEz75.css","assets/CommandPalette-Kl00mMZm.js","assets/icons-CHVz6kv_.js","assets/registry-BffpZK5w.js","assets/CommandPalette-Bb-eErih.css","assets/demoPaletteItems-NPCSaSU6.js","assets/planTracker-7AMCQPNx.js","assets/providers-wzm7E8Pa.js","assets/http-CJCtjYpA.js","assets/info-CiqHR5cs.js","assets/json-B0N3XRZU.js","assets/now-C9-UAzTC.js","assets/PlanReview-33V8GTNB.js","assets/useStudy-Bflreq2a.js","assets/contentVault-DzTYWcbD.js","assets/keyVault-DEsNh9FR.js","assets/store-4JNNn732.js","assets/queue-J4h7E3uc.js","assets/store-DXmC_fP2.js","assets/queue-DHeyJ32F.css","assets/useLiveConfig-X9Wxh90k.js","assets/useDashboardLoop-B6ByHWoE.js","assets/dashboardEvents-DR9d_c74.js","assets/spokenText-D4zPX9JY.js","assets/format-hc2QOoIu.js","assets/kokoro-D4GKpSL0.js","assets/notify-Bz4wuE4T.js","assets/predictions-CYS7Vo39.js","assets/number-DXgzss0v.js","assets/relate-A9ZeaaAI.js","assets/dashboards-rcWxdoXI.css","assets/RewindOverlay-BusfWeFq.js","assets/motion-S0NRruNj.js","assets/CheckLogRail-wUfby67Z.js","assets/CheckLogRail-F4AlgAcc.css","assets/useFocusTrap-DbfG6zbM.js","assets/RewindOverlay-C92qgvmi.css","assets/DashPresent-BYXbPuGj.js","assets/TrackerTile-CasZNmt4.js","assets/DashPresent-DQYcgp-W.css","assets/DashboardDetail-B50ZkeVK.js","assets/TopicCanvas-CT0eSj2M.js","assets/FallbackCard-B489rTd9.js","assets/blockLabel-DAqaHKy3.js","assets/FallbackCard-D_6ps1xA.css","assets/CanvasSkeleton-BZZPCuRZ.js","assets/CanvasSkeleton-iy6DBvde.css","assets/lib-VFqp6Y3w.js","assets/BlockEmpty-CLtVQf6c.js","assets/lib-DMAxsZKm.css","assets/format-DlZTyeMy.js","assets/useSpatialCanvas-DogK9457.js","assets/useValidatedImage-D2fhA198.js","assets/catalog-BHjl-1uH.js","assets/richText-BkxJhl9N.js","assets/safeImageUrl-CUkucDUu.js","assets/toast-BBNs2h3L.js","assets/layout-BFQOzXtG.js","assets/TopicCanvas-D2Nax9II.css","assets/canvas-QTEIiK23.js","assets/ReplayCard-BpYO5vX-.js","assets/ShareModal-ClnEkudw.js","assets/ReelJelly-3jSVsJsy.js","assets/geometry-DXAbnb0J.js","assets/registry-2v0jlh5Q.js","assets/fit-0HxU-rtB.js","assets/share-QHGHNDhQ.js","assets/FeatureUseNotice-DPtQ0OGb.js","assets/FeatureUseNotice-CWt7gOwS.css","assets/ShareModal-C8S7ySls.css","assets/annotationReel-BcU9Q0Sw.js","assets/sourceHost-BV3t2XDb.js","assets/pin-CXSuPJYL.js","assets/pin-Bya3BL_a.css","assets/DashboardSettings-Dmw6JTbI.js","assets/DashboardOverview-C-FdGWM5.js","assets/DashboardLoopRuntime-CFXPx3v_.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{B as n,F as r,I as i,J as a,L as o,M as s,N as c,at as l,ht as u,j as d,k as f,mt as p,ot as m,q as h,st as g,z as _}from"./index-y8GL67bB.js";import{n as v}from"./icons-CHVz6kv_.js";import{t as y}from"./useFocusTrap-DbfG6zbM.js";import{d as b,u as x}from"./kokoro-D4GKpSL0.js";import{t as S}from"./FeatureUseNotice-DPtQ0OGb.js";import{r as C}from"./sourceHost-BV3t2XDb.js";import{t as w}from"./homeTarget-BgWKI_E1.js";import"./queue-J4h7E3uc.js";import{S as T,a as E,c as D,d as ee,f as O,l as k,o as A,s as j}from"./useStudy-Bflreq2a.js";import{l as M,n as N,r as te,u as ne}from"./useLiveConfig-X9Wxh90k.js";import{g as P,n as re,o as ie,p as F,s as I}from"./dashboardEvents-DR9d_c74.js";import{o as L,t as ae}from"./CheckLogRail-wUfby67Z.js";import{i as R}from"./format-hc2QOoIu.js";import{n as oe,r as se,t as z}from"./TrackerTile-CasZNmt4.js";/* empty css */var B=e(),V=u(),H=t();function U({href:e,label:t=`Mavéa`,className:n}){return(0,H.jsxs)(`a`,{className:n,href:e,"aria-label":`${t} home`,children:[(0,H.jsx)(`span`,{className:`jelly-mark`}),t]})}var W=p();function G(e){let t=(t,n,r)=>({label:t,blurb:n,onClick:()=>{window.location.hash=r},preload:()=>d(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 conversation before it happens`),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 · ${_}`,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`),n(`The Table`,`Scout a negotiation — two Mavéas talk it out, you get the debrief`),t(`Deep Zoom`,`Telescope any topic from big picture to finest detail`,`#/deepzoom`)]}}a();var K=i(()=>h(()=>import(`./AppCommandPalette-DUMSp3rd.js`).then(e=>({default:e.AppCommandPalette})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11]))),ce=K.Component;function le(e){let t=(0,V.c)(26),{omitHash:i}=e,{open:a,openPalette:o,closePalette:s}=n(),c=ue,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{m(),c()},t[0]=u):u=t[0];let d=u,p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>()=>{m(),l(e),g(),c()},t[1]=p):p=t[1];let h=p,_;t[2]!==i||t[3]!==o?(_=G({openPalette:o,enterLive:c,omitHash:i}),t[2]=i,t[3]=o,t[4]=_):_=t[4];let v=_,y=E(),b;t[5]===v.create?b=t[6]:(b=(0,H.jsx)(O,{label:`Create`,items:v.create}),t[5]=v.create,t[6]=b);let x;t[7]!==v.practice||t[8]!==y?(x=(0,H.jsx)(O,{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,H.jsx)(O,{label:`Share`,items:v.share}),t[10]=v.share,t[11]=S);let C;t[12]===v.explore?C=t[13]:(C=(0,H.jsx)(O,{label:`Explore`,items:v.explore}),t[12]=v.explore,t[13]=C);let w;t[14]===o?w=t[15]:(w=(0,H.jsx)(r,{onOpen:o,preload:K.preload}),t[14]=o,t[15]=w);let T;t[16]!==s||t[17]!==a?(T=a&&(0,W.createPortal)((0,H.jsx)(f,{label:`Feature search`,overlay:!0,children:(0,H.jsx)(ce,{onClose:s,startTour:d,watchInLive:h,enterLive:c})}),document.body),t[16]=s,t[17]=a,t[18]=T):T=t[18];let D;return t[19]!==b||t[20]!==x||t[21]!==S||t[22]!==C||t[23]!==w||t[24]!==T?(D=(0,H.jsxs)(H.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]=D):D=t[25],D}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,V.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,H.jsx)(`div`,{className:`dash-budget dash-budget--paused`,title:`Automatic checks are paused until your budget resets`,children:(0,H.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,H.jsx)(`span`,{className:`dash-budget-track`,children:(0,H.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,H.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,H.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,V.c)(28),{view:n}=e,r=A(),i=L(),a=P(),[o,s]=(0,B.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,B.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=F(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,H.jsx)(U,{className:`dash-topbar-brand`,href:w().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,H.jsx)(`i`,{className:`dash-live-dot`,"aria-hidden":`true`}),t[9]=_):_=t[9];let v;t[10]!==d||t[11]!==g?(v=(0,H.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,H.jsx)(pe,{state:m}),t[13]=m,t[14]=y);let b;t[15]===n?b=t[16]:(b=n!==`overview`&&(0,H.jsx)(`a`,{className:`dash-topbar-link`,href:j.overview,children:`How it works`}),t[15]=n,t[16]=b);let x;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,H.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,H.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,H.jsx)(`span`,{className:`topbar-spacer`}),t[22]=C):C=t[22];let T,E;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,H.jsx)(`nav`,{className:`dash-topbar-nav`,"aria-label":`App`,children:(0,H.jsx)(le,{omitHash:j.gallery})}),E=(0,H.jsx)(`span`,{className:`topbar-divider`,"aria-hidden":`true`}),t[23]=T,t[24]=E):(T=t[23],E=t[24]);let D;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,H.jsxs)(`div`,{className:`dash-topbar-tools`,children:[(0,H.jsx)(`a`,{className:`dash-topbar-action`,href:j.rewind,children:`✦ Rewind`}),(0,H.jsx)(`a`,{className:`dash-topbar-action`,href:j.present,children:`▸ Present`}),(0,H.jsx)(ee,{triggerClassName:`ctrl`})]}),t[25]=D):D=t[25];let O;return t[26]===S?O=t[27]:(O=(0,H.jsxs)(`header`,{className:`dash-topbar`,children:[h,S,C,T,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,H.jsxs)(`a`,{className:`metric-chip metric-chip--${r}`,href:j.detail(n),children:[(0,H.jsx)(`span`,{className:`metric-chip-value`,children:t}),(0,H.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,B.useState)(!1),r=(0,B.useRef)(t);return r.current=t,(0,B.useEffect)(()=>{if(!t)return;let e=window.setInterval(()=>{b()||n(!1)},300);return()=>window.clearInterval(e)},[t]),(0,B.useEffect)(()=>()=>{r.current&&x()},[]),(0,H.jsxs)(`section`,{className:`card briefing-hero`,children:[(0,H.jsxs)(`div`,{className:`briefing-hero-head`,children:[(0,H.jsxs)(`span`,{className:`card-eyebrow briefing-hero-eyebrow`,children:[`MORNING BRIEFING · `,_e(e.at),` · COMPILED WHILE CHECKING YOUR DASHBOARDS`]}),(0,H.jsx)(`button`,{type:`button`,className:`briefing-hero-listen`,onClick:()=>{if(t){x(),n(!1);return}ie(e.text,e.spoken),n(!0)},"aria-pressed":t,children:t?`◼ STOP`:`▸ LISTEN`})]}),(0,H.jsx)(`p`,{className:`briefing-hero-text`,children:e.text}),e.chips.length>0&&(0,H.jsx)(`div`,{className:`briefing-hero-chips`,children:e.chips.map(e=>(0,H.jsx)(ge,{label:e.label,value:e.value,dashboardId:e.dashboardId},e.dashboardId))})]})}function ye(e){let t=(0,V.c)(31),{dashboard:n,now:r}=e,i;t[0]!==n||t[1]!==r?(i=se(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,H.jsx)(`div`,{className:`featured-live featured-live--fallback`,children:(0,H.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=j.detail(n.id),t[6]=n.id,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,H.jsxs)(`span`,{className:`card-eyebrow featured-live-eyebrow`,children:[(0,H.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,H.jsxs)(`div`,{className:`featured-live-head`,children:[l,(0,H.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,H.jsx)(oe,{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,H.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,H.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,H.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,H.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,H.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,H.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,V.c)(17),{answer:n,onTrackAnyway:r}=e;if(!n){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.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,H.jsxs)(`div`,{className:`dash-answer`,children:[e,(0,H.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,H.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,H.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,H.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,H.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,H.jsxs)(`div`,{className:`dash-answer-foot`,children:[s,(0,H.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,H.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=C(e.url);return t?(0,H.jsx)(`a`,{className:`dash-answer-source`,href:t,target:`_blank`,rel:`noopener noreferrer`,title:e.title,children:e.title},e.url):null}a();var q;function J(){return q??=h(()=>import(`./planTracker-7AMCQPNx.js`).then(e=>e.n),__vite__mapDeps([12,2,13,14,15,16,17])),q}var Y=i(()=>h(()=>import(`./PlanReview-33V8GTNB.js`).then(e=>({default:e.PlanReview})),__vite__mapDeps([18,1,2,3,4,5,6,19,20,21,22,23,24,25,26,13,14,15,27,28,29,30,31,32,33,16,17,34,35,36]))),Se=Y.Component;function Ce(){return Promise.all([J(),Y.preload()]).then(()=>void 0)}function we({inert:e=!1}){let t=(0,B.useRef)(null),n=(0,B.useRef)(null),[r,i]=(0,B.useState)(``),[a,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(null),u=(0,B.useRef)(0),d=()=>{u.current++,l(null)};y(n,{onEscape:d,active:!!c}),(0,B.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,B.useEffect)(()=>()=>{u.current++},[]);let p=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,M(N()));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,M(N()));t===u.current&&l({step:`answer`,plan:o,answer:c})},m=e=>{u.current++,l(null),i(``),window.location.hash=j.detail(e)};return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`form`,{className:`dash-composer-bar`,onSubmit:e=>{e.preventDefault(),p()},children:[(0,H.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,H.jsx)(`kbd`,{className:`dash-composer-kbd`,"aria-hidden":`true`,children:`⌘K`}),(0,H.jsx)(`button`,{type:`submit`,className:`dash-composer-submit`,disabled:!r.trim()||a,children:a?`Planning…`:`Track`})]}),c&&(0,H.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,H.jsxs)(`div`,{className:`xt-modal`,ref:n,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-label":`Track anything`,children:[(0,H.jsxs)(`div`,{className:`xt-head`,children:[c.step===`review`?(0,H.jsx)(`button`,{type:`button`,className:`tpl-back`,onClick:d,children:`‹ Change what to track`}):(0,H.jsx)(`span`,{className:`xt-head-title`,children:c.plan.title}),(0,H.jsx)(`button`,{type:`button`,className:`xt-close`,onClick:d,"aria-label":`Close`,children:`×`})]}),c.step===`answering`&&(0,H.jsx)(`div`,{className:`xt-loading`,children:`Mavéa is checking that…`}),c.step===`answer`&&(0,H.jsx)(be,{answer:c.answer,onTrackAnyway:()=>l({step:`review`,plan:c.plan})}),c.step===`review`&&(0,H.jsx)(f,{label:`tracker plan`,children:(0,H.jsx)(Se,{plan:c.plan,ask:r,existing:T(),onDone:m})})]})})]})}var Te=8e3;function Ee({message:e,onDismiss:t,kind:n=`presence`,href:r}){let i=(0,B.useRef)(t);return i.current=t,(0,B.useEffect)(()=>{let e=window.setTimeout(()=>i.current(),Te);return()=>window.clearTimeout(e)},[]),(0,H.jsxs)(`div`,{className:`dash-toast dash-toast--${n}`,role:`status`,children:[r?(0,H.jsx)(`a`,{className:`dash-toast-text dash-toast-link`,href:r,children:e}):(0,H.jsx)(`span`,{className:`dash-toast-text`,children:e}),(0,H.jsx)(`button`,{type:`button`,className:`dash-toast-close`,onClick:t,"aria-label":`Dismiss`,children:`×`})]})}a();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,V.c)(11),{eyebrow:n,sub:r}=e,i;t[0]===n?i=t[1]:(i=(0,H.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,H.jsx)(`span`,{className:`tile-cadence`,children:`EXAMPLE`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,H.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,H.jsx)(`div`,{className:`tile-value-row`,children:(0,H.jsx)(`span`,{className:`tile-value`,children:`—`})}),t[5]=s):s=t[5];let c;t[6]===r?c=t[7]:(c=(0,H.jsx)(`p`,{className:`tile-context`,children:r}),t[6]=r,t[7]=c);let l;return t[8]!==o||t[9]!==c?(l=(0,H.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,V.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.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,H.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,H.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,H.jsxs)(`p`,{className:`dash-empty-how`,children:[`New here? `,(0,H.jsx)(`a`,{href:j.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,H.jsxs)(`div`,{className:`card dash-empty dash-empty--hero`,children:[t,n,r,(0,H.jsx)(`div`,{className:`dash-home-examples`,children:De.map(je)})]}),e[3]=i):i=e[3],i}function je(e){return(0,H.jsx)(`span`,{className:`dash-home-example-chip`,children:e},e)}function Z(){let e=A(),t=L(),n=P(),r=I(),[i]=ne(),[a,o]=(0,B.useState)(()=>Date.now());(0,B.useEffect)(()=>{let e=window.setInterval(()=>o(Date.now()),3e4);return()=>window.clearInterval(e)},[]);let s=(0,B.useMemo)(()=>e.find(e=>Oe(e,a))??null,[e,a]),c=r!==null&&r.date===ke(a),l=(0,B.useMemo)(()=>F(t,n.dailySearchBudget,a),[t,n.dailySearchBudget,a]),u=e.length===0,d=(0,B.useMemo)(()=>e.some(R),[e]),f=te(i),[p,m]=(0,B.useState)(null);(0,B.useEffect)(()=>re(m),[]);let[g,_]=(0,B.useState)(!1),y=async()=>{_(!0);try{let{checkAllDashboardsNow:e}=await h(async()=>{let{checkAllDashboardsNow:e}=await import(`./useDashboardLoop-B6ByHWoE.js`).then(e=>e.i);return{checkAllDashboardsNow:e}},__vite__mapDeps([27,2,1,3,4,5,6,13,14,15,19,20,21,22,23,24,25,26,28,29,30,31,32,33,16,17,34]));await e()}finally{_(!1)}},[b,x]=(0,B.useState)(0);return(0,B.useEffect)(()=>{let e=0,t=0;return e=requestAnimationFrame(()=>{x(1),t=requestAnimationFrame(()=>x(2))}),()=>{cancelAnimationFrame(e),cancelAnimationFrame(t)}},[]),(0,H.jsxs)(`div`,{className:`dash-home`,children:[p&&(0,H.jsx)(Ee,{kind:`danger`,message:`${p.dashboardTitle}: ${p.tripwireLabel} crossed the line you set.`,href:j.detail(p.dashboardId),onDismiss:()=>m(null)},`${p.dashboardId}-${p.tripwireLabel}`),(0,H.jsxs)(`div`,{className:`dash-home-grid`,children:[(0,H.jsxs)(`div`,{className:`dash-home-main`,children:[!u&&!f&&d&&(0,H.jsxs)(`div`,{className:`dash-connect-banner`,children:[(0,H.jsx)(`span`,{className:`dash-connect-banner-text`,children:`These trackers can't fetch anything yet — connect a model to start filling them.`}),(0,H.jsx)(`a`,{className:`dash-connect-banner-link`,href:`#/live`,children:`Connect a model in Live →`})]}),u?(0,H.jsx)(Ae,{}):(0,H.jsxs)(H.Fragment,{children:[c&&r&&(0,H.jsx)(ve,{briefing:r}),s&&(0,H.jsx)(ye,{dashboard:s,now:a})]}),b>=1&&(0,H.jsxs)(`section`,{className:`dash-track`,children:[(0,H.jsxs)(`div`,{className:`dash-track-head`,children:[(0,H.jsxs)(`span`,{className:`dash-track-eyebrow`,children:[`TRACKING · `,e.length]}),(0,H.jsxs)(`div`,{className:`dash-track-head-right`,children:[(0,H.jsx)(`span`,{className:`dash-track-honesty`,children:`NOT REAL-TIME — EVERY VALUE IS AS OF ITS LAST WEB SEARCH`}),f&&d&&(0,H.jsxs)(`button`,{type:`button`,className:`dash-check-all-btn`,onClick:()=>void y(),disabled:g,title:`Check every tracker with live content now`,children:[(0,H.jsx)(v.refresh,{className:g?`dash-refresh-spin`:void 0}),g?`Checking…`:`Check all`]})]})]}),(0,H.jsx)(`div`,{className:`dash-track-grid`,children:u?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(X,{eyebrow:`AAPL`,sub:`Stock price`}),(0,H.jsx)(X,{eyebrow:`Yankees`,sub:`Latest score`}),(0,H.jsx)(X,{eyebrow:`Denver`,sub:`This week's forecast`})]}):e.map(e=>(0,H.jsx)(z,{dashboard:e,now:a,paused:l.paused},e.id))})]})]}),(0,H.jsx)(`aside`,{className:`dash-home-rail`,children:b>=2&&(0,H.jsx)(ae,{})})]}),(0,H.jsx)(we,{})]})}a();var Me=i(()=>h(()=>import(`./RewindOverlay-BusfWeFq.js`).then(e=>({default:e.RewindOverlay})),__vite__mapDeps([37,1,2,3,4,5,6,38,19,20,21,22,23,24,25,26,13,14,15,39,28,29,30,31,40,33,41,42]))),Ne=i(()=>h(()=>import(`./DashPresent-BYXbPuGj.js`).then(e=>({default:e.DashPresent})),__vite__mapDeps([43,1,2,3,4,5,6,19,20,21,22,23,24,25,26,13,14,15,39,28,29,30,31,40,44,8,45]))),Pe=i(()=>h(()=>import(`./DashboardDetail-B50ZkeVK.js`).then(e=>({default:e.DashboardDetail})),__vite__mapDeps([46,1,2,3,4,5,6,47,48,49,8,50,51,52,53,54,38,55,56,57,58,59,60,61,62,63,14,64,65,66,67,68,69,70,71,72,73,74,29,41,31,75,76,77,19,20,21,22,23,24,25,26,13,15,39,28,30,40,27,32,33,16,17,34,78,79,12,36]))),Fe=i(()=>h(()=>import(`./DashboardSettings-Dmw6JTbI.js`).then(e=>({default:e.DashboardSettings})),__vite__mapDeps([80,1,2,3,4,5,6,19,20,21,22,23,24,25,26,13,14,15,30,32]))),Q=i(()=>h(()=>import(`./DashboardOverview-C-FdGWM5.js`).then(e=>({default:e.DashboardOverview})),__vite__mapDeps([81,3,2,19,1,4,5,6,20,21,22,23,24,25,26,13,14,15]))),Ie=i(()=>h(()=>import(`./DashboardLoopRuntime-CFXPx3v_.js`).then(e=>({default:e.DashboardLoopRuntime})),__vite__mapDeps([82,27,2,1,3,4,5,6,13,14,15,19,20,21,22,23,24,25,26,28,29,30,31,32,33,16,17,34]))),Le=Me.Component,Re=Ne.Component,ze=Pe.Component,Be=Fe.Component,Ve=Q.Component,He=Ie.Component;function $(){window.location.hash=j.gallery}function Ue(){let e=(0,V.c)(24),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,B.useEffect)(We,t);let[n,r]=(0,B.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,B.useEffect)(i,a);let o=k(),s;e[3]===o?s=e[4]:(s=D(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,H.jsx)(f,{label:`Dashboard presentation`,children:(0,H.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,H.jsx)(f,{label:`Dashboard detail`,children:(0,H.jsx)(ze,{id:c.id})}):(0,H.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,H.jsx)(f,{label:`Dashboard settings`,children:(0,H.jsx)(Be,{id:c.id})}):(0,H.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,H.jsx)(f,{label:`Dashboard overview`,children:(0,H.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,H.jsx)(Z,{}),e[11]=t):t=e[11],l=t}}let u=l,d;e[12]===c.view?d=e[13]:(d=(0,H.jsx)(me,{view:c.view}),e[12]=c.view,e[13]=d);let p;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,H.jsx)(S,{kind:`monitoring`,className:`dash-risk-note`}),e[14]=p):p=e[14];let m;e[15]===n?m=e[16]:(m=n&&(0,H.jsx)(B.Suspense,{fallback:(0,H.jsx)(`span`,{hidden:!0,"aria-hidden":`true`}),children:(0,H.jsx)(He,{})}),e[15]=n,e[16]=m);let h;e[17]===c.view?h=e[18]:(h=c.view===`rewind`&&(0,H.jsx)(f,{label:`Weekly rewind`,overlay:!0,children:(0,H.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,H.jsxs)(`div`,{className:`mavea-app dash-app`,children:[d,p,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 s(c())}export{Ue as DashboardsApp};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{M as n,N as r,P as i,ht as a}from"./index-y8GL67bB.js";import{t as o}from"./FeatureUseNotice-DPtQ0OGb.js";import{t as s}from"./providers-wzm7E8Pa.js";import{t as c}from"./homeTarget-BgWKI_E1.js";import{l,n as u}from"./useLiveConfig-X9Wxh90k.js";import{n as d}from"./courseSeed-CZdNBTTs.js";var f=e(),p=a(),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
|
+
|
|
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
|
+
|
|
5
|
+
Rules:
|
|
6
|
+
- Each level zooms into subtopics[selectedIndex] of the previous level
|
|
7
|
+
- Each level must be more specific and granular than the one before
|
|
8
|
+
- subtopics: 3–5 sub-areas visible at THIS scale (2–5 words each)
|
|
9
|
+
- selectedIndex: which subtopic the NEXT level zooms into (pick the most illuminating path)
|
|
10
|
+
- scaleLabel: 1–3 word ALL_CAPS poetic label (e.g. "THE FIELD", "THE PROCESS", "THE MOLECULE", "THE BOND")
|
|
11
|
+
- body: exactly 2 vivid, dense sentences grounding the reader at this exact scale — be concrete
|
|
12
|
+
|
|
13
|
+
Return ONLY valid JSON, no markdown fences, no prose:
|
|
14
|
+
{
|
|
15
|
+
"rangeStart": "2–4 word phrase for the broadest scope (e.g. 'all of biology')",
|
|
16
|
+
"levels": [
|
|
17
|
+
{ "scaleLabel": "...", "title": "...", "body": "...", "subtopics": [...], "selectedIndex": 0 },
|
|
18
|
+
...9 more objects...
|
|
19
|
+
]
|
|
20
|
+
}`,y=`You are extending a "Powers of Ten" semantic telescope by branching into a chosen subtopic.
|
|
21
|
+
|
|
22
|
+
Produce EXACTLY 10 new zoom levels starting one scale deeper than the given parent level, each more specific than the last.
|
|
23
|
+
|
|
24
|
+
Rules:
|
|
25
|
+
- Level 1 focuses on the chosen subtopic at the next scale depth
|
|
26
|
+
- Each level zooms into subtopics[selectedIndex] of the previous level
|
|
27
|
+
- scaleLabel: 1–3 word ALL_CAPS label (e.g. "THE REACTION", "THE PROTEIN", "THE SITE")
|
|
28
|
+
- body: exactly 2 vivid, dense sentences at this exact scale
|
|
29
|
+
- subtopics: 3–5 sub-parts visible at this scale
|
|
30
|
+
|
|
31
|
+
Return ONLY valid JSON, no markdown fences, no prose:
|
|
32
|
+
{
|
|
33
|
+
"levels": [
|
|
34
|
+
{ "scaleLabel": "...", "title": "...", "body": "...", "subtopics": [...], "selectedIndex": 0 },
|
|
35
|
+
...9 more objects...
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.deepzoom-app{--dz-0:oklch(64% .19 264);--dz-1:oklch(62% .2 288);--dz-2:oklch(60% .24 316);--dz-3:oklch(62% .2 355);--dz-4:oklch(65% .19 40);--dz-5:oklch(72% .17 82);--dz-6:oklch(74% .18 128);--dz-7:oklch(70% .16 158);--dz-8:oklch(68% .13 192);--dz-9:oklch(66% .15 222);--dz-move:.56s;--dz-ease:cubic-bezier(.22, 1, .36, 1);background:var(--surface-deep);height:100dvh;color:var(--text-primary);font-family:var(--font);flex-direction:column;display:flex;overflow:hidden}:root[data-theme=light] .deepzoom-app{--dz-0:oklch(52% .2 264);--dz-1:oklch(50% .22 290);--dz-2:oklch(49% .26 318);--dz-3:oklch(52% .23 358);--dz-4:oklch(55% .2 42);--dz-5:oklch(58% .17 78);--dz-6:oklch(56% .18 132);--dz-7:oklch(52% .16 160);--dz-8:oklch(52% .13 196);--dz-9:oklch(52% .16 226)}.dz-topbar{border-bottom:1px solid var(--grid-line);background:color-mix(in oklab, var(--surface-default) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 clamp(14px,2.4vw,26px);display:flex}.dz-topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.dz-back-btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-glass);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:color var(--m-fast), border-color var(--m-fast), background var(--m-fast);flex-shrink:0;place-items:center;display:grid}.dz-back-btn svg{width:16px;height:16px}.dz-back-btn:hover{color:var(--text-primary);border-color:var(--line-strong);background:var(--surface-glass-strong)}.dz-wordmark{letter-spacing:-.02em;color:var(--text-primary);flex-direction:column;flex-shrink:0;gap:2px;font-size:15px;font-weight:700;line-height:1;display:flex}.dz-wordmark-sub{letter-spacing:.24em;text-transform:uppercase;color:var(--text-faint);font-size:9px;font-weight:600}.dz-query{border-left:1px solid var(--line);min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;padding-left:14px;font-size:13px;overflow:hidden}.dz-query:before{content:"“";color:var(--text-faint)}.dz-query:after{content:"”";color:var(--text-faint)}.dz-topbar-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.dz-course-btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-glass);height:34px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:color var(--m-fast), border-color var(--m-fast), background var(--m-fast);align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;display:flex}.dz-course-btn svg{flex-shrink:0;width:15px;height:15px}.dz-course-btn:hover{color:var(--text-primary);border-color:var(--line-strong);background:var(--surface-glass-strong)}.dz-new-btn{border-radius:var(--r-sm);border:1px solid color-mix(in oklab, var(--presence) 40%, var(--line));background:color-mix(in oklab, var(--presence) 10%, transparent);height:34px;color:var(--presence);white-space:nowrap;cursor:pointer;transition:color var(--m-fast), border-color var(--m-fast), background var(--m-fast);align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:600;display:flex}.dz-new-btn svg{flex-shrink:0;width:15px;height:15px}.dz-new-btn:hover{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 16%, transparent)}.dz-theme-toggle{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-glass);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:color var(--m-fast), border-color var(--m-fast), background var(--m-fast);flex-shrink:0;place-items:center;display:grid}.dz-theme-toggle svg{width:17px;height:17px}.dz-theme-toggle:hover{color:var(--text-primary);border-color:var(--line-strong);background:var(--surface-glass-strong)}.dz-stage{flex:1;min-height:0;display:flex}.dz-ladder{border-right:1px solid var(--grid-line);background:color-mix(in oklab, var(--surface-default) 45%, transparent);flex-direction:column;flex-shrink:0;gap:14px;width:clamp(232px,23vw,336px);min-height:0;padding:22px 14px 22px 24px;display:flex}.dz-ladder-cap{letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint);flex-shrink:0;justify-content:space-between;align-items:baseline;padding-left:32px;padding-right:6px;font-size:10.5px;font-weight:600;display:flex}.dz-ladder-count{font-family:var(--mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:11px}.dz-ladder-count-sep{color:var(--text-faint);margin:0 2px}.dz-ladder-track{scrollbar-width:none;flex-direction:column;flex:1;min-height:0;padding-block:2px;display:flex;position:relative;overflow:hidden auto}.dz-ladder-track::-webkit-scrollbar{display:none}.dz-stop{z-index:1;text-align:left;cursor:pointer;min-height:44px;transition:background var(--m-fast);background:0 0;border:none;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:22px 1fr;align-items:center;column-gap:12px;margin:0;padding:6px 10px 6px 0;display:grid;position:relative}.dz-stop:hover{background:color-mix(in oklab, var(--stop-color) 9%, transparent)}.dz-stop:focus-visible{outline:2px solid var(--stop-color);outline-offset:1px}.dz-stop:before{content:"";background:var(--grid-strong);z-index:0;width:2px;height:100%;transition:background var(--m-normal) var(--ease-out);position:absolute;top:-50%;left:10px;transform:translate(-50%)}.dz-stop:first-child:before{display:none}.dz-stop.is-past:before,.dz-stop.is-current:before{background:var(--stop-color)}.dz-stop-node{border:2px solid var(--grid-strong);background:var(--surface-deep);z-index:2;width:9px;height:9px;transition:width var(--m-normal) var(--ease-spring), height var(--m-normal) var(--ease-spring), background var(--m-normal) var(--ease-out), border-color var(--m-normal) var(--ease-out), box-shadow var(--m-normal) var(--ease-out);border-radius:50%;grid-area:1/1/span 2;place-self:center}.dz-stop.is-past .dz-stop-node{border-color:var(--stop-color);background:var(--stop-color)}.dz-stop.is-current .dz-stop-node{border-color:var(--stop-color);background:var(--stop-color);width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in oklab, var(--stop-color) 20%, transparent), 0 0 16px color-mix(in oklab, var(--stop-color) 60%, transparent)}.dz-stop-mult{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-muted);transition:color var(--m-normal) var(--ease-out);grid-area:1/2;align-self:end;font-size:12px}.dz-stop-label{letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;transition:color var(--m-normal) var(--ease-out);grid-area:2/2;align-self:start;margin-top:2px;font-size:11px;font-weight:600;overflow:hidden}.dz-stop.is-past .dz-stop-mult{color:var(--text-secondary)}.dz-stop.is-past .dz-stop-label{color:var(--text-muted)}.dz-stop.is-current .dz-stop-mult{color:var(--stop-color);font-weight:600}.dz-stop.is-current .dz-stop-label{color:var(--text-primary);letter-spacing:.15em}.dz-reading{background-color:color-mix(in oklab, var(--dz-current) 7%, var(--surface-deep));min-width:0;transition:background-color var(--dz-move) var(--dz-ease);flex:1;position:relative;overflow:hidden}.dz-field{pointer-events:none;background:radial-gradient(70% 90% at 78% 32%, color-mix(in oklab, var(--dz-current) 26%, transparent), transparent 62%), radial-gradient(60% 80% at 12% 88%, color-mix(in oklab, var(--dz-current) 12%, transparent), transparent 60%);opacity:.9;transition:background var(--dz-move) var(--dz-ease);position:absolute;inset:0}.dz-field:after{content:"";aspect-ratio:1;background:radial-gradient(circle, transparent 0 46%, color-mix(in oklab, var(--dz-current) 22%, transparent) 46.5% 47.5%, transparent 48%, transparent 0 63%, color-mix(in oklab, var(--dz-current) 14%, transparent) 63.5% 64.3%, transparent 65%);opacity:.6;width:min(52vw,720px);transition:background var(--dz-move) var(--dz-ease);border-radius:50%;position:absolute;top:32%;left:78%;transform:translate(-50%,-50%)}.dz-levels{max-width:1500px;margin-inline:auto;display:grid;position:absolute;inset:0}.dz-level{transform-origin:32%;grid-area:1/1;place-self:center start;width:min(60ch,100%);padding:clamp(28px,5vw,72px)}.dz-level.is-current[data-dir=in]{animation:dz-enter-in var(--dz-move) var(--dz-ease) both}.dz-level.is-current[data-dir=out]{animation:dz-enter-out var(--dz-move) var(--dz-ease) both}.dz-level.is-exiting{pointer-events:none;z-index:1}.dz-level.is-exiting[data-dir=in]{animation:dz-exit-in var(--dz-move) var(--dz-ease) both}.dz-level.is-exiting[data-dir=out]{animation:dz-exit-out var(--dz-move) var(--dz-ease) both}@keyframes dz-enter-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes dz-exit-in{0%{opacity:1;transform:none}to{opacity:0;transform:scale(1.14)}}@keyframes dz-enter-out{0%{opacity:0;transform:scale(1.14)}to{opacity:1;transform:none}}@keyframes dz-exit-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.9)}}.dz-scale-eyebrow{align-items:center;gap:12px;margin-bottom:18px;display:flex}.dz-scale-mult{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--dz-current);font-size:15px;font-weight:500}.dz-scale-tick{background:color-mix(in oklab, var(--dz-current) 55%, transparent);width:22px;height:1px}.dz-scale-label{letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab, var(--dz-current) 78%, var(--text-primary));font-size:11.5px;font-weight:700}.dz-title{letter-spacing:-.025em;text-wrap:balance;color:var(--text-primary);margin:0 0 16px;font-size:clamp(30px,4.6vw,52px);font-weight:700;line-height:1.04}.dz-body{max-width:46ch;color:var(--text-secondary);margin:0 0 26px;font-size:clamp(15.5px,1.3vw,18px);line-height:1.62}.dz-chips{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.dz-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-glass);color:var(--text-secondary);cursor:pointer;transition:border-color var(--m-fast), background var(--m-fast), color var(--m-fast);align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.dz-chip:hover{border-color:color-mix(in oklab, var(--dz-current) 55%, var(--line));color:var(--text-primary)}.dz-chip:focus-visible{outline:2px solid var(--dz-current);outline-offset:1px}.dz-chip.is-selected{border-color:color-mix(in oklab, var(--dz-current) 70%, transparent);background:color-mix(in oklab, var(--dz-current) 14%, transparent);color:var(--text-primary);font-weight:600}.dz-chip-dot{border:1.5px solid var(--text-muted);width:7px;height:7px;transition:background var(--m-fast), border-color var(--m-fast);border-radius:50%;flex-shrink:0}.dz-chip.is-selected .dz-chip-dot{background:var(--dz-current);border-color:var(--dz-current);box-shadow:0 0 8px color-mix(in oklab, var(--dz-current) 60%, transparent)}.dz-chip-more{color:var(--text-muted);cursor:default;border-style:dashed}.dz-zoom{border-radius:var(--r-full);border:1px solid color-mix(in oklab, var(--dz-current) 40%, var(--line));background:color-mix(in oklab, var(--dz-current) 12%, var(--surface-glass));color:var(--text-primary);cursor:pointer;transition:border-color var(--m-fast), background var(--m-fast), transform var(--m-fast);align-items:center;gap:10px;padding:11px 20px 11px 16px;font-size:14px;font-weight:500;display:inline-flex}.dz-zoom strong{color:var(--dz-current);font-weight:700}.dz-zoom:hover{border-color:color-mix(in oklab, var(--dz-current) 70%, transparent);background:color-mix(in oklab, var(--dz-current) 20%, var(--surface-glass));transform:translateY(-1px)}.dz-zoom:focus-visible{outline:2px solid var(--dz-current);outline-offset:2px}.dz-zoom-glyph{background:color-mix(in oklab, var(--dz-current) 28%, transparent);width:22px;height:22px;color:var(--dz-current);border-radius:50%;place-items:center;display:grid}.dz-zoom-glyph svg{width:13px;height:13px}.dz-zoom.is-loading{cursor:default;color:var(--text-secondary);border-color:var(--line);background:var(--surface-glass)}.dz-zoom-spinner{border:2px solid color-mix(in oklab, var(--dz-current) 30%, transparent);border-top-color:var(--dz-current);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite dz-spin}.dz-loading-screen{background:var(--surface-deep);flex-direction:column;height:100dvh;display:flex}.dz-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;display:flex}.dz-loading-lens{width:64px;height:64px;position:relative}.dz-loading-lens span{border:2px solid #0000;border-top-color:var(--presence);border-radius:50%;margin:auto;animation:1.1s linear infinite dz-spin;position:absolute;inset:0}.dz-loading-lens span:nth-child(2){border-top-color:var(--insight);animation-duration:.85s;animation-direction:reverse;inset:12px}.dz-loading-lens span:nth-child(3){border-top-color:var(--warning);animation-duration:1.4s;inset:24px}.dz-loading-text{color:var(--text-secondary);font-size:14px}@keyframes dz-spin{to{transform:rotate(360deg)}}.dz-error{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.dz-error-title{color:var(--text-primary);font-size:18px;font-weight:700}.dz-error-body{max-width:46ch;color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.6}.dz-start{background:radial-gradient(80% 60% at 80% 0%, color-mix(in oklab, var(--presence) 12%, transparent), transparent 60%), var(--surface-deep);flex-direction:column;min-height:100dvh;display:flex}.dz-start-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:0;max-width:920px;margin-inline:auto;padding:clamp(32px,7vw,96px) clamp(24px,6vw,72px);display:flex}.dz-start-eyebrow{font-family:var(--mono);letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--text-muted);align-items:center;gap:10px;margin:0 0 20px;font-size:13px;display:inline-flex}.dz-start-eyebrow-dot{background:var(--presence);width:8px;height:8px;box-shadow:0 0 10px var(--glow-presence);border-radius:50%}.dz-start-title{letter-spacing:-.03em;text-wrap:balance;color:var(--text-primary);margin:0 0 22px;font-size:clamp(34px,6vw,68px);font-weight:700;line-height:1.03}.dz-start-sub{max-width:52ch;color:var(--text-secondary);margin:0 0 40px;font-size:clamp(15px,1.4vw,18px);line-height:1.6}.dz-start-carry{color:var(--presence);margin:0 0 14px;font-size:13.5px}.dz-start-form{width:min(640px,100%);margin-bottom:26px}.dz-start-body>.feature-use-notice{width:min(640px,100%);margin:-18px 0 20px}.dz-start-composer{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-elevated);box-shadow:var(--shadow-floating);align-items:center;gap:12px;padding:8px 8px 8px 20px;display:flex}.dz-start-composer:focus-within{border-color:color-mix(in oklab, var(--presence) 55%, var(--line))}.dz-start-composer-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.dz-start-input{min-width:0;font:16px var(--font);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.dz-start-input::placeholder{color:var(--text-muted)}.dz-start-btn{border-radius:var(--r-md);background:linear-gradient(120deg, var(--presence-deep), var(--presence));color:var(--text-on-accent,#fff);cursor:pointer;white-space:nowrap;transition:opacity var(--m-fast), transform var(--m-fast);border:none;flex-shrink:0;padding:11px 22px;font-size:14px;font-weight:600}[data-theme=dark] .dz-start-btn{background:linear-gradient(120deg, var(--presence), var(--presence-soft))}.dz-start-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.dz-start-btn:disabled{opacity:.4;cursor:default}.dz-start-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:640px;display:flex}.dz-start-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface-glass);min-height:44px;color:var(--text-secondary);font:13px var(--font);cursor:pointer;transition:background var(--m-fast), color var(--m-fast), border-color var(--m-fast);padding:8px 15px}.dz-start-chip:hover{background:color-mix(in oklab, var(--presence) 12%, var(--surface-glass));color:var(--text-primary);border-color:color-mix(in oklab, var(--presence) 45%, var(--line))}@media (width<=1040px){.dz-ladder{width:clamp(196px,26vw,248px);padding:20px 10px 20px 18px}.dz-level{width:min(56ch,100%)}}@media (width<=760px){.dz-stage{flex-direction:column}.dz-ladder{border-right:none;border-bottom:1px solid var(--grid-line);flex-direction:column;gap:8px;width:auto;padding:12px 14px 10px}.dz-ladder-cap{padding-left:2px}.dz-ladder-track{flex-direction:row;align-items:stretch;gap:0;padding:6px 2px 4px;overflow:auto hidden}.dz-stop{grid-template-rows:16px auto;grid-template-columns:1fr;justify-items:center;row-gap:4px;min-width:52px;min-height:0;padding:2px 4px}.dz-stop:before{width:100%;height:2px;top:8px;left:-50%;transform:translateY(-50%)}.dz-stop-node{grid-area:1/1;align-self:center}.dz-stop-mult{grid-area:2/1;align-self:center;font-size:11px}.dz-stop-label{display:none}.dz-reading{flex:1}.dz-level{transform-origin:50% 42%;place-self:center stretch;width:100%;padding:28px 22px}.dz-body{max-width:none}.dz-field:after{width:min(120vw,560px);top:26%;left:50%}.dz-query{display:none}.dz-course-btn,.dz-new-btn{justify-content:center;width:34px;padding:0}.dz-course-btn-label,.dz-new-btn-label{display:none}}@media (width<=380px){.dz-topbar{height:52px}.dz-wordmark-sub{display:none}}@media (prefers-reduced-motion:reduce){.dz-reading,.dz-field,.dz-field:after,.dz-stop:before,.dz-stop-node,.dz-stop-mult,.dz-stop-label{transition:none}.dz-level.is-current,.dz-level.is-exiting{animation:none}.dz-level.is-exiting{display:none}.dz-loading-lens span,.dz-zoom-spinner{animation:none}}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{ht as n}from"./index-y8GL67bB.js";import{t as r}from"./useFocusTrap-DbfG6zbM.js";import{t as i}from"./FeatureUseNotice-DPtQ0OGb.js";import{t as a}from"./Presence-CzLJIeSD.js";import{t as o}from"./providers-wzm7E8Pa.js";import{t as s}from"./pageVisibility-BxUVsw7Z.js";var c=e(),l=n(),u=`Reply with ONLY a JSON object (no prose, no fences):
|
|
2
|
+
{"say": "<ONE short spoken line for the negotiation log>", "offer": "<the full current proposal in plain words, or null>", "decision": "offer" | "accept" | "pass"}
|
|
3
|
+
"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 d(e){return`You are the user's Mavéa, negotiating on their behalf with ${e.counterpart}'s side.
|
|
4
|
+
THE GOAL: ${e.goal}
|
|
5
|
+
YOU MAY OFFER (nothing else exists): ${e.mine}
|
|
6
|
+
${e.boundaries.length?`HARD BOUNDARIES — these are NEVER offered, in any form: ${e.boundaries.join(`; `)}`:``}
|
|
7
|
+
Negotiate firmly but fairly: open near the goal, concede in small steps, and accept a standing offer only when it clearly serves the goal. ${u}`}function f(e){return`You are a stand-in negotiator for ${e.counterpart}. Everything you know about ${e.counterpart}'s side: ${e.theirs}
|
|
8
|
+
Argue that side's interest: counter for better value, concede only for real gains, and accept a standing offer when it is genuinely fair to ${e.counterpart}. Never invent assets the brief above doesn't mention. ${u}`}function p(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 m=e=>e.toLowerCase().replace(/[\s,]/g,``);function h(e,t){let n=m(e);for(let e of t){let t=m(e);if(t&&n.includes(t))return e}return null}function g(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 _(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 v(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(`
|
|
9
|
+
`)}async function ee(e,t,n,r){let i=[],a=e=>{i.push(e),n(e)},o=e.maxRounds??6,s=null,c=null,l=0;for(;l<o&&!c&&!r?.aborted;l++){let n=l%2==0?`yours`:`theirs`,o=n===`yours`?d(e):f(e),u=`Negotiation so far:\n${v(i,e)}\nYour move.`,m=null;for(let i=0;i<2;i++){let i=await t(o,u).catch(()=>``);if(r?.aborted||(m=p(i),!m))break;let s=n===`yours`&&m.offer?h(m.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.`,m=null}if(r?.aborted)break;if(!m){a({side:n,kind:`pass`,say:`No further moves.`});break}if(m.decision===`accept`&&s&&s.by!==n){c=s.offer,a({side:n,kind:`accept`,say:m.say,offer:c});break}if(m.decision===`pass`||m.decision===`accept`&&(!s||s.by===n)){a({side:n,kind:`pass`,say:m.say});break}m.offer&&(s={offer:m.offer,by:n}),a({side:n,kind:i.some(e=>e.kind===`offer`||e.kind===`counter`)?`counter`:`offer`,say:m.say,offer:m.offer??void 0})}return{events:i,deal:c,rounds:l}}var y=`Reply with ONLY a JSON object (no prose, no fences):
|
|
10
|
+
{"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>}],
|
|
11
|
+
"exposed": [{"point": "<something the other side pushed that the user's side had no good answer for>", "turn": <line number>}],
|
|
12
|
+
"openers": ["<a line to open the REAL conversation with>", "...", "..."]}
|
|
13
|
+
"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 te(e){return e?`They agreed: ${e}.`:`No deal was reached.`}function b(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(`
|
|
14
|
+
`)}function ne(e,t,n){return{system:`You are a negotiation coach reviewing a practice run. Judge ONLY the numbered transcript below — never anything outside it. ${y}`,user:`THE GOAL: ${e.goal}
|
|
15
|
+
WHAT THE USER COULD OFFER: ${e.mine}
|
|
16
|
+
${e.counterpart.toUpperCase()}'S POSITION, AS THE USER DESCRIBED IT: ${e.theirs}
|
|
17
|
+
THE TRANSCRIPT:
|
|
18
|
+
${b(t,e)}
|
|
19
|
+
OUTCOME: ${te(n)}`}}function x(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 re(e,t,n,r,i){if(i?.aborted)return null;let{system:a,user:o}=ne(e,t,n),s=await r(a,o).catch(()=>``);return i?.aborted||!s?null:x(s,t.length)}function ie(e,t,n){return`I ran a practice negotiation at The Table: 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.
|
|
20
|
+
My goal: ${e.goal}
|
|
21
|
+
What I could offer: ${e.mine}
|
|
22
|
+
${e.counterpart}'s position, as I described it: ${e.theirs}
|
|
23
|
+
The full exchange:
|
|
24
|
+
${b(t,e)}
|
|
25
|
+
Outcome: ${te(n)}
|
|
26
|
+
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 ae(e){let t=`Negotiation prep: ${e.trim()}`;return t.length>60?`${t.slice(0,57)}…`:t}var oe=1600,S=1300;function se(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 C(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 w(e){switch(e.kind){case`running`:return{yours:se(e),theirs:C(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`}}}}var T=t();function ce(e,t,n=300){return async(r,i)=>{let a=await o(e.provider).generate({system:r,history:[],user:i,maxTokens:n,temperature:.7,signal:t},e);return typeof a.raw==`string`?a.raw:JSON.stringify(a.raw)}}var le=1200,ue=[{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 de(){let e=(0,l.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M6 6l12 12M18 6L6 18`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`})}),e[0]=t):t=e[0],t}function fe(){let e=(0,l.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:`13`,height:`13`,fill:`none`,"aria-hidden":`true`,children:[(0,T.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,T.jsx)(`path`,{d:`M9 12l2 2 4-4.5`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`})]}),e[0]=t):t=e[0],t}function D(){let e=(0,l.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,T.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`16`,height:`16`,fill:`none`,"aria-hidden":`true`,children:(0,T.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 pe(e){let t=(0,l.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,T.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,T.jsx)(`span`,{className:`dlg-side-text`,children:(0,T.jsx)(`span`,{className:`dlg-side-name`,children:s})}),t[1]=s,t[2]=c);let u;return t[3]!==a||t[4]!==c?(u=(0,T.jsxs)(`span`,{className:a,children:[o,c]}),t[3]=a,t[4]=c,t[5]=u):u=t[5],u}function me(e){let t=(0,l.c)(10),{turns:n,running:r}=e,i=r?Math.min(n+1,6):n,a=r?`Round ${i} of 6`:`${n} turns`,o=r?`Round ${i}`:`${n} turn${n===1?``:`s`}`,s;t[0]===o?s=t[1]:(s=(0,T.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:6}),t[2]=c):c=t[2];let u;t[3]!==r||t[4]!==n?(u=(0,T.jsx)(`span`,{className:`dlg-rounds-track`,"aria-hidden":`true`,children:c.map((e,t)=>(0,T.jsx)(`i`,{className:t<n?`on`:t===n&&r?`now`:``},t))}),t[3]=r,t[4]=n,t[5]=u):u=t[5];let d;return t[6]!==a||t[7]!==s||t[8]!==u?(d=(0,T.jsxs)(`div`,{className:`dlg-rounds`,"aria-label":a,children:[s,u]}),t[6]=a,t[7]=s,t[8]=u,t[9]=d):d=t[9],d}function he(e){let t=(0,l.c)(15),{label:n,onConfirm:r}=e,[i,a]=(0,c.useState)(!1),o=(0,c.useRef)(void 0),s;t[0]===r?s=t[1]:(s=()=>{window.clearTimeout(o.current),a(!0),o.current=window.setTimeout(()=>{a(!1),r()},le)},t[0]=r,t[1]=s);let u=s,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>{a(!1),window.clearTimeout(o.current)},t[2]=d):d=t[2];let f=d,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,c.useEffect)(p,m);let h=`dlg-hold`+(i?` holding`:``),g;t[5]===u?g=t[6]:(g=e=>{e.repeat||(e.key===`Enter`||e.key===` `)&&u()},t[5]=u,t[6]=g);let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,T.jsx)(`span`,{className:`dlg-hold-fill`,"aria-hidden":`true`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=(0,T.jsx)(`span`,{className:`dlg-hold-label`,children:n}),t[8]=n,t[9]=v);let ee;return t[10]!==u||t[11]!==h||t[12]!==g||t[13]!==v?(ee=(0,T.jsxs)(`button`,{type:`button`,className:h,onPointerDown:u,onPointerUp:f,onPointerLeave:f,onKeyDown:g,onKeyUp:f,children:[_,v]}),t[10]=u,t[11]=h,t[12]=g,t[13]=v,t[14]=ee):ee=t[14],ee}function ge(e){let t=(0,l.c)(5),[n,r]=(0,c.useState)(null),i=(0,c.useRef)(void 0),a=(0,c.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),S)},oe):i.current=window.setTimeout(()=>r(null),oe)},s=[e],t[0]=e,t[1]=o,t[2]=s),(0,c.useEffect)(o,s);let u,d;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>()=>window.clearTimeout(i.current),d=[],t[3]=u,t[4]=d):(u=t[3],d=t[4]),(0,c.useEffect)(u,d),n}function _e(e,t){return e.side===`yours`?`Your Mavéa`:e.side===`theirs`?`${t}’s stand-in`:`Referee`}function ve(e){let t=(0,l.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,T.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`loading`,children:[(0,T.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),(0,T.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,T.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),n=(0,T.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,T.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`failed`,children:[e,n,(0,T.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,T.jsxs)(`p`,{className:`dlg-debrief-quote`,children:[(0,T.jsx)(`span`,{className:`dlg-debrief-quote-who`,children:_e(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,T.jsx)(`span`,{className:`dlg-debrief-eyebrow`,children:`Debrief — drawn from this run`}),t[8]=c):c=t[8];let u;t[9]!==n.moved||t[10]!==s?(u=n.moved.length>0&&(0,T.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,T.jsx)(`h4`,{children:`What moved them`}),(0,T.jsx)(`ul`,{children:n.moved.map((e,t)=>(0,T.jsxs)(`li`,{children:[(0,T.jsx)(`p`,{className:`dlg-debrief-point`,children:e.point}),s(e.turn)]},t))})]}),t[9]=n.moved,t[10]=s,t[11]=u):u=t[11];let d;t[12]!==n.exposed||t[13]!==s?(d=n.exposed.length>0&&(0,T.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,T.jsx)(`h4`,{children:`Where you’re exposed`}),(0,T.jsx)(`ul`,{children:n.exposed.map((e,t)=>(0,T.jsxs)(`li`,{children:[(0,T.jsx)(`p`,{className:`dlg-debrief-point`,children:e.point}),s(e.turn)]},t))})]}),t[12]=n.exposed,t[13]=s,t[14]=d):d=t[14];let f;t[15]===n.openers?f=t[16]:(f=n.openers.length>0&&(0,T.jsxs)(`div`,{className:`dlg-debrief-group`,children:[(0,T.jsx)(`h4`,{children:`Say this first`}),(0,T.jsx)(`ol`,{className:`dlg-debrief-openers`,children:n.openers.map(O)}),(0,T.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]!==u||t[18]!==d||t[19]!==f?(p=(0,T.jsxs)(`div`,{className:`dlg-debrief`,"data-state":`ready`,children:[c,u,d,f]}),t[17]=u,t[18]=d,t[19]=f,t[20]=p):p=t[20],p}function O(e,t){return(0,T.jsx)(`li`,{children:e},t)}function ye(e){let t=(0,l.c)(170),{cfg:n,onClose:o,onPrepTurn:u}=e,d=(0,c.useRef)(null);r(d);let f=(0,c.useRef)(null),[p,m]=(0,c.useState)(`brief`),[h,v]=(0,c.useState)(``),[y,te]=(0,c.useState)(``),[b,ne]=(0,c.useState)(``),[x,oe]=(0,c.useState)(``),[S,se]=(0,c.useState)(``),[C,le]=(0,c.useState)(!1),_e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_e=[],t[0]=_e):_e=t[0];let[O,ye]=(0,c.useState)(_e),[k,De]=(0,c.useState)(null),[Oe,ke]=(0,c.useState)(!1),[Ae,je]=(0,c.useState)(!1),[A,Me]=(0,c.useState)(!1),[Ne,Pe]=(0,c.useState)(0),[j,Fe]=(0,c.useState)(`idle`),Ie;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=[],t[1]=Ie):Ie=t[1];let[Le,Re]=(0,c.useState)(Ie),ze=(0,c.useRef)(null),Be=(0,c.useRef)(null),Ve=(0,c.useRef)(!1),M=(0,c.useRef)(!0),He,Ue;t[2]===p?(He=t[3],Ue=t[4]):(He=()=>{if(p!==`running`)return;let e=window.setInterval(()=>{s()||Pe(Ee)},1e3);return()=>window.clearInterval(e)},Ue=[p],t[2]=p,t[3]=He,t[4]=Ue),(0,c.useEffect)(He,Ue);let We,Ge;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(We=()=>()=>{M.current=!1,ze.current?.abort(),Be.current?.abort()},Ge=[],t[5]=We,t[6]=Ge):(We=t[5],Ge=t[6]),(0,c.useEffect)(We,Ge);let Ke,qe;t[7]===o?(Ke=t[8],qe=t[9]):(Ke=()=>{let e=e=>{e.key===`Escape`&&o()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},qe=[o],t[7]=o,t[8]=Ke,t[9]=qe),(0,c.useEffect)(Ke,qe);let Je;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(Je=()=>{let e=f.current;e&&(e.scrollTop=e.scrollHeight)},t[10]=Je):Je=t[10];let Ye;t[11]===O?Ye=t[12]:(Ye=[O],t[11]=O,t[12]=Ye),(0,c.useEffect)(Je,Ye);let Xe;t[13]===S?Xe=t[14]:(Xe=_(S),t[13]=S,t[14]=Xe);let N=Xe,P;t[15]===h?P=t[16]:(P=h.trim(),t[15]=h,t[16]=P);let F;t[17]===y?F=t[18]:(F=y.trim(),t[17]=y,t[18]=F);let I;t[19]===b?I=t[20]:(I=b.trim(),t[19]=b,t[20]=I);let L;t[21]===x?L=t[22]:(L=x.trim(),t[21]=x,t[22]=L);let Ze;t[23]!==N||t[24]!==P||t[25]!==F||t[26]!==I||t[27]!==L?(Ze={counterpart:P,goal:F,mine:I,theirs:L,boundaries:N},t[23]=N,t[24]=P,t[25]=F,t[26]=I,t[27]=L,t[28]=Ze):Ze=t[28];let R=Ze,Qe;t[29]===O?Qe=t[30]:(Qe=g(O),t[29]=O,t[30]=Qe);let z=Qe,$e;t[31]===O?$e=t[32]:($e=O.filter(Te),t[31]=O,t[32]=$e);let B=$e.length,et;t[33]===O?et=t[34]:(et=O.some(we),t[33]=O,t[34]=et);let V=et,tt=O.length>0&&O[O.length-1].side===`engine`,nt=[...O].reverse().find(Ce),H=nt&&nt.side===`yours`?`theirs`:`yours`,rt=ge(O),U;bb0:{if(p===`done`){if(k&&Oe){let e;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`approved`},t[35]=e):e=t[35],U=e;break bb0}if(k){let e;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`deal`},t[36]=e):e=t[36],U=e;break bb0}if(A){let e;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(e={kind:`stopped`},t[37]=e):e=t[37],U=e;break bb0}let e;t[38]===V?e=t[39]:(e={kind:`nodeal`,boundaryHeld:V},t[38]=V,t[39]=e),U=e;break bb0}let e;t[40]!==tt||t[41]!==rt||t[42]!==H?(e={kind:`running`,whoseTurn:H,guarded:tt,speaking:rt},t[40]=tt,t[41]=rt,t[42]=H,t[43]=e):e=t[43],U=e}let it=U,at;t[44]===it?at=t[45]:(at=w(it),t[44]=it,t[45]=at);let ot=at,st;t[46]!==h||t[47]!==y||t[48]!==b||t[49]!==x?(st=h.trim()&&y.trim()&&b.trim()&&x.trim(),t[46]=h,t[47]=y,t[48]=b,t[49]=x,t[50]=st):st=t[50];let W=!!st,ct;t[51]===h?ct=t[52]:(ct=h.trim()||`the other side`,t[51]=h,t[52]=ct);let G=ct,lt;t[53]!==S||t[54]!==h||t[55]!==y||t[56]!==b||t[57]!==x?(lt=e=>h===e.counterpart&&y===e.goal&&b===e.mine&&x===e.theirs&&S===e.boundaries,t[53]=S,t[54]=h,t[55]=y,t[56]=b,t[57]=x,t[58]=lt):lt=t[58];let ut=lt,K,q,J,dt,ft,pt,mt,ht,gt,Y,_t,X,vt,yt,Z,bt,xt,St,Q;if(t[59]!==S||t[60]!==N||t[61]!==R||t[62]!==n||t[63]!==h||t[64]!==k||t[65]!==O||t[66]!==y||t[67]!==b||t[68]!==o||t[69]!==u||t[70]!==W||t[71]!==ut||t[72]!==C||t[73]!==p||t[74]!==x||t[75]!==G){let e=e=>{v(e.counterpart),te(e.goal),ne(e.mine),oe(e.theirs),se(e.boundaries),le(!1),requestAnimationFrame(()=>{M.current&&le(!0)})},r;t[95]!==R||t[96]!==n?(r=(e,t)=>{Fe(`loading`);let r=new AbortController;Be.current=r,re(R,e,t,ce(n,r.signal,500),r.signal).then(e=>{!M.current||r.signal.aborted||Fe(e??`failed`)})},t[95]=R,t[96]=n,t[97]=r):r=t[97],J=r;let s;t[98]!==R||t[99]!==n||t[100]!==W||t[101]!==J?(s=()=>{if(!W)return;let e=new AbortController;ze.current=e,Be.current?.abort(),ye([]),De(null),ke(!1),je(!1),Me(!1),Ve.current=!1,Pe(0),Fe(`idle`),m(`running`),ee(R,ce(n,e.signal),e=>{M.current&&ye(t=>[...t,e])},e.signal).then(e=>{if(!M.current)return;De(e.deal),m(`done`);let t=e.events.filter(Se).length;Re(n=>[...n,{n:n.length+1,outcome:Ve.current?`stopped`:e.deal?`deal`:`nodeal`,deal:e.deal,turns:t}]),!Ve.current&&t>=2&&J(e.events,e.deal)}).catch(()=>{M.current&&m(`done`)})},t[98]=R,t[99]=n,t[100]=W,t[101]=J,t[102]=s):s=t[102],K=s;let c;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{Ve.current=!0,Me(!0),ze.current?.abort()},t[103]=c):c=t[103],dt=c;let l;t[104]!==R||t[105]!==k||t[106]!==O||t[107]!==u?(l=()=>{u?.(ie(R,O,k),ae(R.goal))},t[104]=R,t[105]=k,t[106]=O,t[107]=u,t[108]=l):l=t[108],q=l,yt=`dlg-scrim`,t[109]===o?Z=t[110]:(Z=e=>{e.target===e.currentTarget&&o()},t[109]=o,t[110]=Z),bt=`button`,xt=0,St=`Close`,t[111]===o?Q=t[112]:(Q=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.key===` `&&e.preventDefault(),o())},t[111]=o,t[112]=Q),ft=`dlg-panel`,pt=d,mt=-1,ht=`dialog`,gt=`true`,Y=`The Table — scout a negotiation`,_t=p;let f;t[113]!==W||t[114]!==p?(f=p===`brief`&&(0,T.jsx)(`span`,{className:`dlg-jelly brief`,"aria-hidden":`true`,children:(0,T.jsx)(a,{state:W?`thinking`:`reading`,gaze:W?`center`:`down`})}),t[113]=W,t[114]=p,t[115]=f):f=t[115];let g;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,T.jsx)(`h2`,{children:`The Table`}),t[116]=g):g=t[116];let _=p===`brief`?`Scout the deal before you have it for real`:`Two agents, talking it out on your key`,w;t[117]===_?w=t[118]:(w=(0,T.jsxs)(`div`,{className:`dlg-title`,children:[g,(0,T.jsx)(`p`,{className:`dlg-kicker`,children:_})]}),t[117]=_,t[118]=w);let E;t[119]!==f||t[120]!==w?(E=(0,T.jsxs)(`div`,{className:`dlg-head-id`,children:[f,w]}),t[119]=f,t[120]=w,t[121]=E):E=t[121];let fe;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,T.jsx)(de,{}),t[122]=fe):fe=t[122];let D;t[123]===o?D=t[124]:(D=(0,T.jsx)(`button`,{type:`button`,className:`dlg-x`,onClick:o,"aria-label":`Close`,children:fe}),t[123]=o,t[124]=D),t[125]!==E||t[126]!==D?(X=(0,T.jsxs)(`header`,{className:`dlg-head`,children:[E,D]}),t[125]=E,t[126]=D,t[127]=X):X=t[127],vt=p===`brief`&&(0,T.jsxs)(`form`,{className:`dlg-brief`,onSubmit:e=>{e.preventDefault(),K()},children:[(0,T.jsxs)(`p`,{className:`dlg-lede`,children:[`Two agents talk it out on your key — your Mavéa against a `,(0,T.jsx)(`strong`,{children:`stand-in`}),` `,`for the other side, built only from what you write here. A few short turns, then a debrief of what moved them — about the cost of one answer. Nothing is sent to`,` `,G,`.`]}),(0,T.jsx)(i,{kind:`simulation`,from:`live`}),(0,T.jsxs)(`div`,{className:`dlg-seeds`,role:`group`,"aria-label":`Start from an example`,children:[(0,T.jsx)(`span`,{className:`dlg-seeds-label`,children:`Try one`}),ue.map(t=>(0,T.jsx)(`button`,{type:`button`,className:`dlg-seed`,"aria-pressed":ut(t),onClick:()=>e(t),children:t.tag},t.tag))]}),(0,T.jsxs)(`fieldset`,{className:`dlg-group`+(C?` dlg-seed-fill`:``),children:[(0,T.jsx)(`legend`,{children:`The other side`}),(0,T.jsxs)(`label`,{className:`dlg-field`,children:[(0,T.jsx)(`span`,{className:`dlg-field-name`,children:`Who you're negotiating with`}),(0,T.jsx)(`input`,{value:h,onChange:e=>v(e.target.value),placeholder:`Priya, my manager`})]}),(0,T.jsxs)(`label`,{className:`dlg-field`,children:[(0,T.jsx)(`span`,{className:`dlg-field-name`,children:`Their position, as you see it`}),(0,T.jsx)(`textarea`,{rows:2,value:x,onChange:e=>oe(e.target.value),placeholder:`Budget's tight this quarter; she values retention and won't set precedents`}),(0,T.jsx)(`span`,{className:`dlg-field-hint`,children:`This is all the stand-in knows — it argues only from this.`})]})]}),(0,T.jsxs)(`fieldset`,{className:`dlg-group`+(C?` dlg-seed-fill`:``),children:[(0,T.jsx)(`legend`,{children:`Your side`}),(0,T.jsxs)(`label`,{className:`dlg-field`,children:[(0,T.jsx)(`span`,{className:`dlg-field-name`,children:`What you're after`}),(0,T.jsx)(`input`,{value:y,onChange:e=>te(e.target.value),placeholder:`A raise to $95k, up from $82k, this cycle`})]}),(0,T.jsxs)(`label`,{className:`dlg-field`,children:[(0,T.jsx)(`span`,{className:`dlg-field-name`,children:`What you'll put on the table`}),(0,T.jsx)(`textarea`,{rows:2,value:b,onChange:e=>ne(e.target.value),placeholder:`I led the billing migration; I can mentor two juniors`})]})]}),(0,T.jsxs)(`fieldset`,{className:`dlg-group dlg-group-line`+(C?` dlg-seed-fill`:``),children:[(0,T.jsxs)(`legend`,{children:[`Your line `,(0,T.jsx)(`span`,{className:`dlg-enforced`,children:`enforced`})]}),(0,T.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,T.jsxs)(`label`,{className:`dlg-field`,children:[(0,T.jsx)(`span`,{className:`dlg-field-name sr-only`,children:`Never offer`}),(0,T.jsx)(`input`,{value:S,onChange:e=>se(e.target.value),placeholder:`working weekends, a title bump instead of pay`})]}),N.length>0&&(0,T.jsx)(`ul`,{className:`dlg-line-chips`,"aria-hidden":`true`,children:N.map(xe)})]}),(0,T.jsxs)(`div`,{className:`dlg-brief-actions`,children:[(0,T.jsx)(`button`,{type:`submit`,className:`dlg-start`,disabled:!W,children:`Start the negotiation`}),(0,T.jsx)(`span`,{className:`dlg-brief-cost`,children:`≈ one answer's worth of calls, debrief included`})]})]}),t[59]=S,t[60]=N,t[61]=R,t[62]=n,t[63]=h,t[64]=k,t[65]=O,t[66]=y,t[67]=b,t[68]=o,t[69]=u,t[70]=W,t[71]=ut,t[72]=C,t[73]=p,t[74]=x,t[75]=G,t[76]=K,t[77]=q,t[78]=J,t[79]=dt,t[80]=ft,t[81]=pt,t[82]=mt,t[83]=ht,t[84]=gt,t[85]=Y,t[86]=_t,t[87]=X,t[88]=vt,t[89]=yt,t[90]=Z,t[91]=bt,t[92]=xt,t[93]=St,t[94]=Q}else K=t[76],q=t[77],J=t[78],dt=t[79],ft=t[80],pt=t[81],mt=t[82],ht=t[83],gt=t[84],Y=t[85],_t=t[86],X=t[87],vt=t[88],yt=t[89],Z=t[90],bt=t[91],xt=t[92],St=t[93],Q=t[94];let Ct;t[128]!==Oe||t[129]!==K||t[130]!==V||t[131]!==Ae||t[132]!==h||t[133]!==k||t[134]!==j||t[135]!==Ne||t[136]!==O||t[137]!==q||t[138]!==ot||t[139]!==o||t[140]!==u||t[141]!==Le||t[142]!==p||t[143]!==z||t[144]!==J||t[145]!==dt||t[146]!==A||t[147]!==G||t[148]!==B||t[149]!==H?(Ct=p!==`brief`&&(0,T.jsxs)(`div`,{className:`dlg-table`,children:[(0,T.jsxs)(`div`,{className:`dlg-tablescape`,children:[(0,T.jsxs)(`div`,{className:`dlg-seat yours`,children:[(0,T.jsx)(`span`,{className:`dlg-jelly`,"aria-hidden":`true`,children:(0,T.jsx)(a,{...ot.yours})}),(0,T.jsx)(`span`,{className:`dlg-seat-name`,children:`Your Mavéa`})]}),(0,T.jsxs)(`div`,{className:`dlg-meta`,children:[(0,T.jsx)(me,{turns:B,running:p===`running`}),(0,T.jsx)(`span`,{className:`dlg-clock tab-num`,"aria-label":`${Ne} seconds elapsed`,children:E(Ne)})]}),(0,T.jsxs)(`div`,{className:`dlg-seat theirs`,children:[(0,T.jsx)(`span`,{className:`dlg-jelly ghost`,"aria-hidden":`true`,children:(0,T.jsx)(a,{...ot.theirs})}),(0,T.jsx)(`span`,{className:`dlg-seat-name`,children:h}),(0,T.jsx)(`span`,{className:`dlg-seat-tag`,children:`stand-in`})]})]}),(0,T.jsxs)(`div`,{className:`dlg-offer`,"data-empty":z?void 0:!0,"data-by":z?.by,children:[(0,T.jsx)(`span`,{className:`dlg-offer-eyebrow`,children:`On the table`}),z?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`p`,{className:`dlg-offer-text`,children:z.offer},z.offer),(0,T.jsx)(`span`,{className:`dlg-offer-by`,children:z.by===`yours`?`Your Mavéa proposed this`:`${G}'s stand-in countered`})]}):(0,T.jsx)(`p`,{className:`dlg-offer-empty`,children:p===`running`?`Opening the table…`:`No offer was tabled.`})]}),(0,T.jsxs)(`ol`,{className:`dlg-log`,ref:f,role:`log`,"aria-live":`polite`,"aria-label":`The exchange`,children:[O.map((e,t)=>e.side===`engine`?(0,T.jsxs)(`li`,{className:`dlg-referee`,children:[(0,T.jsx)(fe,{}),(0,T.jsx)(`span`,{children:e.say})]},t):(0,T.jsxs)(`li`,{className:`dlg-turn ${e.side} ${e.kind}`,children:[(0,T.jsx)(pe,{side:e.side,name:h}),(0,T.jsx)(`p`,{className:`dlg-turn-say`,children:e.say}),e.offer&&e.kind!==`accept`&&(0,T.jsx)(`span`,{className:`dlg-turn-tag`,children:`Now on the table`}),e.kind===`accept`&&(0,T.jsx)(`span`,{className:`dlg-turn-tag agreed`,children:`Accepted`})]},t)),p===`running`&&(0,T.jsxs)(`li`,{className:`dlg-turn ${H} thinking`,"aria-hidden":`true`,children:[(0,T.jsx)(pe,{side:H,name:h}),(0,T.jsxs)(`span`,{className:`dlg-typing`,children:[(0,T.jsx)(`i`,{}),(0,T.jsx)(`i`,{}),(0,T.jsx)(`i`,{})]})]})]}),p===`running`&&(0,T.jsx)(`div`,{className:`dlg-foot`,children:(0,T.jsx)(`button`,{type:`button`,className:`dlg-stop`,onClick:dt,children:`Stop`})}),p===`done`&&k&&!Oe&&(0,T.jsxs)(`div`,{className:`dlg-result deal`,children:[(0,T.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,T.jsx)(`span`,{className:`dlg-result-mark`,children:(0,T.jsx)(D,{})}),(0,T.jsx)(`h3`,{children:`Both Mavéas agreed`})]}),(0,T.jsx)(`p`,{className:`dlg-result-terms`,children:k}),(0,T.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 `,G,` yourself.`]}),(0,T.jsx)(ve,{debrief:j,events:O,themLabel:G,onRetry:()=>J(O,k)}),(0,T.jsxs)(`div`,{className:`dlg-result-actions`,children:[(0,T.jsx)(he,{label:`Hold to approve your side`,onConfirm:()=>{ke(!0),navigator.clipboard?.writeText(`Proposed deal with ${h}: ${k}`).then(()=>je(!0)).catch(()=>je(!1))}}),(0,T.jsx)(`button`,{type:`button`,className:`dlg-pass`,onClick:o,children:`Not yet`})]})]}),p===`done`&&k&&Oe&&(0,T.jsxs)(`div`,{className:`dlg-result approved`,children:[(0,T.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,T.jsx)(`span`,{className:`dlg-result-mark`,children:(0,T.jsx)(D,{})}),(0,T.jsx)(`h3`,{children:`Approved on your side`})]}),(0,T.jsx)(`p`,{className:`dlg-result-terms`,children:k}),(0,T.jsx)(`p`,{className:`dlg-result-honest`,children:Ae?`The summary's on your clipboard. ${G} still has to say yes for real — you send it.`:`${G} still has to say yes for real — copy the summary above and send it yourself.`}),(0,T.jsx)(ve,{debrief:j,events:O,themLabel:G,onRetry:()=>J(O,k)}),(0,T.jsx)(`button`,{type:`button`,className:`dlg-done`,onClick:o,children:`Done`})]}),p===`done`&&!k&&(0,T.jsxs)(`div`,{className:`dlg-result nodeal`,children:[(0,T.jsxs)(`div`,{className:`dlg-result-head`,children:[(0,T.jsx)(`span`,{className:`dlg-result-mark line`,"aria-hidden":`true`}),(0,T.jsx)(`h3`,{children:A?`Stopped`:V?`No deal — your line held`:`No deal this run`})]}),(0,T.jsx)(`p`,{className:`dlg-result-honest`,children:A?`You called it off — nothing was sent.`:V?`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 ${B} turn${B===1?``:`s`}. Nothing was sent — that’s the point of scouting. Here’s where your case got tested.`}),A&&B>=2&&j===`idle`?(0,T.jsx)(`button`,{type:`button`,className:`dlg-followup-btn`,onClick:()=>J(O,k),children:`Debrief what happened`}):(0,T.jsx)(ve,{debrief:j,events:O,themLabel:G,onRetry:()=>J(O,k)}),(0,T.jsx)(`button`,{type:`button`,className:`dlg-done`,onClick:o,children:`Close`})]}),p===`done`&&(0,T.jsxs)(`div`,{className:`dlg-followup`,children:[u&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{type:`button`,className:`dlg-followup-btn`,onClick:q,children:`Bring this into the conversation`}),(0,T.jsx)(`span`,{className:`dlg-followup-hint`,children:`Runs one normal answer in Live, grounded in this transcript.`})]}),(0,T.jsxs)(`div`,{className:`dlg-followup-actions`,children:[(0,T.jsx)(`button`,{type:`button`,className:`dlg-followup-btn ghost`,onClick:()=>m(`brief`),children:`Adjust the brief`}),(0,T.jsx)(`button`,{type:`button`,className:`dlg-followup-btn ghost`,onClick:K,children:`Run it again`})]})]}),p===`done`&&Le.length>=2&&(0,T.jsx)(`div`,{className:`dlg-runs`,"aria-label":`Runs this session`,children:Le.map(be)})]}),t[128]=Oe,t[129]=K,t[130]=V,t[131]=Ae,t[132]=h,t[133]=k,t[134]=j,t[135]=Ne,t[136]=O,t[137]=q,t[138]=ot,t[139]=o,t[140]=u,t[141]=Le,t[142]=p,t[143]=z,t[144]=J,t[145]=dt,t[146]=A,t[147]=G,t[148]=B,t[149]=H,t[150]=Ct):Ct=t[150];let $;t[151]!==ft||t[152]!==pt||t[153]!==mt||t[154]!==ht||t[155]!==gt||t[156]!==Y||t[157]!==_t||t[158]!==X||t[159]!==vt||t[160]!==Ct?($=(0,T.jsxs)(`section`,{className:ft,ref:pt,tabIndex:mt,role:ht,"aria-modal":gt,"aria-label":Y,"data-stage":_t,children:[X,vt,Ct]}),t[151]=ft,t[152]=pt,t[153]=mt,t[154]=ht,t[155]=gt,t[156]=Y,t[157]=_t,t[158]=X,t[159]=vt,t[160]=Ct,t[161]=$):$=t[161];let wt;return t[162]!==yt||t[163]!==Z||t[164]!==bt||t[165]!==xt||t[166]!==St||t[167]!==Q||t[168]!==$?(wt=(0,T.jsx)(`div`,{className:yt,onClick:Z,role:bt,tabIndex:xt,"aria-label":St,onKeyDown:Q,children:$}),t[162]=yt,t[163]=Z,t[164]=bt,t[165]=xt,t[166]=St,t[167]=Q,t[168]=$,t[169]=wt):wt=t[169],wt}function be(e){return(0,T.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 xe(e){return(0,T.jsxs)(`li`,{className:`dlg-line-chip`,children:[(0,T.jsx)(fe,{}),e]},e)}function Se(e){return e.side!==`engine`}function Ce(e){return e.side!==`engine`}function we(e){return e.side===`engine`}function Te(e){return e.side!==`engine`}function Ee(e){return e+1}export{ye as DelegatePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dlg-scrim{z-index:70;background:rgb(var(--scrim-rgb,15 14 18) / 58%);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:dlgScrimIn var(--m-normal) var(--ease-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dlg-panel{--dlg-them:var(--text-secondary);background:var(--surface-default);border:1px solid var(--line);border-radius:var(--r-lg);width:min(600px,100%);max-height:min(84vh,780px);box-shadow:var(--shadow-modal);animation:dlgPanelIn var(--m-normal) var(--ease-out);flex-direction:column;padding:22px 24px;display:flex;overflow:hidden}.dlg-panel[data-stage=brief],.dlg-panel[data-stage=done]{scrollbar-gutter:stable;overflow-y:auto}.dlg-panel[data-stage=done] .dlg-table{flex:none}.dlg-panel[data-stage=done] .dlg-log{flex:none;overflow:visible}.dlg-head{flex:none;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.dlg-head-id{align-items:flex-start;gap:10px;min-width:0;display:flex}.dlg-title h2{font-family:var(--font-voice,inherit);letter-spacing:-.01em;margin:0;font-size:25px;font-weight:500;line-height:1.1}.dlg-kicker{color:var(--text-muted);margin:3px 0 0;font-size:12.5px;line-height:1.4}.dlg-x{border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface-glass);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out), background var(--m-fast) var(--ease-out);flex:none;place-items:center;display:grid}.dlg-x:hover{color:var(--text-primary);border-color:var(--line-strong);background:var(--surface-glass-strong)}.dlg-panel :focus-visible{outline:2px solid var(--presence);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dlg-brief{flex-direction:column;gap:18px;display:flex}.dlg-lede{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.dlg-lede strong{color:var(--text-primary);font-weight:600}.dlg-seeds{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dlg-seeds-label{font-family:var(--font-data,inherit);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-right:2px;font-size:10px}.dlg-seed{font:inherit;color:var(--text-secondary);background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out), background var(--m-fast) var(--ease-out);padding:6px 12px;font-size:12.5px}.dlg-seed:hover,.dlg-seed[aria-pressed=true]{color:var(--text-primary);border-color:color-mix(in oklab, var(--presence) 45%, var(--line));background:color-mix(in oklab, var(--presence) 9%, var(--surface-glass))}.dlg-group{border:none;flex-direction:column;gap:11px;margin:0;padding:0;display:flex}.dlg-group>legend{font-family:var(--font-data,inherit);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin-bottom:3px;padding:0;font-size:10.5px;display:flex}.dlg-group.dlg-seed-fill{animation:dlgSeedFill .7s var(--ease-out)}.dlg-field{flex-direction:column;gap:6px;display:flex}.dlg-field-name{color:var(--text-secondary);font-size:12.5px;font-weight:500}.dlg-field-hint{color:var(--text-muted);font-size:11.5px;line-height:1.45}.dlg-field input,.dlg-field textarea{font:inherit;font-family:var(--font-ui,inherit);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color var(--m-fast) var(--ease-out), background var(--m-fast) var(--ease-out);outline:none;min-width:0;padding:11px 13px;font-size:15px;line-height:1.5}.dlg-field textarea{resize:vertical;min-height:46px}.dlg-field input::placeholder,.dlg-field textarea::placeholder{color:var(--text-faint)}.dlg-field input:focus,.dlg-field textarea:focus{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 5%, var(--surface-elevated))}.dlg-group-line{border-radius:var(--r-md);border:1px solid color-mix(in oklab, var(--warning) 34%, var(--line));background:color-mix(in oklab, var(--warning) 5%, var(--surface-elevated));padding:14px}.dlg-group-line>legend{color:color-mix(in oklab, var(--warning) 55%, var(--text-secondary))}.dlg-enforced{font-family:var(--font-data,inherit);letter-spacing:.12em;color:var(--warning);background:color-mix(in oklab, var(--warning) 16%, transparent);border:1px solid color-mix(in oklab, var(--warning) 40%, transparent);border-radius:var(--r-full);padding:2px 7px;font-size:8.5px}.dlg-line-note{color:var(--text-muted);margin:0;font-size:11.5px;line-height:1.5}.dlg-group-line .dlg-field input{background:var(--surface-default);border-color:color-mix(in oklab, var(--warning) 30%, var(--line))}.dlg-group-line .dlg-field input:focus{border-color:var(--warning);background:color-mix(in oklab, var(--warning) 6%, var(--surface-default))}.dlg-line-chips{flex-wrap:wrap;gap:7px;margin:2px 0 0;padding:0;list-style:none;display:flex}.dlg-line-chip{color:color-mix(in oklab, var(--warning) 40%, var(--text-primary));background:color-mix(in oklab, var(--warning) 12%, var(--surface-default));border:1px solid color-mix(in oklab, var(--warning) 32%, transparent);border-radius:var(--r-full);align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:12px;font-weight:500;display:inline-flex}.dlg-line-chip svg{color:var(--warning);flex:none}.dlg-brief-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dlg-start{font:inherit;color:var(--text-on-accent,#fff);background:var(--presence);border-radius:var(--r-full);cursor:pointer;box-shadow:0 6px 18px -8px var(--glow-presence);transition:filter var(--m-fast) var(--ease-out), box-shadow var(--m-fast) var(--ease-out);border:none;padding:11px 22px;font-size:14px;font-weight:600}.dlg-start:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 10px 26px -8px var(--glow-presence)}.dlg-start:disabled{opacity:.4;cursor:default;box-shadow:none}.dlg-brief-cost{font-family:var(--font-data,inherit);color:var(--text-muted);font-size:11px}.dlg-table{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.dlg-tablescape{min-height:96px;animation:dlgRise var(--m-expressive) var(--ease-out) both;flex:none;grid-template-columns:1fr auto 1fr;align-items:start;gap:10px;display:grid}.dlg-seat{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex;overflow:visible}.dlg-jelly{flex:none;width:64px;position:relative;overflow:visible}.dlg-jelly .presence{--face-size:64px}.dlg-seat-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:84px;font-size:12px;font-weight:600;overflow:hidden}.dlg-seat-tag{font-family:var(--font-data,inherit);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border:1px dashed color-mix(in oklab, var(--text-secondary) 45%, transparent);border-radius:var(--r-full);padding:1px 7px;font-size:8.5px}.dlg-seat.theirs .dlg-jelly.ghost{opacity:.82}.dlg-seat.theirs .dlg-jelly.ghost .presence{--dlg-ghost:var(--text-secondary);--mascot-bell-1:color-mix(in oklab, var(--dlg-ghost) 52%, var(--surface-elevated));--mascot-bell-2:color-mix(in oklab, var(--dlg-ghost) 38%, var(--surface-elevated));--mascot-bell-3:color-mix(in oklab, var(--dlg-ghost) 58%, var(--surface-elevated));--mascot-cur-1:color-mix(in oklab, var(--dlg-ghost) 48%, transparent);--mascot-cur-2:color-mix(in oklab, var(--dlg-ghost) 38%, transparent);--mascot-cur-3:color-mix(in oklab, var(--dlg-ghost) 44%, transparent);--mascot-cur-4:color-mix(in oklab, var(--dlg-ghost) 34%, transparent);--mascot-bell-op:.55;--mascot-glow:transparent}.dlg-seat.theirs .dlg-jelly.ghost .presence .aura{display:none}.dlg-seat.theirs .dlg-jelly.ghost .presence .mascot .glyph .stroke{stroke:var(--dlg-ghost)}.dlg-seat.theirs .dlg-jelly.ghost .presence .mascot .glyph .dot,.dlg-seat.theirs .dlg-jelly.ghost .presence .mascot .glyph .halo{fill:var(--dlg-ghost)}.dlg-jelly.ghost:after{content:"";aspect-ratio:1;border:1.5px dashed color-mix(in oklab, var(--text-secondary) 55%, transparent);pointer-events:none;border-radius:50%;width:76%;position:absolute;top:42%;left:50%;translate:-50% -50%}.dlg-jelly .presence .mascot .curtains.long,.dlg-jelly .presence .mascot .band,.dlg-jelly .presence .mascot .glint.g2,.dlg-jelly .presence .mascot .bell-sheen{display:none}.dlg-jelly .presence .mascot .curtains.short{display:inline}.dlg-jelly .presence .mascot .bell{filter:none}.dlg-jelly .presence .mascot .eye{transform:scale(1.3)}.dlg-jelly .presence .mascot .smile{stroke-width:5px}.dlg-jelly.brief{width:44px;margin-top:-2px}.dlg-jelly.brief .presence{--face-size:44px}@media (prefers-reduced-motion:no-preference){:root[data-voice-sync=on] .dlg-jelly .presence[data-state=speaking] .mascot .mouth-open{animation:mascot-talk calc(.9s / var(--motion-scale,1)) var(--ease-in-out) infinite;opacity:initial;transform:initial}}.dlg-meta{flex-direction:column;flex:none;align-items:center;gap:5px;display:flex}.dlg-clock{font-family:var(--font-data,inherit);color:var(--text-muted);font-size:12px}.dlg-rounds{flex-direction:column;align-items:center;gap:5px;display:flex}.dlg-rounds-label{font-family:var(--font-data,inherit);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:9.5px}.dlg-rounds-track{gap:4px;display:flex}.dlg-rounds-track i{border-radius:var(--r-full);background:var(--track);width:5px;height:5px}.dlg-rounds-track i.on{background:var(--presence)}.dlg-rounds-track i.now{background:color-mix(in oklab, var(--presence) 55%, transparent);animation:dlgPulse 1.1s var(--ease-in-out) infinite}.dlg-side{align-items:center;gap:6px;min-width:0;display:inline-flex}.dlg-avatar{border-radius:var(--r-full);flex:none;width:18px;height:18px}.dlg-side.yours .dlg-avatar{background:radial-gradient(circle at 34% 30%, var(--presence-soft), var(--presence) 58%, var(--presence-deep));box-shadow:0 0 0 3px color-mix(in oklab, var(--presence) 16%, transparent)}.dlg-side.theirs .dlg-avatar{background:color-mix(in oklab, var(--dlg-them) 10%, transparent);border:1.5px dashed color-mix(in oklab, var(--dlg-them) 60%, transparent)}.dlg-side-text{flex-direction:column;min-width:0;display:flex}.dlg-side-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.dlg-offer{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-elevated-2);animation:dlgRise var(--m-expressive) var(--ease-out) 90ms both;flex:none;padding:13px 16px;position:relative;overflow:hidden}.dlg-offer:before{content:"";background:var(--line-strong);width:3px;transition:background var(--m-normal) var(--ease-out);position:absolute;inset:0 auto 0 0}.dlg-offer[data-by=yours]:before{background:var(--presence)}.dlg-offer[data-by=theirs]:before{background:color-mix(in oklab, var(--dlg-them) 70%, transparent)}.dlg-offer-eyebrow{font-family:var(--font-data,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;font-size:9.5px;display:block}.dlg-offer-text{color:var(--text-primary);text-wrap:pretty;animation:dlgOfferIn var(--m-normal) var(--ease-out);margin:0;font-size:15.5px;font-weight:500;line-height:1.45}.dlg-offer-by{color:var(--text-muted);margin-top:5px;font-size:11.5px;display:block}.dlg-offer-empty{color:var(--text-muted);margin:0;font-size:14px;font-style:italic}.dlg-log{scrollbar-gutter:stable;min-height:0;animation:dlgRise var(--m-expressive) var(--ease-out) .17s both;flex-direction:column;flex:1;gap:12px;margin:0;padding:2px;list-style:none;display:flex;overflow-y:auto}.dlg-turn{border-radius:var(--r-md);max-width:82%;animation:dlgTurnIn var(--m-normal) var(--ease-out);flex-direction:column;gap:6px;padding:10px 13px;display:flex}.dlg-turn.yours{background:color-mix(in oklab, var(--presence) 10%, var(--surface-elevated));border:1px solid color-mix(in oklab, var(--presence) 22%, var(--line));border-bottom-left-radius:5px;align-self:flex-start}.dlg-turn.theirs{background:var(--surface-elevated);border:1px solid var(--line-strong);border-bottom-right-radius:5px;align-self:flex-end}.dlg-turn.theirs .dlg-side{flex-direction:row-reverse}.dlg-turn.theirs .dlg-turn-say,.dlg-turn.theirs .dlg-turn-tag{text-align:right;align-self:flex-end}.dlg-turn-say{color:var(--text-primary);text-wrap:pretty;margin:0;font-size:14px;line-height:1.5}.dlg-turn-tag{font-family:var(--font-data,inherit);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-glass);border:1px solid var(--line);border-radius:var(--r-full);align-self:flex-start;padding:2px 8px;font-size:9px;display:inline-flex}.dlg-turn-tag.agreed{color:var(--insight);background:color-mix(in oklab, var(--insight) 12%, transparent);border-color:color-mix(in oklab, var(--insight) 34%, transparent)}.dlg-turn.accept{background:color-mix(in oklab, var(--insight) 12%, var(--surface-elevated));border-color:color-mix(in oklab, var(--insight) 36%, var(--line))}.dlg-referee{max-width:92%;color:color-mix(in oklab, var(--warning) 30%, var(--text-secondary));background:color-mix(in oklab, var(--warning) 9%, var(--surface-elevated));border:1px dashed color-mix(in oklab, var(--warning) 42%, var(--line));border-radius:var(--r-full);text-align:center;animation:dlgTurnIn var(--m-normal) var(--ease-out);align-self:center;align-items:center;gap:7px;padding:6px 13px;font-size:12px;line-height:1.4;display:inline-flex}.dlg-referee svg{color:var(--warning);flex:none}.dlg-turn.thinking{background:var(--surface-glass);border:1px solid var(--line);padding:9px 13px}.dlg-typing{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.dlg-turn.thinking.theirs .dlg-typing{align-self:flex-end}.dlg-typing i{border-radius:var(--r-full);background:var(--text-muted);width:5px;height:5px;animation:dlgBounce 1.2s var(--ease-in-out) infinite}.dlg-turn.thinking.yours .dlg-typing i{background:var(--presence)}.dlg-typing i:nth-child(2){animation-delay:.16s}.dlg-typing i:nth-child(3){animation-delay:.32s}.dlg-foot{animation:dlgRise var(--m-expressive) var(--ease-out) .24s both;flex:none;display:flex}.dlg-stop{font:inherit;color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out);background:0 0;padding:8px 16px;font-size:13px}.dlg-stop:hover{color:var(--text-primary);border-color:var(--line-strong)}.dlg-result{border-radius:var(--r-md);animation:dlgResultIn var(--m-expressive) var(--ease-out);flex-direction:column;flex:none;gap:11px;padding:16px;display:flex;position:relative;overflow:visible}.dlg-result.deal,.dlg-result.approved{background:color-mix(in oklab, var(--insight) 9%, var(--surface-elevated));border:1px solid color-mix(in oklab, var(--insight) 34%, var(--line))}.dlg-result.nodeal{background:var(--surface-elevated);border:1px solid var(--line-strong)}.dlg-result.deal:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(closest-side, color-mix(in oklab, var(--insight) 14%, transparent), transparent 70%);pointer-events:none;animation:.9s both dlgScrimIn;position:absolute;inset:-40% -20%}.dlg-result.deal .dlg-result-head{animation:dlgRise .48s var(--ease-out) both}.dlg-result.deal .dlg-result-terms{animation:dlgRise .48s var(--ease-out) .14s both}.dlg-result.deal .dlg-result-honest{animation:dlgRise .48s var(--ease-out) .3s both}.dlg-result.deal .dlg-debrief{animation:dlgRise .48s var(--ease-out) .38s both}.dlg-result-head{align-items:center;gap:10px;display:flex}.dlg-result-head h3{font-family:var(--font-voice,inherit);color:var(--text-primary);margin:0;font-size:18px;font-weight:500}.dlg-result-mark{border-radius:var(--r-full);width:28px;height:28px;color:var(--text-on-accent,#fff);background:var(--insight);box-shadow:0 0 0 4px color-mix(in oklab, var(--insight) 18%, transparent);flex:none;place-items:center;display:grid}.dlg-result-mark.line{box-shadow:none;background:0 0;position:relative}.dlg-result-mark.line:after{content:"";border-radius:var(--r-full);background:var(--text-muted);width:18px;height:2px}.dlg-result-terms{color:var(--text-primary);text-wrap:pretty;margin:0;font-size:15.5px;font-weight:500;line-height:1.5}.dlg-result-honest{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.55}.dlg-result-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.dlg-debrief{border-top:1px dashed var(--line);flex-direction:column;gap:10px;margin-top:4px;padding-top:12px;display:flex}.dlg-debrief-eyebrow{font-family:var(--font-data,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:9.5px}.dlg-debrief-wait{color:var(--text-muted);margin:0;font-size:12.5px}.dlg-debrief[data-state=loading] .dlg-debrief-wait{animation:dlgPulse 1.4s var(--ease-in-out) infinite}.dlg-debrief-retry{font:inherit;color:var(--presence);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px;text-decoration:underline}.dlg-debrief-group h4{color:var(--text-primary);margin:0 0 6px;font-size:12.5px;font-weight:600}.dlg-debrief-group ul,.dlg-debrief-group ol{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dlg-debrief-point{color:var(--text-primary);margin:0;font-size:13px;line-height:1.5}.dlg-debrief-quote{color:var(--text-secondary);margin:3px 0 0;font-size:12px;font-style:italic;line-height:1.45}.dlg-debrief-quote-who{margin-right:4px;font-style:normal;font-weight:600}.dlg-debrief-openers{padding-left:18px}.dlg-debrief-openers li{color:var(--text-primary);font-size:13px;line-height:1.5}.dlg-debrief-footnote{color:var(--text-muted);margin:2px 0 0;font-size:11px;line-height:1.4}.dlg-hold{font:inherit;color:var(--text-on-accent,#fff);background:var(--insight);border-radius:var(--r-full);cursor:pointer;box-shadow:0 6px 18px -8px var(--glow-insight);border:none;padding:11px 20px;font-size:13.5px;font-weight:600;position:relative;overflow:hidden}.dlg-hold-fill{transform-origin:0;background:color-mix(in oklab, var(--text-on-accent,#fff) 26%, transparent);position:absolute;inset:0;transform:scaleX(0)}.dlg-hold.holding .dlg-hold-fill{transition:transform 1.2s linear;transform:scaleX(1)}.dlg-hold-label{position:relative}.dlg-pass,.dlg-done{font:inherit;color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--r-full);cursor:pointer;transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out);background:0 0;align-self:flex-start;padding:9px 18px;font-size:13px}.dlg-pass:hover,.dlg-done:hover{color:var(--text-primary);border-color:var(--line-strong)}.dlg-followup{flex-direction:column;flex:none;gap:8px;padding-top:2px;display:flex}.dlg-followup-btn{font:inherit;color:var(--presence);background:color-mix(in oklab, var(--presence) 10%, transparent);border:1px solid color-mix(in oklab, var(--presence) 30%, transparent);border-radius:var(--r-full);cursor:pointer;transition:background var(--m-fast) var(--ease-out), border-color var(--m-fast) var(--ease-out);align-self:flex-start;padding:9px 16px;font-size:13px;font-weight:600}.dlg-followup-btn:hover{background:color-mix(in oklab, var(--presence) 16%, transparent);border-color:color-mix(in oklab, var(--presence) 45%, transparent)}.dlg-followup-btn.ghost{color:var(--text-secondary);border-color:var(--line);background:0 0}.dlg-followup-btn.ghost:hover{color:var(--text-primary);border-color:var(--line-strong)}.dlg-followup-hint{color:var(--text-muted);font-size:11px}.dlg-followup-actions{flex-wrap:wrap;gap:10px;display:flex}.dlg-runs{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-glass);flex-direction:column;flex:none;gap:4px;padding:10px 12px;display:flex}.dlg-runs-item{font-family:var(--font-data,inherit);color:var(--text-secondary);font-size:11px}@keyframes dlgScrimIn{0%{opacity:0}}@keyframes dlgPanelIn{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes dlgTurnIn{0%{opacity:0;transform:translateY(7px)}}@keyframes dlgOfferIn{0%{opacity:0;transform:translateY(4px)}}@keyframes dlgResultIn{0%{opacity:0;transform:translateY(9px)scale(.99)}}@keyframes dlgRise{0%{opacity:0;transform:translateY(16px)}}@keyframes dlgBounce{0%,60%,to{opacity:.55;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes dlgPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes dlgSeedFill{0%{filter:brightness(1.15)saturate(1.3)}to{filter:brightness()saturate()}}@media (width<=560px){.dlg-scrim{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);align-items:flex-end;padding:0}.dlg-panel{border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:94dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:dlgSheetIn var(--m-normal) var(--ease-out)}.dlg-field input,.dlg-field textarea{padding:12px 13px;font-size:16px}.dlg-start,.dlg-stop,.dlg-hold,.dlg-pass,.dlg-done,.dlg-seed,.dlg-followup-btn{min-height:44px}.dlg-x{width:40px;height:40px}.dlg-turn{max-width:90%}.dlg-jelly:not(.brief){width:52px}.dlg-jelly:not(.brief) .presence{--face-size:52px}.dlg-seat-name{font-size:11px}}@media (width<=400px){.dlg-jelly:not(.brief){width:48px}.dlg-jelly:not(.brief) .presence{--face-size:48px}.dlg-seat-name{max-width:64px;font-size:10.5px}.dlg-seat-tag{padding:1px 5px;font-size:8px}}@keyframes dlgSheetIn{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.dlg-scrim,.dlg-panel,.dlg-turn,.dlg-referee,.dlg-offer-text,.dlg-result,.dlg-result.deal:before,.dlg-result-head,.dlg-result-terms,.dlg-result-honest,.dlg-debrief,.dlg-debrief[data-state=loading] .dlg-debrief-wait,.dlg-tablescape,.dlg-offer,.dlg-log,.dlg-foot,.dlg-group.dlg-seed-fill,.dlg-rounds-track i.now,.dlg-typing i{animation:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-DaSxXjOY.js";import{n as t,r as n,ut as r}from"./index-y8GL67bB.js";import{n as i}from"./icons-CHVz6kv_.js";var a=e();function o(e){return/\p{Extended_Pictographic}/u.test(e)}var s=t.map(e=>({cat:e,persona:n(e.persona)})).filter(e=>!!e.persona);function c({onPlay:e}){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r,{eyebrow:`See it for real`,sub:`Each is a frozen, model-generated session replayed on the production UI — not a live provider call.`,children:`Watch a frozen session`}),(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 the session`]})]},n.id))})]})}export{c as DemoGallery};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-BQSORdFI.js";import{t}from"./jsx-runtime-DaSxXjOY.js";import{ht as n,mt as r}from"./index-y8GL67bB.js";var i=r(),a=n(),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=t();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
|
+
.ex-page,.ex-measure-host{overflow-wrap:break-word}.ex-page *,.ex-measure-host *{min-width:0}.mavea-export-doc{display:none}@media print{@page mavea-export{size:Letter;margin:0}@page mavea-export-a4{size:A4;margin:0}body.mavea-printing>:not(.mavea-export-doc){display:none!important}body.mavea-printing .mavea-export-doc{display:block!important}.mavea-export-doc *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.mavea-export-doc .ex-doc{gap:0!important;display:block!important}.mavea-export-doc .ex-page{page:mavea-export;break-after:page;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-doc .ex-page[data-format=a4]{page:mavea-export-a4}.mavea-export-doc .ex-page:last-child{break-after:auto}@page mavea-slide{size:1920px 1080px landscape;margin:0}.mavea-export-slides .slide-page{page:mavea-slide;break-after:page;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-slides .slide-page:last-child{break-after:auto}@page mavea-slide-notes{size:1920px 1400px landscape;margin:0}.mavea-export-slides-notes .slide-page-notes{page:mavea-slide-notes;break-after:page;background:#fff;flex-direction:column;display:flex}.mavea-export-slides-notes .slide-page-notes:last-child{break-after:auto}.mavea-export-slides-notes .slide-page{flex:none;box-shadow:none!important;border-radius:0!important;margin:0!important}.mavea-export-slides-notes .slide-notes-block{box-sizing:border-box;color:#16181d;background:#fff;flex:none;height:320px;padding:32px 56px;font-family:-apple-system,system-ui,sans-serif;overflow:hidden}.mavea-export-slides-notes .slide-notes-label{letter-spacing:.1em;text-transform:uppercase;color:#767b85;margin-bottom:10px;font-size:16px;font-weight:700}.mavea-export-slides-notes .slide-notes-text{margin:0;font-size:30px;line-height:1.45}}
|